r1552 - xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime

Jeremi Joslin jeremi at users.forge.objectweb.org
Tue Nov 14 17:11:30 CET 2006


Author: jeremi
Date: 2006-11-14 17:11:29 +0100 (Tue, 14 Nov 2006)
New Revision: 1552

Modified:
   xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePlugin.java
   xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePluginAPI.java
Log:
[GELC]
* list all the mimeType

Modified: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePlugin.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePlugin.java	2006-11-14 16:02:03 UTC (rev 1551)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePlugin.java	2006-11-14 16:11:29 UTC (rev 1552)
@@ -35,9 +35,7 @@
 import org.gelc.xwiki.plugins.mdfw.MetaDataFrameworkPlugin;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
 
 
 public class MimeTypePlugin  extends XWikiDefaultPlugin implements XWikiPluginInterface, MimeTypeConstant {
@@ -140,10 +138,34 @@
             MimeType doc = (MimeType) context.getWiki().getDocument((String) it.next(), context).newDocument(context);
             categs.add(doc.getTitle());
         }
-
         return categs;       
     }
 
+    public Map getCategoriesMap(XWikiContext context) throws XWikiException {
+        String hql = ", BaseObject as obj where obj.name=doc.fullName"
+                        + " and obj.className='" + MIMETYPE_CLASS_FULLNAME + "'";
+        List list = context.getWiki().getStore().searchDocumentsNames(hql, context);
+        Iterator it = list.iterator();
+        Map categories = new HashMap();
+        while(it.hasNext()){
+            MimeType doc = (MimeType) context.getWiki().getDocument((String) it.next(), context).newDocument(context);
+            doc.use(MIMETYPE_CLASS_FULLNAME);
+            String key = (String) doc.get(MIMETYPE_ITEM_CATEGORY);
+            List extList = new ArrayList();
+            Vector mimetypes = doc.getObjects(MIMETYPE_CLASS_FULLNAME);
+            Iterator itMime = mimetypes.iterator();
+            while(itMime.hasNext()){
+                Object obj = (Object) itMime.next();
+                doc.use(obj);
+                String ext = (String) doc.get(MIMETYPE_ITEM_EXTENSION);
+                if (ext != null && ext.length() > 0)
+                extList.add(ext);
+            }
+            categories.put(key, extList);
+        }
+        return categories;
+    }
+
     private void initClasses(XWikiContext context) throws XWikiException {
         initMimeTypeClass(context);
     }

Modified: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePluginAPI.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePluginAPI.java	2006-11-14 16:02:03 UTC (rev 1551)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/mime/MimeTypePluginAPI.java	2006-11-14 16:11:29 UTC (rev 1552)
@@ -26,6 +26,7 @@
 import com.xpn.xwiki.api.Api;
 
 import java.util.List;
+import java.util.Map;
 import java.io.IOException;
 
 
@@ -61,4 +62,7 @@
         return plugin.getCategoryPageName(category, context);
     }
 
+    public Map getCategoriesMap() throws XWikiException {
+        return plugin.getCategoriesMap(context);
+    }
 }





More information about the Xwiki-notifications mailing list