You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by to...@apache.org on 2011/03/07 15:58:48 UTC

svn commit: r1078800 - in /uima/sandbox/trunk/Solrcas/src: main/java/org/apache/uima/solrcas/SolrCASConsumer.java test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java test/resources/TestSolrcasAE.xml

Author: tommaso
Date: Mon Mar  7 14:58:48 2011
New Revision: 1078800

URL: http://svn.apache.org/viewvc?rev=1078800&view=rev
Log:
[UIMA-2047] - fix warning about deprecated method to access resource using getContext().getDataPath(), getURL(String path) method is now protected to allow usage in subclasses of SolrCASConsumer (i.e in createServer())

Modified:
    uima/sandbox/trunk/Solrcas/src/main/java/org/apache/uima/solrcas/SolrCASConsumer.java
    uima/sandbox/trunk/Solrcas/src/test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java
    uima/sandbox/trunk/Solrcas/src/test/resources/TestSolrcasAE.xml

Modified: uima/sandbox/trunk/Solrcas/src/main/java/org/apache/uima/solrcas/SolrCASConsumer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/Solrcas/src/main/java/org/apache/uima/solrcas/SolrCASConsumer.java?rev=1078800&r1=1078799&r2=1078800&view=diff
==============================================================================
--- uima/sandbox/trunk/Solrcas/src/main/java/org/apache/uima/solrcas/SolrCASConsumer.java (original)
+++ uima/sandbox/trunk/Solrcas/src/main/java/org/apache/uima/solrcas/SolrCASConsumer.java Mon Mar  7 14:58:48 2011
@@ -63,7 +63,7 @@ public class SolrCASConsumer extends Cas
       FieldMappingReader fieldMappingReader = new FieldMappingReader();
       String mappingFileParam = String.valueOf(context.getConfigParameterValue("mappingFile"));
 
-      InputStream input = getInputStream(mappingFileParam);
+      InputStream input = getURL(mappingFileParam).openStream();
 
       this.mappingConfig = fieldMappingReader.getConf(input);
 
@@ -80,19 +80,26 @@ public class SolrCASConsumer extends Cas
     }
   }
 
-  /* allows retrieve of input stream from a path specifying both file:// absolute or relative
-   *  paths, classpath: path or http:// and other URL protocols
+  /* allows retrieve of input stream from a path specifying one of:
+   * file://absolute/path
+   * http://something.com/res.ext
+   * classpath:/path/to/something.xml
+   * data/path/relative/file.ext
    */
-  private InputStream getInputStream(String path) throws ResourceAccessException, IOException {
-    InputStream input;
+  protected URL getURL(String path) throws ResourceAccessException, IOException {
+    URL url;
     if (path.startsWith(CLASSPATH)) {
-      input = System.class.getResource(path.replaceFirst(CLASSPATH, EMPTY_STRING)).openStream();
-    } else if (path.startsWith(FILEPATH)) {
-      input = getContext().getResourceAsStream(path.replace(FILEPATH, EMPTY_STRING));
+      url = System.class.getResource(path.replaceFirst(CLASSPATH, EMPTY_STRING));
     } else {
-      input = URI.create(path).toURL().openStream();
+        URI uriPath = URI.create(path);
+        if (uriPath.isAbsolute()) // this supports file://ABSOLUTE_PATH and http://URL
+          url = uriPath.toURL();
+        else // path is not absolute
+          url = URI.create(new StringBuilder(FILEPATH).append(getContext().getDataPath()).
+                  append("/").append(path.replace(FILEPATH, EMPTY_STRING)).toString()).
+                  toURL(); // this supports relative file paths
     }
-    return input;
+    return url;
   }
 
   protected SolrServer createServer() throws Exception {

Modified: uima/sandbox/trunk/Solrcas/src/test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/Solrcas/src/test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java?rev=1078800&r1=1078799&r2=1078800&view=diff
==============================================================================
--- uima/sandbox/trunk/Solrcas/src/test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java (original)
+++ uima/sandbox/trunk/Solrcas/src/test/java/org/apache/uima/solrcas/EmbeddedSolrCASConsumer.java Mon Mar  7 14:58:48 2011
@@ -37,7 +37,7 @@ public class EmbeddedSolrCASConsumer ext
             getConfigParameterValue("solrPath"));
 
     if (solrInstanceTypeParam.equals("embedded")) {
-      URL solrURL = getContext().getResourceURL(solrPathParam.replace("file://",""));
+      URL solrURL = getURL(solrPathParam);
       System.setProperty("solr.solr.home", solrURL.getFile());
       CoreContainer.Initializer initializer = new CoreContainer.Initializer();
       CoreContainer coreContainer = initializer.initialize();

Modified: uima/sandbox/trunk/Solrcas/src/test/resources/TestSolrcasAE.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/Solrcas/src/test/resources/TestSolrcasAE.xml?rev=1078800&r1=1078799&r2=1078800&view=diff
==============================================================================
--- uima/sandbox/trunk/Solrcas/src/test/resources/TestSolrcasAE.xml (original)
+++ uima/sandbox/trunk/Solrcas/src/test/resources/TestSolrcasAE.xml Mon Mar  7 14:58:48 2011
@@ -61,7 +61,7 @@
       <nameValuePair>
         <name>mappingFile</name>
         <value>
-          <string>file://solrmapping.xml</string>
+          <string>src/test/resources/solrmapping.xml</string>
         </value>
       </nameValuePair>
       <nameValuePair>
@@ -73,7 +73,7 @@
       <nameValuePair>
         <name>solrPath</name>
         <value>
-          <string>file://org/apache/uima/solrcas/</string>
+          <string>classpath:/org/apache/uima/solrcas/</string>
         </value>
       </nameValuePair>
       <nameValuePair>