|
From: <jbo...@li...> - 2006-06-08 18:25:34
|
Author: szimano
Date: 2006-06-08 14:25:16 -0400 (Thu, 08 Jun 2006)
New Revision: 4676
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/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/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-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFRegionRenderer.java
Log:
tag delete (JBLAB-674)
broken div in regions
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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/TagMeServlet.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -86,4 +86,27 @@
}
}
+ public boolean deleteTag(String user, String path, String clas, String tag) {
+
+ try {
+ TagMeTagger tagger = (TagMeTagger)Class.forName(clas).newInstance();
+
+ tagger.deleteTag(user, path, tag);
+
+ return true;
+ } 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 false;
+
+ }
+
}
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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeClickListener.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -35,28 +35,25 @@
import com.google.gwt.user.client.ui.Widget;
public class TagMeClickListener implements ClickListener {
-
+
public static final String TAG_SEP = ";&&tagMeSeparator&&;";
-
- private static final String ADDING_TXT = "Adding tags";
private String path;
private String user;
private Vector textBoxes;
-
+
private String clas;
-
+
private Label info;
-
+
private Button button;
-
- private Timer timer;
-
+
private TagMeShowPopupListener parent;
- public TagMeClickListener(String path, String user, String clas, Vector textBoxes, Label info, TagMeShowPopupListener parent) {
+ public TagMeClickListener(String path, String user, String clas,
+ Vector textBoxes, Label info, TagMeShowPopupListener parent) {
this.path = path;
this.user = user;
this.textBoxes = textBoxes;
@@ -66,56 +63,46 @@
}
public void onClick(Widget sender) {
+
TaggingServiceAsync tagging = (TaggingServiceAsync) GWT
.create(TaggingService.class);
- this.button = (Button)sender;
-
+ this.button = (Button) sender;
+
ServiceDefTarget endpoint = (ServiceDefTarget) tagging;
endpoint.setServiceEntryPoint("/tagme-servlet/tag/");
- info.setText(ADDING_TXT);
-
- timer = new Timer() {
-
- public void run() {
- info.setText(info.getText() + ".");
- }
-
- };
-
- timer.scheduleRepeating(1000);
-
+ parent.startProgressAnim("Adding tags");
+
AsyncCallback callback = new AsyncCallback() {
public void onSuccess(Object result) {
- timer.cancel();
- button.setEnabled(true);
+ parent.stopProgressAnim("Tags added");
parent.refreshTags();
- info.setText("Tags added");
}
public void onFailure(Throwable caught) {
Window.alert("Error ! " + caught.getMessage());
+ parent.stopProgressAnim("Error while adding tags");
}
};
button.setEnabled(false);
-
+
String tags = "";
-
+
for (int i = 0; i < textBoxes.size(); i++) {
- String tag = ((TextBox)textBoxes.get(i)).getText();
+ String tag = ((TextBox) textBoxes.get(i)).getText();
if (tag != null && tag.length() > 0) {
if (tags.length() == 0) {
tags = tag;
- }
- else {
+ } else {
tags += TAG_SEP + tag;
}
}
}
- tagging.addTag(user, path, clas, tags, callback);
+ tagging.addTag(user, path, clas, tags, 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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TagMeShowPopupListener.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -25,6 +25,7 @@
import java.util.Vector;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.ServiceDefTarget;
@@ -33,6 +34,7 @@
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -42,6 +44,8 @@
private static final String TAGME_STYLE = "tagmePanel";
+ private Timer timer;
+
private String path;
private String currentUser;
@@ -52,12 +56,18 @@
private FlexTable table;
+ private Button saveBtn;
+
public TagMeShowPopupListener(String path, String user, String clas) {
this.path = path;
this.currentUser = user;
this.clas = clas;
}
+ public TagMeShowPopupListener getMyself() {
+ return this;
+ }
+
public void refreshTags() {
while (table.getRowCount() > 0) {
@@ -79,37 +89,44 @@
int rowsNum = 0;
for (int i = 0; i < vect.size(); i++) {
-
- String[] to = ((String) vect.get(i)).split(TagMeClickListener.TAG_SEP);
-
+
+ String[] to = ((String) vect.get(i))
+ .split(TagMeClickListener.TAG_SEP);
+
String tag = to[0];
String user = to[1];
String fullName = to[2];
if (!rows.keySet().contains(user)) {
rows.put(user, new Integer(rowsNum));
- table.setHTML(rowsNum++, 0, "<b>"+fullName+"</b>");
+ table.setHTML(rowsNum++, 0, "<b>" + fullName + "</b>");
}
int curRow = ((Integer) rows.get(user)).intValue();
-
+
if (table.getText(curRow, 0).equals(currentUser)) {
// current user - add delete button
- VerticalPanel vpanel = new VerticalPanel();
- vpanel.add(new Label(tag));
- vpanel.add(new Button());
-
- table.setWidget(curRow, table.getCellCount(curRow), vpanel);
- }
- else {
- //just show tag
+ Image im = new Image("/tagme-servlet/images/delete.gif");
+
+ HorizontalPanel hpanel = new HorizontalPanel();
+ hpanel.add(new Label(tag));
+ hpanel.add(im);
+
+ im.addClickListener(new DeleteTagClickListener(
+ currentUser, tag, path, getMyself(), clas));
+
+ table.setWidget(curRow, table.getCellCount(curRow),
+ hpanel);
+ } else {
+ // just show tag
table.setText(curRow, table.getCellCount(curRow), tag);
}
}
}
public void onFailure(Throwable caught) {
- Window.alert("Error ! " + caught.getMessage() + " Throwable: " + caught);
+ Window.alert("Error ! " + caught.getMessage() + " Throwable: "
+ + caught);
}
};
@@ -141,8 +158,9 @@
final DialogBox dialog = new DialogBox();
HorizontalPanel btnPanel = new HorizontalPanel();
- btnPanel.add(new Button("Save", new TagMeClickListener(path, currentUser,
- clas, textBoxes, info, this)));
+ this.saveBtn = new Button("Save", new TagMeClickListener(path,
+ currentUser, clas, textBoxes, info, this));
+ btnPanel.add(saveBtn);
btnPanel.add(new Button("Close", new ClickListener() {
public void onClick(Widget sender) {
@@ -177,4 +195,24 @@
}
+ public void startProgressAnim(String text) {
+ info.setText(text);
+
+ timer = new Timer() {
+
+ public void run() {
+ info.setText(info.getText() + ".");
+ }
+
+ };
+
+ timer.scheduleRepeating(1000);
+ }
+
+ public void stopProgressAnim(String text) {
+ timer.cancel();
+ saveBtn.setEnabled(true);
+ info.setText(text);
+ }
+
}
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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingService.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -42,4 +42,6 @@
public Vector getTags(String path, String clas);
public boolean addTag(String user, String path, String clas, String tags);
+
+ public boolean deleteTag(String user, String path, String clas, String tag);
}
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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/gwt/client/TaggingServiceAsync.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -35,4 +35,7 @@
public void addTag(String user, String path, String clas, String tags,
AsyncCallback callback);
+
+ public void deleteTag(String user, String path, String clas, String tag,
+ 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-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-tagme/src/java/org/jboss/labs/tagme/services/ShotokuTaggingService.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -56,8 +56,8 @@
log.info(key);
if (key.startsWith(SHOTOKU_TAG)) {
String tag = (String) map.get(key);
- String user = (String) key.substring(key.indexOf(':') + 1, key
- .lastIndexOf(':'));
+ String user = (String) key.substring(key.indexOf(':') + 1,
+ key.lastIndexOf(':'));
tags.add(tag + TagMeClickListener.TAG_SEP + user
+ TagMeClickListener.TAG_SEP + user);
}
@@ -109,28 +109,32 @@
public void deleteTag(String user, String path, String tag) {
try {
+ log.info("Deleting tag " + tag + " " + path + "...");
+
Node node = ContentManager.getContentManager().getNode(path);
-
+
Iterator it = node.getProperties().keySet().iterator();
boolean found = false;
String key = null;
-
- while(!found && it.hasNext()) {
- key = (String)it.next();
+
+ while (!found && it.hasNext()) {
+ key = (String) it.next();
if (node.getProperties().get(key).equals(tag)) {
found = true;
}
}
-
+
if (found) {
- node.getProperties().remove(key);
+ node.deleteProperty(key);
try {
- node.save("Removing tag: "+tag+" by user: "+user);
+ node.save("Removing tag: " + tag + " by user: " + user);
+
+ log.info("tag deleted ! (key: " + key + " )");
} catch (SaveException e) {
e.printStackTrace();
}
}
-
+
} catch (RepositoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Modified: labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFRegionRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFRegionRenderer.java 2006-06-08 18:18:55 UTC (rev 4675)
+++ labs/jbosslabs/trunk/portal-extensions/forge-theme/src/java/org/jboss/portal/core/theme/render/impl/JBFRegionRenderer.java 2006-06-08 18:25:16 UTC (rev 4676)
@@ -42,6 +42,9 @@
if (renderContext.getRegionID() != null){
markup.append(" id='").append(renderContext.getRegionID()).append("'>");
}
+ else {
+ markup.append(">");
+ }
}
for (Iterator i = region.getWindows().iterator(); i.hasNext();)
|