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;