Author: mfranklin
Date: Wed Feb 13 18:30:04 2013
New Revision: 1445805

URL: http://svn.apache.org/r1445805
Log:
Upated structure to support JSON data initialization RAVE-887

Added:
    rave/trunk/rave-portal-resources/src/main/resources/db/
      - copied from r1445153, 
rave/trunk/rave-portal-resources/src/main/resources_jpa/db/
    rave/trunk/rave-portal-resources/src/main/resources/db/initial-data.json
      - copied, changed from r1445420, 
rave/trunk/rave-portal-resources/src/main/resources_mongo/db/initial-data.json
    rave/trunk/rave-portal/src/test/resources/initial-data.json
      - copied, changed from r1445153, 
rave/trunk/rave-portal/src/test/resources_mongo/initial-data.json
Removed:
    
rave/trunk/rave-components/rave-mongodb/src/test/resources/test-applicationContext.xml
    rave/trunk/rave-portal-resources/src/main/resources/db/initial_data.sql
    rave/trunk/rave-portal-resources/src/main/resources_jpa/db/
    rave/trunk/rave-portal-resources/src/main/resources_mongo/db/
    rave/trunk/rave-portal/src/test/resources_jpa/test-data.sql
    rave/trunk/rave-portal/src/test/resources_mongo/initial-data.json
    
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-server/rave-shindig-resources/src/main/resources/initial_data.sql
Modified:
    
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/DataImporter.java
    
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/ModelWrapper.java
    
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/util/DataImporterTest.java
    rave/trunk/rave-components/rave-core/src/test/resources/test-data.json
    
rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
    
rave/trunk/rave-components/rave-jpa/src/test/resources/test-applicationContext.xml
    rave/trunk/rave-components/rave-jpa/src/test/resources/test-dataContext.xml
    rave/trunk/rave-components/rave-mongodb/src/test/resources/portal.properties
    rave/trunk/rave-portal-resources/src/main/resources_jpa/dataContext.xml
    rave/trunk/rave-portal-resources/src/main/resources_mongo/dataContext.xml
    
rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/applicationContext.xml
    
rave/trunk/rave-portal/src/test/java/renderer/RenderServiceIntegrationTest.java
    rave/trunk/rave-portal/src/test/resources/test-applicationContext.xml
    rave/trunk/rave-portal/src/test/resources_jpa/test-dataContext.xml
    rave/trunk/rave-portal/src/test/resources_mongo/test-dataContext.xml
    
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-server/rave-shindig-resources/src/main/resources/rave-shindig-applicationContext.xml
    
rave/trunk/rave-providers/rave-opensocial-provider/rave-opensocial-server/rave-shindig-resources/src/main/resources/rave-shindig-dataContext.xml

Modified: 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/DataImporter.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/DataImporter.java?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/DataImporter.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/DataImporter.java
 Wed Feb 13 18:30:04 2013
@@ -118,6 +118,9 @@ public class DataImporter {
         @Autowired
         private PageTemplateRepository pageTemplateRepository;
 
+        @Autowired
+        private ActivityStreamsRepository activityStreamsRepository;
+
         public boolean needsLoading() {
             return widgetRepository.getCountAll() == 0;
         }
@@ -132,6 +135,15 @@ public class DataImporter {
             savePages(wrapper, usersByOriginalId, widgetsById);
             savePreferences(wrapper);
             saveTemplates(wrapper, widgetsById);
+            saveActivities(wrapper);
+        }
+
+        private void saveActivities(ModelWrapper wrapper) {
+            if(wrapper.getActivities() != null) {
+                for(ActivityStreamsEntry activity : wrapper.getActivities()) {
+                    activityStreamsRepository.save(activity);
+                }
+            }
         }
 
         private void saveTemplates(ModelWrapper wrapper, Map<String, Widget> 
widgetsById) {
@@ -373,5 +385,9 @@ public class DataImporter {
         public void setPageTemplateRepository(PageTemplateRepository 
pageTemplateRepository) {
             this.pageTemplateRepository = pageTemplateRepository;
         }
+
+        public void setActivityStreamsRepository(ActivityStreamsRepository 
activityStreamsRepository) {
+            this.activityStreamsRepository = activityStreamsRepository;
+        }
     }
 }

Modified: 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/ModelWrapper.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/ModelWrapper.java?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/ModelWrapper.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/util/data/ModelWrapper.java
 Wed Feb 13 18:30:04 2013
@@ -33,6 +33,7 @@ public class ModelWrapper {
     private List<PortalPreference> portalPreferences;
     private List<Category> categories;
     private List<PageTemplate> pageTemplates;
+    private List<ActivityStreamsEntry> activities;
 
     public List<PageLayout> getPageLayouts() {
         return pageLayouts;
@@ -105,4 +106,12 @@ public class ModelWrapper {
     public void setPageTemplates(List<PageTemplate> pageTemplates) {
         this.pageTemplates = pageTemplates;
     }
+
+    public List<ActivityStreamsEntry> getActivities() {
+        return activities;
+    }
+
+    public void setActivities(List<ActivityStreamsEntry> activities) {
+        this.activities = activities;
+    }
 }
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/util/DataImporterTest.java
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/util/DataImporterTest.java?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/util/DataImporterTest.java
 (original)
+++ 
rave/trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/util/DataImporterTest.java
 Wed Feb 13 18:30:04 2013
@@ -42,6 +42,7 @@ public class DataImporterTest {
     private PortalPreferenceRepository portalPreferenceRepository;
     private CategoryRepository categoryRepository;
     private PageTemplateRepository pageTemplateRepository;
+    private ActivityStreamsRepository activityStreamsRepository;
     private DataImporter importer;
 
     @Before
@@ -54,6 +55,7 @@ public class DataImporterTest {
         portalPreferenceRepository = 
createMock(PortalPreferenceRepository.class);
         categoryRepository = createMock(CategoryRepository.class);
         pageTemplateRepository = createMock(PageTemplateRepository.class);
+        activityStreamsRepository = 
createMock(ActivityStreamsRepository.class);
 
         DataImporter.ExecutorImpl executor = new DataImporter.ExecutorImpl();
         executor.setPageLayoutRepository(pageLayoutRepository);
@@ -64,6 +66,7 @@ public class DataImporterTest {
         executor.setPortalPreferenceRepository(portalPreferenceRepository);
         executor.setCategoryRepository(categoryRepository);
         executor.setPageTemplateRepository(pageTemplateRepository);
+        executor.setActivityStreamsRepository(activityStreamsRepository);
 
         importer = new DataImporter();
         importer.setScriptLocations(Arrays.asList((Resource) new 
ClassPathResource("test-data.json")));
@@ -80,22 +83,23 @@ public class DataImporterTest {
         
expect(portalPreferenceRepository.save(isA(PortalPreference.class))).andReturn(new
 PortalPreferenceImpl()).times(2);
         expect(categoryRepository.save(isA(Category.class))).andReturn(new 
CategoryImpl()).times(2);
         
expect(pageTemplateRepository.save(isA(PageTemplate.class))).andReturn(new 
PageTemplateImpl()).times(2);
-        replay(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository);
+        
expect(activityStreamsRepository.save(isA(ActivityStreamsEntry.class))).andReturn(new
 ActivityStreamsEntryImpl()).times(2);
+        replay(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository, activityStreamsRepository);
 
         importer.importData();
 
-        verify(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository);
+        verify(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository, activityStreamsRepository);
 
     }
 
     @Test
     public void populated() {
         expect(widgetRepository.getCountAll()).andReturn(1);
-        replay(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository);
+        replay(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository, activityStreamsRepository);
 
         importer.importData();
 
-        verify(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository);
+        verify(pageTemplateRepository, pageLayoutRepository, userRepository, 
widgetRepository, pageRepository, authorityRepository, 
portalPreferenceRepository, categoryRepository, activityStreamsRepository);
 
     }
 

Modified: rave/trunk/rave-components/rave-core/src/test/resources/test-data.json
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/resources/test-data.json?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/test/resources/test-data.json 
(original)
+++ rave/trunk/rave-components/rave-core/src/test/resources/test-data.json Wed 
Feb 13 18:30:04 2013
@@ -511,5 +511,98 @@
         "renderSequence": 1,
         "defaultTemplate": true
     }
-]
+]  ,
+    "activities" : [{
+        "published": "2013-02-07T15:04:55Z",
+        "generator": {
+            "url": "http://example.org/activities-app";
+        },
+        "provider": {
+            "url": "http://example.org/activity-stream";
+        },
+        "actor": {
+            "url": "http://localhost:8080/portal/app/people/canonical";,
+            "objectType": "person",
+            "id": "canonical",
+            "image": {
+                "url": "http://example.org/canonical/image";,
+                "width": 250,
+                "height": 250
+            }
+        },
+        "content" : "Boston as seen from the Charles River",
+        "verb": "post",
+        "object" : {
+            "objectType": "photo",
+            "image": {
+                "url": 
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSSNgusdAMMfrJ2-CJThZp83-FMtj8LDgw7v-RGzTd2aGLIDArV-A";,
+                "width": 250,
+                "height": 250
+            }
+        },
+        "target": {
+            "url": "http://example.org/album/";,
+            "objectType": "photo-album",
+            "displayName": "Canonical's Photo Album"
+        },
+        "openSocial": {
+            "embed": {
+                "gadget": 
"http://eedemos.opensocial2.org/gadgets/jquery/photos/jquery_photo_ee.xml";,
+                "preferredExperience": {
+                    "display":{
+                        "type": "text",
+                        "label": "Add Comment ...",
+                        "title": "Click this link to add a comment"
+                    }
+                },
+                "context" : {
+                    "url": 
"https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSSNgusdAMMfrJ2-CJThZp83-FMtj8LDgw7v-RGzTd2aGLIDArV-A";,
+                    "comment": "Boston as seen from the Charles River",
+                    "author": "Canonical User"
+                }
+            }
+        }
+    },
+        {
+            "published": "2013-02-08T15:04:55Z",
+            "actor": {
+                "url": "http://localhost:8080/portal/app/people/canonical";,
+                "objectType": "person",
+                "id": "canonical",
+                "image": {
+                    "url": "http://example.org/canonical/image";,
+                    "width": 250,
+                    "height": 250
+                }
+            },
+            "content": "OpenSocial Getting Started Video 1",
+            "verb": "post",
+            "object" : {
+                "objectType": "video",
+                "image": {
+                    "url": "http://i.ytimg.com/vi/9gW2YVBrNVA/1.jpg";,
+                    "width": 250,
+                    "height": 250
+                }
+            },
+            "openSocial": {
+                "embed": {
+                    "gadget": 
"http://opensocial2.org:8080/collabapp/pages/home/embeddedExperiences/YouTube.xml";,
+                    "preferredExperience": {
+                        "display":{
+                            "type": "text",
+                            "label": "Open Video",
+                            "title": "Click this link to open the video"
+                        },
+                        "target": {
+                            "view": "embedded",
+                            "viewTarget": "sidebar"
+
+                        }
+                    },
+                    "context" : "9gW2YVBrNVA"
+                }
+            }
+        }
+    ]
 }
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/main/resources/org/apache/rave/persistence-applicationContext.xml
 Wed Feb 13 18:30:04 2013
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-  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.
+  ~ 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.
   -->
 <beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
@@ -36,8 +36,7 @@
     <tx:annotation-driven transaction-manager="transactionManager"/>
 
     <bean id="entityManagerFactory"
-          
class="org.apache.rave.persistence.jpa.PopulatedLocalContainerEntityManagerFactory">
-        <property name="populator" ref="dataSourcePopulator"/>
+          
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
         <property name="loadTimeWeaver">
             <bean 
class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
         </property>
@@ -68,4 +67,5 @@
         <property name="username" value="${jpa.dataSource.username}"/>
         <property name="password" value="${jpa.dataSource.password}"/>
     </bean>
+
 </beans>
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-jpa/src/test/resources/test-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/resources/test-applicationContext.xml?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-jpa/src/test/resources/test-applicationContext.xml
 (original)
+++ 
rave/trunk/rave-components/rave-jpa/src/test/resources/test-applicationContext.xml
 Wed Feb 13 18:30:04 2013
@@ -142,6 +142,4 @@ be overridden by setting a system proper
     </bean>
     -->
 
-    <import 
resource="classpath:org/apache/rave/persistence-applicationContext.xml"/>
-
 </beans>
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-jpa/src/test/resources/test-dataContext.xml
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-jpa/src/test/resources/test-dataContext.xml?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-jpa/src/test/resources/test-dataContext.xml 
(original)
+++ rave/trunk/rave-components/rave-jpa/src/test/resources/test-dataContext.xml 
Wed Feb 13 18:30:04 2013
@@ -16,11 +16,14 @@
   specific language governing permissions and limitations
   under the License.
   -->
-
 <beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns:tx="http://www.springframework.org/schema/tx";
+       xmlns:p="http://www.springframework.org/schema/p";
        xsi:schemaLocation="http://www.springframework.org/schema/beans
-                           
http://www.springframework.org/schema/beans/spring-beans.xsd";>
+                           
http://www.springframework.org/schema/beans/spring-beans.xsd
+                           http://www.springframework.org/schema/tx
+                           
http://www.springframework.org/schema/tx/spring-tx.xsd";>
 
     <bean id="dataSourcePopulator" 
class="org.apache.rave.jdbc.util.DataSourcePopulator">
         <property name="executeScriptQuery" value="SELECT * FROM WIDGET"/>
@@ -30,4 +33,44 @@
             </list>
         </property>
     </bean>
+
+    <bean id="transactionManager" 
class="org.springframework.orm.jpa.JpaTransactionManager">
+        <property name="entityManagerFactory" ref="entityManagerFactory"/>
+    </bean>
+
+    <tx:annotation-driven transaction-manager="transactionManager"/>
+
+    <bean id="entityManagerFactory"
+          
class="org.apache.rave.persistence.jpa.PopulatedLocalContainerEntityManagerFactory">
+        <property name="populator" ref="dataSourcePopulator" />
+        <property name="loadTimeWeaver">
+            <bean 
class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/>
+        </property>
+        <property name="persistenceUnitName" value="ravePersistenceUnit"/>
+        <property name="dataSource" ref="dataSource"/>
+        <property name="jpaVendorAdapter">
+            <bean 
class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter"
+                  p:databasePlatform="${jpa.jpaVendorAdapter.databasePlatform}"
+                  p:database="${jpa.jpaVendorAdapter.database}"
+                  p:showSql="${jpa.jpaVendorAdapter.showSql}"/>
+        </property>
+        <property name="jpaDialect">
+            <bean class="${jpa.jpaDialect}"/>
+        </property>
+        <property name="jpaPropertyMap">
+            <map>
+                <entry key="openjpa.Log" value="${jpa.openjpa.Log}"/>
+                <entry key="openjpa.RuntimeUnenhancedClasses" 
value="${jpa.openjpa.RuntimeUnenhancedClasses}"/>
+                <entry key="openjpa.jdbc.SynchronizeMappings" 
value="${jpa.openjpa.jdbc.SynchronizeMappings}"/>
+                <entry key="openjpa.jdbc.MappingDefaults" 
value="${jpa.openjpa.jdbc.MappingDefaults}"/>
+            </map>
+        </property>
+    </bean>
+
+    <bean id="dataSource" 
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+        <property name="url" value="${jpa.dataSource.url}"/>
+        <property name="driverClassName" value="${jpa.dataSource.driver}"/>
+        <property name="username" value="${jpa.dataSource.username}"/>
+        <property name="password" value="${jpa.dataSource.password}"/>
+    </bean>
 </beans>
\ No newline at end of file

Modified: 
rave/trunk/rave-components/rave-mongodb/src/test/resources/portal.properties
URL: 
http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-mongodb/src/test/resources/portal.properties?rev=1445805&r1=1445804&r2=1445805&view=diff
==============================================================================
--- 
rave/trunk/rave-components/rave-mongodb/src/test/resources/portal.properties 
(original)
+++ 
rave/trunk/rave-components/rave-mongodb/src/test/resources/portal.properties 
Wed Feb 13 18:30:04 2013
@@ -35,7 +35,7 @@ portal.opensocial_security.domain=defaul
 portal.page.default_name=Main
 
 ###################################################################
-# Properties related to the Rave MongoDB implementation               #
+# Properties related to the Rave MongoDB implementation           #
 ###################################################################
 mongo.host=localhost
 mongo.port=27017


Reply via email to