Author: suat
Date: Mon May 30 21:16:15 2011
New Revision: 1129379
URL: http://svn.apache.org/viewvc?rev=1129379&view=rev
Log:
STANBOL-206: Added new Processor implementation (EnhancementFetcher) to get
enhancements of content objects. EnhancementFetcher creates a content item for
each content object in the list which is given as a parameter to createObjects
method of Processor, using RESTful services of content hub and merges gathered
enhancements with the generated ontology. It is also removes the enhancements
appended to the ontology if delete method is called.
core:
-Added enhancement fetcher processor
parent, launcher:
-Added necessary bundles and dependencies to start enhancer, entityhub,
contenthub
Added:
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java
Modified:
incubator/stanbol/trunk/cmsadapter/core/pom.xml
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java
incubator/stanbol/trunk/cmsadapter/launchers/lite/src/main/bundles/list.xml
incubator/stanbol/trunk/cmsadapter/parent/pom.xml
incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java
Modified: incubator/stanbol/trunk/cmsadapter/core/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/pom.xml?rev=1129379&r1=1129378&r2=1129379&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/pom.xml (original)
+++ incubator/stanbol/trunk/cmsadapter/core/pom.xml Mon May 30 21:16:15 2011
@@ -37,6 +37,7 @@
</plugins>
</build>
<dependencies>
+ <!-- Apache Stanbol dependencies -->
<dependency>
<groupId>org.apache.stanbol</groupId>
<artifactId>org.apache.stanbol.ontologymanager.store.rest.client</artifactId>
@@ -53,6 +54,18 @@
<groupId>org.apache.stanbol</groupId>
<artifactId>org.apache.stanbol.cmsadapter.jcr</artifactId>
</dependency>
+
+ <!-- Enhancer -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+ <artifactId>org.apache.clerezza.rdf.core</artifactId>
+ </dependency>
+
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
@@ -78,21 +91,25 @@
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ </dependency>
</dependencies>
</project>
Modified:
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java?rev=1129379&r1=1129378&r2=1129379&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java
Mon May 30 21:16:15 2011
@@ -67,20 +67,20 @@ public class MappingEngineImpl implement
Iterator<Processor> processorIterator;
synchronized (processors) {
processorIterator = processors.iterator();
- }
- while (processorIterator.hasNext()) {
- Processor processor = processorIterator.next();
- long t1 = System.currentTimeMillis();
- try {
- if (mode.contentEquals("create")) {
- processor.createObjects(cmsObjects, this);
- } else if (mode.contentEquals("delete")) {
- processor.deleteObjects(cmsObjects, this);
+ while (processorIterator.hasNext()) {
+ Processor processor = processorIterator.next();
+ long t1 = System.currentTimeMillis();
+ try {
+ if (mode.contentEquals("create")) {
+ processor.createObjects(cmsObjects, this);
+ } else if (mode.contentEquals("delete")) {
+ processor.deleteObjects(cmsObjects, this);
+ }
+ } finally {
+ logger.debug("{} processor completed execution in {}
miliseconds", processor.toString(),
+ System.currentTimeMillis() - t1);
}
- } finally {
- logger.debug("{} processor completed execution in {}
miliseconds", processor.toString(),
- System.currentTimeMillis() - t1);
}
}
}
@@ -187,12 +187,12 @@ public class MappingEngineImpl implement
public DObjectAdapter getDObjectAdapter() {
return adapter;
}
-
+
@Override
public Object getSession() {
return session;
}
-
+
@Override
public OntModel getOntModel() {
return ontModel;
@@ -217,36 +217,35 @@ public class MappingEngineImpl implement
public NamingStrategy getNamingStrategy() {
return namingStrategy;
}
-
+
@Override
public RepositoryAccess getRepositoryAccess() {
return accessor;
}
-
+
private void initializeEngine(MappingConfiguration conf) throws
RepositoryAccessException {
- if(conf.getOntModel() != null) {
+ if (conf.getOntModel() != null) {
this.ontModel = conf.getOntModel();
} else {
this.ontModel =
ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
}
-
+
AdapterMode adapterMode = conf.getAdapterMode();
- if(adapterMode == null) {
+ if (adapterMode == null) {
adapterMode = AdapterMode.ONLINE;
}
-
+
ConnectionInfo connectionInfo = conf.getConnectionInfo();
- if(connectionInfo == null) {
- if(!adapterMode.equals(AdapterMode.STRICT_OFFLINE)) {
+ if (connectionInfo == null) {
+ if (!adapterMode.equals(AdapterMode.STRICT_OFFLINE)) {
connectionInfo =
OntologyResourceHelper.getConnectionInfo(this.ontModel);
- if(connectionInfo == null) {
+ if (connectionInfo == null) {
logger.warn("Failed to retrieve connection info from
ontmodel");
return;
}
}
- }
-
-
+ }
+
List<Object> offlineObjects = conf.getObjects();
if (adapterMode.equals(AdapterMode.ONLINE)) {
accessor = accessManager.getRepositoryAccessor(connectionInfo);
@@ -269,7 +268,7 @@ public class MappingEngineImpl implement
accessor = accessManager.getRepositoryAccess(offlineObjects);
this.adapter = new DObjectFactoryImp(accessor, session,
adapterMode);
}
-
+
this.bridgeDefinitions = conf.getBridgeDefinitions();
this.ontologyURI = conf.getOntologyURI();
this.namingStrategy = new DefaultNamingStrategy(accessor, session,
this.ontModel);
Added:
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java?rev=1129379&view=auto
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java
(added)
+++
incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java
Mon May 30 21:16:15 2011
@@ -0,0 +1,340 @@
+package org.apache.stanbol.cmsadapter.core.processor;
+
+import java.io.ByteArrayInputStream;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.cmsadapter.servicesapi.helper.CMSAdapterVocabulary;
+import org.apache.stanbol.cmsadapter.servicesapi.helper.MappingModelParser;
+import org.apache.stanbol.cmsadapter.servicesapi.helper.OntologyResourceHelper;
+import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
+import
org.apache.stanbol.cmsadapter.servicesapi.model.mapping.BridgeDefinitions;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.InstanceBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObject;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ContentObject;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DObject;
+import
org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DObjectAdapter;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DProperty;
+import org.apache.stanbol.cmsadapter.servicesapi.processor.BaseProcessor;
+import org.apache.stanbol.cmsadapter.servicesapi.processor.Processor;
+import org.apache.stanbol.cmsadapter.servicesapi.processor.ProcessorProperties;
+import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccess;
+import
org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
+import org.apache.stanbol.enhancer.servicesapi.Store;
+import org.apache.stanbol.enhancer.servicesapi.rdf.NamespaceEnum;
+import org.osgi.service.component.ComponentContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.ontology.OntModel;
+import com.hp.hpl.jena.ontology.OntModelSpec;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.WebResource;
+
+@Component(immediate = true, metatype = true)
+@Service
+public class EnhancementFetcher extends BaseProcessor implements Processor,
ProcessorProperties {
+ private static final Logger logger =
LoggerFactory.getLogger(EnhancementFetcher.class);
+
+ /**
+ * Prefix to identify assignment of an enhancement to a cms object.
+ */
+ private static final String ENHANCEMENT_PREFIX = "Enh-";
+
+ private static final String PROP_CONTENT_PROPERTY =
"org.apache.stanbol.cmsadapter.core.processor.EnhancementFetcher.contentProperty";
+ @Property(name = PROP_CONTENT_PROPERTY, cardinality = 1000, value =
{"content"})
+ private String[] contentProperties;
+
+ private static final String PROP_CONTENTHUB_RESOURCE =
"org.apache.stanbol.cmsadapter.core.processort.EnhancementFetcher.contentHubResource";
+ @Property(name = PROP_CONTENTHUB_RESOURCE, value =
"http://localhost:8080/contenthub/")
+ private String engineRootResource;
+
+ @Reference
+ Store store;
+
+ private static final Map<String,Object> properties;
+ static {
+ properties = new HashMap<String,Object>();
+ properties.put(PROCESSING_ORDER, CMSOBJECT_POST + 10);
+ }
+
+ private Client client;
+
+ @Override
+ public Map<String,Object> getProcessorProperties() {
+ return properties;
+ }
+
+ @Override
+ public Boolean canProcess(Object cmsObject) {
+ return cmsObject instanceof ContentObject;
+ }
+
+ @Override
+ public void createObjects(List<Object> objects, MappingEngine engine) {
+ List<DObject> cmsObjects = object2dobject(objects, engine);
+ if (engine.getBridgeDefinitions() != null) {
+ BridgeDefinitions bridgeDefinitions =
engine.getBridgeDefinitions();
+ DObjectAdapter adapter = engine.getDObjectAdapter();
+
+ List<InstanceBridge> instanceBridges =
MappingModelParser.getInstanceBridges(bridgeDefinitions);
+ RepositoryAccess accessor = engine.getRepositoryAccess();
+ Object session = engine.getSession();
+ boolean emptyList = (cmsObjects == null || cmsObjects.size() == 0);
+
+ for (InstanceBridge ib : instanceBridges) {
+ // cms objects will be null in the case of initial bridge
execution or update of bridge
+ // definitions
+ if (emptyList) {
+ try {
+ List<CMSObject> retrievedObjects =
accessor.getNodeByPath(ib.getQuery(), session);
+ cmsObjects = new ArrayList<DObject>();
+ for (CMSObject o : retrievedObjects) {
+ cmsObjects.add(adapter.wrapAsDObject(o));
+ }
+ } catch (RepositoryAccessException e) {
+ logger.warn("Failed to obtain CMS Objects for query
{}", ib.getQuery());
+ continue;
+ }
+ }
+
+ for (DObject contentObject : cmsObjects) {
+ if (matches(contentObject.getPath(), ib.getQuery())
+ && !isRootNode(ib.getQuery(),
contentObject.getPath())) {
+ getEnhancements(contentObject, engine);
+ }
+ }
+ }
+ } else {
+ // work without bridge definitions
+ for (DObject cmsObject : cmsObjects) {
+ if (canProcess(cmsObject.getInstance())) {
+ getEnhancements(cmsObject, engine);
+ }
+ }
+ }
+ }
+
+ private void getEnhancements(DObject cmsObject, MappingEngine engine) {
+ WebResource webResource = client.resource(engineRootResource +
"content/" + cmsObject.getID());
+ String content = getTextContent(cmsObject);
+
+ if (!content.contentEquals("")) {
+ try {
+
webResource.type(MediaType.TEXT_PLAIN_TYPE).put(content.getBytes());
+ } catch (Exception e) {
+ logger.warn("Failed to create content item for cms object:
{}", cmsObject.getName());
+ return;
+ }
+ webResource = client.resource(engineRootResource + "metadata/" +
cmsObject.getID());
+ String enh =
webResource.accept("application/rdf+xml").get(String.class);
+ mergeEnhancements(cmsObject, enh, engine);
+
+ } else {
+ logger.warn("Empty content for object {}", cmsObject.getName());
+ }
+ }
+
+ private void mergeEnhancements(DObject cmsObject, String enhancements,
MappingEngine engine) {
+ Model enhModel = ModelFactory.createDefaultModel();
+ enhModel.read(new
ByteArrayInputStream(enhancements.getBytes(Charset.forName("UTF-8"))), "");
+ // first remove previously added enhancements from ontology
+ deleteEnhancementsOfCMSObject(Arrays.asList(new DObject[]
{cmsObject}), engine);
+
engine.getOntModel().add(assignCMSObjectReferencesToEnhancements(enhModel,
cmsObject.getID()));
+ }
+
+ /**
+ * Add unique reference of cms objects to each enhancement of the types
<b>Enhancement,
+ * EntityAnnotation</b> and <b>Text Annotation</b> to be able to delete
the annotations in delete
+ * operation.
+ *
+ * @param enhModel
+ * @param reference
+ * @return {@link OntModel} which contains enhancements having
+ * {@code CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP}
+ */
+ private OntModel assignCMSObjectReferencesToEnhancements(Model enhModel,
String reference) {
+ OntModel enhOntModel =
ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
+ enhOntModel.add(enhModel);
+ reference = ENHANCEMENT_PREFIX + reference;
+
+ String URI;
+ List<String> processedURIs = new ArrayList<String>();
+ List<Statement> enhs = enhOntModel.listStatements(null, RDF.type,
+ ResourceFactory.createResource(NamespaceEnum.enhancer +
"Enhancement")).toList();
+ for (Statement stmt : enhs) {
+ URI = stmt.getSubject().getURI();
+ if (!processedURIs.contains(URI)) {
+
stmt.getSubject().addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
reference);
+ processedURIs.add(URI);
+ }
+ }
+
+ enhs = enhOntModel.listStatements(null, RDF.type,
NamespaceEnum.enhancer + "EntityAnnotation")
+ .toList();
+ for (Statement stmt : enhs) {
+ URI = stmt.getSubject().getURI();
+ if (!processedURIs.contains(URI)) {
+
stmt.getSubject().addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
reference);
+ processedURIs.add(URI);
+ }
+ }
+
+ enhs = enhOntModel.listStatements(null, RDF.type,
NamespaceEnum.enhancer + "TextAnnotation").toList();
+ for (Statement stmt : enhs) {
+ URI = stmt.getSubject().getURI();
+ if (!processedURIs.contains(URI)) {
+
stmt.getSubject().addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
reference);
+ processedURIs.add(URI);
+ }
+ }
+ return enhOntModel;
+ }
+
+ private String getTextContent(DObject cmsObject) {
+ List<DProperty> properties = null;
+ try {
+ properties = cmsObject.getProperties();
+ } catch (RepositoryAccessException e) {
+ logger.warn("Failed to retrieve properties for object {}",
cmsObject.getName());
+ return "";
+ }
+ for (String propertyName : (String[]) contentProperties) {
+ for (DProperty property : properties) {
+ if (property.getName().contentEquals(propertyName)) {
+ // assumed content property is single valued
+ return property.getValue().get(0);
+ }
+ }
+ }
+ return "";
+ }
+
+ @Override
+ public void deleteObjects(List<Object> objects, MappingEngine engine) {
+ List<DObject> cmsObjects = object2dobject(objects, engine);
+
+ // if there is bridge definitions try to fetch concept bridges
+ if (engine.getBridgeDefinitions() != null) {
+ List<InstanceBridge> instanceBridges =
MappingModelParser.getInstanceBridges(engine
+ .getBridgeDefinitions());
+
+ for (InstanceBridge ib : instanceBridges) {
+ List<DObject> processableObjects = new ArrayList<DObject>();
+ for (DObject cmsObject : cmsObjects) {
+ if (matches(cmsObject.getPath(), ib.getQuery())) {
+ processableObjects.add(cmsObject);
+ }
+ }
+ deleteEnhancementsOfCMSObject(processableObjects, engine);
+ }
+ } else {
+ List<DObject> processableObjects = new ArrayList<DObject>();
+ for (DObject cmsObject : cmsObjects) {
+ if (canProcess(cmsObject.getInstance())) {
+ processableObjects.add(cmsObject);
+ }
+ }
+ deleteEnhancementsOfCMSObject(processableObjects, engine);
+ }
+ }
+
+ private void deleteEnhancementsOfCMSObject(List<DObject> cmsObjects,
MappingEngine engine) {
+ OntModel model = engine.getOntModel();
+ OntologyResourceHelper orh = engine.getOntologyResourceHelper();
+
+ List<Statement> enhs = model.listStatements(null, RDF.type,
+ ResourceFactory.createResource(NamespaceEnum.enhancer +
"Enhancement")).toList();
+ deleteEnhancements(cmsObjects, enhs, orh);
+
+ enhs = model.listStatements(null, RDF.type, NamespaceEnum.enhancer +
"EntityAnnotation").toList();
+ deleteEnhancements(cmsObjects, enhs, orh);
+
+ enhs = model.listStatements(null, RDF.type, NamespaceEnum.enhancer +
"TextAnnotation").toList();
+ deleteEnhancements(cmsObjects, enhs, orh);
+ }
+
+ private void deleteEnhancements(List<DObject> cmsObjects, List<Statement>
enhs, OntologyResourceHelper orh) {
+ String enhOwner;
+ String reference;
+
+ for (Statement stmt : enhs) {
+ Statement refStmt =
stmt.getSubject().getProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP);
+ enhOwner = refStmt.getObject().asLiteral().getString();
+ if (refStmt != null) {
+ for (DObject cmsObject : cmsObjects) {
+ reference = ENHANCEMENT_PREFIX + cmsObject.getID();
+ if (enhOwner.contentEquals(reference)) {
+ orh.deleteStatementsByResource(refStmt.getSubject());
+ }
+ }
+ }
+ }
+ }
+
+ private List<DObject> object2dobject(List<Object> objects, MappingEngine
engine) {
+ List<DObject> dObjects = new ArrayList<DObject>();
+ if (objects != null) {
+ DObjectAdapter adapter = engine.getDObjectAdapter();
+ for (Object o : objects) {
+ if (canProcess(o)) {
+ dObjects.add(adapter.wrapAsDObject((CMSObject) o));
+ }
+ }
+ }
+ return dObjects;
+ }
+
+ private Boolean isRootNode(String query, String objectPath) {
+ if (query.substring(0, query.length() - 2).contentEquals(objectPath)) {
+ return true;
+ }
+ return false;
+ }
+
+ @Activate
+ public void activate(ComponentContext context) {
+ client = Client.create();
+ Object contentPropertiesObject =
context.getProperties().get(PROP_CONTENT_PROPERTY);
+ if (contentPropertiesObject instanceof String[]) {
+ contentProperties = (String[]) contentPropertiesObject;
+ } else {
+ if (contentPropertiesObject != null) {
+ contentProperties = new String[1];
+ contentProperties[0] = (String) contentPropertiesObject;
+ }
+ }
+
+ engineRootResource = (String)
context.getProperties().get(PROP_CONTENTHUB_RESOURCE);
+ }
+
+ @Deactivate
+ public void deactivate() {
+ client = null;
+ }
+
+ public void bindStore(Store store) {
+ this.store = store;
+ }
+
+ public void unbindStore(Store store) {
+ this.store = null;
+ }
+}
Modified:
incubator/stanbol/trunk/cmsadapter/launchers/lite/src/main/bundles/list.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/launchers/lite/src/main/bundles/list.xml?rev=1129379&r1=1129378&r2=1129379&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/launchers/lite/src/main/bundles/list.xml
(original)
+++ incubator/stanbol/trunk/cmsadapter/launchers/lite/src/main/bundles/list.xml
Mon May 30 21:16:15 2011
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
- <!-- List of initial bundles for the Ontogen Sling-based standalone launcher
-->
+<!-- List of initial bundles for the CMS Adapter Sling-based standalone
launcher -->
<bundles>
<!-- OSGi infrastructure -->
@@ -66,6 +66,16 @@
<!-- General-purpose libraries -->
<startLevel level="10">
<bundle>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-compress</artifactId>
+ <version>1.0</version>
+ </bundle>
+ <bundle>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
@@ -95,6 +105,12 @@
<artifactId>derby</artifactId>
<version>10.6.2.1</version>
</bundle>
+ <bundle>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ <version>1.6.2</version>
+ </bundle>
+
</startLevel>
<!-- Clerezza storage and sparql infrastructure -->
@@ -226,6 +242,14 @@
</bundle>
</startLevel>
+ <!-- Serializers -->
+ <startLevel level="17">
+ <bundle>
+ <groupId>org.apache.clerezza</groupId>
+
<artifactId>org.apache.clerezza.rdf.jena.serializer</artifactId>
+ <version>0.9-incubating-SNAPSHOT</version>
+ </bundle>
+ </startLevel>
<!-- Stanbol Bundles -->
<startLevel level="20">
@@ -244,6 +268,29 @@
</bundle>
<!-- Enhancer -->
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.jobmanager</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.standalone</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+
+ <!-- Entityhub -->
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.entityhub.servicesapi</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+
<!-- Generic -->
<bundle>
<groupId>org.apache.stanbol</groupId>
@@ -251,6 +298,23 @@
</artifactId>
<version>0.9-SNAPSHOT</version>
</bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.defaultdata</artifactId>
+ <version>0.0.1</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.commons.stanboltools.offline
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.commons.stanboltools.datafileprovider
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
<!-- Store -->
<bundle>
@@ -330,8 +394,81 @@
</artifactId>
<version>0.9-SNAPSHOT</version>
</bundle>
+
+ <!-- Content hub -->
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.contenthub.web</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ </startLevel>
+
+ <!-- Entity hub infrastructure -->
+ <startLevel level="16">
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.entityhub.core</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ </startLevel>
+
+ <!-- Stanbol Enhancer plug-ins -->
+ <startLevel level="20">
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.jersey</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ </startLevel>
+
+ <!-- Stanbol Enhancer Enhancement Engines -->
+ <startLevel level="30">
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engines.langid</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engines.opencalais
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engines.autotagging
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.defaultdata</artifactId>
+ <version>0.0.1</version>
+ </bundle>
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engines.opennlp.ner
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
+ <!-- The geonames.org LocationEnhancement Engines needs two
additional
+ bundles 1) jettyjson 2) commons-io. Both of them are
already present in the
+ bundle list. -->
+ <!-- <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engines.geonames</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle> -->
+ <!-- Entity Tagging Engine based on RICK -->
+ <bundle>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.engine.entitytagging
+ </artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </bundle>
</startLevel>
+
<!-- JCR/CMIS Bundles -->
<startLevel level="30">
<bundle>
Modified: incubator/stanbol/trunk/cmsadapter/parent/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/parent/pom.xml?rev=1129379&r1=1129378&r2=1129379&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/parent/pom.xml (original)
+++ incubator/stanbol/trunk/cmsadapter/parent/pom.xml Mon May 30 21:16:15 2011
@@ -242,6 +242,22 @@
<version>0.9-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
+
+ <!-- Enhancer -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+
<artifactId>org.apache.stanbol.enhancer.servicesapi</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Apache Clerezza -->
+ <dependency>
+ <groupId>org.apache.clerezza</groupId>
+
<artifactId>org.apache.clerezza.rdf.core</artifactId>
+ <version>0.12-incubating-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.osgi</groupId>
@@ -375,7 +391,7 @@
<version>2.4</version>
<scope>provided</scope>
</dependency>
-
+
<dependency>
<groupId>commons-collections</groupId>
Modified:
incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java?rev=1129379&r1=1129378&r2=1129379&view=diff
==============================================================================
---
incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java
(original)
+++
incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java
Mon May 30 21:16:15 2011
@@ -511,7 +511,7 @@ public class OntologyResourceHelper {
}
}
- private void deleteStatementsByResource(Resource res) {
+ public void deleteStatementsByResource(Resource res) {
ontModel.remove(ontModel.listStatements(res, null, (RDFNode) null));
ontModel.remove(ontModel.listStatements(null, null, res));
}