You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by ci...@apache.org on 2011/06/30 16:35:12 UTC

svn commit: r1141552 - in /incubator/stanbol/trunk/cmsadapter: cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/ cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/ core/src/main/java/org/apache/stanbol/cmsadapter/core/mapp...

Author: cihan
Date: Thu Jun 30 14:35:11 2011
New Revision: 1141552

URL: http://svn.apache.org/viewvc?rev=1141552&view=rev
Log:
bugfixes, minor updates, javadocs
EnhancementFetcher no longer merges enhancement graph to generated ontology. Instead adds a property to every resource that indicates where enhancement graph is.
Fixed erronous  ontology href creation in RestURIHelper
Added javadocs for api and some core classes.

Modified:
    incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/CMISNodeTypeLifter.java
    incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/RelationshipProcessor.java
    incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISModelMapper.java
    incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISProperty.java
    incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISQueryHelper.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/DefaultNamingStrategy.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/MappingEngineImpl.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ClassificationObjectProcesser.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ContentObjectProcesser.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ObjectTypeProcessor.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/PropertyProcesser.java
    incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/repository/OfflineAccess.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingConfiguration.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObject.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectAdapter.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectType.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DProperty.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DPropertyDefinition.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/Processor.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/ProcessorProperties.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccess.java
    incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccessManager.java
    incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
    incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/utils/RestURIHelper.java

Modified: incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/CMISNodeTypeLifter.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/CMISNodeTypeLifter.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/CMISNodeTypeLifter.java (original)
+++ incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/CMISNodeTypeLifter.java Thu Jun 30 14:35:11 2011
@@ -90,7 +90,7 @@ public class CMISNodeTypeLifter {
     }
 
     /**
-     * Extracts semantics through CMIS interface using bridge definitions
+     * Extracts semantics through CMIS interface
      * 
      * @param mappingFileContent
      * @throws Exception
@@ -195,7 +195,7 @@ public class CMISNodeTypeLifter {
     private static Boolean objectPropertyCheck(org.apache.stanbol.cmsadapter.servicesapi.model.web.PropertyDefinition prop) {
         PropType propType = prop.getPropertyType();
         // TODO consider all object properties
-        if (propType == PropType.REFERENCE || propType == PropType.PATH || propType == PropType.NAME) {
+        if (propType == PropType.REFERENCE ) {
             return true;
         }
         return false;

Modified: incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/RelationshipProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/RelationshipProcessor.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/RelationshipProcessor.java (original)
+++ incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/processor/RelationshipProcessor.java Thu Jun 30 14:35:11 2011
@@ -8,6 +8,8 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.client.api.RelationshipType;
 import org.apache.chemistry.opencmis.client.api.Session;
 import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.cmsadapter.cmis.repository.CMISObjectId;
 import org.apache.stanbol.cmsadapter.servicesapi.helper.OntologyResourceHelper;
 import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
@@ -19,6 +21,20 @@ import org.slf4j.LoggerFactory;
 import com.hp.hpl.jena.ontology.Individual;
 import com.hp.hpl.jena.ontology.OntProperty;
 
+/**
+ * TODO: This processer is not tested yet.
+ * 
+ * This processor creates OWL object property assertions from CMIS {@link Relationship}s.
+ * Subject is the individual generated for the source object of the relationship.
+ * Property is the property generated for the type of the relationship.
+ * Object is the individual generated for the target object of the relationship.
+ * 
+ * @author cihan
+ *
+ */
+
+@Service
+@Component(immediate=true)
 public class RelationshipProcessor implements Processor {
     private static final Logger log = LoggerFactory.getLogger(RelationshipProcessor.class);
 

Modified: incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISModelMapper.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISModelMapper.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISModelMapper.java (original)
+++ incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISModelMapper.java Thu Jun 30 14:35:11 2011
@@ -20,6 +20,13 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.Property;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropertyDefinition;
 
+/**
+ * This class converts objects from {@linkplain org.apache.chemistry.opencmis.client.api} to objects from
+ * {@linkplain org.apache.stanbol.cmsadapter.servicesapi.model.web}
+ * 
+ * @author cihan
+ * 
+ */
 public class CMISModelMapper {
 
     private static final SimpleDateFormat XML_DATETIME_FORMAT = new SimpleDateFormat("yyyy-mm-dd HH:mm:ssZ");
@@ -34,7 +41,6 @@ public class CMISModelMapper {
             throw new IllegalArgumentException("Expected cmis:document or cmis:folder, found "
                                                + object.getBaseTypeId().name());
         }
-
     }
 
     private static CMSObject getCMSObjectFromDocument(Document document) {

Modified: incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISProperty.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISProperty.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISProperty.java (original)
+++ incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISProperty.java Thu Jun 30 14:35:11 2011
@@ -1,11 +1,7 @@
 package org.apache.stanbol.cmsadapter.cmis.repository;
 
-//Used for properties like cmis:localname, cmis:localnamespace
 public enum CMISProperty {
 
-//    LOCAL_NAME("cmis:localname"),
-//    LOCAL_NAMESPACE("cmis:localnamespace"),
-    PATH("cmis:path"),
     ID("cmis:id");
 
     private final String name;

Modified: incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISQueryHelper.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISQueryHelper.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISQueryHelper.java (original)
+++ incubator/stanbol/trunk/cmsadapter/cmis/src/main/java/org/apache/stanbol/cmsadapter/cmis/repository/CMISQueryHelper.java Thu Jun 30 14:35:11 2011
@@ -6,7 +6,7 @@ public class CMISQueryHelper {
     public static final String CMIS_DOCUMENT_BY_NAME = "SELECT cmis:id FROM cmis:document WHERE cmis:name = '%s'";
 
     public static String[] getCMISIdByNameQuery(String name) {
-        return new String[] {String.format(CMIS_DOCUMENT_BY_NAME, name),
+        return new String[] {String.format(CMIS_FOLDER_BY_NAME, name),
                              String.format(CMIS_DOCUMENT_BY_NAME, name)};
     }
 }

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/DefaultNamingStrategy.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/DefaultNamingStrategy.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/DefaultNamingStrategy.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/mapping/DefaultNamingStrategy.java Thu Jun 30 14:35:11 2011
@@ -116,21 +116,6 @@ public class DefaultNamingStrategy imple
         return getAvailableResourceName(ontologyURI, candidateNames, DATA_PROPERTY_DELIMITER);
     }
 
-    @Override
-    public void setRepositoryAccess(RepositoryAccess repositoryAccess) {
-        this.repositoryAccess = repositoryAccess;
-    }
-
-    @Override
-    public void setSession(Object session) {
-        this.session = session;
-    }
-
-    @Override
-    public void setOntModel(OntModel ontModel) {
-        this.processedModel = ontModel;
-    }
-
     private String getAvailableResourceName(String ontologyURI,
                                             List<String> candidates,
                                             String resourceDelimiter) {

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=1141552&r1=1141551&r2=1141552&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 Thu Jun 30 14:35:11 2011
@@ -67,11 +67,10 @@ public class MappingEngineImpl implement
     private NamingStrategy namingStrategy;
 
     @Activate
-    protected void activate(final Map<?,?> properties){
-        //TODO need to do something here?
+    protected void activate(final Map<?,?> properties) {
+        // TODO need to do something here?
     }
-    
-    
+
     private void runProcessors(List<Object> cmsObjects, String mode) {
         Iterator<Processor> processorIterator;
         synchronized (processors) {
@@ -105,6 +104,8 @@ public class MappingEngineImpl implement
                 new JCRNodeTypeLifter(this).lift();
             } else if (connectionType.contentEquals("CMIS")) {
                 new CMISNodeTypeLifter(this).liftNodes();
+            } else {
+                throw new IllegalArgumentException("Connection type must be one of JCR or CMIS.");
             }
         } catch (RepositoryException e) {
             logger.warn("Lifting error", e);

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ClassificationObjectProcesser.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ClassificationObjectProcesser.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ClassificationObjectProcesser.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ClassificationObjectProcesser.java Thu Jun 30 14:35:11 2011
@@ -13,6 +13,7 @@ import org.apache.felix.scr.annotations.
 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.ConceptBridge;
 import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.PropertyBridge;
 import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.SubsumptionBridge;
@@ -33,6 +34,22 @@ import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.ontology.OntClass;
 
+/**
+ * This processor can process {@link ClassificationObject}s. On
+ * {@link #createDecoratedObjects(List, MappingEngine)} call, for each CMS Object of type
+ * {@link ClassificationObject} an OWL Class is created. Also if there is a property mapping defined in
+ * {@link BridgeDefinitions} then an instance of {@link PropertyProcesser} will be used to process these
+ * definitions. <br/>
+ * If there is a {@link SubsumptionBridge} service available, children of any {@link ClassificationObject}
+ * will be processed by subsumption processer.
+ * 
+ * On {@link #deleteObjects(List, MappingEngine)} call, for each CMS Object of the type
+ * {@link ClassificationObject} the previously created resource is found and all the triples of which the
+ * resource is the subject is deleted.
+ * 
+ * @author Suat
+ * 
+ */
 @Component(immediate = true)
 @Service
 @Reference(cardinality = ReferenceCardinality.MANDATORY_MULTIPLE, referenceInterface = Processor.class, policy = ReferencePolicy.DYNAMIC, bind = "bindProcessor", unbind = "unbindProcessor", name = "processor")

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ContentObjectProcesser.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ContentObjectProcesser.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ContentObjectProcesser.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ContentObjectProcesser.java Thu Jun 30 14:35:11 2011
@@ -30,6 +30,19 @@ import org.slf4j.LoggerFactory;
 import com.hp.hpl.jena.ontology.Individual;
 import com.hp.hpl.jena.ontology.OntClass;
 
+/**
+ * This processor can process {@link ContentObject}s. On {@link #createDecoratedObjects(List, MappingEngine)}
+ * call, for each CMS Object of type {@link ContentObject} an OWL Individual is created. Also if there is a
+ * property mapping defined in {@link BridgeDefinitions} then an instance of {@link PropertyProcesser} will be
+ * used to process these definitions. <br/>
+ * 
+ * On {@link #deleteObjects(List, MappingEngine)} call, for each CMS Object of the type {@link ContentObject}
+ * the previously created resource is found and all the triples of which the resource is the subject is
+ * deleted.
+ * 
+ * @author Suat
+ * 
+ */
 @Component(immediate = true)
 @Service
 public class ContentObjectProcesser extends BaseProcessor implements Processor, ProcessorProperties {

Modified: 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=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/EnhancementFetcher.java Thu Jun 30 14:35:11 2011
@@ -1,9 +1,6 @@
 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;
@@ -18,7 +15,6 @@ import org.apache.felix.scr.annotations.
 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;
@@ -33,31 +29,31 @@ import org.apache.stanbol.cmsadapter.ser
 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.Resource;
 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;
 
+/**
+ * This processer can process CMS Objects of type {@link ContentObject}. If provided ContentObject has a
+ * property with name equal to configured property
+ * <b>org.apache.stanbol.cmsadapter.core.processor.EnhancementFetcher.contentProperty</b> then the content
+ * submitted to content hub, and the individual generated for ContentObject is related to enhancement graph
+ * with {@link CMSAdapterVocabulary#CMSAD_PROPERTY_CONTENT_ITEM_REF}
+ * 
+ * @author cihan
+ * 
+ */
 @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;
@@ -139,73 +135,41 @@ public class EnhancementFetcher extends 
         if (!content.contentEquals("")) {
             try {
                 webResource.type(MediaType.TEXT_PLAIN_TYPE).put(content.getBytes());
+                addContentItemRelation(cmsObject.getID(),
+                    engineRootResource + "metadata/" + cmsObject.getID(), engine);
             } 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);
-            }
-        }
+    private void addContentItemRelation(String cmsObjectId, String contentItemReference, MappingEngine engine) {
 
-        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);
-            }
+        List<Statement> resources = engine
+                .getOntModel()
+                .listStatements(null, CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+                    ResourceFactory.createPlainLiteral(cmsObjectId)).toList();
+        for (Statement stmt : resources) {
+            Resource resource = stmt.getSubject();
+            resource.addProperty(CMSAdapterVocabulary.CMSAD_PROPERTY_CONTENT_ITEM_REF,
+                ResourceFactory.createResource(contentItemReference));
+            logger.debug("Added {} as content item ref to cms object with id {}", contentItemReference,
+                cmsObjectId);
         }
+    }
 
-        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);
-            }
+    private void deleteContentItemRelation(String cmsObjectId, MappingEngine engine) {
+        List<Statement> resources = engine
+                .getOntModel()
+                .listStatements(null, CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+                    ResourceFactory.createPlainLiteral(cmsObjectId)).toList();
+        for (Statement stmt : resources) {
+            engine.getOntModel().removeAll(stmt.getSubject(),
+                CMSAdapterVocabulary.CMSAD_PROPERTY_CONTENT_ITEM_REF, null);
         }
-        return enhOntModel;
     }
 
     private String getTextContent(DObject cmsObject) {
@@ -257,35 +221,8 @@ public class EnhancementFetcher extends 
     }
 
     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());
-                    }
-                }
-            }
+        for (DObject cmsObject : cmsObjects) {
+            deleteContentItemRelation(cmsObject.getID(), engine);
         }
     }
 

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ObjectTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ObjectTypeProcessor.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ObjectTypeProcessor.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ObjectTypeProcessor.java Thu Jun 30 14:35:11 2011
@@ -30,6 +30,22 @@ import com.hp.hpl.jena.rdf.model.RDFList
 import com.hp.hpl.jena.rdf.model.Resource;
 import com.hp.hpl.jena.vocabulary.OWL;
 
+/**
+ * This processer can process CMS Objects of type {@link ObjectTypeDefinition}.
+ * A type definition corresponds to an OWL Class and properties defined on the type corresponds to OWL datatype or OWL object properties.
+ * <br/>
+ * A property is converted to an OWL object property if it is type is amongst following:
+ * <ul>
+ *  <li>{@link PropType#NAME}</li>
+ *  <li>{@link PropType#PATH}</li>
+ *  <li>{@link PropType#REFERENCE}</li>
+ * </ul> 
+ * Otherwise the property is converted to an OWL datatype property.
+ * <br/>
+ * 
+ * @author Suat
+ *
+ */
 @Component(immediate = true)
 @Service
 public class ObjectTypeProcessor implements Processor, ProcessorProperties {

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/PropertyProcesser.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/PropertyProcesser.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/PropertyProcesser.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/PropertyProcesser.java Thu Jun 30 14:35:11 2011
@@ -8,10 +8,13 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.PropertyBridge;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.AnnotationType;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObject;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ClassificationObject;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ContentObject;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropType;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DObject;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DProperty;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DPropertyDefinition;
+import org.apache.stanbol.cmsadapter.servicesapi.processor.Processor;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccess;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 import org.slf4j.Logger;
@@ -26,6 +29,31 @@ import com.hp.hpl.jena.ontology.OntClass
 import com.hp.hpl.jena.ontology.OntModel;
 import com.hp.hpl.jena.ontology.OntResource;
 
+/**
+ * This class does not implement {@link Processor} interface. However other processors uses this class to
+ * process instances of {@link PropertyBridge}s. If the property belongs to a {@link ContentObject} the
+ * following annotations are processed.
+ * <ul>
+ * <li>{@link AnnotationType#INSTANCE_OF}: The OWL Individual that represents source ClassificationObject's
+ * type becomes the OWL Class that represents target value of the property.</li>
+ * <li>{@link AnnotationType#FUNCTIONAL}: The property becomes a functional property.</li>
+ * <li>{@link AnnotationType#SYMMETRIC}: The property becomes a symmetric property.</li>
+ * <li>{@link AnnotationType#TRANSITIVE}: The property becomes a transitive property.</li>
+ * <li>{@link AnnotationType#INVERSE_FUNCTIONAL}: The property becomes an inverse functional property.</li>
+ * </ul>
+ * If the property belongs to a {@link ClassificationObject} the following annotations are processed.
+ * <ul>
+ * <li>{@link AnnotationType#SUBSUMPTION}: The OWL class that represents target ClassificationObject is
+ * considered as subclass of OWL Class that represents source ClassificationObject</li>
+ * <li>{@link AnnotationType#EQUIVALENT_CLASS} The OWL class that represents target ClassificationObject is
+ * considered as equivalent of OWL Class that represents source ClassificationObject</li>
+ * <li>{@link AnnotationType#DISJOINT_WITH} The OWL class that represents source ClassificationObject is
+ * considered as disjoint with OWL Class that represents target ClassificationObject</li>
+ * </ul>
+ * 
+ * @author Suat
+ * 
+ */
 public class PropertyProcesser {
 
     private static final Logger logger = LoggerFactory.getLogger(PropertyProcesser.class);
@@ -167,7 +195,8 @@ public class PropertyProcesser {
             }
             String propName = propDef.getName();
             String propFullName = propDef.getNamespace() + ":" + propDef.getName();
-            if (propName.equals(predicateName) || propName.contains(predicateName) || propFullName.equals(predicateName)) {
+            if (propName.equals(predicateName) || propName.contains(predicateName)
+                || propFullName.equals(predicateName)) {
                 AnnotationType annotation = getAnnotation(propertyBridge.getPropertyAnnotation());
                 processContentObjectProperty(property, propDef, contentObject, individual, annotation, engine);
                 // property found break the loop

Modified: incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/repository/OfflineAccess.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/repository/OfflineAccess.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/repository/OfflineAccess.java (original)
+++ incubator/stanbol/trunk/cmsadapter/core/src/main/java/org/apache/stanbol/cmsadapter/core/repository/OfflineAccess.java Thu Jun 30 14:35:11 2011
@@ -16,6 +16,16 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccess;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 
+/**
+ * This class is used for mocking a {@link RepositoryAccess} service when there is not possible to access a
+ * remote CMS Repository. Instead when initialized with a list of CMS Objects, Offline Access acts as a
+ * repository, providing an implementation of {@link RepositoryAccess} so that there no separate interface for
+ * offline processing.
+ * 
+ * 
+ * @author cihan
+ * 
+ */
 public class OfflineAccess implements RepositoryAccess {
 
     MultiValueMap nameMap = new MultiValueMap();

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java Thu Jun 30 14:35:11 2011
@@ -42,6 +42,13 @@ public class CMSAdapterVocabulary {
     public static final Property CMSAD_PROPERTY_SOURCE_OBJECT_PROP = property(CMS_ADAPTER_VOCABULARY_URI,
         CMSAD_PROPERTY_SOURCE_OBJECT_PROP_NAME);
 
+    /**
+     * Property to access metadata of a specific cms object.
+     */
+    private static final String CMSAD_PROPERTY_CONTENT_ITEM_REF_NAME = "contentItemRef";
+    public static final Property CMSAD_PROPERTY_CONTENT_ITEM_REF = property(CMS_ADAPTER_VOCABULARY_URI,
+        CMSAD_PROPERTY_CONTENT_ITEM_REF_NAME);
+
     /*
      * Properties to store connection info in the ontology
      */

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java Thu Jun 30 14:35:11 2011
@@ -25,6 +25,11 @@ import org.slf4j.LoggerFactory;
 public class MappingModelParser {
     private static final Logger logger = LoggerFactory.getLogger(MappingModelParser.class);
 
+    /**
+     * Parses an XML document and returns corresponding {@link BridgeDefinitions} instance.
+     * @param xmlContent String representation of XML Document.
+     * @return {@link BridgeDefinitions} instance or null if unsuccessful.
+     */
     public static BridgeDefinitions deserializeObject(String xmlContent) {
         BridgeDefinitions bridgeDefinitions = null;
 
@@ -41,6 +46,11 @@ public class MappingModelParser {
         return bridgeDefinitions;
     }
 
+    /**
+     * Converts an object to its XML form.
+     * @param object Any object that can be created by {@link ObjectFactory} 
+     * @return XML Document as a string.
+     */
     public static String serializeObject(Object object) {
         String bridgeDefinitions = null;
 

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingConfiguration.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingConfiguration.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingConfiguration.java Thu Jun 30 14:35:11 2011
@@ -2,34 +2,114 @@ package org.apache.stanbol.cmsadapter.se
 
 import java.util.List;
 
+import org.apache.stanbol.cmsadapter.servicesapi.helper.OntologyResourceHelper;
 import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.BridgeDefinitions;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.AdapterMode;
 
 import com.hp.hpl.jena.ontology.OntModel;
 
+/**
+ * {@link MappingConfiguration} describes an environment where an ontology extraction operation from CMS takes
+ * place.
+ * 
+ * @author Suat
+ * 
+ */
 public interface MappingConfiguration {
+    /**
+     * Changes ontology model that will be generated by the extraction process.
+     * Using this function after the processors started may result in loss of triples.
+     * @param ontModel
+     *            New Ontology
+     */
     void setOntModel(OntModel ontModel);
-    
+
+    /**
+     * Method to retrieve ontology model, although modifications to ontology through this model is discouraged
+     * (see {@link OntologyResourceHelper}), any processor can access and modify this model.
+     * 
+     * @return Ontology that is generated through extraction process.
+     */
     OntModel getOntModel();
-    
+
+    /**
+     * Method to change or set {@link BridgeDefinitions} of the configuration.
+     * 
+     * @param bridgeDefinitions
+     *            {@link BridgeDefinitions} to be used in the extraction process.
+     */
     void setBridgeDefinitions(BridgeDefinitions bridgeDefinitions);
-    
+
+    /**
+     * Method to retrieve {@link BridgeDefinitions} to be used in the extraction process.
+     * 
+     * @return {@link BridgeDefinitions} instance.
+     */
     BridgeDefinitions getBridgeDefinitions();
-    
+
+    /**
+     * Method to change or set {@link AdapterMode} of the configuration. {@link AdapterMode}s are used to tune
+     * when to access a remote repository during extraction process. For detailed explanation see
+     * {@link AdapterMode}
+     * 
+     * @param adapterMode
+     */
     void setAdapterMode(AdapterMode adapterMode);
-    
+
+    /**
+     * Method to retrieve {@link AdapterMode} of the configuration.
+     * 
+     * @return
+     */
     AdapterMode getAdapterMode();
-    
+
+    /**
+     * Method to change or set the URI of the ontology being generated. Changing this configuration during
+     * extraction process may result in inconsistent ontology. The extracted ontology will be automatically
+     * saved to persistence store by by this URI.
+     * 
+     * @param ontologyURI
+     *            URI of the ontology.
+     */
     void setOntologyURI(String ontologyURI);
-    
+
+    /**
+     * Method to retrieve URI of the ontology.
+     * 
+     * @return URI of the ontology.
+     */
     String getOntologyURI();
-    
+
+    /**
+     * Method to change or set {@link ConnectionInfo} of the mapping configuration. ConnectionInfo is used for
+     * accessing the content repository in <b>TOLERATED OFFLINE</b> and <b>ONLINE</b> {@link AdapterMode}s.
+     * 
+     * @param connectionInfo
+     */
     void setConnectionInfo(ConnectionInfo connectionInfo);
-    
+
+    /**
+     * Method to retrieve {@link ConnectionInfo} of the mapping configuration.
+     * 
+     * @return
+     */
     ConnectionInfo getConnectionInfo();
-    
+
+    /**
+     * Method to change or set CMS Objects of the mapping configuration. If {@link AdapterMode} is
+     * <b>ONLINE</b> there is no need to set these objects. They will be retrieved from a CMS repository using
+     * {@link ConnectionInfo} supplied to this configuration. </br>An Interface for a common CMS Object is not yet
+     * defined. So {@link Object} is used as type.
+     * 
+     * @param objects
+     *            A list of objects to be processed by processors during the extraction.
+     */
     void setObjects(List<Object> objects);
-    
+
+    /**
+     * Method to retrieve CMS OBjects of the configuration.
+     * @return List of CMS objects 
+     */
     List<Object> getObjects();
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java Thu Jun 30 14:35:11 2011
@@ -9,30 +9,114 @@ import org.apache.stanbol.cmsadapter.ser
 
 import com.hp.hpl.jena.ontology.OntModel;
 
+/**
+ * {@link MappingEngine} is a wrapper that governs a mapping environment and able to start extraction process
+ * on request.<br/>
+ * Also provides two helper classer to processors that can reduce the work done by each processor. These
+ * helper classes are:
+ * <ol>
+ * <li>
+ * {@link DObjectAdapter}: Processor may want to access some properties that are not listed in plain CMS
+ * models from package {@linkplain org.apache.stanbol.cmsadapter.servicesapi.model.web}. This adapter can wrap
+ * plain CMS Objects into Decorated CMS Objects which can silently access a remote repository an fetch data
+ * not provided by plain CMS Objects.</li>
+ * <li>
+ * {@link OntologyResourceHelper}: When processors are extract new triples, they need to create OWL classes,
+ * individuals and properties. When these entity directly corresponds to a CMS node, type or property, need
+ * for a generic mapper that maps OWL entities to CMS objects arise. Using {@link OntologyResourceHelper}
+ * processors can create the OWL entities that corresponds any CMS object without having to keeping track of
+ * the created classes</li>
+ * </ol>
+ * 
+ * 
+ * @author Suat
+ * 
+ */
 public interface MappingEngine {
+    /**
+     * When extraction process includes {@link BridgeDefinitions} (i.e. registering a new bridge definition or
+     * updating an existing one), this method is called. This function necessarily accesses a CMS repository.
+     * 
+     * @param conf
+     *            Configuration that defines mapping/extraction environment.
+     * @throws RepositoryAccessException
+     * 
+     * 
+     */
     void mapCR(MappingConfiguration conf) throws RepositoryAccessException;
 
+    /**
+     * This method is called when a list of CMS objects are posted for lifting for the first time.
+     * 
+     * @param conf
+     *            Configuration that defines mapping/extraction environment.
+     */
     void createModel(MappingConfiguration conf);
 
+    /**
+     * This method is called when a list of previously submitted CMS objects are posted for updating.
+     * 
+     * @param conf
+     *            Configuration that defines mapping/extraction environment.
+     */
     void updateModel(MappingConfiguration conf);
 
+    /**
+     * This method is called when a list of previously submitted CMS objects are posted for removal. After
+     * execution all processors are expected to delete previously generated triples by themselves from the
+     * extracted ontology model.
+     * 
+     * @param conf
+     *            Configuration that defines mapping/extraction environment.
+     */
     void deleteModel(MappingConfiguration conf);
 
+    /**
+     * 
+     * @return The URI of the ontology which will be generated in lifting process.
+     */
     String getOntologyURI();
-    
+
+    /**
+     * 
+     * @return Ontology which is being generated in the lifting process.
+     */
     OntModel getOntModel();
 
+    /**
+     * Getter for {@link DObjectAdapter} in this lifting context.
+     * 
+     */
     DObjectAdapter getDObjectAdapter();
 
+    /**
+     * Getter for {@link OntologyResourceHelper} in this lifting context.
+     * 
+     */
     OntologyResourceHelper getOntologyResourceHelper();
 
+    /**
+     * Getter for CMS Session in this lifting context.
+     */
     Object getSession();
 
+    /**
+     * Getter for {@link BridgeDefinitions} (if any) in this lifting context.
+     */
     BridgeDefinitions getBridgeDefinitions();
 
+    /**
+     * Getter for {@link RepositoryAccessManager} in this lifting context.
+     */
     RepositoryAccessManager getRepositoryAccessManager();
-    
+
+    /**
+     * Getter for {@link RepositoryAccess} in this lifting context.
+     */
     RepositoryAccess getRepositoryAccess();
-    
+
+    /**
+     * Getter for {@link NamingStrategy} in this lifting context.
+     */
     NamingStrategy getNamingStrategy();
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java Thu Jun 30 14:35:11 2011
@@ -3,11 +3,15 @@ package org.apache.stanbol.cmsadapter.se
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObject;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.ObjectTypeDefinition;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropertyDefinition;
-import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccess;
 
-import com.hp.hpl.jena.ontology.OntModel;
 import com.hp.hpl.jena.rdf.model.RDFList;
 
+/**
+ * Represents how different type of OWL entities are named in an extraction context.
+ * 
+ * @author Suat
+ * 
+ */
 public interface NamingStrategy {
 
     String getClassName(String ontologyURI, CMSObject cmsObject);
@@ -32,10 +36,4 @@ public interface NamingStrategy {
 
     String getUnionClassURI(String ontologyURI, RDFList list);
 
-    void setRepositoryAccess(RepositoryAccess repositoryAccess);
-
-    void setSession(Object session);
-
-    void setOntModel(OntModel ontModel);
-
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObject.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObject.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObject.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObject.java Thu Jun 30 14:35:11 2011
@@ -5,34 +5,80 @@ import java.util.List;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObject;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 
+/**
+ * Decorated form of {@link CMSObject}. While {@link CMSObject} is completely separated from the repository it
+ * is generated, DObject is able to reconnect to the repository and fetch any data that is not present in
+ * {@link CMSObject}. </br> Details of when the repository is determined by {@link AdapterMode}s. See
+ * {@link DObjectAdapter} and {@link AdapterMode} for more details.
+ * 
+ * @author cihan
+ * 
+ */
 public interface DObject {
 
-	String getID();
-	
-	String getPath();
-	
-	String getName();
-	
-	String getNamespace();
-	
-	CMSObject getInstance();
-	
-	List<DObject> getChildren() throws RepositoryAccessException;
-	
-	/**
-	 * Fetches parent of the item from CMS repository.
-	 * @return parent of the object, null in <b>OFFLINE</b> mode. 
-	 * @throws RepositoryAccessException If repository can not be accessed in <b>ONLINE</b> mode.
-	 */
-	DObject getParent() throws RepositoryAccessException;
-	
-	/**
-	 * Fetches object type of the item from CMS repository.
-	 * @return Object type of the object, null in <b>OFFLINE</b> mode. 
-	 * @throws RepositoryAccessException If repository can not be accessed in <b>ONLINE</b> mode.
-	 */
-	DObjectType getObjectType() throws RepositoryAccessException;
-	
-	List<DProperty> getProperties() throws RepositoryAccessException;
-	
+    /**
+     * 
+     * @return Unique identifier of underlying CMSObject.
+     */
+    String getID();
+
+    /**
+     * 
+     * @return Path of the underlying CMSObject, If more than one path is 
+     * present returns the first path.
+     */
+    String getPath();
+
+    /**
+     * 
+     * @return Localname of the underlying CMSObject.
+     */
+    String getName();
+
+    /**
+     * 
+     * @return Namespace of the underlying CMSObject.
+     */
+    String getNamespace();
+    
+    /**
+     * 
+     * @return Underlying CMSObject.
+     */
+    CMSObject getInstance();
+
+    /**
+     * 
+     * @return Direct children of the CMS object, wrapped as {@link DObject}s .May return null in <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *              If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    List<DObject> getChildren() throws RepositoryAccessException;
+
+    /**
+     * Fetches parent of the item from CMS repository.
+     * 
+     * @return parent of the object wrapped as {@link DObject} .May return null in <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *             If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    DObject getParent() throws RepositoryAccessException;
+
+    /**
+     * Fetches object type of the item from CMS repository.
+     * 
+     * @return Object type of the object wrapped as {@link DObjectType} .May return null in <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *             If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    DObjectType getObjectType() throws RepositoryAccessException;
+    
+    /**
+     * 
+     * @return Properties of the CMS object wrapped as {@link DProperty} .May return null in <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *              If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    List<DProperty> getProperties() throws RepositoryAccessException;
+
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectAdapter.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectAdapter.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectAdapter.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectAdapter.java Thu Jun 30 14:35:11 2011
@@ -5,8 +5,16 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.Property;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropertyDefinition;
 
+/**
+ * Adapter Class for converting CMS model objects to Decorated CMS objects.
+ * The former group has no access to the original CMS repository they are extracted from.
+ * The latter can be configured to access to the repository if needed.
+ * @author cihan
+ *
+ */
 public interface DObjectAdapter {
 
+    
     DObject wrapAsDObject(CMSObject node);
 
     DObjectType wrapAsDObjectType(ObjectTypeDefinition definition);
@@ -15,6 +23,10 @@ public interface DObjectAdapter {
 
     DProperty wrapAsDProperty(Property property);
 
+    /**
+     * Session object to connect Remote CMS repository.
+     * @return
+     */
     Object getSession();
 
     /**
@@ -22,7 +34,6 @@ public interface DObjectAdapter {
      * faced.
      * 
      * @param mode
-     * @return
      */
     void setMode(AdapterMode mode);
 

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectType.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectType.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectType.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DObjectType.java Thu Jun 30 14:35:11 2011
@@ -2,23 +2,68 @@ package org.apache.stanbol.cmsadapter.se
 
 import java.util.List;
 
+import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.ObjectTypeDefinition;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 
+/**
+ * Decorated form of {@link ObjectTypeDefinition}. While {@link ObjectTypeDefinition} is completely separated
+ * from the repository it is generated, {@link DObjectType} is able to reconnect to the repository and fetch
+ * any data that is not present in {@link ObjectTypeDefinition}. </br> Details of when the repository is
+ * determined by {@link AdapterMode}s. See {@link DObjectAdapter} and {@link AdapterMode} for more details.
+ * 
+ * @author cihan
+ * 
+ */
 public interface DObjectType {
 
-	String getID();
-	
-	String getName();
-	
-	String getNamespace();
-	
-	List<DPropertyDefinition> getPropertyDefinitions() throws RepositoryAccessException;
-	
-	List<DObjectType> getParentDefinitions() throws RepositoryAccessException;
-	
-	List<DObjectType> getChildDefinitions() throws RepositoryAccessException;
-	
-	ObjectTypeDefinition getInstance();
-	
+    /**
+     * 
+     * @return Unique identifier of underlying {@link ObjectTypeDefinition}
+     */
+    String getID();
+
+    /**
+     * 
+     * @return Localname of underlying {@link ObjectTypeDefinition}
+     * 
+     */
+    String getName();
+
+    /**
+     * 
+     * @return Namespace of underlying {@link ObjectTypeDefinition}
+     */
+    String getNamespace();
+
+    /**
+     * 
+     * @return Property definitions of underlying {@link ObjectTypeDefinition}, wrapped as {@link DPropertyDefinition} 
+     * @throws RepositoryAccessException
+     *             If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    List<DPropertyDefinition> getPropertyDefinitions() throws RepositoryAccessException;
+
+    /**
+     * 
+     * @return Parent type definitions of underlying {@link ObjectTypeDefinition}, wrapped as {@link DObjectType} 
+     * @throws RepositoryAccessException
+     *             If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    List<DObjectType> getParentDefinitions() throws RepositoryAccessException;
+
+    /**
+     * 
+     * @return Child type definitions of underlying {@link ObjectTypeDefinition}, wrapped as {@link DObjectType} 
+     * @throws RepositoryAccessException
+     *             If repository can not be accessed in <b>ONLINE</b> mode.
+     */
+    List<DObjectType> getChildDefinitions() throws RepositoryAccessException;
+
+    /**
+     * 
+     * @return Underlying {@link ObjectTypeDefinition}
+     */
+    ObjectTypeDefinition getInstance();
+
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DProperty.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DProperty.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DProperty.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DProperty.java Thu Jun 30 14:35:11 2011
@@ -5,26 +5,52 @@ import java.util.List;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.Property;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 
+/**
+ * Decorated form of {@link Property}. While {@link Property} is completely separated from the repository it
+ * is generated, {@link DProperty} is able to reconnect to the repository and fetch any data that is not
+ * present in {@link Property}. </br> Details of when the repository is determined by {@link AdapterMode}s.
+ * See {@link DObjectAdapter} and {@link AdapterMode} for more details.
+ * 
+ * @author cihan
+ * 
+ */
 public interface DProperty {
 
+    /**
+     * 
+     * @return Name of the underlying {@link Property}.
+     * 
+     */
     String getName();
 
     /**
      * 
-     * @return Property definition of property, null if <b>STRICT_OFFLINE</b> mode.
-     * @throws RepositoryAccessException if can not access repository in <b>ONLINE</> mode.
+     * @return In which property definition this property is defined, wrapped as {@link DObject} .May return
+     *         null in <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *             if can not access repository in <b>ONLINE</> mode.
      */
     DPropertyDefinition getDefinition() throws RepositoryAccessException;
 
     /**
      * 
-     * @return source object of property, null if <b>STRICT_OFFLINE</b> mode.
-     * @throws RepositoryAccessException if can not access repository in <b>ONLINE</> mode.
+     * @return CMS object to which this property belongs, wrapped as {@link DObject}, .May return null in
+     *         <b>TOLERATED_OFFLINE</b> or <b>STRICT_OFFLINE</b> mode.
+     * @throws RepositoryAccessException
+     *             if can not access repository in <b>ONLINE</> mode.
      */
     DObject getSourceObject() throws RepositoryAccessException;
 
+    /**
+     * 
+     * @return Property values in string representation.
+     */
     List<String> getValue();
 
+    /**
+     * 
+     * @return Underlying {@link Property}
+     */
     Property getInstance();
 
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DPropertyDefinition.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DPropertyDefinition.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DPropertyDefinition.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/web/decorated/DPropertyDefinition.java Thu Jun 30 14:35:11 2011
@@ -7,6 +7,11 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropType;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.PropertyDefinition;
 
+/**
+ * 
+ * @author cihan
+ *
+ */
 public interface DPropertyDefinition {
 
     String getUniqueRef();

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/Processor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/Processor.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/Processor.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/Processor.java Thu Jun 30 14:35:11 2011
@@ -4,10 +4,34 @@ import java.util.List;
 
 import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
 
+/**
+ * An extractor which is responsible for creation and deletion of triples.
+ * With the same list of CMS objects and mapping environment a processor is expected to
+ * be able to delete all the triples it generated after successive calls of 
+ * {@link #createObjects(List, MappingEngine)} and {@linkplain #deleteObjects(List, MappingEngine)} 
+ * @author cihan
+ *
+ */
 public interface Processor {
+    /**
+     * Method for determining if the processor can process the specified CMS object.
+     * @param cmsObject
+     * @return true if the CMS object can be processed.
+     */
     Boolean canProcess(Object cmsObject);
     
+    /**
+     * Creates extracted triples from the provided CMS objects. 
+     * The ontology should be available through <b>engine</b> parameter. 
+     * @param objects a list of CMS objects to process
+     * @param engine 
+     */
     void createObjects(List<Object> objects, MappingEngine engine);
     
+    /**
+     * Deletes previously extracted triples from the provided CMS objects, by this processor.
+     * @param objects a list of CMS objects to process
+     * @param engine
+     */
     void deleteObjects(List<Object> objects, MappingEngine engine);
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/ProcessorProperties.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/ProcessorProperties.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/ProcessorProperties.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/processor/ProcessorProperties.java Thu Jun 30 14:35:11 2011
@@ -2,6 +2,11 @@ package org.apache.stanbol.cmsadapter.se
 
 import java.util.Map;
 
+/**
+ * Implementors of this Interface can override their default processing order.
+ * @author cihan
+ *
+ */
 public interface ProcessorProperties {
     String PROCESSING_ORDER = "org.apache.stanbol.cmsadapter.servicesapi.processor.processing_order";
 

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccess.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccess.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccess.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccess.java Thu Jun 30 14:35:11 2011
@@ -133,28 +133,144 @@ public interface RepositoryAccess {
      */
     CMSObject getFirstNodeByName(String name, ConnectionInfo connectionInfo) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve children of a specific node. Uses existing connection.
+     * 
+     * @param node
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return list of children of the specified node as {@link CMSObject}s
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>node</b> can not be found.
+     */
     List<CMSObject> getChildren(CMSObject node, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve an {@link ObjectTypeDefinition}, given its reference. Uses existing connection.
+     * 
+     * @param typeRef
+     *            Unique identifier of the type in the repository.
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return type definition identified by <b>typeRef</b> as {@link ObjectTypeDefinition}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>node</b> can not be found.
+     */
     ObjectTypeDefinition getObjectTypeDefinition(String typeRef, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve properties of a CMS object. Uses an existing connection.
+     * 
+     * @param node
+     *            A {@link CMSObject} that represents a CMS object in a repository.
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return list of properties of the CMS object, as {@link Property}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>node</b> can not be found.
+     */
     List<Property> getProperties(CMSObject node, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve property definitions of a specific type. Uses an existing connection.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return list of property definitions of the type, as {@link PropertyDefinition}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>instance</b> can not be found.
+     */
     List<PropertyDefinition> getPropertyDefinitions(ObjectTypeDefinition instance, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve parent type definitions of a specific type definition. Uses an existing connection.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return list of type definitions as {@link ObjectTypeDefinition}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>instance</b> can not be found.
+     */
     List<ObjectTypeDefinition> getParentTypeDefinitions(ObjectTypeDefinition instance, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve child type definitions of a specific type definition. Uses an existing connection.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return list of type definitions, as {@link ObjectTypeDefinition}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>instance</b> can not be found.
+     */
     List<ObjectTypeDefinition> getChildObjectTypeDefinitions(ObjectTypeDefinition instance, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to get the CMS object which has <b>instance</b> as a property. Uses an existing connection.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return CMS object, as a {@link CMSObject}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>instance</b> can not be found.
+     */
     CMSObject getContainerObject(Property instance, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to get property definition of a property that belongs to a CMS object.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return Property definition of the <b>instance</b>, as a {@link PropertyDefinition}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>instance</b> can not be found.
+     * 
+     */
     PropertyDefinition getPropertyDefinition(Property instance, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to resolve namespace prefixes used by CMS repository. Uses an existing connection.
+     * 
+     * @param prefix
+     *            Prefix to be resolved.
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return full URI of the namespace
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>prefix</b> can not be resolved.
+     */
     String getNamespaceURI(String prefix, Object session) throws RepositoryAccessException;
 
+    /**
+     * Method to retrieve parent of a CMS node.
+     * 
+     * @param instance
+     * @param session
+     *            An open connection, ready to access repository.
+     * @return parent of the node, as a {@link CMSObject}
+     * @throws RepositoryAccessException
+     *             If repository is not accessible or <b>prefix</b> can not be resolved.
+     */
+    CMSObject getParentByNode(CMSObject instance, Object session) throws RepositoryAccessException;
+
+    /**
+     * 
+     * @param connectionInfo
+     * @return true if the {@link RepositoryAccess} instance can connect to repository with the given
+     *         <b>connectionInfo</b>
+     */
     boolean canRetrieve(ConnectionInfo connectionInfo);
 
+    /**
+     * 
+     * @param session
+     * @return true if the {@link RepositoryAccess} instance can connect to repository with the given
+     *         <b>session</b>
+     */
     boolean canRetrieve(Object session);
 
-    CMSObject getParentByNode(CMSObject instance, Object session) throws RepositoryAccessException;
-
 }

Modified: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccessManager.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccessManager.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccessManager.java (original)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/repository/RepositoryAccessManager.java Thu Jun 30 14:35:11 2011
@@ -2,11 +2,31 @@ package org.apache.stanbol.cmsadapter.se
 
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
 
+/**
+ * This class is responsible for retrieving a suitable accessor when a 
+ * session or connection description is given.
+ * 
+ * @author cihan
+ * 
+ */
 public interface RepositoryAccessManager {
 
-	RepositoryAccess getRepositoryAccessor(ConnectionInfo connectionInfo);
-	
-	RepositoryAccess getRepositoryAccess(Object session);
-	
-	
+    /**
+     * 
+     * @param connectionInfo
+     * @return Any suitable {@link RepositoryAccess} instance that can connect to the
+     * CMS repository described in <b>connectionInfo</b> parameter or null if no suitable 
+     * accessor can be found. 
+     */
+    RepositoryAccess getRepositoryAccessor(ConnectionInfo connectionInfo);
+    
+    /**
+     * 
+     * @param session
+     * @return Any suitable {@link RepositoryAccess} instance that can connect to the
+     * CMS repository through session given in  <b>session</b> parameter or null if no suitable 
+     * accessor can be found. 
+     */
+    RepositoryAccess getRepositoryAccess(Object session);
+
 }

Modified: incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java (original)
+++ incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/resources/RootResource.java Thu Jun 30 14:35:11 2011
@@ -14,6 +14,10 @@ import org.apache.stanbol.commons.web.ba
 @Path("/cmsadapter")
 public class RootResource extends BaseStanbolResource {
 
+    /**
+     * Simply redirects user to CMS Adapter's wiki page at IKS Wiki. 
+     * @return  
+     */
     @GET
     public Response notifyChange() {
         try {

Modified: incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/utils/RestURIHelper.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/utils/RestURIHelper.java?rev=1141552&r1=1141551&r2=1141552&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/utils/RestURIHelper.java (original)
+++ incubator/stanbol/trunk/cmsadapter/web/src/main/java/org/apache/stanbol/cmsadapter/web/utils/RestURIHelper.java Thu Jun 30 14:35:11 2011
@@ -13,7 +13,7 @@ public class RestURIHelper {
 	}
 
 	public static String getOntologyHref(String ontologyURI) {
-		return ONTOLOGY + "/" + ontologyURI;
+		return "/" + ONTOLOGY + "/" + ontologyURI;
 	}
 
 	public static String getClassHref(String ontologyURI, String classURI) {