From: <jbo...@li...> - 2006-07-10 19:51:31
|
Author: szimano Date: 2006-07-10 15:51:28 -0400 (Mon, 10 Jul 2006) New Revision: 4985 Added: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.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/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/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTagger.java Log: tagging service JBLAB-704 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -160,4 +160,26 @@ } + public Vector search(String tags, String author, String keyword, String clas) { + Vector vect = null; + + try { + TagMeTagger tagger = (TagMeTagger) Class.forName(clas) + .newInstance(); + + vect = tagger.search(tags, author, keyword); + } catch (InstantiationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalAccessException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return vect; + } + } Added: 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/SearchListener.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -0,0 +1,70 @@ +package org.jboss.labs.tagme.gwt.client; + +import java.util.Vector; + +import com.google.gwt.core.client.GWT; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.rpc.ServiceDefTarget; +import com.google.gwt.user.client.ui.ClickListener; +import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.TextBox; +import com.google.gwt.user.client.ui.Widget; + +public class SearchListener implements ClickListener { + + private String clas; + + private HorizontalPanel results; + + private TextBox tags; + + private TextBox author; + + private TextBox keyword; + + public SearchListener(HorizontalPanel results, TextBox tags, + TextBox author, TextBox keyword, String clas) { + this.results = results; + this.clas = clas; + this.tags = tags; + this.keyword = keyword; + this.author = author; + } + + public void onClick(Widget sender) { + results.clear(); + + 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) { + Vector res = (Vector) result; + + for (int i = 0; i < res.size(); i++) { + results.add(new Label(res.get(i).toString())); + } + } + + public void onFailure(Throwable caught) { + Window.alert("Error ! " + caught.getMessage() + " Throwable: " + + caught); + } + }; + + Window.alert("'" + tags.getText() + "' '" + author.getText() + "' '" + + keyword.getText() + "'"); + + // call AJAX methos, after that callback is going to be executed + tagging.search((tags.getText() == null) ? "" : tags.getText(), (author + .getText() == null) ? "" : author.getText(), + (keyword.getText() == null) ? "" : keyword.getText(), clas, + 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -33,7 +33,6 @@ import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.ClickListener; -import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.FlexTable; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.HorizontalPanel; @@ -301,20 +300,39 @@ .add(new Label( "Search for tagged content by tag name, author or keyword search of the description")); searchPanel.add(new Label("Tag")); - searchPanel.add(new TextBox()); + TextBox tags = new TextBox(); + tags.setText(""); + searchPanel.add(tags); searchPanel.add(new Label("Author")); - searchPanel.add(new TextBox()); + TextBox author = new TextBox(); + author.setText(""); + searchPanel.add(author); searchPanel.add(new Label("Keyword")); - searchPanel.add(new TextBox()); + TextBox keyword = new TextBox(); + keyword.setText(""); + searchPanel.add(keyword); searchPanel.add(new Label("Search results")); - searchPanel.add(new Button("Close", new ClickListener() { + + HorizontalPanel results = new HorizontalPanel(); + + searchPanel.add(results); + + VerticalPanel buttons = new VerticalPanel(); + + buttons.add(new Button("Search", new SearchListener(results, tags, author, keyword, clas))); + + searchPanel.add(buttons); + + buttons.add(new Button("Close", new ClickListener() { public void onClick(Widget sender) { dialog.hide(); } })); + + searchPanel.add(buttons); tabs.add(searchPanel, "Tag Search"); 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -48,4 +48,6 @@ public Vector getSugestions(String path, String clas); public Vector getAllTags(String clas); + + public Vector search(String tags, String author, String keyword, String clas); } 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -42,4 +42,6 @@ public void getSugestions(String path, String clas, AsyncCallback callback); public void getAllTags(String clas, AsyncCallback callback); + + public void search(String tags, String author, String keyword, String clas, 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-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -200,7 +200,7 @@ public Vector getAllTags() { Vector<String> ret = new Vector<String>(); try { - List<String> tags = service.getAllTags(); + List<String> tags = service.getAllTagsNames(); for (String tag : tags) { ret.add(tag); @@ -213,4 +213,17 @@ return ret; } + public Vector search(String tags, String author, String keyword) { + log.info("Search started"); + List<Tag> allTags = service.searchTags(tags, author, keyword); + + Vector result = new Vector(); + + for (Tag tag : allTags) { + result.add(tag.getName()); + } + + return result; + } + } Modified: labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTagger.java =================================================================== --- labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTagger.java 2006-07-10 19:39:28 UTC (rev 4984) +++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/TagMeTagger.java 2006-07-10 19:51:28 UTC (rev 4985) @@ -33,4 +33,6 @@ public Vector getSuggestions(String path); public Vector getAllTags(); + + public Vector search(String tags, String author, String keyword); } |