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 {}",