You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by bd...@apache.org on 2011/04/06 17:51:55 UTC

svn commit: r1089506 - in /incubator/stanbol/trunk: commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/ commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltool...

Author: bdelacretaz
Date: Wed Apr  6 15:51:55 2011
New Revision: 1089506

URL: http://svn.apache.org/viewvc?rev=1089506&view=rev
Log:
STANBOL-146 - allow for several comments per data file

Modified:
    incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProvider.java
    incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProviderEvent.java
    incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/MainDataFileProvider.java
    incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/WebConsolePlugin.java
    incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/ClasspathDataFileProvider.java
    incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/EngineCore.java

Modified: incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProvider.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProvider.java (original)
+++ incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProvider.java Wed Apr  6 15:51:55 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.commons.stanb
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Map;
 
 /**
  * Used to provide read-only data files (indexes, models etc.) from various
@@ -34,9 +35,8 @@ public interface DataFileProvider {
      *  @param bundleSymbolicName can be used to differentiate 
      *      between files which have the same name
      *  @param filename name of the file to open
-     *  @param downloadExplanation explains how to get the "full"
-     *      version of the data file, in case we don't find it or in
-     *      case we supply a default small variant.
+     *  @param comments Optional - how to get a more complete version
+     *          of the data file, licensing information, etc.
      * @return InputStream to read the file, must be closed by 
      *      caller when done
      * @throws IOException problem finding or reading the file
@@ -44,5 +44,5 @@ public interface DataFileProvider {
     InputStream getInputStream(
             String bundleSymbolicName, 
             String filename,
-            String downloadExplanation) throws IOException;
+            Map<String, String> comments) throws IOException;
 }

Modified: incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProviderEvent.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProviderEvent.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProviderEvent.java (original)
+++ incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/DataFileProviderEvent.java Wed Apr  6 15:51:55 2011
@@ -17,6 +17,8 @@
 package org.apache.stanbol.commons.stanboltools.datafileprovider;
 
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 
 /** Used to record a log of {@link DataFileProvider} operations */
@@ -24,15 +26,17 @@ public class DataFileProviderEvent {
     private final Date timestamp;
     private final String bundleSymbolicName;
     private final String filename;
-    private final String downloadExplanation;
+    private final Map<String, String> comments;
     private final String actualFileLocation;
     
-    public DataFileProviderEvent(String bundleSymbolicName, String filename, String downloadExplanation, 
+    private static final Map<String, String> EMPTY_COMMENTS = new HashMap<String, String>(); 
+    
+    public DataFileProviderEvent(String bundleSymbolicName, String filename, Map<String, String> comments, 
             String actualFileLocation) {
         this.timestamp = new Date();
         this.bundleSymbolicName = bundleSymbolicName;
         this.filename = filename;
-        this.downloadExplanation = downloadExplanation;
+        this.comments = comments == null ? EMPTY_COMMENTS : comments;
         this.actualFileLocation = actualFileLocation;
     }
     
@@ -69,9 +73,9 @@ public class DataFileProviderEvent {
         return filename;
     }
 
-    /** @return the download explanation that was passed to the DataFileProvider */ 
-    public String getDownloadExplanation() {
-        return downloadExplanation;
+    /** @return the optional comments about this file */ 
+    public Map<String, String> getComments() {
+        return comments;
     }
 
     /** @return the actual location of the file that was loaded, 
@@ -79,4 +83,4 @@ public class DataFileProviderEvent {
     public String getActualFileLocation() {
         return actualFileLocation;
     }
-}
+}
\ No newline at end of file

Modified: incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/MainDataFileProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/MainDataFileProvider.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/MainDataFileProvider.java (original)
+++ incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/MainDataFileProvider.java Wed Apr  6 15:51:55 2011
@@ -26,6 +26,7 @@ import java.util.Dictionary;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
@@ -129,7 +130,7 @@ public class MainDataFileProvider implem
     @SuppressWarnings("unchecked")
     @Override
     public InputStream getInputStream(String bundleSymbolicName,
-            String filename, String downloadExplanation) throws IOException {
+            String filename, Map<String, String> comments) throws IOException {
         InputStream result = null;
         String fileUrl = null;
         
@@ -162,7 +163,7 @@ public class MainDataFileProvider implem
                     continue;
                 }
                 final DataFileProvider dfp = (DataFileProvider)o;
-                result = dfp.getInputStream(bundleSymbolicName, filename, downloadExplanation);
+                result = dfp.getInputStream(bundleSymbolicName, filename, comments);
                 if(result == null) {
                     log.debug("{} does not provide file {}", dfp, filename);
                 } else {
@@ -174,7 +175,7 @@ public class MainDataFileProvider implem
         // Add event
         final DataFileProviderEvent event = new DataFileProviderEvent(
                 bundleSymbolicName, filename, 
-                downloadExplanation, fileUrl);
+                comments, fileUrl);
         
         synchronized (events) {
             if(events.size() >= maxEvents) {

Modified: incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/WebConsolePlugin.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/WebConsolePlugin.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/WebConsolePlugin.java (original)
+++ incubator/stanbol/trunk/commons/stanboltools/datafileprovider/src/main/java/org/apache/stanbol/commons/stanboltools/datafileprovider/impl/WebConsolePlugin.java Wed Apr  6 15:51:55 2011
@@ -19,6 +19,7 @@ package org.apache.stanbol.commons.stanb
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.text.SimpleDateFormat;
+import java.util.Map;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -77,9 +78,20 @@ public class WebConsolePlugin extends Ht
             cell(pw, 
                     null, e.getBundleSymbolicName(), 
                     "b", e.getFilename());
+            
+            final StringBuilder sb = new StringBuilder();
+            for(Map.Entry<String, String> comment : e.getComments().entrySet()) {
+                if(sb.length() > 0) {
+                    sb.append("<br/>");
+                }
+                sb.append(comment.getKey());
+                sb.append(": ");
+                sb.append(comment.getValue());
+            }
+            
             cell(pw, 
                     null, e.getActualFileLocation(), 
-                    "i" , "Download info: " + e.getDownloadExplanation());
+                    "i" , sb.toString());
             pw.println("</tr>");
         }
         pw.println("</tbody></table>");

Modified: incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/ClasspathDataFileProvider.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/ClasspathDataFileProvider.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/ClasspathDataFileProvider.java (original)
+++ incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/ClasspathDataFileProvider.java Wed Apr  6 15:51:55 2011
@@ -18,6 +18,7 @@ package org.apache.stanbol.enhancer.engi
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Map;
 
 import org.apache.stanbol.commons.stanboltools.datafileprovider.DataFileProvider;
 
@@ -26,7 +27,7 @@ public class ClasspathDataFileProvider i
 
     @Override
     public InputStream getInputStream(String bundleSymbolicName,
-            String filename, String downloadExplanation) 
+            String filename, Map<String, String> comments) 
     throws IOException {
         // load default OpenNLP models from classpath (embedded in the defaultdata bundle)
         final String resourcePath = "org/apache/stanbol/defaultdata/opennlp/" + filename;

Modified: incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/EngineCore.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/EngineCore.java?rev=1089506&r1=1089505&r2=1089506&view=diff
==============================================================================
--- incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/EngineCore.java (original)
+++ incubator/stanbol/trunk/enhancer/engines/opennlp-ner/src/main/java/org/apache/stanbol/enhancer/engines/opennlp/impl/EngineCore.java Wed Apr  6 15:51:55 2011
@@ -73,8 +73,12 @@ public class EngineCore implements Enhan
     protected final TokenNameFinderModel organizationNameModel;
     protected Map<String,Object[]> entityTypes = new HashMap<String,Object[]>();
 
-    /** Explain where to get more models */
-    public static final String MODEL_DOWNLOAD_EXPLANATION = "Ask on the Apache Stanbol mailing list";
+    /** Comments about our models */
+    public static final Map<String, String> DATA_FILE_COMMENTS;
+    static {
+        DATA_FILE_COMMENTS = new HashMap<String, String>();
+        DATA_FILE_COMMENTS.put("Default data files", "provided by the org.apache.stanbol.defaultdata bundle");
+    }
 
     EngineCore(DataFileProvider dfp, String bundleSymbolicName) throws InvalidFormatException, IOException {
         dataFileProvider = dfp;
@@ -86,7 +90,7 @@ public class EngineCore implements Enhan
     }
     
     protected InputStream lookupModelStream(String modelRelativePath) throws IOException {
-        return dataFileProvider.getInputStream(bundleSymbolicName, modelRelativePath, MODEL_DOWNLOAD_EXPLANATION);
+        return dataFileProvider.getInputStream(bundleSymbolicName, modelRelativePath, DATA_FILE_COMMENTS);
     }
 
     protected TokenNameFinderModel buildNameModel(String name, UriRef typeUri) throws IOException {