Author: ieb
Date: Wed Dec 10 21:04:33 2008
New Revision: 725579

URL: http://svn.apache.org/viewvc?rev=725579&view=rev
Log:
         SHINDIG-770

Patch from Chico Charlesworth

fixes

Converting PersonDb to Json using BeanJson fails with the following exception:

Caused by: java.lang.IllegalAccessException: Class 
org.apache.shindig.social.core.util.BeanJsonConverter can not access a member 
of class org.apache.shindig.social.opensocial.jpa.PersonDb$1 with modifiers 
"public"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
at java.lang.reflect.Method.invoke(Method.java:588)
at 
org.apache.shindig.social.core.util.BeanJsonConverter.convertMethodsToJson(BeanJsonConverter.java:160)
... 27 more

Thanks

Added:
    
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
   (with props)
Modified:
    
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
    
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/api/FilterCapability.java
    
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/hibernate/Bootstrap.java
    
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java

Modified: 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java?rev=725579&r1=725578&r2=725579&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
 (original)
+++ 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/PersonDb.java
 Wed Dec 10 21:04:33 2008
@@ -173,7 +173,7 @@
     /**
      * [EMAIL PROTECTED]
      */
-    public String getFilterableProperty(String fieldName, FilterOperation 
filterOperation) {
+    public String findFilterableProperty(String fieldName, FilterOperation 
filterOperation) {
       FilterSpecification spec = FILTER_COLUMNS.get(fieldName);
       if (spec != null) {
         return spec.translateProperty(filterOperation);

Modified: 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/api/FilterCapability.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/api/FilterCapability.java?rev=725579&r1=725578&r2=725579&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/api/FilterCapability.java
 (original)
+++ 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/api/FilterCapability.java
 Wed Dec 10 21:04:33 2008
@@ -33,5 +33,5 @@
    * @return the final property that is being filtered or null is the filter 
operation specified is
    *         not applicable
    */
-  String getFilterableProperty(String fieldName, PersonService.FilterOperation 
filterOperation);
+  String findFilterableProperty(String fieldName, 
PersonService.FilterOperation filterOperation);
 }

Modified: 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/hibernate/Bootstrap.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/hibernate/Bootstrap.java?rev=725579&r1=725578&r2=725579&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/hibernate/Bootstrap.java
 (original)
+++ 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/hibernate/Bootstrap.java
 Wed Dec 10 21:04:33 2008
@@ -66,6 +66,10 @@
     this.minWrite = minWrite;
 
   }
+  
+  public Bootstrap() {
+    
+  }
 
   public void init(String unitName) {
 

Modified: 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java?rev=725579&r1=725578&r2=725579&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java
 (original)
+++ 
incubator/shindig/trunk/java/samples/src/main/java/org/apache/shindig/social/opensocial/jpa/spi/PersonServiceDb.java
 Wed Dec 10 21:04:33 2008
@@ -164,7 +164,7 @@
   private int addFilterClause(StringBuilder sb, FilterCapability filterable,
       CollectionOptions collectionOptions, int lastPos) {
     // this makes the filter value safe
-    String filter = 
filterable.getFilterableProperty(collectionOptions.getFilter(),
+    String filter = 
filterable.findFilterableProperty(collectionOptions.getFilter(),
         collectionOptions.getFilterOperation());
     String filterValue = collectionOptions.getFilterValue();
     int filterPos = 0;

Added: 
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java?rev=725579&view=auto
==============================================================================
--- 
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
 (added)
+++ 
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
 Wed Dec 10 21:04:33 2008
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.shindig.social.opensocial.jpa.test;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+import org.apache.shindig.social.core.util.BeanJsonConverter;
+import org.apache.shindig.social.opensocial.jpa.hibernate.Bootstrap;
+import org.apache.shindig.social.opensocial.jpa.spi.JPASocialModule;
+import org.apache.shindig.social.opensocial.model.Person;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import java.util.Random;
+
+import javax.persistence.EntityManager;
+
+public class PersonDbToJsonTest {
+
+  private BeanJsonConverter jsonConverter;
+  private EntityManager entityManager;
+
+  @Before
+  public void setup() {
+    Injector injector = Guice.createInjector(new JPASocialModule());
+    this.jsonConverter = injector.getInstance(BeanJsonConverter.class);
+
+    Bootstrap b = new Bootstrap();
+    this.entityManager = b.getEntityManager("hibernate");
+  }
+
+  @Test
+  public void convertPersonToJson() {
+    Person person = new PersonPopulate(entityManager).createPerson(1, System
+        .currentTimeMillis(), new Random());
+    jsonConverter.convertToJson(person);
+  }
+}

Propchange: 
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/shindig/trunk/java/samples/src/test/java/org/apache/shindig/social/opensocial/jpa/test/PersonDbToJsonTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id


Reply via email to