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/07/31 17:51:39 UTC
svn commit: r1367624 -
/opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
Author: joern
Date: Tue Jul 31 15:51:38 2012
New Revision: 1367624
URL: http://svn.apache.org/viewvc?rev=1367624&view=rev
Log:
OPENNLP-528 Added support to resolve the replaced type system.
Modified:
opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
Modified: opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java
URL: http://svn.apache.org/viewvc/opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java?rev=1367624&r1=1367623&r2=1367624&view=diff
==============================================================================
--- opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java (original)
+++ opennlp/sandbox/corpus-server-tools/src/main/java/org/apache/opennlp/corpus_server/tools/ReplaceTypeSystem.java Tue Jul 31 15:51: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;
@@ -37,16 +45,28 @@ public class ReplaceTypeSystem {
Client c = Client.create();
WebResource r = c.resource(args[0]);
+
+ // Load and resolve type system before importing it
+ InputStream typeSystemIn = new FileInputStream(new File(args[1]));
+
+ XMLInputSource xmlTypeSystemSource = new XMLInputSource(typeSystemIn,
+ new File(args[1]));
- File typeSystemFile = new File(args[1]);
+ XMLParser xmlParser = UIMAFramework.getXMLParser();
- byte typeSystemBytes[] = FileUtil.fileToBytes(typeSystemFile);
+ TypeSystemDescription typeSystemDesciptor = (TypeSystemDescription) xmlParser
+ .parse(xmlTypeSystemSource);
+ typeSystemDesciptor.resolveImports();
+
+ ByteArrayOutputStream typeSystemBytes = new ByteArrayOutputStream();
+ typeSystemDesciptor.toXML(typeSystemBytes);
+
ClientResponse response = r.path("_replaceTypeSystem")
.accept(MediaType.TEXT_XML)
// TODO: How to fix this? Shouldn't accept do it?
.header("Content-Type", MediaType.TEXT_XML)
- .put(ClientResponse.class, typeSystemBytes);
+ .put(ClientResponse.class, typeSystemBytes.toByteArray());
System.out.println("Response: " + response.getStatus());
}