You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by su...@apache.org on 2011/08/04 17:03:37 UTC

svn commit: r1153900 - in /incubator/stanbol/trunk/cmsadapter: core/src/main/java/org/apache/stanbol/cmsadapter/core/processor/ jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/

Author: suat
Date: Thu Aug  4 15:03:36 2011
New Revision: 1153900

URL: http://svn.apache.org/viewvc?rev=1153900&view=rev
Log:
-Setting type of the individual is changed while parsing an object property. Target individual's type is set as its own type.
-Drop out the logic which creates ranges as union class according to restriction of property definitions

Modified:
    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/jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/JCRNodeTypeLifter.java

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=1153900&r1=1153899&r2=1153900&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 Aug  4 15:03:36 2011
@@ -26,7 +26,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Service;
 import org.apache.stanbol.cmsadapter.servicesapi.helper.OntologyResourceHelper;
 import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
-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.PropType;
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DObjectAdapter;
@@ -34,7 +33,6 @@ import org.apache.stanbol.cmsadapter.ser
 import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DPropertyDefinition;
 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.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,9 +40,7 @@ import org.slf4j.LoggerFactory;
 import com.hp.hpl.jena.ontology.DatatypeProperty;
 import com.hp.hpl.jena.ontology.ObjectProperty;
 import com.hp.hpl.jena.ontology.OntClass;
-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
@@ -128,65 +124,13 @@ public class ObjectTypeProcessor impleme
 
     private void processProperties(DObjectType objectType, OntClass subjectClass, MappingEngine engine) throws RepositoryAccessException {
         for (DPropertyDefinition propDef : objectType.getPropertyDefinitions()) {
-            RepositoryAccess accessor = engine.getRepositoryAccess();
-            Object session = engine.getSession();
             OntologyResourceHelper orh = engine.getOntologyResourceHelper();
 
             if ((propDef.getPropertyType() == PropType.NAME) || (propDef.getPropertyType() == PropType.PATH)
                 || (propDef.getPropertyType() == PropType.REFERENCE)) {
 
-                List<String> constraints = propDef.getValueConstraints();
-                List<CMSObject> referencedObjects = new ArrayList<CMSObject>();
-
-                if (propDef.getPropertyType() == PropType.NAME) {
-                    for (String constraint : constraints) {
-                        try {
-                            referencedObjects.addAll(accessor.getNodeByName(constraint, session));
-                        } catch (RepositoryAccessException e) {
-                            logger.warn("Error while getting referenced value {} ", constraint, e);
-                        }
-                    }
-
-                } else if (propDef.getPropertyType() == PropType.PATH) {
-                    for (String constraint : constraints) {
-                        try {
-                            referencedObjects.addAll(accessor.getNodeByPath(constraint, session));
-                        } catch (RepositoryAccessException e) {
-                            logger.warn("Error while getting referenced value {} ", constraint, e);
-                        }
-                    }
-
-                } else if (propDef.getPropertyType() == PropType.REFERENCE) {
-                    for (String constraint : constraints) {
-                        try {
-                            referencedObjects.addAll(accessor.getNodeById(constraint, session));
-                        } catch (RepositoryAccessException e) {
-                            logger.warn("Error while getting referenced value {} ", constraint, e);
-                        }
-                    }
-                }
-
-                Resource rangeClass = null;
-                if (referencedObjects.size() == 0) {
-                    rangeClass = OWL.Thing;
-
-                } else if (referencedObjects.size() == 1) {
-                    rangeClass = orh.createOntClassByCMSObject(referencedObjects.get(0));
-
-                    if (rangeClass == null) {
-                        logger.warn("Failed create class for range value {}", referencedObjects.get(0)
-                                .getLocalname());
-                    }
-
-                } else {
-                    RDFList rdfList = engine.getOntModel().createList();
-                    for (CMSObject referencedObject : referencedObjects) {
-                        rdfList = rdfList.cons(orh.createOntClassByCMSObject(referencedObject));
-                    }
-                    rangeClass = orh.createUnionClass(rdfList);
-                }
                 ObjectProperty op = orh.createObjectPropertyByPropertyDefinition(propDef.getInstance(),
-                    Arrays.asList(new Resource[] {subjectClass}), Arrays.asList(new Resource[] {rangeClass}));
+                    Arrays.asList(new Resource[] {subjectClass}), new ArrayList<Resource>());
 
                 if (op == null) {
                     logger.warn("Failed to create ObjectProperty for property definition {}",

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=1153900&r1=1153899&r2=1153900&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 Aug  4 15:03:36 2011
@@ -322,12 +322,11 @@ public class PropertyProcesser {
             return;
         }
 
-        OntResource individualType = ontologyResourceHelper.createOntClassByReference(contentObject
-                .getInstance().getObjectTypeRef());
-
         for (CMSObject referencedObject : referencedObjects) {
+            OntResource targetIndividualType = ontologyResourceHelper
+                    .createOntClassByReference(referencedObject.getObjectTypeRef());
             Individual ind = ontologyResourceHelper.createIndividualByCMSObject(referencedObject,
-                individualType);
+                targetIndividualType);
             if (ind != null) {
                 individual.addProperty(objectProperty, ind);
             } else {

Modified: incubator/stanbol/trunk/cmsadapter/jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/JCRNodeTypeLifter.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/JCRNodeTypeLifter.java?rev=1153900&r1=1153899&r2=1153900&view=diff
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/JCRNodeTypeLifter.java (original)
+++ incubator/stanbol/trunk/cmsadapter/jcr/src/main/java/org/apache/stanbol/cmsadapter/jcr/processor/JCRNodeTypeLifter.java Thu Aug  4 15:03:36 2011
@@ -18,7 +18,6 @@ package org.apache.stanbol.cmsadapter.jc
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.List;
 
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
@@ -31,19 +30,15 @@ import org.apache.stanbol.cmsadapter.jcr
 import org.apache.stanbol.cmsadapter.servicesapi.helper.CMSAdapterVocabulary;
 import org.apache.stanbol.cmsadapter.servicesapi.helper.OntologyResourceHelper;
 import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
-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.PropType;
 import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccess;
-import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.hp.hpl.jena.ontology.DatatypeProperty;
 import com.hp.hpl.jena.ontology.ObjectProperty;
 import com.hp.hpl.jena.ontology.OntClass;
-import com.hp.hpl.jena.ontology.OntModel;
-import com.hp.hpl.jena.rdf.model.RDFList;
 import com.hp.hpl.jena.rdf.model.Resource;
 import com.hp.hpl.jena.vocabulary.OWL;
 
@@ -54,13 +49,11 @@ public class JCRNodeTypeLifter {
     private Session session;
     private RepositoryAccess accessor;
     private OntologyResourceHelper ontologyResourceHelper;
-    private OntModel jcrOntModel;
-    
+
     public JCRNodeTypeLifter(MappingEngine mappingEngine) {
         this.engine = mappingEngine;
         this.session = (Session) engine.getSession();
         this.ontologyResourceHelper = this.engine.getOntologyResourceHelper();
-        this.jcrOntModel = this.engine.getOntModel();
         this.accessor = this.engine.getRepositoryAccessManager()
                 .getRepositoryAccess(this.engine.getSession());
         if (this.accessor == null) {
@@ -107,63 +100,9 @@ public class JCRNodeTypeLifter {
                         || (propDef.getPropertyType() == PropType.PATH)
                         || (propDef.getPropertyType() == PropType.REFERENCE)) {
 
-                        List<String> constraints = propDef.getValueConstraint();
-                        List<CMSObject> referencedObjects = new ArrayList<CMSObject>();
-
-                        if (propDef.getPropertyType() == PropType.NAME) {
-                            for (String constraint : constraints) {
-                                try {
-                                    referencedObjects
-                                            .addAll(accessor.getNodeByName(constraint, this.session));
-                                } catch (RepositoryAccessException e) {
-                                    logger.warn("Error while getting referenced value {} ", constraint, e);
-                                }
-                            }
-
-                        } else if (propDef.getPropertyType() == PropType.PATH) {
-                            for (String constraint : constraints) {
-                                try {
-                                    referencedObjects
-                                            .addAll(accessor.getNodeByPath(constraint, this.session));
-                                } catch (RepositoryAccessException e) {
-                                    logger.warn("Error while getting referenced value {} ", constraint, e);
-                                }
-                            }
-
-                        } else if (propDef.getPropertyType() == PropType.REFERENCE) {
-                            for (String constraint : constraints) {
-                                try {
-                                    referencedObjects.addAll(accessor.getNodeById(constraint, this.session));
-                                } catch (RepositoryAccessException e) {
-                                    logger.warn("Error while getting referenced value {} ", constraint, e);
-                                }
-                            }
-                        }
-
-                        Resource rangeClass = null;
-                        if (referencedObjects.size() == 0) {
-                            rangeClass = OWL.Thing;
-
-                        } else if (referencedObjects.size() == 1) {
-                            rangeClass = ontologyResourceHelper.createOntClassByCMSObject(referencedObjects
-                                    .get(0));
-
-                            if (rangeClass == null) {
-                                logger.warn("Failed create class for range value {}", referencedObjects
-                                        .get(0).getLocalname());
-                            }
-
-                        } else {
-                            RDFList rdfList = jcrOntModel.createList();
-                            for (CMSObject referencedObject : referencedObjects) {
-                                rdfList = rdfList.cons(ontologyResourceHelper
-                                        .createOntClassByCMSObject(referencedObject));
-                            }
-                            rangeClass = ontologyResourceHelper.createUnionClass(rdfList);
-                        }
                         ObjectProperty op = ontologyResourceHelper.createObjectPropertyByPropertyDefinition(
                             propDef, Arrays.asList(new Resource[] {nodeTypeClass}),
-                            Arrays.asList(new Resource[] {rangeClass}));
+                            new ArrayList<Resource>());
 
                         if (op == null) {
                             logger.warn("Failed to create ObjectProperty for property definition {}",