You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by at...@apache.org on 2012/06/23 22:59:37 UTC

svn commit: r1353202 - in /rave/branches/model_interfaces/rave-components/rave-jpa/src: main/java/org/apache/rave/portal/model/conversion/JpaConverter.java test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java

Author: ate
Date: Sat Jun 23 20:59:37 2012
New Revision: 1353202

URL: http://svn.apache.org/viewvc?rev=1353202&view=rev
Log:
Fixing temporary workaround for RAVE-689: JpaConverter static converterMap can get 'corrupted' across multiple unit tests and causing tests to fail
See: https://issues.apache.org/jira/browse/RAVE-689

Modified:
    rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaConverter.java
    rave/branches/model_interfaces/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java

Modified: rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaConverter.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaConverter.java?rev=1353202&r1=1353201&r2=1353202&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaConverter.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaConverter.java Sat Jun 23 20:59:37 2012
@@ -42,6 +42,10 @@ public class JpaConverter {
     public <S,T> ModelConverter<S, T> getConverter(Class<S> clazz) {
         return converterMap.get(clazz);
     }
+    
+    protected static boolean isInstanceSet() {
+        return instance != null;
+    }
 
     public static JpaConverter getInstance() {
         if(instance == null) {

Modified: rave/branches/model_interfaces/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java
URL: http://svn.apache.org/viewvc/rave/branches/model_interfaces/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java?rev=1353202&r1=1353201&r2=1353202&view=diff
==============================================================================
--- rave/branches/model_interfaces/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java (original)
+++ rave/branches/model_interfaces/rave-components/rave-jpa/src/test/java/org/apache/rave/portal/model/conversion/ConvertingListProxyFactoryTest.java Sat Jun 23 20:59:37 2012
@@ -4,34 +4,49 @@ import org.apache.rave.model.ModelConver
 import org.apache.rave.portal.model.Person;
 import org.apache.rave.portal.model.impl.PersonImpl;
 import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import java.lang.reflect.Proxy;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import static org.easymock.EasyMock.*;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.sameInstance;
+import static org.hamcrest.CoreMatchers.*;
 import static org.junit.Assert.assertThat;
 
 /**
- */@RunWith(SpringJUnit4ClassRunner.class)
-   @ContextConfiguration(locations = {"classpath:test-applicationContext.xml",
-           "classpath:test-dataContext.xml"})
+ */
 public class ConvertingListProxyFactoryTest {
 
-    @Autowired
-    private List<ModelConverter> originalConverters;
-
+    // TODO: RAVE-689 temporary fix/workaround 
+    private static class StaticConvertersAccessor extends JpaConverter {
+        private StaticConvertersAccessor(List<ModelConverter> converters) {
+            super(converters);
+        }
+        public static Map<Class<?>, ModelConverter> getConverters() {        
+            return JpaConverter.isInstanceSet() ? JpaConverter.getInstance().converterMap : null;
+        }
+        public static void setConverters(Map<Class<?>, ModelConverter> converters) {
+           if (JpaConverter.isInstanceSet()) {
+               JpaConverter.getInstance().converterMap = converters;
+           }
+        }
+    }
+    
+    private Map<Class<?>, ModelConverter> savedConverters;
+    
+    @Before
+    public void setup() {
+        savedConverters = StaticConvertersAccessor.getConverters();
+    }
+    
     @After
     public void teardown() {
-        new JpaConverter(originalConverters);
+        StaticConvertersAccessor.setConverters(savedConverters);
     }
+    // end TODO: RAVE-689 temporary fix/workaround 
 
     @Test
     public void createProxy() {