r1414 - in xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src: main/java/org/gelc/xwiki/plugins/licence test/resources
Jeremi Joslin
jeremi at users.forge.objectweb.org
Fri Oct 20 03:37:07 CEST 2006
Author: jeremi
Date: 2006-10-20 03:36:58 +0200 (Fri, 20 Oct 2006)
New Revision: 1414
Added:
xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerConstant.java
xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPlugin.java
xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPluginAPI.java
xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/test/resources/metadata.csv
Log:
[GELC]
* Add the Licence manager
* refactor the mimetype
* add functions to the asset Manager
Added: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerConstant.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerConstant.java 2006-10-20 01:36:21 UTC (rev 1413)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerConstant.java 2006-10-20 01:36:58 UTC (rev 1414)
@@ -0,0 +1,15 @@
+package org.gelc.xwiki.plugins.licence;
+
+public interface LicenceManagerConstant {
+ public final static String PLUGIN_NAME = "licence_manager";
+
+ public final static String LICENCE_SPACE = "Licences";
+
+ public final static String LICENCE_CLASS_FULLNAME = "XWiki.LicenceClass";
+ public final static String LICENCE_CLASS_NAME = "LicenceClass";
+
+ public final static String LICENCE_ITEM_NAME = "name";
+ public final static String LICENCE_ITEM_CURIKI_COMPATIBLE = "compatible";
+
+
+}
Property changes on: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerConstant.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPlugin.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPlugin.java 2006-10-20 01:36:21 UTC (rev 1413)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPlugin.java 2006-10-20 01:36:58 UTC (rev 1414)
@@ -0,0 +1,127 @@
+package org.gelc.xwiki.plugins.licence;
+
+import com.xpn.xwiki.XWiki;
+import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.XWikiException;
+import com.xpn.xwiki.api.Api;
+import com.xpn.xwiki.doc.XWikiDocument;
+import com.xpn.xwiki.objects.classes.BaseClass;
+import com.xpn.xwiki.plugin.XWikiDefaultPlugin;
+import com.xpn.xwiki.plugin.XWikiPluginInterface;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gelc.xwiki.plugins.mdfw.MetaDataFrameworkPlugin;
+
+import java.util.List;
+
+
+public class LicenceManagerPlugin extends XWikiDefaultPlugin implements XWikiPluginInterface, LicenceManagerConstant {
+ private static Log log = LogFactory.getFactory().getInstance(MetaDataFrameworkPlugin.class);
+
+
+ public LicenceManagerPlugin(String name, String className, XWikiContext context) {
+ super(name, className, context);
+ }
+
+ public String getName() {
+ return PLUGIN_NAME;
+ }
+
+ public Api getPluginApi(XWikiPluginInterface plugin, XWikiContext context) {
+ return new LicenceManagerPluginAPI((LicenceManagerPlugin) plugin, context);
+ }
+
+ public void virtualInit(XWikiContext context){
+ try {
+ initClasses(context);
+ } catch (XWikiException e) {
+
+ }
+ }
+
+ public void init(XWikiContext context){
+ try {
+ initClasses(context);
+ } catch (XWikiException e) {
+
+ }
+ }
+
+ private void initClasses(XWikiContext context) throws XWikiException {
+ initLicenceClass(context);
+ }
+
+ public String addLicence(String name, boolean compatible, XWikiContext context) throws XWikiException {
+ String pageName = context.getWiki().getUniquePageName(LICENCE_SPACE, name, context);
+ XWikiDocument xwDoc = context.getWiki().getDocument(LICENCE_SPACE, pageName, context);
+ com.xpn.xwiki.api.Object obj;
+ Licence doc;
+
+ if (xwDoc.isNew()){
+ doc = (Licence) xwDoc.newDocument(Licence.class.getName(), context);
+ doc.setCustomClass(Licence.class.getName());
+ doc.setTitle(name);
+ }
+ else
+ doc = (Licence) xwDoc.newDocument(context);
+
+ obj = doc.newObject(LICENCE_CLASS_FULLNAME);
+ doc.use(obj);
+ doc.set(LICENCE_ITEM_NAME, name);
+ doc.set(LICENCE_ITEM_CURIKI_COMPATIBLE, (compatible?1:0));
+ doc.save();
+ return doc.getFullName();
+ }
+
+ public List getCompatibleLicences(XWikiContext context) throws XWikiException {
+ return getLicences(true, context);
+ }
+
+ public List getNotCompatibleLicences(XWikiContext context) throws XWikiException {
+ return getLicences(false, context);
+ }
+
+ public List getLicences(boolean compatible, XWikiContext context) throws XWikiException {
+ String hql = ", BaseObject as obj, IntegerProperty as prop where obj.name=doc.fullName"
+ + " and obj.className='" + LICENCE_CLASS_FULLNAME + "' and prop.id.id = obj.id "
+ + "and prop.id.name = '" + LICENCE_ITEM_CURIKI_COMPATIBLE + "' and prop.value=" + (compatible?1:0);
+ return context.getWiki().getStore().searchDocumentsNames(hql, context);
+ }
+
+ public String getLicenceName(String name, XWikiContext context) throws XWikiException {
+ Licence lic = (Licence) context.getWiki().getDocument(LICENCE_SPACE, name, context).newDocument(context);
+ lic.use(LICENCE_CLASS_FULLNAME);
+ return (String) lic.get(LICENCE_ITEM_NAME);
+ }
+
+ private void initLicenceClass(XWikiContext context) throws XWikiException {
+ XWikiDocument doc;
+ XWiki xwiki = context.getWiki();
+ boolean needsUpdate = false;
+
+ try {
+ doc = xwiki.getDocument(LICENCE_CLASS_FULLNAME, context);
+ } catch (Exception e) {
+ doc = new XWikiDocument();
+ doc.setSpace("XWiki");
+ doc.setName(LICENCE_CLASS_NAME);
+ needsUpdate = true;
+ }
+
+ BaseClass bclass = doc.getxWikiClass();
+ bclass.setName(LICENCE_CLASS_FULLNAME);
+ needsUpdate |= bclass.addBooleanField(LICENCE_ITEM_CURIKI_COMPATIBLE, "compatible", "radio");
+ needsUpdate |= bclass.addTextField(LICENCE_ITEM_NAME, "name", 50);
+
+ String content = doc.getContent();
+ if ((content==null)||(content.equals(""))) {
+ needsUpdate = true;
+ doc.setContent("1 " + LICENCE_CLASS_FULLNAME);
+ }
+
+ if (needsUpdate)
+ xwiki.saveDocument(doc, context);
+ }
+
+
+}
Property changes on: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPlugin.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPluginAPI.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPluginAPI.java 2006-10-20 01:36:21 UTC (rev 1413)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPluginAPI.java 2006-10-20 01:36:58 UTC (rev 1414)
@@ -0,0 +1,34 @@
+package org.gelc.xwiki.plugins.licence;
+
+import com.xpn.xwiki.XWikiContext;
+import com.xpn.xwiki.XWikiException;
+import com.xpn.xwiki.api.Api;
+
+import java.util.List;
+
+
+public class LicenceManagerPluginAPI extends Api {
+ LicenceManagerPlugin plugin;
+
+ public LicenceManagerPluginAPI(LicenceManagerPlugin plugin, XWikiContext context) {
+ super(context);
+ this.plugin = plugin;
+ }
+
+ public String addLicence(String name, boolean compatible) throws XWikiException {
+ return plugin.addLicence(name, compatible, context);
+ }
+
+ public List getNotCompatibleLicences() throws XWikiException{
+ return plugin.getNotCompatibleLicences(context);
+ }
+
+ public List getCompatibleLicences() throws XWikiException{
+ return plugin.getCompatibleLicences(context);
+ }
+
+ public String getLicenceName(String name) throws XWikiException {
+ return plugin.getLicenceName(name, context);
+ }
+
+}
Property changes on: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/org/gelc/xwiki/plugins/licence/LicenceManagerPluginAPI.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/test/resources/metadata.csv
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/test/resources/metadata.csv 2006-10-20 01:36:21 UTC (rev 1413)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/test/resources/metadata.csv 2006-10-20 01:36:58 UTC (rev 1414)
@@ -0,0 +1,38 @@
+No,Category,Extexsion,MIME Type,Notes: Technical Metadata,Icon,All Files get Size in Bytes
+1,picture(photo),ai,application/postscript,,Images
+2,picture(photo),gif,image/gif,Height x Width,GIF
+3,picture(photo),jpg,image/jpeg,Height x Width,JPG
+4,picture(photo),tif,image/tif,Height x Width,Image
+5,picture(photo),bmp,image/x-ms-bmp,Height x Width,BMP
+6,picture(photo),jpe,image/jpeg,Height x Width,JPG
+7,picture(photo),psd,image/x-photoshop,,Image
+8,document,ppt,application/vnd.ms-powerpoint
+9,document,doc,application/msword,,Word
+10,document,hwp,application/unknown,Korean word processor,App
+11,document,pdf,application/pdf,,PDF
+12,document,xls,application/vnd.ms-excel,,Excel
+13,document,txt,text/plain,,Text
+14,document,xml,text/xml,,XML
+15,document,css,text/css
+16,document,rtf,text/rtf,,Word
+17,video,wmv,video/x-msvideo,Duration,MS Media
+18,video,asf,video/x-msvideo,Duration,MS Media
+19,video,avi,video/x-msvideo,Duration,MS Media
+20,video,mpg,video/mpeg,Duration and Bitrate,MPG
+21,video,mov,video/quicktime,Duration and Bitrate,QT,Dialup|Medium|Broadband
+22,module,dcr,application/x-director,,Rich Media File
+23,module,dir,application/x-director,,Rich Media File
+24,module,exe,application/exe,,Application,Need virus checking solution and need some way to capture the OS and requirements for the exe
+25,module,bin,application/octet-stream,,BIN
+26,module,lha,application/octet-stream,,Archive
+27,module,lzh,application/octet-stream,,Archive
+28,module,class,application/x-java-vm,,Java CLass
+29,web-site,url,text/html,,URL
+30,web-site,htm,text/html,,HTML
+31,web-site,php,application/x-php,,,Remove?
+32,audio,wav,audio/x-wav,Duration and Bitrate,WAVE
+33,audio,mp3,audio/mpeg,Duration and Bitrate,MP3
+34,animation,swf,application/x-shockwave-flash,,Flash
+35,etc(compression) files,zip,application/zip,Number of files inside?,ZIP
+36,etc(compression) files,gz,application/x-gzip,,Archive
+37,etc(compression) files,gtar,application/x-gtar,,Archive
Property changes on: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/test/resources/metadata.csv
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Xwiki-notifications
mailing list