[jboss-svn-commits] JBL Code SVN: r5206 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common 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/src/java/org/jbosslabs/portlets/primates/service
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 20 17:35:50 EDT 2006
Author: szimano
Date: 2006-07-20 17:35:44 -0400 (Thu, 20 Jul 2006)
New Revision: 5206
Added:
labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsPopupPanel.java
labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowAuthorFeedsListener.java
labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowFeedsListener.java
labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTools.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java
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/LabsDialogBox.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/TagMeClickListener.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/services/ShotokuTaggingService.java
labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java
Log:
JBLAB-724 bio showing up and usernames
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ForgeHelper.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -40,6 +40,8 @@
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.management.MalformedObjectNameException;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import javax.portlet.PortalContext;
import javax.portlet.PortletRequest;
import javax.servlet.ServletRequest;
@@ -47,6 +49,10 @@
import org.jboss.forge.common.service.ForgeManagement;
import org.jboss.mx.util.MBeanProxyExt;
import org.jboss.mx.util.MBeanServerLocator;
+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.jboss.portlet.JBossRenderRequest;
import org.jboss.shotoku.ContentManager;
import org.jboss.shotoku.aop.CacheItem;
@@ -115,6 +121,8 @@
private static Set<Integer> volatileTempFiles;
private static VolatileTempFileRemover vtfRemover;
+
+ private static final String userModuleCtx = "java:portal/UserModule";
static {
forgeManagement = null;
Modified: 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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/soa/primates/PrimatesService.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -1,5 +1,7 @@
package org.jboss.forge.common.soa.primates;
+import org.jboss.portal.core.model.User;
+
public interface PrimatesService {
public static final String PRIMATES_SERVICE = "labs:service=primates";
@@ -8,6 +10,8 @@
public PrimateDTO getPrimate(String nickname, String portalName);
+ public User getUser(String username);
+
void create() throws Exception;
void start() throws Exception;
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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -40,6 +40,8 @@
TaggingService {
private final static Logger log = Logger.getLogger(TagMeServlet.class);
+
+ private static final String NO_INFO = "<i>No info available</i>";
/**
*
@@ -68,7 +70,8 @@
return vect;
}
- public boolean addTag(String user, String path, String clas, String tags, String descriptions, boolean website) {
+ public boolean addTag(String user, String path, String clas, String tags,
+ String descriptions, boolean website) {
try {
TagMeTagger tagger = (TagMeTagger) Class.forName(clas)
.newInstance();
@@ -192,13 +195,16 @@
public String getUserInfo(String nickname) {
try {
PrimatesService pServ = LabsServices.getPrimatesService();
- String bio = pServ.getPrimate(nickname, "default").getBio();
- return bio;
+ if (pServ.getPrimate(nickname, "default") != null) {
+ String bio = pServ.getPrimate(nickname, "default").getBio();
+ return bio;
+ } else
+ return NO_INFO;
} catch (Exception e) {
e.printStackTrace();
- return " ";
+ return NO_INFO;
}
-
+
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsDialogBox.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsDialogBox.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsDialogBox.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -7,8 +7,10 @@
public void setPopupPosition(int left, int top) {
DOM.setStyleAttribute(this.getElement(), "position", "absolute");
- DOM.setStyleAttribute(this.getElement(), "left", String.valueOf(left)+"px");
- DOM.setStyleAttribute(this.getElement(), "top", String.valueOf(top)+"px");
+ DOM.setStyleAttribute(this.getElement(), "left", String.valueOf(left)
+ + "px");
+ DOM.setStyleAttribute(this.getElement(), "top", String.valueOf(top)
+ + "px");
}
}
Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsPopupPanel.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsPopupPanel.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/LabsPopupPanel.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -0,0 +1,23 @@
+package org.jboss.labs.tagme.gwt.client;
+
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.PopupPanel;
+
+public class LabsPopupPanel extends PopupPanel {
+
+ public LabsPopupPanel(boolean b) {
+ super(b);
+ }
+
+ public LabsPopupPanel() {
+ super();
+ }
+
+ public void setPopupPosition(int left, int top) {
+ DOM.setStyleAttribute(this.getElement(), "position", "absolute");
+ DOM.setStyleAttribute(this.getElement(), "left", String.valueOf(left)
+ + "px");
+ DOM.setStyleAttribute(this.getElement(), "top", String.valueOf(top)
+ + "px");
+ }
+}
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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -26,11 +26,11 @@
private TextBox author;
private TextBox keyword;
-
+
private HTML bio;
- public SearchListener(VerticalPanel results, TextBox tags,
- TextBox author, TextBox keyword, String clas, HTML bio) {
+ public SearchListener(VerticalPanel results, TextBox tags, TextBox author,
+ TextBox keyword, String clas, HTML bio) {
this.results = results;
this.clas = clas;
this.tags = tags;
@@ -51,29 +51,37 @@
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 += 3) {
+ for (int i = 0; i < res.size(); i += 5) {
+
+ String tag = (String)res.get(i);
+ String author = (String)res.get(i + 1);
+ String desc = (String)res.get(i + 2);
+ String feed = (String)res.get(i + 3);
+ String allResFeed = (String)res.get(i + 4);
+
if (oneAuthor && last.equals("")) {
- last = res.get(i + 2).toString();
- }
- else if (oneAuthor) {
- if (!last.equals(res.get(i + 2))) {
+ last = author.toString();
+ } else if (oneAuthor) {
+ if (!last.equals(author)) {
oneAuthor = false;
}
}
+
+ results.add(TagMeShowPopupListener.getLink(desc, feed, allResFeed, tag, author));
- results.add(new HTML("<a href=\""
- + res.get(i + 1).toString() + "\">"
- + res.get(i).toString() + "</a>"));
+ // 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) {
@@ -82,8 +90,8 @@
}
};
- //Window.alert("'" + tags.getText() + "' '" + author.getText() + "' '"
- // + keyword.getText() + "'");
+ // Window.alert("'" + tags.getText() + "' '" + author.getText() + "' '"
+ // + keyword.getText() + "'");
// call AJAX methos, after that callback is going to be executed
tagging.search((tags.getText().length() == 0) ? " " : tags.getText(),
@@ -91,7 +99,7 @@
(keyword.getText().length() == 0) ? " " : keyword.getText(),
clas, callback);
}
-
+
private void getBio(String nickname) {
bio.setHTML("");
Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowAuthorFeedsListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowAuthorFeedsListener.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowAuthorFeedsListener.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -0,0 +1,38 @@
+package org.jboss.labs.tagme.gwt.client;
+
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class ShowAuthorFeedsListener implements ClickListener {
+
+ private String author,
+ allFeed,
+ uniqueFeed;
+
+ public ShowAuthorFeedsListener(String author, String allFeed, String uniqueFeed) {
+ this.author = author;
+ this.allFeed = allFeed;
+ this.uniqueFeed = uniqueFeed;
+ }
+
+ public void onClick(Widget sender) {
+ LabsPopupPanel panel = new LabsPopupPanel(true);
+ VerticalPanel vPanel = new VerticalPanel();
+
+ vPanel.add(new HTML("Subscribe to <a href='"+allFeed+"' target='_blank'>all resources tagged by "+ author +"</a>"));
+ vPanel.add(new HTML("Subscribe to <a href='"+uniqueFeed+"' target='_blank'>unique tags by "+ author +"</a>"));
+
+ panel.add(vPanel);
+
+ panel.setStyleName(TagMeShowPopupListener.TAGME_STYLE);
+
+ panel.setPopupPosition(DOM.getAbsoluteLeft(sender.getElement()) + 5,
+ DOM.getAbsoluteTop(sender.getElement()) + 5);
+
+ panel.show();
+ }
+
+}
Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowFeedsListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowFeedsListener.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/ShowFeedsListener.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -0,0 +1,43 @@
+package org.jboss.labs.tagme.gwt.client;
+
+import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.ui.ClickListener;
+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.PopupPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class ShowFeedsListener implements ClickListener {
+
+ private String feed;
+ private String allResFeed;
+ private String tagName;
+ private String author;
+
+ public ShowFeedsListener(String feed, String allResFeed, String tagName, String author) {
+ this.feed = feed;
+ this.allResFeed = allResFeed;
+ this.tagName = tagName;
+ this.author = author;
+ }
+
+ public void onClick(Widget sender) {
+ LabsPopupPanel panel = new LabsPopupPanel(true);
+ VerticalPanel vPanel = new VerticalPanel();
+
+ vPanel.add(new HTML("Subscribe to <a href='"+feed+"' target='_blank'>"+tagName+" by "+ author +"</a>"));
+ vPanel.add(new HTML("Subscribe to <a href='"+allResFeed+"' target='_blank'>"+tagName+" by all authors</a>"));
+
+ panel.add(vPanel);
+
+ panel.setStyleName(TagMeShowPopupListener.TAGME_STYLE);
+
+ panel.setPopupPosition(DOM.getAbsoluteLeft(sender.getElement()) + 5,
+ DOM.getAbsoluteTop(sender.getElement()) + 5);
+
+ panel.show();
+ }
+
+}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeClickListener.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeClickListener.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeClickListener.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -110,7 +110,7 @@
descs = desc;
} else {
tags += TAG_SEP + tag;
- descs += TAG_SEP + ((desc != null && desc.length() > 0) ? desc : " ");
+ descs += TAG_SEP + ((desc != null && desc.length() > 0) ? desc : tag);
}
}
}
@@ -122,8 +122,10 @@
if (chBox.isChecked()) {
if (tags.length() == 0) {
tags = chBox.getText();
+ descs = chBox.getText();
} else {
tags += TAG_SEP + chBox.getText();
+ descs += TAG_SEP + chBox.getText();
}
}
}
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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -47,7 +47,7 @@
public class TagMeShowPopupListener implements ClickListener {
- private static final String TAGME_STYLE = "tagmePanel";
+ public static final String TAGME_STYLE = "tagmePanel";
private Timer timer;
@@ -105,6 +105,7 @@
public void onSuccess(Object result) {
Vector vect = (Vector) result;
+ if (vect.size() > 0) {
int rowLen = (int) Math.sqrt(vect.size());
for (int i = 0; i < vect.size(); i++) {
@@ -112,6 +113,10 @@
suggTable.setWidget(i / rowLen, i % rowLen, chBox);
suggestionCheckboxes.add(chBox);
}
+ }
+ else {
+ suggTable.setHTML(0, 0, "<i>There are no suggestions available</i>");
+ }
}
public void onFailure(Throwable caught) {
@@ -186,16 +191,16 @@
String fullName = to[2];
String feed = to[3];
String authorFeed = to[4];
- String desc = to[5];
- int subsc = Integer.parseInt(to[6]);
+ String authorUniqueFeed = to[5];
+ String allResFeed = to[6];
+ String desc = to[7];
+ int subsc = Integer.parseInt(to[8]);
if (!rows.keySet().contains(user)) {
rows.put(user, new Integer(rowsNum + 1));
table.setHTML(rowsNum + 1, 1, String.valueOf(subsc));
table
- .setHTML(++rowsNum, 2, "<b><a href='"
- + authorFeed + "' target='_blank' >"
- + fullName + "</a></b>");
+ .setWidget(++rowsNum, 2, getAuthorLink(fullName, user, authorFeed, authorUniqueFeed));
}
int curRow = ((Integer) rows.get(user)).intValue();
@@ -206,10 +211,9 @@
im.setStyleName("tagme_btn");
HorizontalPanel hpanel = new HorizontalPanel();
- hpanel.add(new HTML("<a href='" + feed
- + "' target='_blank' title='"
- + ((desc == null) ? "" : desc) + "' >" + tag
- + "</a>"));
+
+ hpanel.add(getLink(desc, feed, allResFeed, tag, user));
+
hpanel.add(im);
im.addClickListener(new DeleteTagClickListener(
@@ -219,11 +223,8 @@
hpanel);
} else {
// just show tag
- table.setHTML(curRow, table.getCellCount(curRow),
- "<a href='" + feed
- + "' target='_blank' title='"
- + ((desc == null) ? "" : desc) + "' >"
- + tag + "</a>");
+ table.setWidget(curRow, table.getCellCount(curRow),
+ getLink(desc, feed, allResFeed, tag, user));
}
}
}
@@ -244,6 +245,27 @@
refreshAllTags();
}
+ public static HTML getLink(String desc, String feed, String allResFeed, String tag, String user) {
+ HTML link = new HTML("<a href='" + /*feed*/ ""
+ + "' target='_blank' title='"
+ + ((desc == null) ? "" : desc) + "' onclick='return false' >" + tag
+ + "</a>");
+
+ link.addClickListener(new ShowFeedsListener(feed, allResFeed, tag, user));
+
+ return link;
+ }
+
+ public static HTML getAuthorLink(String fullName, String author, String allFeed, String uniqueFeed) {
+ HTML link = new HTML("<b><a href='" + /*feed*/ ""
+ + "' target='_blank' onclick='return false' >" + fullName
+ + "</a></b>");
+
+ link.addClickListener(new ShowAuthorFeedsListener(author, allFeed, uniqueFeed));
+
+ return link;
+ }
+
public void onClick(Widget sender) {
VerticalPanel panel = new VerticalPanel();
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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -101,15 +101,20 @@
+ TagMeClickListener.TAG_SEP
+ tag.getAuthor()
+ TagMeClickListener.TAG_SEP
- + tag.getAuthor()
+ + TagMeTools.getFullName(tag.getAuthor())
+ TagMeClickListener.TAG_SEP
+ service.getFeedLink(FeedType.AUTHOR_TAG, feedData,
"rss2")
+ TagMeClickListener.TAG_SEP
+ service.getFeedLink(FeedType.AUTHOR_ALL, tag
.getAuthor(), "rss2")
- + TagMeClickListener.TAG_SEP + tag.getData()
+ TagMeClickListener.TAG_SEP
+ + service.getFeedLink(FeedType.AUTHOR_UNIQUE, tag
+ .getAuthor(), "rss2")
+ + TagMeClickListener.TAG_SEP
+ + service.getFeedLink(FeedType.TAGS, tag.getName(),
+ "rss2") + TagMeClickListener.TAG_SEP
+ + tag.getData() + TagMeClickListener.TAG_SEP
+ service.getAllSubscribers(tag.getAuthor()));
}
@@ -124,11 +129,11 @@
String[] o1Splited = o1.split(TagMeClickListener.TAG_SEP);
String[] o2Splited = o2.split(TagMeClickListener.TAG_SEP);
- return 0 - ((Integer.valueOf(o1Splited[6]).compareTo(
- Integer.valueOf(o2Splited[6])) == 0) ? (0 - o1Splited[2]
- .compareTo(o2Splited[2])) : Integer
- .valueOf(o1Splited[6]).compareTo(
- Integer.valueOf(o2Splited[6])));
+ return 0 - ((Integer.valueOf(o1Splited[8]).compareTo(
+ Integer.valueOf(o2Splited[8])) == 0) ? (0 - o1Splited[2]
+ .compareTo(o2Splited[2]))
+ : Integer.valueOf(o1Splited[8]).compareTo(
+ Integer.valueOf(o2Splited[8])));
}
});
@@ -230,11 +235,25 @@
Vector result = new Vector();
+ String lastTag = "";
for (Tag tag : allTags) {
- result.add(tag.getName());
- result.add(service
- .getFeedLink(FeedType.TAGS, tag.getName(), "rss2"));
- result.add(tag.getAuthor());
+
+ // check if there are no duplicates
+ if (!tag.getName().equals(lastTag)) {
+ List<String> tagData = new ArrayList<String>();
+ tagData.add(tag.getName());
+ tagData.add(tag.getAuthor());
+
+ result.add(tag.getName());
+ result.add(tag.getAuthor());
+ result.add(tag.getData());
+ result.add(service.getFeedLink(FeedType.AUTHOR_TAG, tagData,
+ "rss2"));
+ result.add(service.getFeedLink(FeedType.TAGS, tag.getName(),
+ "rss2"));
+
+ lastTag = tag.getName();
+ }
}
return result;
Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTools.java 2006-07-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTools.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -0,0 +1,25 @@
+package org.jboss.labs.tagme.services;
+
+import javax.management.MalformedObjectNameException;
+
+import org.jboss.forge.common.soa.LabsServices;
+import org.jboss.portal.core.model.User;
+
+public class TagMeTools {
+
+ public static String getFullName(String username) {
+ try {
+ User user = LabsServices.getPrimatesService().getUser(username);
+
+ if (user != null
+ && (user.getGivenName() != null && user.getFamilyName() != null)) {
+ return user.getGivenName() + " " + user.getFamilyName();
+ } else {
+ return username;
+ }
+ } catch (MalformedObjectNameException e) {
+ e.printStackTrace();
+ return username;
+ }
+ }
+}
Modified: 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-20 20:58:55 UTC (rev 5205)
+++ labs/jbosslabs/trunk/portal-extensions/primates/src/java/org/jbosslabs/portlets/primates/service/PrimatesServiceImpl.java 2006-07-20 21:35:44 UTC (rev 5206)
@@ -95,4 +95,28 @@
return null;
}
+ public User getUser(String username) {
+ try {
+ InitialContext initialContext = new InitialContext();
+
+ UserModule userModule = (UserModule) initialContext
+ .lookup(userModuleCtx);
+
+ User user = userModule.findUserByUserName(username);
+
+ return user;
+ } catch (NamingException e) {
+ e.printStackTrace();
+ } catch (IllegalArgumentException e) {
+ e.printStackTrace();
+ } catch (NoSuchUserException e) {
+ e.printStackTrace();
+ } catch (ModuleException e) {
+ e.printStackTrace();
+ }
+
+ // if soemthing went wrong return null
+ return null;
+ }
+
}
More information about the jboss-svn-commits
mailing list