You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2012/03/05 09:32:39 UTC

svn commit: r1296958 - /opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java

Author: joern
Date: Mon Mar  5 08:32:38 2012
New Revision: 1296958

URL: http://svn.apache.org/viewvc?rev=1296958&view=rev
Log:
OPENNLP-457 Type System is now resolved before it is send to the Corpus Server.

Modified:
    opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java

Modified: opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java
URL: http://svn.apache.org/viewvc/opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java?rev=1296958&r1=1296957&r2=1296958&view=diff
==============================================================================
--- opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java (original)
+++ opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/CreateCorpus.java Mon Mar  5 08:32:38 2012
@@ -17,10 +17,18 @@
 
 package org.apache.opennlp.corpus_server.tools;
 
+import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
 
 import javax.ws.rs.core.MediaType;
 
+import org.apache.uima.UIMAFramework;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.apache.uima.util.XMLInputSource;
+import org.apache.uima.util.XMLParser;
+
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.ClientResponse;
 import com.sun.jersey.api.client.WebResource;
@@ -49,9 +57,24 @@ public class CreateCorpus {
 		WebResource r = c.resource(args[0]);
 		
 		byte[][] resources = new byte[2][];
-		byte typeSystemBytes[] = FileUtil.fileToBytes(new File(args[2]));
-		resources[0] = typeSystemBytes;
+
+		// Load and resolve type system before importing it
+		InputStream typeSystemIn = new FileInputStream(new File(args[2]));
+		
+	    XMLInputSource xmlTypeSystemSource = new XMLInputSource(typeSystemIn, new File(args[2]));
+
+	    XMLParser xmlParser = UIMAFramework.getXMLParser();
+
+	    TypeSystemDescription typeSystemDesciptor = (TypeSystemDescription) xmlParser
+		      .parse(xmlTypeSystemSource);
 		
+		typeSystemDesciptor.resolveImports();
+	    
+	    ByteArrayOutputStream typeSystemBytes = new ByteArrayOutputStream();
+	    typeSystemDesciptor.toXML(typeSystemBytes);
+	    
+		resources[0] = typeSystemBytes.toByteArray();
+	    
 		byte indexMappingBytes[] = FileUtil.fileToBytes(new File(args[3]));
 		resources[1] = indexMappingBytes;