You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by to...@apache.org on 2010/07/28 14:59:53 UTC
svn commit: r980042 - in
/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator:
./ src/main/java/org/apache/clerezza/uima/metadatagenerator/
src/test/java/org/apache/clerezza/uima/meta...
Author: tommaso
Date: Wed Jul 28 12:59:53 2010
New Revision: 980042
URL: http://svn.apache.org/viewvc?rev=980042&view=rev
Log:
[CLEREZZA-193] - fixed Export-Package in POM and MediaType handling
Modified:
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/pom.xml
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/main/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGenerator.java
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/test/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGeneratorTest.java
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/pom.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/pom.xml?rev=980042&r1=980041&r2=980042&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/pom.xml (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/pom.xml Wed Jul 28 12:59:53 2010
@@ -68,7 +68,7 @@
<extensions>true</extensions>
<configuration>
<instructions>
- <Export-Package>org.apache.clerezza.uima.*</Export-Package>
+ <Export-Package>org.apache.clerezza.uima.metadatagenerator.*</Export-Package>
</instructions>
</configuration>
</plugin>
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/main/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGenerator.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/main/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGenerator.java?rev=980042&r1=980041&r2=980042&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/main/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGenerator.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/main/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGenerator.java Wed Jul 28 12:59:53 2010
@@ -20,10 +20,10 @@ import java.util.List;
* An implementation of <code>MetaDataGenerator</code> generates meta data about specified data
* depending on its media type using Apache UIMA.
*/
-@Component(metatype=true)
+@Component(metatype = true)
@Services({
- @Service(MetaDataGenerator.class),
- @Service(UIMABaseMetadataGenerator.class)
+ @Service(MetaDataGenerator.class),
+ @Service(UIMABaseMetadataGenerator.class)
})
public class UIMABaseMetadataGenerator implements MetaDataGenerator {
@@ -31,52 +31,68 @@ public class UIMABaseMetadataGenerator i
@Override
public void generate(GraphNode node, byte[] data, MediaType mediaType) {
- // FIXME only TEXT_PLAIN, also different MediaTypes should be served
- if (MediaType.TEXT_PLAIN.equals(mediaType.getType())) {
- try {
- // add language to the document
- addLanguage(node, data);
-
- // add wide purpose subject to the document
- addCategory(node, data);
-
- // add calais annotations' nodes
- addCalaisAnnotations(node, data);
-
- // add alchemyAPI's annotations' nodes
- addAlchemyAPIEntities(node,data);
-
- } catch (Throwable e) {
- // do nothing
- }
+ try {
+ String text = getTextToAnalyze(data, mediaType);
+
+ // add language to the document
+ addLanguage(node, text);
+
+ // add wide purpose subject to the document
+ addCategory(node, text);
+
+ // add calais annotations' nodes
+ addCalaisAnnotations(node, text);
+
+ // add alchemyAPI's annotations' nodes
+ addAlchemyAPIEntities(node, text);
+
+ } catch (Throwable e) {
+ // do nothing
+ }
+ }
+
+ private String getTextToAnalyze(byte[] data, MediaType mediaType) throws UnsupportedMediaTypeException {
+ String text = null;
+ if (MediaType.TEXT_PLAIN.equals(mediaType)) {
+ text = new String(data);
+ }
+ if (text == null) {
+ throw new UnsupportedMediaTypeException(mediaType.getType());
}
+ return text;
}
- private void addCategory(GraphNode node, byte[] data) throws UIMAException {
+
+ private void addCategory(GraphNode node, String data) throws UIMAException {
// get category to bind it to the node
- String category = facade.getCategory(data.toString());
+ String category = facade.getCategory(data);
node.addPropertyValue(DC.subject, category);
}
- private void addLanguage(GraphNode node, byte[] data) throws UIMAException {
+ private void addLanguage(GraphNode node, String data) throws UIMAException {
// get language to bind it to the node
- String language = facade.getLanguage(data.toString());
+ String language = facade.getLanguage(data);
node.addPropertyValue(DCTERMS.language, language);
}
- private void addCalaisAnnotations(GraphNode existingNode, byte[] data) throws UIMAException {
+ private void addCalaisAnnotations(GraphNode existingNode, String data) throws UIMAException {
// analyze document text and get the corresponding OpenCalais annotations
- List<Annotation> calaisAnnotations = facade.getCalaisAnnotations(data.toString());
+ List<Annotation> calaisAnnotations = facade.getCalaisAnnotations(data);
// convert annotations to nodes inside the current graph
UIMAUtils.enhanceNode(existingNode, calaisAnnotations);
}
- private void addAlchemyAPIEntities(GraphNode existingNode, byte[] data) throws UIMAException {
+ private void addAlchemyAPIEntities(GraphNode existingNode, String data) throws UIMAException {
// analyze document text and get the corresponding AlchemyAPI Tags
- List<FeatureStructure> alchemyAPIEntities = facade.getAlchemyAPITags(data.toString());
+ List<FeatureStructure> alchemyAPIEntities = facade.getAlchemyAPITags(data);
// convert entities to nodes inside the current graph
UIMAUtils.enhanceNode(existingNode, alchemyAPIEntities);
}
+ private class UnsupportedMediaTypeException extends Throwable {
+ private UnsupportedMediaTypeException(String s) {
+ super(s);
+ }
+ }
}
Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/test/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGeneratorTest.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/test/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGeneratorTest.java?rev=980042&r1=980041&r2=980042&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/test/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGeneratorTest.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.uima/org.apache.clerezza.uima.metadata-generator/src/test/java/org/apache/clerezza/uima/metadatagenerator/UIMABaseMetadataGeneratorTest.java Wed Jul 28 12:59:53 2010
@@ -32,8 +32,8 @@ public class UIMABaseMetadataGeneratorTe
String textToAnalyze = "Italy, the defending champions and four-time World Cup winners, suffer a shock World Cup defeat to Slovakia, who win a remarkable game 3-2 to book their place in the last 16";
MGraph mGraph = new SimpleMGraph();
GraphNode node = new GraphNode(new UriRef("test"), mGraph.getGraph());
- MediaType mediaType = MediaType.valueOf("multipart/form-data; boundary=AaB03x");
- baseMetadataGenerator.generate(node, textToAnalyze.getBytes(), mediaType);
+ MediaType wrongMediaType = MediaType.valueOf("multipart/form-data; boundary=AaB03x");
+ baseMetadataGenerator.generate(node, textToAnalyze.getBytes(), wrongMediaType);
} catch (Exception e) {
fail(e.getLocalizedMessage());
}