[jboss-svn-commits] JBL Code SVN: r5159 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common forge-common/src/java/org/jboss/forge/common/soa forge-common/src/java/org/jboss/forge/common/soa/primates forge-tagme/src/java/org/jboss/labs/tagme forge-tagme/src/java/org/jboss/labs/tagme/gwt/client forge-tagme/src/java/org/jboss/labs/tagme/services primates primates/src/java/org/jbosslabs/portlets/primates primates/src/java/org/jbosslabs/portlets/primates/service

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jul 18 17:46:01 EDT 2006


Author: szimano
Date: 2006-07-18 17:45:56 -0400 (Tue, 18 Jul 2006)
New Revision: 5159

Added:
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/LabsServices.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimateDTO.java
   labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java
   labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/
   labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java
   labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceLocal.java
Modified:
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java
   labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java
   labs/jbosslabs/trunk/portal-extensions/primates/maven.xml
   labs/jbosslabs/trunk/portal-extensions/primates/project.properties
   labs/jbosslabs/trunk/portal-extensions/primates/project.xml
   labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/Primate.java
   labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/PrimatesTools.java
Log:
primates service + tagme getting bio of a user
JBLAB-724


Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/LabsServices.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/LabsServices.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/LabsServices.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -0,0 +1,16 @@
+package org.jboss.forge.common.soa;
+
+import javax.management.MalformedObjectNameException;
+
+import org.jboss.forge.common.soa.primates.PrimatesService;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
+
+public class LabsServices {
+	public static PrimatesService getPrimatesService()
+			throws MalformedObjectNameException {
+
+		return (PrimatesService) MBeanProxyExt.create(PrimatesService.class,
+				PrimatesService.PRIMATES_SERVICE, MBeanServerLocator.locate());
+	}
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimateDTO.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimateDTO.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimateDTO.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -0,0 +1,83 @@
+package org.jboss.forge.common.soa.primates;
+
+import java.util.Map;
+
+import org.jboss.portal.common.context.DelegateContext;
+
+public class PrimateDTO {
+
+	private String name;
+	private String title;
+	private String project;
+	private String mugshot;
+	private String status;
+	private String bio;
+	private String country;
+	
+	public String getBio() {
+		return bio;
+	}
+
+	public void setBio(String bio) {
+		this.bio = bio;
+	}
+
+	public String getCountry() {
+		return country;
+	}
+
+	public void setCountry(String country) {
+		this.country = country;
+	}
+
+	public String getMugshot() {
+		return mugshot;
+	}
+
+	public void setMugshot(String mugshot) {
+		this.mugshot = mugshot;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public String getProject() {
+		return project;
+	}
+
+	public void setProject(String project) {
+		this.project = project;
+	}
+
+	public String getStatus() {
+		return status;
+	}
+
+	public void setStatus(String status) {
+		this.status = status;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public PrimateDTO(DelegateContext primate) {
+		bio = primate.get("bio");
+		country = primate.get("country");
+		mugshot = primate.get("mugshot");
+		name = primate.get("name");
+		project = primate.get("project");
+		status = primate.get("status");
+		title = primate.get("title");
+	}
+
+}

Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -0,0 +1,19 @@
+package org.jboss.forge.common.soa.primates;
+
+public interface PrimatesService {
+	
+	public static final String PRIMATES_SERVICE = "labs:service=primates";
+	
+	public PrimateDTO getPrimate(String name, String lastName, String portalName);
+	
+	public PrimateDTO getPrimate(String nickname, String portalName);
+	
+	void create() throws Exception;
+
+	void start() throws Exception;
+
+	void stop();
+
+	void destroy();
+
+}

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -23,6 +23,12 @@
 
 import java.util.Vector;
 
+import javax.management.MalformedObjectNameException;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.forge.common.soa.LabsServices;
+import org.jboss.forge.common.soa.primates.PrimatesService;
 import org.jboss.labs.tagme.gwt.client.TagMeClickListener;
 import org.jboss.labs.tagme.gwt.client.TaggingService;
 import org.jboss.labs.tagme.services.TagMeTagger;
@@ -183,4 +189,16 @@
 		return vect;
 	}
 
+	public String getUserInfo(String nickname) {
+		try {
+			PrimatesService pServ = LabsServices.getPrimatesService();
+			String bio = pServ.getPrimate(nickname, "default").getBio(); 
+			return bio;
+		} catch (Exception e) {
+			e.printStackTrace();
+			return " ";
+		}
+		
+	}
+
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -10,6 +10,7 @@
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
@@ -25,14 +26,17 @@
 	private TextBox author;
 
 	private TextBox keyword;
+	
+	private TextArea bio;
 
 	public SearchListener(VerticalPanel results, TextBox tags,
-			TextBox author, TextBox keyword, String clas) {
+			TextBox author, TextBox keyword, String clas, TextArea bio) {
 		this.results = results;
 		this.clas = clas;
 		this.tags = tags;
 		this.keyword = keyword;
 		this.author = author;
+		this.bio = bio;
 	}
 
 	public void onClick(Widget sender) {
@@ -47,12 +51,29 @@
 		AsyncCallback callback = new AsyncCallback() {
 			public void onSuccess(Object result) {
 				Vector res = (Vector) result;
+				
+				String last = "";
+				boolean oneAuthor = true;
 
-				for (int i = 0; i < res.size(); i += 2) {
+				for (int i = 0; i < res.size(); i += 3) {
+					if (oneAuthor && last.equals("")) {
+						last = res.get(i + 2).toString();
+					}
+					else if (oneAuthor) {
+						if (!last.equals(res.get(i + 2))) {
+							oneAuthor = false;
+						}
+					}
+					
 					results.add(new HTML("<a href=\""
 							+ res.get(i + 1).toString() + "\">"
 							+ res.get(i).toString() + "</a>"));
 				}
+				
+				if (oneAuthor) {
+					getBio(last);
+				}
+				
 			}
 
 			public void onFailure(Throwable caught) {
@@ -70,5 +91,30 @@
 				(keyword.getText().length() == 0) ? " " : keyword.getText(),
 				clas, callback);
 	}
+	
+	private void getBio(String nickname) {
+		bio.setText("");
 
+		TaggingServiceAsync tagging = (TaggingServiceAsync) GWT
+				.create(TaggingService.class);
+
+		ServiceDefTarget endpoint = (ServiceDefTarget) tagging;
+		endpoint.setServiceEntryPoint("/tagme-servlet/tag/");
+
+		AsyncCallback callback = new AsyncCallback() {
+			public void onSuccess(Object result) {
+				bio.setText(result.toString());
+			}
+
+			public void onFailure(Throwable caught) {
+				Window.alert("Error ! " + caught.getMessage() + " Throwable: "
+						+ caught);
+			}
+		};
+
+		// call AJAX methos, after that callback is going to be executed
+		tagging.getUserInfo(nickname, callback);
+
+	}
+
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -40,6 +40,7 @@
 import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TabPanel;
+import com.google.gwt.user.client.ui.TextArea;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
@@ -64,6 +65,8 @@
 
 	private FlexTable suggTable;
 
+	private TextArea bio;
+
 	private Vector suggestionCheckboxes;
 
 	private Image parentButton;
@@ -210,8 +213,9 @@
 					} else {
 						// just show tag
 						table.setHTML(curRow, table.getCellCount(curRow),
-								"<a href='" + feed + "' target='_blank' title='"
-								+ ((desc == null) ? "" : desc) + "' >"
+								"<a href='" + feed
+										+ "' target='_blank' title='"
+										+ ((desc == null) ? "" : desc) + "' >"
 										+ tag + "</a>");
 					}
 				}
@@ -317,7 +321,7 @@
 		// popUp.show();
 
 		TabPanel tabs = new TabPanel();
-		
+
 		tabs.add(panel, "Tag&nbsp;Content");
 
 		VerticalPanel searchPanel = new VerticalPanel();
@@ -336,7 +340,11 @@
 		TextBox keyword = new TextBox();
 		keyword.setText("");
 		searchPanel.add(keyword);
+		
+		bio = new TextArea();
 
+		searchPanel.add(bio);
+		
 		searchPanel.add(new Label("Search results"));
 
 		VerticalPanel results = new VerticalPanel();
@@ -346,7 +354,7 @@
 		HorizontalPanel buttons = new HorizontalPanel();
 
 		buttons.add(new Button("Search", new SearchListener(results, tags,
-				author, keyword, clas)));
+				author, keyword, clas, bio)));
 
 		searchPanel.add(buttons);
 

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -50,4 +50,6 @@
 	public Vector getAllTags(String clas);
 	
 	public Vector search(String tags, String author, String keyword, String clas);
+	
+	public String getUserInfo(String nickname);
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -44,4 +44,6 @@
 	public void getAllTags(String clas, AsyncCallback callback);
 
 	public void search(String tags, String author, String keyword, String clas, AsyncCallback callback);
+	
+	public void getUserInfo(String nickname, AsyncCallback callback);
 }

Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -212,6 +212,7 @@
 			result.add(tag.getName());
 			result.add(service
 					.getFeedLink(FeedType.TAGS, tag.getName(), "rss2"));
+			result.add(tag.getAuthor());
 		}
 
 		return result;

Modified: labs/jbosslabs/trunk/portal-extensions/primates/maven.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/maven.xml	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/maven.xml	2006-07-18 21:45:56 UTC (rev 5159)
@@ -4,21 +4,28 @@
   See terms of license at gnu.org. 
  -->
 <project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:u="jelly:util">
-	<!-- Default war-project goals -->
 
 	<goal name="all">
-		<attainGoal name="prj-all" />
+		<attainGoal name="clean" />
+		<attainGoal name="build" />
+		<attainGoal name="deploy" />
 	</goal>
 
 	<goal name="build">
-		<attainGoal name="prj-war-build" />
+		<attainGoal name="war" />
+		<attainGoal name="ejb" />
+		<ant:move file="target/primates-portlet-1.0.jar"  tofile="target/primates-portlet-1.0.ejb3" />
+		<attainGoal name="jar" />
 	</goal>
     
-	<goal name="deploy">	
-		<attainGoal name="prj-war-deploy" />
+	<goal name="deploy">
+		<ant:copy tofile="${local.deploy.dir}/primates-portlet.war" file="target/primates-portlet.war" />
+		<ant:copy tofile="${local.deploy.dir}/primates.ejb3" file="target/primates-portlet-1.0.ejb3" />
+		<ant:copy tofile="${local.deploy.dir}/primates-commons.jar" file="target/primates-portlet-1.0.jar" />
 	</goal>
 	
 	<goal name="clean">
 		<attainGoal name="prj-clean" />
 	</goal>
+
 </project>

Modified: labs/jbosslabs/trunk/portal-extensions/primates/project.properties
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/project.properties	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/project.properties	2006-07-18 21:45:56 UTC (rev 5159)
@@ -1,3 +1,8 @@
 maven.repo.remote=http://repository.atlassian.com,http://www.ibiblio.org/maven,http://dist.codehaus.org/
 maven.junit.fork=yes
 maven.war.src=${basedir}/src/web
+maven.ejb.includes=**/service/*.class
+maven.jar.excludes=**/PrimatesPortlet.class, **/service/*.class
+maven.war.classes.includes=**/PrimatesPortlet.class
+maven.ear.src=${maven.build.dir}/ear
+maven.ear.resources=${maven.build.dir}/ear2
\ No newline at end of file

Modified: labs/jbosslabs/trunk/portal-extensions/primates/project.xml
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/project.xml	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/project.xml	2006-07-18 21:45:56 UTC (rev 5159)
@@ -22,5 +22,32 @@
 	    <version>1.0</version>
 	</dependency>
 
+<dependency>
+		<groupId>jboss</groupId>
+		<artifactId>ejb3-persistence</artifactId>
+		<version>3.0RC6</version>
+		<jar>ejb3-persistence.jar</jar>
+        </dependency>
+	<dependency>
+		<groupId>jboss</groupId>
+		<artifactId>jboss-ejb3x</artifactId>
+		<version>3.0RC6</version>
+		<jar>jboss-ejb3x.jar</jar>
+    </dependency>
+    
+    <dependency>
+	    <groupId>jboss</groupId>
+	    <artifactId>jboss-j2ee</artifactId>
+	    <version></version>
+	    <jar>jboss-j2ee.jar</jar>
+    </dependency>
+    
+    <dependency>
+			<groupId>jboss</groupId>
+			<artifactId>jboss-annotations-ejb3</artifactId>
+			<version>1.0</version>
+			<jar>jboss-annotations-ejb3.jar</jar>
+		</dependency>
+		    
     </dependencies>
 </project>

Modified: labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/Primate.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/Primate.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/Primate.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -20,14 +20,14 @@
  * A class representing a primate.
  */
 public class Primate extends AbstractDescriptor {
-	final static String NAME_ELEMENT			= "name";
-	final static String TITLE_ELEMENT			= "title";
-	final static String PROJECT_ELEMENT			= "project";
-	final static String PROJECTS_ELEMENT		= "projects";
-	final static String MUGSHOT_ELEMENT			= "mugshot";
-	final static String STATUS_ELEMENT			= "status";
-	final static String BIO_ELEMENT				= "bio";
-	final static String COUNTRY_ELEMENT			= "country";
+	public final static String NAME_ELEMENT			= "name";
+	public final static String TITLE_ELEMENT			= "title";
+	public final static String PROJECT_ELEMENT			= "project";
+	public final static String PROJECTS_ELEMENT		= "projects";
+	public final static String MUGSHOT_ELEMENT			= "mugshot";
+	public final static String STATUS_ELEMENT			= "status";
+	public final static String BIO_ELEMENT				= "bio";
+	public final static String COUNTRY_ELEMENT			= "country";
 	
 	/**
 	 * <code>name</code> - The name this filthy primate calls itself.

Modified: labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/PrimatesTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/PrimatesTools.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/PrimatesTools.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -7,74 +7,89 @@
 import org.jboss.shotoku.ContentManager;
 
 /**
- * @author adamw
- * Common constants and functions.
+ * @author adamw Common constants and functions.
  */
 public class PrimatesTools {
 	final static String PRIMATES_ELEMENT = "primates";
 
 	public final static String PRIMATES_XML = "primates.xml";
+
 	public final static String PRIMATES_DEFAULT_JSP = "primates.jsp";
-        public final static String PRIMATES_MUGSHOT_JSP = "mugshot.jsp";
+
+	public final static String PRIMATES_MUGSHOT_JSP = "mugshot.jsp";
+
 	public final static String PRIMATES_DIR = "primates";
+
 	public final static String BIOS_DIR = "html";
+
 	public final static String MUGSHOTS_DIR = "images";
-        public final static String MUGSHOT_VIEW= "mugshot";
-        public static final String ALL_VIEW="all";
-        public static final String RANDOM_VIEW="random";
 
+	public final static String MUGSHOT_VIEW = "mugshot";
+
+	public static final String ALL_VIEW = "all";
+
+	public static final String RANDOM_VIEW = "random";
+
 	private static ContentManager cm;
 
 	static {
 		cm = ForgeHelper.getContentManager("");
 	}
-	
+
 	/**
 	 * Method returns path to XML file.
+	 * 
 	 * @param portalName
 	 * @return
 	 */
-	static String getXmlCmPath(String portalName) {
-		return portalName + File.separator + PRIMATES_DIR + File.separator + PRIMATES_XML;
+	public static String getXmlCmPath(String portalName) {
+		return portalName + File.separator + PRIMATES_DIR + File.separator
+				+ PRIMATES_XML;
 	}
-	
+
 	/**
 	 * Method returns path to default JSP file.
+	 * 
 	 * @param portalName
 	 * @return
 	 */
-	static String getJspCmPath() {
+	public static String getJspCmPath() {
 		return PRIMATES_DIR + File.separator + PRIMATES_DEFAULT_JSP;
 	}
-        
-        /**
-        * Method returns path to the mugshot JSP file.
-        * @param portalName
-        * @return
-        */
-        static String getMugshotJspCmPath() {
-          return PRIMATES_DIR + File.separator + PRIMATES_MUGSHOT_JSP;
-        }
-	
+
 	/**
+	 * Method returns path to the mugshot JSP file.
+	 * 
+	 * @param portalName
+	 * @return
+	 */
+	public static String getMugshotJspCmPath() {
+		return PRIMATES_DIR + File.separator + PRIMATES_MUGSHOT_JSP;
+	}
+
+	/**
 	 * Method returns images directory path.
+	 * 
 	 * @param portalName
 	 * @return
 	 */
-	static String getImgCmPath(String portalName) {
-		return PRIMATES_DIR + File.separator +MUGSHOTS_DIR;
+	public static String getImgCmPath(String portalName) {
+		return PRIMATES_DIR + File.separator + MUGSHOTS_DIR;
 	}
-	
+
 	/**
 	 * Method returns path to Bios directory.
+	 * 
 	 * @param portalName
 	 * @return
 	 */
-	static String getBiosCmPath(String portalName) {
-		return portalName+File.separator+PRIMATES_DIR + File.separator +BIOS_DIR;
+	public static String getBiosCmPath(String portalName) {
+		return portalName + File.separator + PRIMATES_DIR + File.separator
+				+ BIOS_DIR;
 	}
 
-	static synchronized PrimatesDescriptor getDesc(final String portalName) {
+	public static synchronized PrimatesDescriptor getDesc(
+			final String portalName) {
 		PrimatesDescriptor desc = (PrimatesDescriptor) ForgeHelper
 				.getForgeManagement().getFromCache(portalName,
 						PrimatesDescriptor.class.getName());
@@ -87,24 +102,22 @@
 
 		return desc;
 	}
-	
 
 	private static String NO_PROJECT_PARAM = "&noproject=true";
 
-	static String prepareLinkForDisplay(String link) {
+	public static String prepareLinkForDisplay(String link) {
 		if (link == null)
 			return link;
 
 		// To each link, adding a noproject param, unless it's a project link.
-		if ((!link.contains(NO_PROJECT_PARAM)) && 
-				(!link.contains("project=")) &&
-				(!ForgeHelper.isOutsideLink(link)))
+		if ((!link.contains(NO_PROJECT_PARAM)) && (!link.contains("project="))
+				&& (!ForgeHelper.isOutsideLink(link)))
 			return link + NO_PROJECT_PARAM;
 
 		return link;
 	}
 
-	static String prepareLinkForChecking(String portalName, String link) {
+	public static String prepareLinkForChecking(String portalName, String link) {
 		if (link == null)
 			return link;
 
@@ -112,12 +125,14 @@
 				|| ("//portal".equals(link)))
 			return ForgeHelper.createPageLink(portalName, "default");
 
-		// Deleting the noproject parameter, as it is not present in the generated links.
+		// Deleting the noproject parameter, as it is not present in the
+		// generated links.
 		int i = link.indexOf(NO_PROJECT_PARAM);
 		if (i != -1)
 			link = link.substring(0, i);
 
-		// Deleting the project=default parameter from freezone link, as it is a dummy 
+		// Deleting the project=default parameter from freezone link, as it is a
+		// dummy
 		// project and not present in the generated links.
 		if (link.contains("freezone")) {
 			link = link.replace("&project=default", "");

Added: labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -0,0 +1,98 @@
+package org.jbosslabs.portlets.primates.service;
+
+import java.util.Iterator;
+
+import javax.ejb.Local;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Service;
+import org.jboss.forge.common.soa.primates.PrimateDTO;
+import org.jboss.forge.common.soa.primates.PrimatesService;
+import org.jboss.logging.Logger;
+import org.jboss.portal.common.context.DelegateContext;
+import org.jboss.portal.core.model.NoSuchUserException;
+import org.jboss.portal.core.model.User;
+import org.jboss.portal.core.modules.ModuleException;
+import org.jboss.portal.core.modules.UserModule;
+import org.jbosslabs.portlets.primates.Primate;
+import org.jbosslabs.portlets.primates.PrimatesDescriptor;
+import org.jbosslabs.portlets.primates.PrimatesTools;
+
+ at Service(objectName = PrimatesService.PRIMATES_SERVICE)
+ at Local(PrimatesServiceLocal.class)
+ at Management(PrimatesService.class)
+public class PrimatesServiceImpl implements PrimatesService,
+		PrimatesServiceLocal {
+
+	private static final Logger log = Logger.getLogger(PrimatesService.class);
+
+	private static final String userModuleCtx = "java:portal/UserModule";
+
+	public PrimatesServiceImpl() {
+
+	}
+
+	public PrimateDTO getPrimate(String name, String lastName, String portalName) {
+		PrimatesDescriptor desc = PrimatesTools.getDesc(portalName);
+
+		DelegateContext context = new DelegateContext();
+
+		desc.getContext(context, portalName);
+
+		Iterator<DelegateContext> iterator = context.childIterator("primate");
+
+		while (iterator.hasNext()) {
+			DelegateContext primate = iterator.next();
+			if (primate.get(Primate.NAME_ELEMENT).equals(name + " " + lastName)) {
+				return new PrimateDTO(primate);
+			}
+		}
+
+		// there is no such primate
+		return null;
+	}
+
+	public void create() throws Exception {
+		log.info("Primates service created");
+	}
+
+	public void destroy() {
+		log.info("Primates service destroyed");
+	}
+
+	public void start() throws Exception {
+		log.info("Primates service started");
+	}
+
+	public void stop() {
+		log.info("Primates service stopped");
+	}
+
+	public PrimateDTO getPrimate(String nickname, String portalName) {
+
+		try {
+			InitialContext initialContext = new InitialContext();
+
+			UserModule userModule = (UserModule) initialContext
+					.lookup(userModuleCtx);
+
+			User user = userModule.findUserByUserName(nickname);
+
+			return getPrimate(user.getGivenName(), user.getFamilyName(),
+					portalName);
+		} catch (NamingException e) {
+			log.error(e);
+		} catch (IllegalArgumentException e) {
+			log.error(e);
+		} catch (NoSuchUserException e) {
+			log.error(e);
+		} catch (ModuleException e) {
+			log.error(e);
+		}
+
+		return null;
+	}
+
+}

Added: labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceLocal.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceLocal.java	2006-07-18 21:16:05 UTC (rev 5158)
+++ labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceLocal.java	2006-07-18 21:45:56 UTC (rev 5159)
@@ -0,0 +1,5 @@
+package org.jbosslabs.portlets.primates.service;
+
+public interface PrimatesServiceLocal {
+
+}




More information about the jboss-svn-commits mailing list