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