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));
     }


Reply via email to