[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