r1521 - xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene

Jeremi Joslin jeremi at users.forge.objectweb.org
Wed Nov 8 12:13:32 CET 2006


Author: jeremi
Date: 2006-11-08 12:13:31 +0100 (Wed, 08 Nov 2006)
New Revision: 1521

Modified:
   xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/IndexRebuilder.java
   xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/LucenePluginApi.java
   xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/ObjectData.java
Log:
index all objects

Modified: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/IndexRebuilder.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/IndexRebuilder.java	2006-11-08 10:19:42 UTC (rev 1520)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/IndexRebuilder.java	2006-11-08 11:13:31 UTC (rev 1521)
@@ -65,7 +65,7 @@
         indexUpdater.cleanIndex();
         int retval = 0;
         Collection wikiServers;
-        com.xpn.xwiki.XWiki xwiki = wiki.getXWiki();
+        com.xpn.xwiki.XWiki xwiki = context.getWiki();
         if (wiki.isVirtual()) {
             wikiServers = findWikiServers(wiki, context);
             if (LOG.isDebugEnabled()) {

Modified: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/LucenePluginApi.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/LucenePluginApi.java	2006-11-08 10:19:42 UTC (rev 1520)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/LucenePluginApi.java	2006-11-08 11:13:31 UTC (rev 1521)
@@ -69,7 +69,7 @@
     {
         if (wiki.hasAdminRights ())
         {
-            return getPlugin ().rebuildIndex (wiki, context.getContext ());
+            return getPlugin().rebuildIndex (wiki, context.getContext());
         }
         LOG.info ("access denied to rebuildIndex: insufficient rights");
         return -1;

Modified: xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/ObjectData.java
===================================================================
--- xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/ObjectData.java	2006-11-08 10:19:42 UTC (rev 1520)
+++ xwiki-apps/gelc/gelcv1/trunk/gelcplugins/src/main/java/net/jkraemer/xwiki/plugins/lucene/ObjectData.java	2006-11-08 11:13:31 UTC (rev 1521)
@@ -2,7 +2,7 @@
  *
  * ===================================================================
  *
- * Copyright (c) 2005 Jens Krämer, All rights reserved.
+ * Copyright (c) 2005 Jens Kr�mer, All rights reserved.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -28,6 +28,10 @@
 import com.xpn.xwiki.objects.BaseProperty;
 import com.xpn.xwiki.objects.BaseObject;
 
+import java.util.List;
+import java.util.Map;
+import java.util.Iterator;
+
 /**
  * Hold the property values of the XWiki.ArticleClass Objects.
  */
@@ -75,18 +79,33 @@
     private String getContentAsText(XWikiDocument doc, XWikiContext context) {
         StringBuffer contentText = new StringBuffer();
         try {
-            BaseObject baseObject = doc.getObject("XWiki.ArticleClass");
-            Object[] propertyNames = (Object[]) baseObject.getPropertyNames();
-            BaseProperty baseProperty = null;
+                Map objects = doc.getxWikiObjects();
+                Iterator itKey = objects.keySet().iterator();
+                while(itKey.hasNext())  {
+                    String className = (String) itKey.next();
+                    Iterator itObj = doc.getObjects(className).iterator();
+                    while(itObj.hasNext())
+                        extractContent(contentText, (BaseObject) itObj.next(), context);
+                }
+
+        } catch (Exception e) {
+            LOG.error("error getting content from  XWiki Objects ", e);
+            e.printStackTrace();
+        }
+        return contentText.toString();
+    }
+
+    private void extractContent(StringBuffer contentText, BaseObject baseObject, XWikiContext context){
+        try{
+            Object[] propertyNames = baseObject.getPropertyNames();
             for (int i = 0; i < propertyNames.length; i++) {
-                baseProperty = (BaseProperty) baseObject.getField((String) propertyNames[i]);
-                    contentText.append(baseProperty.getValue().toString());
-                    contentText.append(" ");
+                BaseProperty baseProperty = (BaseProperty) baseObject.getField((String) propertyNames[i]);
+                contentText.append(baseProperty.getValue().toString());
+                contentText.append(" ");
             }
         } catch (Exception e) {
-            LOG.error("error getting content from  XWiki Object of ArticleClass ", e);
+            LOG.error("error getting content from  XWiki Object ", e);
             e.printStackTrace();
         }
-        return contentText.toString();
     }
 }





More information about the Xwiki-notifications mailing list