[jboss-svn-commits] JBL Code SVN: r28857 - in labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src: main/java/org/jboss/labs/clearspace/plugin/nfm/dao and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 6 10:55:45 EDT 2009
Author: lkrzyzanek
Date: 2009-08-06 10:55:44 -0400 (Thu, 06 Aug 2009)
New Revision: 28857
Modified:
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/CommunityDefBean.java
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/struts/AdminNfmAction.java
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/communities.properties
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/plugin_i18n.properties
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/struts.xml
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManagerTest.java
labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/resources/communities-test.properties
Log:
Added functionality for creating initial community layout (Struts action, FTL change)
Also added description and display name in community definition
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManager.java 2009-08-06 14:55:44 UTC (rev 28857)
@@ -819,9 +819,31 @@
} catch (IOException e) {
throw new RuntimeException("Cannot load communities layout definition", e);
}
- //Set<CommunityDefBean> communities = loadCommunityLayout(layoutDef);
+ Set<CommunityDefBean> communities = loadCommunityLayout(layoutDef);
+ for (CommunityDefBean communityDef : communities) {
+ log.info("Create community: " + communityDef.getName());
+ Community projectCommunity = communityManager.createCommunity(
+ communityDef.getName(), communityDef.getDisplayName(), communityDef
+ .getDescription());
+ // add project - forums mappings
+ for (Long forumID : communityDef.getForumIDs()) {
+ nukesForumsMappingDAO.saveForumMapping(forumID, projectCommunity
+ .getID());
+ }
- // TODO create communities and mappings
+ for (CommunityDefBean communitySubDef : communityDef
+ .getSubCommunityDefBeans()) {
+ Community subCommunity = communityManager.createCommunity(
+ projectCommunity, communitySubDef.getName(), communitySubDef
+ .getDisplayName(), communitySubDef.getDescription());
+
+ // add subproject - forums mappings
+ for (Long forumID : communitySubDef.getForumIDs()) {
+ nukesForumsMappingDAO.saveForumMapping(forumID, subCommunity.getID());
+ }
+ }
+ }
+ flushCache(NukesForumsManager.CacheName.FORUM);
}
protected Set<CommunityDefBean> loadCommunityLayout(Properties layoutDef) {
@@ -834,27 +856,28 @@
String prefix = rootPrefix + i + ".";
String communityName = layoutDef.getProperty(prefix + "name");
- String communityForumIDsStr = layoutDef.getProperty(prefix + "forumIDs");
- if (communityName == null || communityForumIDsStr == null) {
- log.info("No definition for '" + prefix + "name' or '" + prefix
- + "forumIDs'. Probably no more community definition.");
+ if (communityName == null) {
+ log.info("No definition for '" + prefix
+ + "name'. Probably no more community definition.");
break;
}
CommunityDefBean communityDef = createCommunityDef(communityName,
- communityForumIDsStr);
+ layoutDef.getProperty(prefix + "forumIDs"), layoutDef
+ .getProperty(prefix + "dname"), layoutDef.getProperty(prefix
+ + "desc"));
int j = 1;
Set<CommunityDefBean> subCommunities = new LinkedHashSet<CommunityDefBean>();
while (true) {
String subCommunityName = layoutDef.getProperty(prefix + j + ".name");
- String subCcommunityForumIDsStr = layoutDef.getProperty(prefix + j
- + ".forumIDs");
- if (subCommunityName == null || subCcommunityForumIDsStr == null) {
+ if (subCommunityName == null) {
break;
}
CommunityDefBean subCommunityDef = createCommunityDef(subCommunityName,
- subCcommunityForumIDsStr);
+ layoutDef.getProperty(prefix + j + ".forumIDs"), layoutDef
+ .getProperty(prefix + j + ".dname"), layoutDef
+ .getProperty(prefix + j + ".desc"));
subCommunities.add(subCommunityDef);
j++;
}
@@ -869,15 +892,18 @@
}
private CommunityDefBean createCommunityDef(String communityName,
- String communityForumIDsStr) {
- StringTokenizer forumIdsTokenizer = new StringTokenizer(
- communityForumIDsStr, ",");
+ String communityForumIDsStr, String displayName, String description) {
Set<Long> forumIds = new HashSet<Long>();
- while (forumIdsTokenizer.hasMoreTokens()) {
- forumIds.add(Long.parseLong(forumIdsTokenizer.nextToken()));
+ if (communityForumIDsStr != null) {
+ StringTokenizer forumIdsTokenizer = new StringTokenizer(
+ communityForumIDsStr, ",");
+ while (forumIdsTokenizer.hasMoreTokens()) {
+ forumIds.add(Long.parseLong(forumIdsTokenizer.nextToken()));
+ }
}
- return new CommunityDefBean(communityName, forumIds);
+ return new CommunityDefBean(communityName, forumIds, displayName,
+ description);
}
public void setNukesForumsMappingDAO(
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/CommunityDefBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/CommunityDefBean.java 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/dao/CommunityDefBean.java 2009-08-06 14:55:44 UTC (rev 28857)
@@ -35,15 +35,21 @@
public class CommunityDefBean {
private String name;
+
+ private String displayName;
+
+ private String description;
private Set<Long> forumIDs;
private Set<CommunityDefBean> subCommunityDefBeans;
- public CommunityDefBean(String name, Set<Long> forumIDs) {
+ public CommunityDefBean(String name, Set<Long> forumIDs, String displayName, String description) {
super();
this.name = name;
this.forumIDs = forumIDs;
+ this.displayName = displayName;
+ this.description = description;
}
public String getName() {
@@ -90,4 +96,20 @@
this.subCommunityDefBeans).toString();
}
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/struts/AdminNfmAction.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/struts/AdminNfmAction.java 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/java/org/jboss/labs/clearspace/plugin/nfm/struts/AdminNfmAction.java 2009-08-06 14:55:44 UTC (rev 28857)
@@ -54,7 +54,7 @@
addActionMessage(getText("plugin.nfm.admin.nfm.refresh-category-mapping.sucess"));
return SUCCESS;
}
-
+
public String refreshForumMapping() {
nukesForumsManager.flushCache(NukesForumsManager.CacheName.FORUM);
forumCount = nukesForumsManager.getForumCount();
@@ -63,6 +63,15 @@
return SUCCESS;
}
+ public String createInitialCommunitiesLayout() {
+ nukesForumsManager.createInitialCommunitiesLayout();
+ forumCount = nukesForumsManager.getForumCount();
+
+ addActionMessage(getText("plugin.nfm.admin.nfm.create-communities.sucess"));
+
+ return SUCCESS;
+ }
+
public String createForumMapping() {
int count = nukesForumsManager.createForumMappingFromCategories();
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/communities.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/communities.properties 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/communities.properties 2009-08-06 14:55:44 UTC (rev 28857)
@@ -1,11 +1,25 @@
+# Community definition
+# community.x.name= Is Name of Community - mandatory
+# community.x.dname= Is 'Display name' - it's in i.e. URL - mandatory
+# community.x.desc= Description
+# community.x.forumIDs= ID's of Nukes forums that will be migrated to this communities
+
+# community.x.y. Is sub community
+
community.1.name=JBoss AS
+community.1.dname=jboss-as
+community.1.desc=JBoss AS Space
community.1.forumIDs=1,2,3,4
community.1.1.name=JBoss AS Developers
+community.1.1.dname=dev
+community.1.1.desc=JBoss AS Developers Space
community.1.1.forumIDs=5,6,7,8
-community.1.2.name=Another sub community
-community.1.2.forumIDs=101
community.2.name=Portal
+community.2.dname=portal
+community.2.desc=Portal Space
community.2.forumIDs=9
community.2.1.name=Portal Developers
+community.2.1.dname=dev
+community.2.1.desc=Portal Developers Space
community.2.1.forumIDs=10
\ No newline at end of file
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/plugin_i18n.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/plugin_i18n.properties 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/plugin_i18n.properties 2009-08-06 14:55:44 UTC (rev 28857)
@@ -5,17 +5,22 @@
plugin.nfm.admin.nfm.refresh-category-mapping.name=Categories
plugin.nfm.admin.nfm.refresh-category-mapping.count=Count of mapped categories
plugin.nfm.admin.nfm.refresh-category-mapping.submit=Refresh
-plugin.nfm.admin.nfm.refresh-category-mapping.sucess=Mapping has been sucessfully refreshed.
+plugin.nfm.admin.nfm.refresh-category-mapping.sucess=Mapping has been successfully refreshed.
plugin.nfm.admin.nfm.refresh-category-mapping.sucess=Category mapping has been sucessfully refreshed.
plugin.nfm.admin.nfm.create-forums-mapping.name=Forums
plugin.nfm.admin.nfm.create-forums-mapping.count=Count of mapped forums
plugin.nfm.admin.nfm.create-forums-mapping.description=Create mapping of forums to communities based on mapping of categories to communities
plugin.nfm.admin.nfm.create-forums-mapping.submit=Create mapping
-plugin.nfm.admin.nfm.create-forums-mapping.sucess=Mapping has been sucessfully created. Count: {0}
+plugin.nfm.admin.nfm.create-forums-mapping.sucess=Mapping has been successfully created. Count: {0}
plugin.nfm.admin.nfm.create-forums-mapping.refresh.submit=Refresh
plugin.nfm.admin.nfm.create-forums-mapping.refresh.sucess=Forum mapping has been sucessfully refreshed.
+plugin.nfm.admin.nfm.create-communities.name=Communities
+plugin.nfm.admin.nfm.create-communities.description=Create initial communities layout
+plugin.nfm.admin.nfm.create-communities.submit=Create
+plugin.nfm.admin.nfm.create-communities.sucess=Initial communities layout has been successfully created.
+
plugin.nfm.admin.nfm.migration.name=Topics and Posts migration
plugin.nfm.admin.nfm.migration.description=Lunch migration of topics and their posts for each mapped forum
plugin.nfm.admin.nfm.migration.submit=Migrate!
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/struts.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/struts.xml 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/main/resources/struts.xml 2009-08-06 14:55:44 UTC (rev 28857)
@@ -34,6 +34,17 @@
</result>
</action>
+ <action name="nukes-forums-create-communities-layout"
+ class="org.jboss.labs.clearspace.plugin.nfm.struts.AdminNfmAction"
+ method="createInitialCommunitiesLayout">
+ <result name="input" type="freemarker">
+ /plugins/nukes-forums-migration/admin/nukes-forums-migration.ftl
+ </result>
+ <result name="success" type="freemarker">
+ /plugins/nukes-forums-migration/admin/nukes-forums-migration.ftl
+ </result>
+ </action>
+
<action name="nukes-forums-create-forums-mapping"
class="org.jboss.labs.clearspace.plugin.nfm.struts.AdminNfmAction"
method="createForumMapping">
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManagerTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManagerTest.java 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/java/org/jboss/labs/clearspace/plugin/nfm/DbNukesForumsManagerTest.java 2009-08-06 14:55:44 UTC (rev 28857)
@@ -21,7 +21,8 @@
*/
package org.jboss.labs.clearspace.plugin.nfm;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.util.HashMap;
@@ -101,35 +102,44 @@
} catch (IOException e) {
throw new RuntimeException("Cannot load communities layout definition", e);
}
-
- Set<CommunityDefBean> layoutSet = dbNukesForumsManager.loadCommunityLayout(layoutDef);
+
+ Set<CommunityDefBean> layoutSet = dbNukesForumsManager
+ .loadCommunityLayout(layoutDef);
Iterator<CommunityDefBean> layoutIt = layoutSet.iterator();
CommunityDefBean jbossAS = layoutIt.next();
+ assertEquals("jboss-as", jbossAS.getDisplayName());
assertEquals("JBoss AS", jbossAS.getName());
- assertArrayEquals(new Long[] {1l, 2l, 3l, 4l}, jbossAS.getForumIDs().toArray());
-
- Iterator<CommunityDefBean> jbossASSubs = jbossAS.getSubCommunityDefBeans().iterator();
+ assertEquals("JBoss AS Space", jbossAS.getDescription());
+ assertArrayEquals(new Long[] { 1l, 2l, 3l, 4l }, jbossAS.getForumIDs()
+ .toArray());
+
+ Iterator<CommunityDefBean> jbossASSubs = jbossAS.getSubCommunityDefBeans()
+ .iterator();
CommunityDefBean jbossASDev = jbossASSubs.next();
+ assertEquals("dev", jbossASDev.getDisplayName());
assertEquals("JBoss AS Developers", jbossASDev.getName());
- assertArrayEquals(new Long[] {5l, 6l, 7l, 8l}, jbossASDev.getForumIDs().toArray());
-
+ assertEquals("JBoss AS Developers Space", jbossASDev.getDescription());
+ assertArrayEquals(new Long[] { 5l, 6l, 7l, 8l }, jbossASDev.getForumIDs()
+ .toArray());
+
CommunityDefBean jbossASSub = jbossASSubs.next();
assertEquals("Another sub community", jbossASSub.getName());
- assertArrayEquals(new Long[] {101l}, jbossASSub.getForumIDs().toArray());
+ assertArrayEquals(new Long[] { 101l }, jbossASSub.getForumIDs().toArray());
-
CommunityDefBean portal = layoutIt.next();
+ assertEquals("portal", portal.getDisplayName());
assertEquals("Portal", portal.getName());
- assertArrayEquals(new Long[] {9l}, portal.getForumIDs().toArray());
-
- Iterator<CommunityDefBean> portalubs = portal.getSubCommunityDefBeans().iterator();
+ assertEquals("Portal Space", portal.getDescription());
+ assertArrayEquals(new Long[] { 9l }, portal.getForumIDs().toArray());
+
+ Iterator<CommunityDefBean> portalubs = portal.getSubCommunityDefBeans()
+ .iterator();
CommunityDefBean portalDev = portalubs.next();
+ assertEquals("dev", portalDev.getDisplayName());
assertEquals("Portal Developers", portalDev.getName());
- assertArrayEquals(new Long[] {10l}, portalDev.getForumIDs().toArray());
-
}
-
+
class DummyNukesForumsMappingDAO implements NukesForumsMappingDAO {
Map<Long, Long> categoryMappings = null;
Modified: labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/resources/communities-test.properties
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/resources/communities-test.properties 2009-08-06 13:23:09 UTC (rev 28856)
+++ labs/jbosslabs/labs-3.0-build/integration/cs-nfm/trunk/src/test/resources/communities-test.properties 2009-08-06 14:55:44 UTC (rev 28857)
@@ -1,11 +1,19 @@
+community.1.dname=jboss-as
community.1.name=JBoss AS
+community.1.desc=JBoss AS Space
community.1.forumIDs=1,2,3,4
+community.1.1.dname=dev
community.1.1.name=JBoss AS Developers
+community.1.1.desc=JBoss AS Developers Space
community.1.1.forumIDs=5,6,7,8
+community.1.2.dname=sub-community
community.1.2.name=Another sub community
community.1.2.forumIDs=101
+community.2.dname=portal
community.2.name=Portal
+community.2.desc=Portal Space
community.2.forumIDs=9
+community.2.1.dname=dev
community.2.1.name=Portal Developers
-community.2.1.forumIDs=10
\ No newline at end of file
+community.2.1.desc=Portal Developers Space
More information about the jboss-svn-commits
mailing list