OSDN Git Service

Test for adding tags names to search index (currently commented out).
[neighbornote/NeighborNote.git] / src / cx / fbn / nevernote / threads / IndexRunner.java
index d362f45..3c63f5d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * This file is part of NeverNote \r
+ * This file is part of NixNote \r
  * Copyright 2009 Randy Baumgarte\r
  * \r
  * This file may be licensed under the terms of of the\r
@@ -29,7 +29,7 @@ import java.util.TreeSet;
 import java.util.concurrent.LinkedBlockingQueue;\r
 import java.util.concurrent.locks.LockSupport;\r
 \r
-import org.apache.commons.lang.StringEscapeUtils;\r
+import org.apache.commons.lang3.StringEscapeUtils;\r
 import org.apache.tika.exception.TikaException;\r
 import org.apache.tika.metadata.Metadata;\r
 import org.apache.tika.parser.ParseContext;\r
@@ -180,9 +180,9 @@ public class IndexRunner extends QObject implements Runnable {
                        data = "";\r
                String text;\r
                if (indexNoteTitle)\r
-                       text =  removeTags(StringEscapeUtils.unescapeHtml(data) +" "+ n.getTitle());\r
+                       text =  removeTags(StringEscapeUtils.unescapeHtml4(data) +" "+ n.getTitle());\r
                else\r
-                       text = removeTags(StringEscapeUtils.unescapeHtml(data));\r
+                       text = removeTags(StringEscapeUtils.unescapeHtml4(data));\r
                                \r
                logger.log(logger.EXTREME, "Splitting words");\r
                String[] result = text.toString().split(regex);\r
@@ -201,6 +201,13 @@ public class IndexRunner extends QObject implements Runnable {
                                addToIndex(guid, result[j], "CONTENT");\r
                        }\r
                }\r
+               \r
+               // Add tags\r
+               for (int j=0; j<n.getTagNamesSize(); j++) {\r
+                       if (n.getTagNames() != null && n.getTagNames().get(j) != null && !n.getTagNames().get(j).trim().equals(""))\r
+                               addToIndex(guid, n.getTagNames().get(j), "CONTENT");\r
+               }\r
+               \r
                // If we were interrupted, we will reindex this note next time\r
                if (Global.keepRunning) {\r
                        logger.log(logger.EXTREME, "Resetting note guid needed");\r
@@ -302,36 +309,38 @@ public class IndexRunner extends QObject implements Runnable {
        \r
        private void indexResourceContent(String guid) {\r
                Resource r = conn.getNoteTable().noteResourceTable.getNoteResource(guid, true);\r
-               if (r.getMime().equalsIgnoreCase("application/pdf")) {\r
-                       indexResourcePDF(r);\r
-                       return;\r
-               }\r
-               if (r.getMime().equalsIgnoreCase("application/docx") || \r
-                       r.getMime().equalsIgnoreCase("application/xlsx") || \r
-                       r.getMime().equalsIgnoreCase("application/pptx")) {\r
-                       indexResourceOOXML(r);\r
-                       return;\r
-               }\r
-               if (r.getMime().equalsIgnoreCase("application/vsd") ||\r
-                       r.getMime().equalsIgnoreCase("application/ppt") ||\r
-                       r.getMime().equalsIgnoreCase("application/xls") ||\r
-                       r.getMime().equalsIgnoreCase("application/msg") ||\r
-                       r.getMime().equalsIgnoreCase("application/doc")) {\r
+               if (r != null && r.getMime() != null) {\r
+                       if (r.getMime().equalsIgnoreCase("application/pdf")) {\r
+                               indexResourcePDF(r);\r
+                               return;\r
+                       }\r
+                       if (r.getMime().equalsIgnoreCase("application/docx") || \r
+                               r.getMime().equalsIgnoreCase("application/xlsx") || \r
+                               r.getMime().equalsIgnoreCase("application/pptx")) {\r
+                               indexResourceOOXML(r);\r
+                               return;\r
+                       }\r
+                       if (r.getMime().equalsIgnoreCase("application/vsd") ||\r
+                                       r.getMime().equalsIgnoreCase("application/ppt") ||\r
+                                       r.getMime().equalsIgnoreCase("application/xls") ||\r
+                                       r.getMime().equalsIgnoreCase("application/msg") ||\r
+                                       r.getMime().equalsIgnoreCase("application/doc")) {\r
                                indexResourceOffice(r);\r
                                return;\r
-               }\r
-               if (r.getMime().equalsIgnoreCase("application/rtf")) {\r
+                       }\r
+                       if (r.getMime().equalsIgnoreCase("application/rtf")) {\r
                                        indexResourceRTF(r);\r
                                        return;\r
-               }\r
-               if (r.getMime().equalsIgnoreCase("application/odf") ||\r
-                       r.getMime().equalsIgnoreCase("application/odt") ||\r
-                       r.getMime().equalsIgnoreCase("application/odp") ||\r
-                       r.getMime().equalsIgnoreCase("application/odg") ||\r
-                       r.getMime().equalsIgnoreCase("application/odb") ||\r
-                       r.getMime().equalsIgnoreCase("application/ods")) {\r
-                       indexResourceODF(r);\r
-                       return;\r
+                       }\r
+                       if (r.getMime().equalsIgnoreCase("application/odf") ||\r
+                               r.getMime().equalsIgnoreCase("application/odt") ||\r
+                               r.getMime().equalsIgnoreCase("application/odp") ||\r
+                               r.getMime().equalsIgnoreCase("application/odg") ||\r
+                               r.getMime().equalsIgnoreCase("application/odb") ||\r
+                               r.getMime().equalsIgnoreCase("application/ods")) {\r
+                               indexResourceODF(r);\r
+                               return;\r
+                       }\r
                }\r
        }\r
 \r