[jboss-svn-commits] JBL Code SVN: r28101 - in labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main: resources/mgnl-bootstrap/jbossorg-cs-paragraphs and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 16 10:30:43 EDT 2009
Author: jchocholacek
Date: 2009-07-16 10:30:42 -0400 (Thu, 16 Jul 2009)
New Revision: 28101
Added:
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsUtil.java
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Group.java
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/GroupListSelect.java
Modified:
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml
labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp
Log:
version 1.0.0, before design changes
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java 2009-07-16 14:12:49 UTC (rev 28100)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsParsModule.java 2009-07-16 14:30:42 UTC (rev 28101)
@@ -2,7 +2,6 @@
import info.magnolia.cms.core.*;
import info.magnolia.module.*;
-import java.util.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,6 +27,7 @@
private String csUserPath;
private String csUserImagePath;
private String csGroupPath;
+ private String csCacheTimeout;
private static CsParsModule instance;
@@ -35,6 +35,18 @@
return instance;
}
+
+
+ public String getCsCacheTimeout() {
+ return csCacheTimeout;
+ }
+
+ public void setCsCacheTimeout(String csCacheTimeout) {
+ this.csCacheTimeout = csCacheTimeout;
+ }
+
+
+
public String getCsUrl() {
return csUrl;
}
@@ -104,6 +116,7 @@
instance = this; // workaround to access module configuration;
log.debug("Starting module initialization.");
// implement this if you need some startup action
+ MemberSpotlight.flushInstance(); // re-initialization of MemberSpotlight helper class
log.debug("Module initialization finished.");
} catch (Exception e) {
Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsUtil.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsUtil.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/CsUtil.java 2009-07-16 14:30:42 UTC (rev 28101)
@@ -0,0 +1,72 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+import java.io.*;
+import org.apache.commons.httpclient.*;
+import org.apache.commons.httpclient.auth.*;
+import org.apache.commons.httpclient.methods.*;
+import org.dom4j.*;
+import org.dom4j.io.*;
+import org.slf4j.*;
+
+/**
+ * Helper class for general methods to communicate with Clearspace.
+ *
+ * @author jchochol
+ *
+ */
+public class CsUtil {
+
+ private static final Logger log = LoggerFactory.getLogger(CsUtil.class);
+
+ /**
+ * This method calls Clearspace webservice defined by the url and returns the Document parsed
+ * from the webservice's result.
+ *
+ * @param url URL of the webservice to call, with possible parameters
+ * @return XML Document parsed from the webservice's result
+ * @throws IOException if the communication with the webservice fails
+ * @throws DocumentException if parsing of the result fails
+ */
+ protected static Document callClearspaceWebservice(String url) throws IOException, DocumentException {
+ // get Clearspace config bean
+ ClearspaceConfig config = getClearspaceConfig(url);
+ // Use apache commons-httpclient to create the request/response
+ HttpClient client = new HttpClient();
+ Credentials defaultcreds = new UsernamePasswordCredentials(config.getLogin(),config.getPassword());
+ client.getState().setCredentials(AuthScope.ANY, defaultcreds);
+
+ // GET a group admins by its ID number, which is "1".
+ log.debug("going to call webservice: "+url);
+ GetMethod method = new GetMethod(config.getUrl());
+ client.executeMethod(method);
+
+ // logging for staging
+ String body = method.getResponseBodyAsString();
+ log.debug("Web Service response:\n"+body+"\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
+
+ // Use dom4j to parse the response and print nicely to the output stream
+ SAXReader reader = new SAXReader();
+ StringReader sr = new StringReader(body);
+ Document document = reader.read(sr);
+
+ return document;
+ }
+
+ /**
+ * This method constructs Clearspace config bean from submitted URL of the webservice and logind and password
+ * from the module configuration.
+ *
+ * @param url URL of the webservice to call (including possible parameters like user ID etc.)
+ * @return initialized ClearspaceConfig instance
+ * @throws IllegalStateException if the module is not initialized (CsParsModule.getInstance() returns null)
+ */
+ protected static ClearspaceConfig getClearspaceConfig(String url) throws IllegalStateException { // TODO change exception
+ CsParsModule module = CsParsModule.getInstance();
+ if (module==null) {
+ log.error("Cannot get module instance, module is probably not initialized.");
+ throw new IllegalStateException("Cannot get module instance, module is probably not initialized.");
+ }
+ return new ClearspaceConfig(url, module.getCsLogin(), module.getCsPassword());
+ }
+
+}
Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Group.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Group.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/Group.java 2009-07-16 14:30:42 UTC (rev 28101)
@@ -0,0 +1,47 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+/**
+ * Java Bean to hold information about Clearspace group.
+ *
+ * @author jchochol
+ *
+ */
+public class Group implements Comparable<Group> {
+
+ public static final String FIELD_ID = "ID";
+ public static final String FIELD_NAME = "name";
+ public static final String FIELD_DESCRIPTION = "description";
+
+ private long id;
+ private String name;
+ private String description;
+
+ public Group() {
+ // nothing to do here
+ }
+
+ public long getId() {
+ return id;
+ }
+ public void setId(long id) {
+ this.id = id;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public String getDescription() {
+ return description;
+ }
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ // order groups by their ID
+ public int compareTo(Group g) {
+ return (int) Math.signum(this.id - g.id);
+ }
+
+}
Added: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/GroupListSelect.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/GroupListSelect.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/GroupListSelect.java 2009-07-16 14:30:42 UTC (rev 28101)
@@ -0,0 +1,26 @@
+package org.jboss.labs.magnolia.modules.csparagraphs;
+
+import java.util.List;
+
+import info.magnolia.cms.gui.dialog.*;
+import info.magnolia.cms.gui.control.*;
+import java.util.*;
+
+public class GroupListSelect extends DialogSelect {
+
+ public List getOptions() {
+ MemberSpotlight ms = MemberSpotlight.getInstance();
+ CsParsModule module = CsParsModule.getInstance();
+ ClearspaceConfig config = new ClearspaceConfig(module.getCsWsUrl(),module.getCsLogin(),module.getCsPassword());
+ List<Group> groups = ms.getGroupList(config);
+ List options = new ArrayList();
+ for (Group g : groups) {
+ SelectOption o = new SelectOption();
+ o.setValue(""+g.getId());
+ o.setLabel(g.getName());
+ options.add(o);
+ }
+ return options;
+ }
+
+}
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java 2009-07-16 14:12:49 UTC (rev 28100)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/java/org/jboss/labs/magnolia/modules/csparagraphs/MemberSpotlight.java 2009-07-16 14:30:42 UTC (rev 28101)
@@ -1,16 +1,11 @@
package org.jboss.labs.magnolia.modules.csparagraphs;
-import java.io.*;
import java.util.*;
-import org.apache.commons.httpclient.*;
-import org.apache.commons.httpclient.auth.*;
-import org.apache.commons.httpclient.methods.*;
import org.dom4j.*;
-import org.dom4j.io.*;
import org.slf4j.*;
/**
- * This class contains helpre methods for Member Spotlight paragraph.
+ * This class contains helper methods for Member Spotlight paragraph.
*
* @author jchochol
*
@@ -20,12 +15,15 @@
/**
* 60 seconds timeout for the cache
*/
- public static final long MEMBERS_CACHE_TIMEOUT = 60000; // 60 seconds
+ public static long CLEARSPACE_CACHE_TIMEOUT = 60000; // 60 seconds by default
private static final Logger log = LoggerFactory.getLogger(MemberSpotlight.class);
private Map<Long,MemberList> membersCache = null;
+ private List<Group> groupList = null;
+ private long groupListTimestamp;
+
/*
* Class to store in the cache, as we need to know also the timestamp.
*/
@@ -45,6 +43,13 @@
private MemberSpotlight() {
membersCache = new HashMap<Long,MemberList>();
+ // initialize timeout from module configuration
+ try {
+ long csCacheTimeout = new Long(CsParsModule.getInstance().getCsCacheTimeout());
+ CLEARSPACE_CACHE_TIMEOUT = csCacheTimeout * 60000; // 60000 is 60 seconds = 1 minute
+ } catch (Exception ex) {
+ log.warn("Cannot set CLEARSPACE_CACHE_TIMEOUT, probably wrong value in configuration. Restoring to default 1 minute.", ex);
+ }
}
/**
@@ -57,6 +62,14 @@
}
/**
+ * Static method called by module class when (re)starting to force reload of the instance,
+ * i.e. flush of the cache, re-read of the timeout settings, etc.
+ */
+ protected static synchronized void flushInstance() {
+ _instance = null;
+ }
+
+ /**
* Retrieves list of Members of the user group with defined groupId.
* First it looks to cache, if cache does not contain proper list or
* such list is timeouted, retrieves the list directly from the Clearspace.
@@ -73,7 +86,7 @@
_member_list = membersCache.get(groupId);
// if there is no list in the cache, or it's timeouted
if (_member_list==null
- || (_member_list.timestamp + MEMBERS_CACHE_TIMEOUT) < System.currentTimeMillis()) {
+ || (_member_list.timestamp + CLEARSPACE_CACHE_TIMEOUT) < System.currentTimeMillis()) {
log.debug("Member list for groupId "+groupId+" not in cache or timeouted, going to read it from Clearspace.");
// read directly from the Clearspace
_member_list = readGroupMembersFromClearspace(groupId, config);
@@ -95,28 +108,9 @@
MemberList ml = null; // the value to return;
try {
- // Use apache commons-httpclient to create the request/response
- HttpClient client = new HttpClient();
- Credentials defaultcreds = new UsernamePasswordCredentials(config.getLogin(),config.getPassword());
- client.getState().setCredentials(AuthScope.ANY, defaultcreds);
-
- // GET a group admins by its ID number, which is "1".
- log.debug("going to call GroupService.getGroupAdmins()");
- GetMethod method = new GetMethod(config.getUrl()+"/rpc/rest/groupService/groupAdmins/"+groupId);
- client.executeMethod(method);
- InputStream in = method.getResponseBodyAsStream();
+ // get group admins = project leads from getGroupAdmins method of the GroupService
+ Document document = CsUtil.callClearspaceWebservice(config.getUrl()+"/rpc/rest/groupService/groupAdmins/"+groupId);
-
- // logging for staging
- String body = method.getResponseBodyAsString();
- log.debug("Web Service response:\n"+body+"\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -");
-
- // Use dom4j to parse the response and print nicely to the output stream
- SAXReader reader = new SAXReader();
- StringReader sr = new StringReader(body);
- // Document document = reader.read(in);
- Document document = reader.read(sr);
-
List<Member> member_list = new ArrayList<Member>();
Element root = document.getRootElement();
List returns = root.elements("return");
@@ -127,24 +121,19 @@
if (m.isEnabled())
member_list.add(m);
}
- in.close();
- // the same for getGroupMembers web service
- log.debug("going to call GroupService.getGroupMembers()");
- method = new GetMethod(config.getUrl()+"/rpc/rest/groupService/groupMembers/"+groupId);
- client.executeMethod(method);
- in = method.getResponseBodyAsStream();
- reader = new SAXReader();
- document = reader.read(in);
+ // get group members from getGroupMembers method of the GroupService
+ document = CsUtil.callClearspaceWebservice(config.getUrl()+"/rpc/rest/groupService/groupMembers/"+groupId);
root = document.getRootElement();
returns = root.elements("return");
for (Object o : returns) {
Element _return = (Element) o; // convert to XML Element
Member m = getMemberFromElement(_return);
- if (m.isEnabled())
+ if (m.isEnabled()) {
+ updateMemberProfile(m, config);
member_list.add(m);
+ }
}
- in.close();
// members are read, now sort them (admins first, others alphabetically)
log.debug("sorting member list");
@@ -222,18 +211,10 @@
private Member updateMemberProfile(Member m, ClearspaceConfig config) {
try {
- HttpClient client = new HttpClient();
- Credentials defaultcreds = new UsernamePasswordCredentials(config.getLogin(),config.getPassword());
- client.getState().setCredentials(AuthScope.ANY, defaultcreds);
- log.debug("going to call ProfileService.getProfile()");
- GetMethod method = new GetMethod(config.getUrl()+"/rpc/rest/profileService/profiles/"+m.getId());
- client.executeMethod(method);
- InputStream in = method.getResponseBodyAsStream();
+ // get member profile from the ProfileService
+ Document document = CsUtil.callClearspaceWebservice(config.getUrl()+"/rpc/rest/profileService/profiles/"+m.getId());
+
- // Use dom4j to parse the response and print nicely to the output stream
- SAXReader reader = new SAXReader();
- Document document = reader.read(in);
-
Element root = document.getRootElement();
List returns = root.elements("return");
for (Object o : returns) {
@@ -254,5 +235,48 @@
return m;
}
+
+ public synchronized List<Group> getGroupList(ClearspaceConfig config) {
+
+ try {
+ if (groupList!=null && (System.currentTimeMillis() - groupListTimestamp) < CLEARSPACE_CACHE_TIMEOUT) {
+ return groupList;
+ } else {
+ // get list of available groups from GroupService
+ Document document = CsUtil.callClearspaceWebservice(config.getUrl()+"/rpc/rest/groupService/groups");
+
+ Element root = document.getRootElement();
+ List returns = root.elements("return");
+ List<Group> groups = new ArrayList<Group>();
+ for (Object o : returns) {
+ Element e = (Element) o;
+ Group g = new Group();
+ // ID
+ Element x = e.element(Group.FIELD_ID);
+ g.setId(new Long(x.getTextTrim()));
+ // name
+ x = e.element(Group.FIELD_NAME);
+ g.setName(x.getTextTrim());
+ // description
+ x = e.element(Group.FIELD_DESCRIPTION);
+ if (x!=null)
+ // description is not mandatory
+ g.setDescription(x.getTextTrim());
+ // add to list
+ groups.add(g);
+ }
+ // sort the list
+ Collections.sort(groups);
+ // set new value for the cached list and timestamp
+ this.groupList = groups;
+ this.groupListTimestamp = System.currentTimeMillis();
+ }
+ } catch (Exception ex) {
+ log.error("Problem reading group list from Clearspace.",ex);
+ }
+
+ return this.groupList;
+ }
+
}
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml 2009-07-16 14:12:49 UTC (rev 28100)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-bootstrap/jbossorg-cs-paragraphs/config.modules.jbossorg-cs-paragraphs.xml 2009-07-16 14:30:42 UTC (rev 28101)
@@ -11,7 +11,7 @@
<sv:value>mix:lockable</sv:value>
</sv:property>
<sv:property sv:name="version" sv:type="String">
- <sv:value>1.0.0-SNAPSHOT</sv:value>
+ <sv:value>1.0.0</sv:value>
</sv:property>
<sv:node sv:name="MetaData">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
@@ -49,6 +49,9 @@
<sv:property sv:name="csWsUrl" sv:type="String">
<sv:value>http://staging.jboss.org/community</sv:value>
</sv:property>
+ <sv:property sv:name="csCacheTimeout" sv:type="String">
+ <sv:value>30</sv:value>
+ </sv:property>
<sv:node sv:name="MetaData">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>mgnl:metaData</sv:value>
@@ -64,6 +67,44 @@
</sv:property>
</sv:node>
</sv:node>
+
+ <sv:node sv:name="controls">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:content</sv:value>
+ </sv:property>
+ <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+ <sv:value>mix:lockable</sv:value>
+ </sv:property>
+ <sv:node sv:name="MetaData">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:metaData</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:authorid" sv:type="String">
+ <sv:value>superuser</sv:value>
+ </sv:property>
+ </sv:node>
+ <sv:node sv:name="csGroupSelect">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:contentNode</sv:value>
+ </sv:property>
+ <sv:property sv:name="jcr:mixinTypes" sv:type="Name">
+ <sv:value>mix:lockable</sv:value>
+ </sv:property>
+ <sv:property sv:name="class" sv:type="String">
+ <sv:value>org.jboss.labs.magnolia.modules.csparagraphs.GroupListSelect</sv:value>
+ </sv:property>
+ <sv:node sv:name="MetaData">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:metaData</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:authorid" sv:type="String">
+ <sv:value>superuser</sv:value>
+ </sv:property>
+ </sv:node>
+ </sv:node>
+ </sv:node>
+
+
<sv:node sv:name="dialogs">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>mgnl:content</sv:value>
@@ -458,6 +499,49 @@
</sv:property>
</sv:node>
</sv:node>
+ <sv:node sv:name="csGroupId">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:contentNode</sv:value>
+ </sv:property>
+ <sv:property sv:name="controlType" sv:type="String">
+ <sv:value>csGroupSelect</sv:value>
+ </sv:property>
+ <sv:property sv:name="label" sv:type="String">
+ <sv:value>Clearspace group</sv:value>
+ </sv:property>
+ <sv:property sv:name="name" sv:type="String">
+ <sv:value>csGroupId</sv:value>
+ </sv:property>
+ <sv:property sv:name="type" sv:type="String">
+ <sv:value>Long</sv:value>
+ </sv:property>
+ <sv:node sv:name="MetaData">
+ <sv:property sv:name="jcr:primaryType" sv:type="Name">
+ <sv:value>mgnl:metaData</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:Data" sv:type="String">
+ <sv:value>MetaData</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:activated" sv:type="Boolean">
+ <sv:value>true</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:activatorid" sv:type="String">
+ <sv:value>superuser</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:authorid" sv:type="String">
+ <sv:value>superuser</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:creationdate" sv:type="String">
+ <sv:value>2004-11-02T15:34:28.220+01:00</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:lastaction" sv:type="Date">
+ <sv:value>2009-02-06T14:09:34.931+01:00</sv:value>
+ </sv:property>
+ <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
+ <sv:value>2008-07-29T23:20:45.546+02:00</sv:value>
+ </sv:property>
+ </sv:node>
+ </sv:node>
<sv:node sv:name="display">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>mgnl:contentNode</sv:value>
@@ -615,52 +699,6 @@
</sv:node>
</sv:node>
</sv:node>
- <sv:node sv:name="csGroupId">
- <sv:property sv:name="jcr:primaryType" sv:type="Name">
- <sv:value>mgnl:contentNode</sv:value>
- </sv:property>
- <sv:property sv:name="controlType" sv:type="String">
- <sv:value>edit</sv:value>
- </sv:property>
- <sv:property sv:name="label" sv:type="String">
- <sv:value>Clearspace group id</sv:value>
- </sv:property>
- <sv:property sv:name="name" sv:type="String">
- <sv:value>csGroupId</sv:value>
- </sv:property>
- <sv:property sv:name="rows" sv:type="String">
- <sv:value>1</sv:value>
- </sv:property>
- <sv:property sv:name="type" sv:type="String">
- <sv:value>Long</sv:value>
- </sv:property>
- <sv:node sv:name="MetaData">
- <sv:property sv:name="jcr:primaryType" sv:type="Name">
- <sv:value>mgnl:metaData</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:Data" sv:type="String">
- <sv:value>MetaData</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:activated" sv:type="Boolean">
- <sv:value>true</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:activatorid" sv:type="String">
- <sv:value>superuser</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:authorid" sv:type="String">
- <sv:value>superuser</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:creationdate" sv:type="String">
- <sv:value>2004-11-02T15:34:28.220+01:00</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:lastaction" sv:type="Date">
- <sv:value>2009-02-06T14:09:34.931+01:00</sv:value>
- </sv:property>
- <sv:property sv:name="mgnl:lastmodified" sv:type="Date">
- <sv:value>2008-07-29T23:20:45.546+02:00</sv:value>
- </sv:property>
- </sv:node>
- </sv:node>
</sv:node>
</sv:node>
Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp 2009-07-16 14:12:49 UTC (rev 28100)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-modules/jbossorg-cs-paragraphs/src/main/resources/mgnl-files/templates/jbossorg/paragraphs/jbossorg-cs-paragraphs/member_list.jsp 2009-07-16 14:30:42 UTC (rev 28101)
@@ -86,6 +86,7 @@
<td><a href="${module.csUrl}/${module.csUserPath}/${member.username}" class="group_member">${member.name}</a></td>
</c:otherwise>
</c:choose>
+ <td>${member.title}</td>
<td>${member.email}</td>
</tr>
</c:forEach>
More information about the jboss-svn-commits
mailing list