Author: dward
Date: 2007-09-14 17:49:27 +0200 (Fri, 14 Sep 2007)
New Revision: 4946

Added:
   xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/model/
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/model/Document.java
Modified:
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumnDisplayable.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/FileTypeSelector.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SubjectSelector.java
   
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/server/CurrikiServiceImpl.java
Log:
- CURRIKI-882
 - Adjust results columns

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
        2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/Constants.java
        2007-09-14 15:49:27 UTC (rev 4946)
@@ -142,7 +142,7 @@
     public static final String CATEGORY_AUDIO = "Media: Audio/Video";
     public static final String CATEGORY_ANIMATION = "Media: 
Animation/Activity";
     public static final String CATEGORY_ARCHIVE = "Archive: Web 
Site/Zip/Stuffit File";
-    public static final Object CATEGORY_TEXT = "text";
+    public static final String CATEGORY_TEXT = "text";
     public static final String CATEGORY_COLLECTION = "collection";
     public static final String CATEGORY_LINK = "link";
     public static final String CATEGORY_UNKNOWN = "unknown";

Added: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/model/Document.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/model/Document.java
   2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/model/Document.java
   2007-09-14 15:49:27 UTC (rev 4946)
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2007, The Global Education and Learning Community,
+ * and individual contributors as indicated by the contributors.txt.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ *
+ * @author dward
+ *
+ */
+package org.curriki.gwt.client.model;
+
+public class Document extends com.xpn.xwiki.gwt.api.client.Document
+{
+    private String username;
+
+    public void setUsername(String username)
+    {
+        this.username = username;
+    }
+
+    public String getUsername()
+    {
+        return username;
+    }
+}

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
   2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/InstructionalTypeColumn.java
   2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,11 +22,13 @@
  */
 package org.curriki.gwt.client.search.columns;
 
+import com.google.gwt.user.client.ui.FlowPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+import org.curriki.gwt.client.Constants;
 import org.curriki.gwt.client.Main;
-import org.curriki.gwt.client.Constants;
-import com.xpn.xwiki.gwt.api.client.Document;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.HTML;
+import org.curriki.gwt.client.model.Document;
 
 public class InstructionalTypeColumn extends ResultsColumn
 {
@@ -56,21 +58,24 @@
 
     public Widget getDisplayWidget(Document value)
     {
-        String icon = "";
-        String name = "";
+        String name = getDisplayString(value);
+        FlowPanel ret = new FlowPanel();
 
-        if (value.getObject(Constants.ASSET_CLASS) != null){
-            value.use(Constants.ASSET_CLASS);
-            if (value.get(Constants.ASSET_INSTRUCTIONAL_COMPONENT_PROPERTY) != 
null){
-                name = 
value.get(Constants.ASSET_INSTRUCTIONAL_COMPONENT_PROPERTY);
-                icon = name.replaceAll(":.*", "");
-                name = name.replaceFirst(icon+":", "");
-                if (icon.length() > 0) {
-                    icon = "<img src=\""+ 
Constants.ICON_PATH+"ICTIcon-"+icon+".png\" />";
-                }
+        if (name.matches("#--#")){
+            name = "Multiple:";
+        }
+
+        if (name.length() > 0){
+            String icon = name.replaceAll(":.*", "");
+            name = name.replaceFirst(icon+":", "");
+            if (icon.length() > 0) {
+                Image img = new 
Image(Constants.ICON_PATH+"ICTIcon-"+icon+".png");
+                img.setTitle(icon);
+                ret.add(img);
             }
+            ret.add(new Label(name));
         }
 
-        return new HTML(icon+name);
+        return ret;
     }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumn.java
     2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumn.java
     2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,9 +22,13 @@
  */
 package org.curriki.gwt.client.search.columns;
 
-import com.xpn.xwiki.gwt.api.client.Document;
+import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.SourcesMouseEvents;
 import com.google.gwt.user.client.ui.Widget;
+import com.xpn.xwiki.gwt.api.client.Document;
+import org.curriki.gwt.client.widgets.metadata.TooltipMouseListener;
 
 abstract public class ResultsColumn implements ResultsColumnDisplayable
 {
@@ -71,4 +75,12 @@
     {
         return new Label(getDisplayString(value));
     }
+
+    protected void addTooltip(SourcesMouseEvents item, String text) {
+        PopupPanel popup = new PopupPanel(true);
+        popup.setStyleName("search-description-popup");
+        // popup.setWidth("300px");
+        popup.add(new HTML(text));
+        item.addMouseListener(new TooltipMouseListener(popup));
+    }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumnDisplayable.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumnDisplayable.java
  2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ResultsColumnDisplayable.java
  2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,8 +22,8 @@
  */
 package org.curriki.gwt.client.search.columns;
 
+import com.google.gwt.user.client.ui.Widget;
 import com.xpn.xwiki.gwt.api.client.Document;
-import com.google.gwt.user.client.ui.Widget;
 
 public interface ResultsColumnDisplayable
 {

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
      2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/ReviewColumn.java
      2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,11 +22,11 @@
  */
 package org.curriki.gwt.client.search.columns;
 
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Widget;
+import com.xpn.xwiki.gwt.api.client.Document;
+import org.curriki.gwt.client.Constants;
 import org.curriki.gwt.client.Main;
-import org.curriki.gwt.client.Constants;
-import com.xpn.xwiki.gwt.api.client.Document;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.HTML;
 
 public class ReviewColumn extends ResultsColumn
 {
@@ -42,15 +42,29 @@
 
     public String getDisplayString(Document value)
     {
-        //TODO: Where do we get this value?
-        return "1";
+        String rating = "";
+
+        if (value.getObject(Constants.CURRIKI_REVIEW_CLASS) != null){
+            value.use(Constants.CURRIKI_REVIEW_CLASS);
+            if (value.get(Constants.CURRIKI_REVIEW_RATING_PROPERTY) != null){
+                rating = value.get(Constants.CURRIKI_REVIEW_RATING_PROPERTY);
+            }
+        }
+
+        return rating;
     }
 
     public Widget getDisplayWidget(Document value)
     {
-        //TODO: Where do we get this value?
-        String icon = "1";
-        icon = "<img src=\""+ Constants.ICON_PATH+"CRS"+icon+".png\" />";
-        return new HTML(icon);
+        String rating = getDisplayString(value);
+        Image img = new Image();
+        if (rating.length() > 0){
+            if (!rating.equals("0")){
+                img = new Image(Constants.ICON_PATH+"CRS"+rating+".png");
+            }
+            this.addTooltip(img, 
Main.getTranslation("search.CRS.tooltip."+rating));
+        }
+
+        return img;
     }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
       2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/columns/TitleColumn.java
       2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,15 +22,15 @@
  */
 package org.curriki.gwt.client.search.columns;
 
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.Widget;
+import com.xpn.xwiki.gwt.api.client.Document;
+import org.curriki.gwt.client.Constants;
 import org.curriki.gwt.client.Main;
-import org.curriki.gwt.client.Constants;
-import com.xpn.xwiki.gwt.api.client.Document;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.Label;
 
 public class TitleColumn extends ResultsColumn
 {
-    protected int maxLength = 40;
+    protected int maxLength = 78;
 
     public TitleColumn()
     {
@@ -63,28 +63,34 @@
 
     public Widget getDisplayWidget(Document value)
     {
-        Label nameCol = new Label();
+        HTML nameCol = new HTML();
+        String url = value.getViewURL();
         String name = (value.getTitle().length() > 0) ? value.getTitle() : 
value.getName();
+        String desc = "";
+
         if (name.length() > maxLength){
-            nameCol.setTitle(name);
             name = name.substring(0, (maxLength-1))+"...";
         }
-        nameCol.setText(name);
 
         if (value.getObject(Constants.ASSET_CLASS) != null){
             value.use(Constants.ASSET_CLASS);
             if (value.get(Constants.ASSET_TITLE_PROPERTY) != null){
                 name = value.get(Constants.ASSET_TITLE_PROPERTY);
                 if (name.length() > maxLength){
-                    nameCol.setTitle(name);
                     name = name.substring(0, (maxLength-1))+"...";
                 }
-                if (name.length() > 0){
-                    nameCol.setText(name);
-                }
             }
+
+            if (value.get(Constants.ASSET_DESCRIPTION_PROPERTY) != null){
+                desc = value.get(Constants.ASSET_DESCRIPTION_PROPERTY);
+            }
         }
 
+        nameCol.setHTML("<a href=\""+url+"\">"+name+"</a>");
+        if (desc.length() > 0){
+            addTooltip(nameCol, "<b>Description:</b><br>"+desc);
+        }
+
         return nameCol;
     }
 }

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/FileTypeSelector.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/FileTypeSelector.java
        2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/FileTypeSelector.java
        2007-09-14 15:49:27 UTC (rev 4946)
@@ -34,12 +34,11 @@
         super();
         setFieldName("XWiki.AssetClass."+ Constants.ASSET_CATEGORY_PROPERTY);
         
-        // TODO: put correct values in
         addOption(Main.getTranslation("Any"), "");
-        addOption(Main.getTranslation("Audio/Video"), "Media: Audio/Video");
-        addOption(Main.getTranslation("Curriki"), "text");
-        addOption(Main.getTranslation("Image"), "Image: GIF, JPG, PNG, BMP");
-        addOption(Main.getTranslation("Web"), "link");
+        addOption(Main.getTranslation("Audio/Video"), 
Constants.CATEGORY_AUDIO);
+        addOption(Main.getTranslation("Curriki"), Constants.CATEGORY_TEXT);
+        addOption(Main.getTranslation("Image"), Constants.CATEGORY_IMAGE);
+        addOption(Main.getTranslation("Web"), Constants.CATEGORY_LINK);
     }
 
     public Widget getLabel()

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SubjectSelector.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SubjectSelector.java
 2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/client/search/selectors/SubjectSelector.java
 2007-09-14 15:49:27 UTC (rev 4946)
@@ -22,9 +22,9 @@
  */
 package org.curriki.gwt.client.search.selectors;
 
-import com.xpn.xwiki.gwt.api.client.Document;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.user.client.ui.Label;
+import com.xpn.xwiki.gwt.api.client.Document;
 import org.curriki.gwt.client.CurrikiAsyncCallback;
 import org.curriki.gwt.client.CurrikiService;
 import org.curriki.gwt.client.Main;

Modified: 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/server/CurrikiServiceImpl.java
===================================================================
--- 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/server/CurrikiServiceImpl.java
       2007-09-14 15:32:27 UTC (rev 4945)
+++ 
xwiki-products/curriki/trunk/gwt/src/main/java/org/curriki/gwt/server/CurrikiServiceImpl.java
       2007-09-14 15:49:27 UTC (rev 4946)
@@ -1520,10 +1520,10 @@
             return doc;
         } finally {
             context.setDoc(cdoc);
-        }    }
+        }
+    }
 
     /* Lucene Searching */
-
     public List luceneSearch(String terms, int start, int nb) throws 
XWikiGWTException {
         List docs = new ArrayList();
 
@@ -1548,6 +1548,7 @@
 
                 // TODO: We really should create a sub-class of Document for 
this
                 doc.setCreator(context.getWiki().getUserName(xd.getCreator(), 
null, false, context));
+
                 BaseObject obj = xd.getObject(Constants.COMPOSITEASSET_CLASS);
                 if (obj != null){
                     doc.setFormat("composite");

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to