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/04/30 13:18:34 UTC
svn commit: r1098099 [3/5] - in /incubator/stanbol/trunk/cmsadapter: ./
core/ core/src/ core/src/main/ core/src/main/java/ core/src/main/java/org/
core/src/main/java/org/apache/ core/src/main/java/org/apache/stanbol/
core/src/main/java/org/apache/stanb...
Added: incubator/stanbol/trunk/cmsadapter/parent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/parent/pom.xml?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/parent/pom.xml (added)
+++ incubator/stanbol/trunk/cmsadapter/parent/pom.xml Sat Apr 30 11:18:30 2011
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.parent</artifactId>
+ <packaging>pom</packaging>
+ <version>0.9-SNAPSHOT</version>
+
+ <name>Apache Stanbol CMS Adapter parent POM</name>
+ <description>
+ Parent POM for the IKS Ontology Generator
+ </description>
+
+ <inceptionYear>2010</inceptionYear>
+
+ <scm>
+ </scm>
+
+ <build>
+ <plugins>
+
+ <!-- requires Java 6 because Clerezza artefacts are compiled using Java
+ 6 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>enforce-java</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <!-- Constraint disabled since even fixing the version for the maven
+ eclipse plugin does not seem to make this rule pass <requirePluginVersions/> -->
+ <requireJavaVersion>
+ <message>
+ Java 6 or higher is required to compile this module
+ </message>
+ <version>1.6</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <!-- Attach sources for all builds -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <inherited>true</inherited>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+
+ <pluginManagement>
+ <plugins>
+ <!-- Compile for >= Java 5 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.1-beta-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>maven-jetty-plugin</artifactId>
+ <version>6.1.20</version>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>2.0.1</version>
+ <inherited>true</inherited>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ <version>1.4.2</version>
+ <!-- slf4j impl is needed when QDox inspects/loads classes that use
+ a static field for the logger, so that those classes can be loaded. -->
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>generate-scr-scrdescriptor</id>
+ <goals>
+ <goal>scr</goal>
+ </goals>
+ <configuration>
+ <properties>
+ <service.vendor>Apache Stanbol</service.vendor>
+ </properties>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-beta-1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ <version>2.0.4-incubator</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <version>2.4.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <version>2.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>2.1.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>2.1.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4.3</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.5</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.3.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.8</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+
+ <developers>
+ <!-- TBD -->
+ </developers>
+
+ <dependencyManagement>
+ <dependencies>
+ <!-- Stanbol Dependencies -->
+ <!-- Commons -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.commons.web.base</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ </dependency>
+
+ <!-- Ontology manager store -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.store.rest.client</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.store.api</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- CMS Adapter -->
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.servicesapi</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.core</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.rest.client</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.jcr</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>1.2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jmock</groupId>
+ <artifactId>jmock-junit4</artifactId>
+ <version>2.5.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ <version>1.4.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ <version>1.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ <version>1.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>2.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-client-api</artifactId>
+ <version>0.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-rmi</artifactId>
+ <version>2.2.5</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-commons</artifactId>
+ <version>2.2.5</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.hp.hpl.jena</groupId>
+ <artifactId>jena</artifactId>
+ <version>2.6.3</version>
+ <scope>provided</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- SLF4J -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.5.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.5.2</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Freemarker -->
+ <dependency>
+ <groupId>org.freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>2.3.9</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Jettison -->
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.2</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Commons -->
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+
+ </dependencies>
+ </dependencyManagement>
+
+ <profiles>
+ <profile>
+ <!-- This profile allows for installing/updating a bundle in a running
+ FISE instance right after building it. Example: mvn clean install -P installBundle
+ -Dsling.url=http://localhost:8080/system/console Or, to make it faster without
+ cleaning up or running tests: mvn -o install -DskipTests -P installBundle
+ -Dsling.url=http://localhost:8080/system/console -->
+ <id>installBundle</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install-bundle</id>
+ <goals>
+ <goal>install</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>sonar</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <properties>
+ <!-- EXAMPLE FOR MYSQL -->
+ <sonar.jdbc.url>
+ jdbc:mysql://195.142.27.163:3306/sonar?useUnicode=true&characterEncoding=utf8
+ </sonar.jdbc.url>
+ <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
+ <sonar.jdbc.username>sonar</sonar.jdbc.username>
+ <sonar.jdbc.password>sonar</sonar.jdbc.password>
+
+ <!-- SERVER ON A REMOTE HOST -->
+ <sonar.host.url>http://195.142.27.163:9000</sonar.host.url>
+ </properties>
+ </profile>
+ </profiles>
+
+ <!-- needed because of Clerezza dependency -->
+ <repositories>
+ <repository>
+ <id>apache</id>
+ <name>apache repository</name>
+ <snapshots>
+ <updatePolicy>always</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </snapshots>
+ <url>http://repository.apache.org/content/groups/snapshots-group</url>
+ <layout>default</layout>
+ </repository>
+ <repository>
+ <id>java.net</id>
+ <url>http://download.java.net/maven/2</url>
+ </repository>
+ <repository> <!-- used for the jdom bundle com.springsource.org.jdom (rw) -->
+ <id>com.springsource.repository.bundles.external</id>
+ <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
+ <url>http://repository.springsource.com/maven/bundles/external</url>
+ </repository>
+ </repositories>
+
+ <properties>
+ <chemistryVersion>0.1.0-incubating</chemistryVersion>
+ </properties>
+</project>
Propchange: incubator/stanbol/trunk/cmsadapter/parent/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/cmsadapter/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/pom.xml?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/pom.xml (added)
+++ incubator/stanbol/trunk/cmsadapter/pom.xml Sat Apr 30 11:18:30 2011
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.parent</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>parent</relativePath>
+ </parent>
+
+ <artifactId>org.apache.stanbol.cmsadapter.reactor</artifactId>
+ <packaging>pom</packaging>
+ <name>Apache Stanbol CMS Adapter Reactor</name>
+
+ <modules>
+ <module>parent</module>
+ <module>servicesapi</module>
+ <module>core</module>
+ <module>jcr</module>
+ <module>web</module>
+ <module>rest-client</module>
+ <module>crx-rmi</module>
+ <module>launchers/lite</module>
+ </modules>
+</project>
+
Propchange: incubator/stanbol/trunk/cmsadapter/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/cmsadapter/rest-client/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/rest-client/pom.xml?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/rest-client/pom.xml (added)
+++ incubator/stanbol/trunk/cmsadapter/rest-client/pom.xml Sat Apr 30 11:18:30 2011
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.parent</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.rest.client</artifactId>
+ <packaging>bundle</packaging>
+
+ <name>Apache Stanbol CMS Adapter Rest Client Bundle</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.jersey</groupId>
+ <artifactId>jersey-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.servicesapi</artifactId>
+ </dependency>
+ </dependencies>
+</project>
+
Propchange: incubator/stanbol/trunk/cmsadapter/rest-client/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClient.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClient.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClient.java (added)
+++ incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClient.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,13 @@
+package org.apache.stanbol.cmsadapter.rest.client;
+
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.BridgeDefinitions;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObjects;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+
+public interface CMSAdapterRESTClient {
+ public void addBridgeDefinitions(BridgeDefinitions bridgeDefinitions, ConnectionInfo connectionInfo);
+
+ public void updateBridgeDefinitions(String ontologyURI, BridgeDefinitions bridgeDefinitions);
+
+ public void notifyContentChange(String ontologyURI, CMSObjects cmsObjects);
+}
Added: incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClientImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClientImpl.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClientImpl.java (added)
+++ incubator/stanbol/trunk/cmsadapter/rest-client/src/main/java/org/apache/stanbol/cmsadapter/rest/client/CMSAdapterRESTClientImpl.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,117 @@
+package org.apache.stanbol.cmsadapter.rest.client;
+
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.Dictionary;
+import java.util.List;
+import java.util.Vector;
+
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.BridgeDefinitions;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.ObjectFactory;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.CMSObjects;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+import org.osgi.service.component.ComponentContext;
+import org.xml.sax.SAXException;
+
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
+
+@Component(immediate = true, metatype = true)
+@Service
+public class CMSAdapterRESTClientImpl implements CMSAdapterRESTClient {
+ private static final String CMS_ADAPTER_REST_PROP = "org.apache.stanbol.cmsadapter.web";
+ private static final String NOTIFY = "notify";
+ private static final String BRIDGE_DEFINITONS = "bridgeDefinitions";
+ private static final String DELIMITER = "/";
+
+ @Property(name = CMS_ADAPTER_REST_PROP, value = "http://localhost:8080/cmsadapter/")
+ private String cmsAdapterEndpoint;
+
+ private Client client = null;
+ private Marshaller marshaller = null;
+
+ public CMSAdapterRESTClientImpl() throws JAXBException, SAXException {
+ client = Client.create();
+ ClassLoader cl = ObjectFactory.class.getClassLoader();
+ JAXBContext jc = JAXBContext.newInstance(ObjectFactory.class.getPackage().getName(), cl);
+ marshaller = jc.createMarshaller();
+ String schemaLocations[] = {"model/CMSObjectModel.xsd", "model/CR2OntologyMap.xsd"};
+ SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI,
+ "com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory",
+ CMSAdapterRESTClientImpl.class.getClassLoader());
+
+ List<StreamSource> streamSourceList = new Vector<StreamSource>();
+ for (String schemaLocation : schemaLocations) {
+ InputStream is = cl.getResourceAsStream(schemaLocation);
+ StreamSource streamSource = new StreamSource(is);
+ streamSourceList.add(streamSource);
+ }
+ StreamSource sources[] = new StreamSource[streamSourceList.size()];
+ Schema schema = schemaFactory.newSchema(streamSourceList.toArray(sources));
+ marshaller.setSchema(schema);
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ }
+
+ @Activate
+ public void activate(ComponentContext context) {
+ Dictionary properties = context.getProperties();
+ this.cmsAdapterEndpoint = ((String) properties.get(CMS_ADAPTER_REST_PROP));
+ if (!cmsAdapterEndpoint.endsWith("/")) {
+ cmsAdapterEndpoint += "/";
+ }
+ }
+
+ @Override
+ public void addBridgeDefinitions(BridgeDefinitions bridgeDefinitions, ConnectionInfo connectionInfo) {
+ WebResource webResource = client.resource(cmsAdapterEndpoint + BRIDGE_DEFINITONS);
+ MultivaluedMap<String,String> formData = new MultivaluedMapImpl();
+ formData.add("bridgeDefinitions", serialize(bridgeDefinitions));
+ formData.add("connectionInfo", serialize(connectionInfo));
+ webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(String.class, formData);
+ }
+
+ @Override
+ public void updateBridgeDefinitions(String ontologyURI, BridgeDefinitions bridgeDefinitions) {
+ WebResource webResource = client.resource(cmsAdapterEndpoint + BRIDGE_DEFINITONS);
+ MultivaluedMap<String,String> formData = new MultivaluedMapImpl();
+ formData.add("bridgeDefinitions", serialize(bridgeDefinitions));
+ formData.add("ontologyURI", ontologyURI);
+ webResource.type(MediaType.APPLICATION_FORM_URLENCODED).put(String.class, formData);
+ }
+
+ @Override
+ public void notifyContentChange(String ontologyURI, CMSObjects cmsObjects) {
+ WebResource webResource = client.resource(cmsAdapterEndpoint + ontologyURI + DELIMITER + NOTIFY);
+ MultivaluedMap<String,String> formData = new MultivaluedMapImpl();
+ formData.add("changedObjects", serialize(cmsObjects));
+ webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(formData);
+
+ }
+
+ // FIXME Check whether Jersey provides automatic serialization
+ private String serialize(Object object) {
+ StringWriter writer = new StringWriter();
+ try {
+ marshaller.marshal(object, writer);
+ return writer.toString();
+ } catch (JAXBException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/pom.xml?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/pom.xml (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/pom.xml Sat Apr 30 11:18:30 2011
@@ -0,0 +1,61 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>org.apache.stanbol.cmsadapter.parent</artifactId>
+ <groupId>org.apache.stanbol</groupId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.cmsadapter.servicesapi</artifactId>
+ <packaging>bundle</packaging>
+
+ <name>Apache Stanbol CMS adapter API bundle</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ <configuration>
+ <excludes>
+ org/apache/stanbol/cmsadapter/servicesapi/model/**
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.ontologymanager.store.rest.client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.chemistry.opencmis</groupId>
+ <artifactId>chemistry-opencmis-client-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.hp.hpl.jena</groupId>
+ <artifactId>jena</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
Propchange: incubator/stanbol/trunk/cmsadapter/servicesapi/pom.xml
------------------------------------------------------------------------------
svn:executable = *
Added: 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=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/CMSAdapterVocabulary.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,83 @@
+package org.apache.stanbol.cmsadapter.servicesapi.helper;
+
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+
+public class CMSAdapterVocabulary {
+ private static final String RESOURCE_DELIMITER = "#";
+ private static final String PATH_DELIMITER = "/";
+
+ public static final String DEFAULT_NS_URI = "http://org.apache.stanbol";
+
+ public static final String CMS_ADAPTER_VOCABULARY_PREFIX = "cmsad";
+ public static final String CMS_ADAPTER_VOCABULARY_URI = DEFAULT_NS_URI + PATH_DELIMITER
+ + CMS_ADAPTER_VOCABULARY_PREFIX
+ + RESOURCE_DELIMITER;
+
+ /*
+ * Property to represent the path of the CMS item
+ */
+ public static final String CMSAD_PATH_PROP_NAME = "path";
+ public static final Property CMSAD_PATH_PROP = property(CMS_ADAPTER_VOCABULARY_URI, CMSAD_PATH_PROP_NAME);
+
+ /*
+ * Property to keep mapping between resource name and its unique reference
+ */
+ private static final String CMSAD_RESOURCE_REF_PROP_NAME = "resourceUniqueRef";
+ public static final Property CMSAD_RESOURCE_REF_PROP = property(CMS_ADAPTER_VOCABULARY_URI,
+ CMSAD_RESOURCE_REF_PROP_NAME);
+
+ /*
+ * Properties to store connection info in the ontology
+ */
+ // connection info resource
+ private static final String CONNECTION_INFO_RES_NAME = "connectionInfo";
+ public static final Resource CONNECTION_INFO_RES = resource(CMS_ADAPTER_VOCABULARY_URI,
+ CONNECTION_INFO_RES_NAME);
+
+ // workspace property
+ private static final String CONNECTION_WORKSPACE_PROP_NAME = "workspace";
+ public static final Property CONNECTION_WORKSPACE_PROP = property(CMS_ADAPTER_VOCABULARY_URI, CONNECTION_WORKSPACE_PROP_NAME);
+
+ // username property
+ private static final String CONNECTION_USERNAME_PROP_NAME = "username";
+ public static final Property CONNECTION_USERNAME_PROP = property(CMS_ADAPTER_VOCABULARY_URI, CONNECTION_USERNAME_PROP_NAME);
+
+ // password property
+ private static final String CONNECTION_PASSWORD_PROP_NAME = "password";
+ public static final Property CONNECTION_PASSWORD_PROP = property(CMS_ADAPTER_VOCABULARY_URI, CONNECTION_PASSWORD_PROP_NAME);
+
+ // workspace url property
+ private static final String CONNECTION_WORKSPACE_URL_PROP_NAME = "workspaceURL";
+ public static final Property CONNECTION_WORKSPACE_URL_PROP = property(CMS_ADAPTER_VOCABULARY_URI,
+ CONNECTION_WORKSPACE_URL_PROP_NAME);
+
+ // connection type property
+ private static final String CONNECTION_TYPE_PROP_NAME = "connectionType";
+ public static final Property CONNECTION_TYPE_PROP = property(CMS_ADAPTER_VOCABULARY_URI,
+ CONNECTION_TYPE_PROP_NAME);
+
+ /*
+ * Properties to store bridge definitions
+ */
+ // bridge definitions resource
+ private static final String BRIDGE_DEFINITIONS_RES_NAME = "bridgeDefinitions";
+ public static final Resource BRIDGE_DEFINITIONS_RES = resource(CMS_ADAPTER_VOCABULARY_URI,
+ BRIDGE_DEFINITIONS_RES_NAME);
+
+ // property to keep bridge definitions
+ private static final String BRIDGE_DEFINITIONS_CONTENT_PROP_NAME = "content";
+ public static final Property BRIDGE_DEFINITIONS_CONTENT_PROP = property(CMS_ADAPTER_VOCABULARY_URI,
+ BRIDGE_DEFINITIONS_CONTENT_PROP_NAME);
+
+ private static Property property(String URI, String local) {
+ URI = OntologyResourceHelper.addResourceDelimiter(URI);
+ return ResourceFactory.createProperty(URI, local);
+ }
+
+ private static Resource resource(String URI, String local) {
+ URI = OntologyResourceHelper.addResourceDelimiter(URI);
+ return ResourceFactory.createResource(URI + local);
+ }
+}
Added: 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=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/MappingModelParser.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,112 @@
+package org.apache.stanbol.cmsadapter.servicesapi.helper;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+
+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.InstanceBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.ObjectFactory;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.PropertyBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.SubsumptionBridge;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class MappingModelParser {
+ private static final Logger logger = LoggerFactory
+ .getLogger(MappingModelParser.class);
+
+ public static BridgeDefinitions deserializeObject(String xmlContent) {
+ BridgeDefinitions bridgeDefinitions = null;
+
+ try {
+ ClassLoader cl = ObjectFactory.class.getClassLoader();
+ JAXBContext jc = JAXBContext.newInstance(ObjectFactory.class
+ .getPackage().getName(), cl);
+ Unmarshaller um = jc.createUnmarshaller();
+ StringReader stringReader = new StringReader(xmlContent);
+ bridgeDefinitions = (BridgeDefinitions) um.unmarshal(stringReader);
+
+ } catch (JAXBException e) {
+ logger.error("JAXB Exception when parsing serialized BridgeDefinitions");
+ }
+ return bridgeDefinitions;
+ }
+
+ public static String serializeObject(Object object) {
+ String bridgeDefinitions = null;
+
+ try {
+ ClassLoader cl = ObjectFactory.class.getClassLoader();
+ JAXBContext jc = JAXBContext.newInstance(ObjectFactory.class
+ .getPackage().getName(), cl);
+ Marshaller m = jc.createMarshaller();
+ StringWriter stringWriter = new StringWriter();
+ m.marshal(object, stringWriter);
+ bridgeDefinitions = stringWriter.toString();
+
+ } catch (JAXBException e) {
+ logger.error("JAXB Exception when parsing serialized BridgeDefinitions");
+ }
+ return bridgeDefinitions;
+ }
+
+
+ public static List<ConceptBridge> getConceptBridges(
+ BridgeDefinitions bridgeDefinitions) {
+ List<ConceptBridge> cList = new ArrayList<ConceptBridge>();
+ List<Object> aList = bridgeDefinitions.getConceptBridgeOrSubsumptionBridgeOrPropertyBridge();
+ for (Object bridge : aList) {
+ if (bridge instanceof ConceptBridge) {
+ cList.add((ConceptBridge) bridge);
+ }
+ }
+ return cList;
+ }
+
+ public static List<SubsumptionBridge> getSubsumptionBridges(
+ BridgeDefinitions bridgeDefinitions) {
+
+ List<SubsumptionBridge> sList = new ArrayList<SubsumptionBridge>();
+ List<Object> aList = bridgeDefinitions.getConceptBridgeOrSubsumptionBridgeOrPropertyBridge();
+ for (Object bridge : aList) {
+ if (bridge instanceof SubsumptionBridge) {
+ sList.add((SubsumptionBridge) bridge);
+ }
+ }
+ return sList;
+ }
+
+ public static List<PropertyBridge> getPropertyBridges(
+ BridgeDefinitions bridgeDefinitions) {
+
+ List<PropertyBridge> pList = new ArrayList<PropertyBridge>();
+ List<Object> aList = bridgeDefinitions.getConceptBridgeOrSubsumptionBridgeOrPropertyBridge();
+ for (Object bridge : aList) {
+ if (bridge instanceof PropertyBridge) {
+ pList.add((PropertyBridge) bridge);
+ }
+ }
+ return pList;
+ }
+
+ public static List<InstanceBridge> getInstanceBridges(
+ BridgeDefinitions bridgeDefinitions) {
+
+ List<InstanceBridge> sList = new ArrayList<InstanceBridge>();
+ List<Object> aList = bridgeDefinitions.getConceptBridgeOrSubsumptionBridgeOrPropertyBridge();
+ for (Object bridge : aList) {
+ if (bridge instanceof InstanceBridge) {
+ sList.add((InstanceBridge) bridge);
+ }
+ }
+ return sList;
+ }
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/helper/OntologyResourceHelper.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,419 @@
+package org.apache.stanbol.cmsadapter.servicesapi.helper;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+
+import org.apache.stanbol.cmsadapter.servicesapi.mapping.MappingEngine;
+import org.apache.stanbol.cmsadapter.servicesapi.mapping.NamingStrategy;
+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.ObjectFactory;
+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.PropertyDefinition;
+import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
+import org.apache.stanbol.ontologymanager.store.rest.client.RestClient;
+import org.apache.stanbol.ontologymanager.store.rest.client.RestClientException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.hp.hpl.jena.enhanced.UnsupportedPolymorphismException;
+import com.hp.hpl.jena.ontology.DatatypeProperty;
+import com.hp.hpl.jena.ontology.Individual;
+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.ontology.OntModelSpec;
+import com.hp.hpl.jena.ontology.OntProperty;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.RDFList;
+import com.hp.hpl.jena.rdf.model.ResIterator;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.vocabulary.XSD;
+
+public class OntologyResourceHelper {
+ private static final Logger log = LoggerFactory.getLogger(OntologyResourceHelper.class);
+ private OntModel ontModel;
+ private String ontologyURI;
+ private NamingStrategy namingStrategy;
+
+ public OntologyResourceHelper(MappingEngine mappingEngine) {
+ this.ontModel = mappingEngine.getOntModel();
+ this.ontologyURI = mappingEngine.getOntologyURI();
+ this.namingStrategy = mappingEngine.getNamingStrategy();
+
+ }
+
+ public OntologyResourceHelper(OntModel ontModel, String ontologyURI, NamingStrategy namingStrategy) throws RepositoryAccessException {
+ this.ontModel = ontModel;
+ this.ontologyURI = ontologyURI;
+ this.namingStrategy = namingStrategy;
+
+ }
+
+ /**
+ * @param reference
+ * Unique reference of object for which the {@link OntClass} is requested
+ * @return {@link OntClass} if there is an already created class for cms object whose identifier got as a
+ * reference, otherwise <code>null</code>.
+ */
+ public OntClass getOntClassByReference(String reference) {
+ ResIterator it = ontModel.listResourcesWithProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ reference);
+ Resource resource;
+ if (it.hasNext()) {
+ resource = it.next();
+ try {
+ return resource.as(OntClass.class);
+ } catch (UnsupportedPolymorphismException e) {
+
+ }
+ }
+ return null;
+ }
+
+ /**
+ * @param cmsObject
+ * {@link CMSObject} object for which the {@link OntClass} is requested
+ * @return {@link OntClass} if there is an already created class for the cms object, otherwise
+ * <code>null</code>.
+ */
+ public OntClass getOntClassByCMSObject(CMSObject cmsObject) {
+ return getOntClassByReference(cmsObject.getUniqueRef());
+ }
+
+ /**
+ * Creates an {@link OntClass} for a unique reference or returns the existing one.
+ *
+ * @param reference
+ * Unique reference of object for which the {@link OntClass} is requested.
+ * @return {@link OntClass} instance.
+ */
+ public OntClass createOntClassByReference(String reference) {
+ log.debug("Creating OWL Class for reference {}", reference);
+ OntClass klass = getOntClassByReference(reference);
+ if (klass == null) {
+ String classURI = namingStrategy.getClassName(ontologyURI, reference);
+ klass = ontModel.createClass(classURI);
+ klass.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, reference);
+ log.debug("OWL Class {} not found for reference. Creating new one...", reference);
+ }
+
+ return klass;
+ }
+
+ /**
+ * Creates an {@link OntClass} for a {@link CMSObject} object or returns the existing one.
+ *
+ * @param cmsObject
+ * {@link CMSObject} object for which the {@link OntClass} is requested.
+ * @return {@link OntClass} instance.
+ */
+ public OntClass createOntClassByCMSObject(CMSObject cmsObject) {
+ log.debug("Getting OWL Class for cms object = {}", cmsObject);
+ OntClass klass = getOntClassByCMSObject(cmsObject);
+ if (klass == null) {
+ String classURI = namingStrategy.getClassName(ontologyURI, cmsObject);
+ klass = ontModel.createClass(classURI);
+ klass.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, cmsObject.getUniqueRef());
+ log.debug("OWL Class {} not found creating...", classURI);
+ }
+
+ return klass;
+ }
+
+ /**
+ * Creates an {@link OntClass} for a {@link ObjectTypeDefinition} object or returns the existing one.
+ *
+ * @param objectTypeDefinition
+ * {@link ObjectTypeDefinition} object for which the {@link OntClass} is requested.
+ * @return {@link OntClass} instance.
+ */
+ public OntClass createOntClassByObjectTypeDefinition(ObjectTypeDefinition objectTypeDefinition) {
+ log.debug("Getting OWL Class for node type {}", objectTypeDefinition);
+ OntClass klass = getOntClassByReference(objectTypeDefinition.getUniqueRef());
+ if (klass == null) {
+ String classURI = namingStrategy.getClassName(ontologyURI, objectTypeDefinition);
+ klass = ontModel.createClass(classURI);
+ klass.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ objectTypeDefinition.getUniqueRef());
+ log.debug("OWL Class {} not found, creating new one...", classURI);
+ }
+
+ return klass;
+ }
+
+ public OntProperty getPropertyByReference(String reference) {
+ ResIterator it = ontModel.listResourcesWithProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ reference);
+ Resource resource;
+ if (it.hasNext()) {
+ resource = it.next();
+ try {
+ return resource.as(OntProperty.class);
+ } catch (UnsupportedPolymorphismException e) {
+
+ }
+ }
+ return null;
+ }
+
+ public ObjectProperty getObjectPropertyByReference(String reference) {
+ ResIterator it = ontModel.listResourcesWithProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ reference);
+ Resource resource;
+ if (it.hasNext()) {
+ resource = it.next();
+ try {
+ return resource.as(ObjectProperty.class);
+ } catch (UnsupportedPolymorphismException e) {
+
+ }
+ }
+ return null;
+ }
+
+ public DatatypeProperty getDatatypePropertyByReference(String reference) {
+ ResIterator it = ontModel.listResourcesWithProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ reference);
+ Resource resource;
+ if (it.hasNext()) {
+ resource = it.next();
+ try {
+ return resource.as(DatatypeProperty.class);
+ } catch (UnsupportedPolymorphismException e) {
+
+ }
+ }
+ return null;
+ }
+
+ public ObjectProperty createObjectPropertyByReference(String reference,
+ List<Resource> domains,
+ List<Resource> ranges) {
+ log.debug("Creating Object property for reference {}", reference);
+ ObjectProperty objectProperty = getObjectPropertyByReference(reference);
+ if (objectProperty == null) {
+ String propertyURI = namingStrategy.getObjectPropertyName(ontologyURI, reference);
+ objectProperty = ontModel.createObjectProperty(propertyURI);
+ objectProperty.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, reference);
+
+ for (Resource domain : domains) {
+ objectProperty.addDomain(domain);
+ }
+ for (Resource range : ranges) {
+ objectProperty.addRange(range);
+ }
+ log.debug("ObjectProperty {} not found, creating new one...", propertyURI);
+ }
+ return objectProperty;
+ }
+
+ public ObjectProperty createObjectPropertyByPropertyDefinition(PropertyDefinition propertyDefinition,
+ List<Resource> domains,
+ List<Resource> ranges) {
+ log.debug("Creating Object property for property {}", propertyDefinition);
+ ObjectProperty objectProperty = getObjectPropertyByReference(propertyDefinition.getUniqueRef());
+ if (objectProperty == null) {
+ String propertyURI = namingStrategy.getObjectPropertyName(ontologyURI, propertyDefinition);
+ objectProperty = ontModel.createObjectProperty(propertyURI);
+ objectProperty.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ propertyDefinition.getUniqueRef());
+
+ for (Resource domain : domains) {
+ objectProperty.addDomain(domain);
+ }
+ for (Resource range : ranges) {
+ objectProperty.addRange(range);
+ }
+ log.debug("ObjectProperty {} not found, creating new one...", propertyURI);
+ }
+ return objectProperty;
+ }
+
+ public DatatypeProperty createDatatypePropertyByReference(String reference,
+ List<Resource> domains,
+ PropType propType) {
+ log.debug("Creating Datatype property for reference {}", reference);
+ DatatypeProperty datatypeProperty = getDatatypePropertyByReference(reference);
+ if (datatypeProperty == null) {
+ String propertyURI = namingStrategy.getDataPropertyName(ontologyURI, reference);
+ Resource range = getDatatypePropertyRange(propType);
+ datatypeProperty = ontModel.createDatatypeProperty(propertyURI);
+ datatypeProperty.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, reference);
+
+ for (Resource domain : domains) {
+ datatypeProperty.addDomain(domain);
+ }
+ datatypeProperty.addRange(range);
+ log.debug("Datatype property {} not found, creating new one...", propertyURI);
+ }
+ return datatypeProperty;
+ }
+
+ public DatatypeProperty createDatatypePropertyByPropertyDefinition(PropertyDefinition propertyDefinition,
+ List<Resource> domains) {
+ DatatypeProperty datatypeProperty = getDatatypePropertyByReference(propertyDefinition.getUniqueRef());
+ if (datatypeProperty == null) {
+ String propertyURI = namingStrategy.getDataPropertyName(ontologyURI, propertyDefinition);
+ Resource range = getDatatypePropertyRange(propertyDefinition.getPropertyType());
+ datatypeProperty = ontModel.createDatatypeProperty(propertyURI);
+ datatypeProperty.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ propertyDefinition.getUniqueRef());
+
+ for (Resource domain : domains) {
+ datatypeProperty.addDomain(domain);
+ }
+ datatypeProperty.addRange(range);
+ }
+ return datatypeProperty;
+ }
+
+ public OntClass createUnionClass(List<OntClass> classes) {
+ RDFList list = ontModel.createList();
+ for (OntClass klass : classes) {
+ list.cons(klass);
+ }
+ return createUnionClass(list);
+ }
+
+ public OntClass createUnionClass(RDFList list) {
+ String unionClassURI = namingStrategy.getUnionClassURI(ontologyURI, list);
+ OntClass unionClass = ontModel.createUnionClass(unionClassURI, list);
+ return unionClass;
+ }
+
+ private Resource getDatatypePropertyRange(PropType propType) {
+ Resource range;
+ if (propType == PropType.STRING) {
+ range = XSD.normalizedString;
+ } else if (propType == PropType.BOOLEAN) {
+ range = XSD.xboolean;
+ } else if (propType == PropType.BINARY) {
+ range = XSD.base64Binary;
+ } else if (propType == PropType.DATE) {
+ range = XSD.dateTime;
+ } else if (propType == PropType.DOUBLE) {
+ range = XSD.unsignedLong;
+ } else if (propType == PropType.LONG) {
+ range = XSD.unsignedLong;
+ } else {
+ range = XSD.normalizedString;
+ log.warn("{} property type is not supported yet. XSD.normalizedString is set as default range",
+ propType);
+ }
+ return range;
+ }
+
+ public Individual getIndividualByReference(String reference) {
+ Individual ind = getLooseIndividualByReference(reference);
+ if (ind.isClass()) {
+ log.debug("Resource {} is already a class", ind.getURI());
+ return null;
+ } else if (ind.isIndividual()) {
+ return ind;
+ } else {
+ return null;
+ }
+ }
+
+ public Individual getLooseIndividualByReference(String reference) {
+ ResIterator it = ontModel.listResourcesWithProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP,
+ reference);
+ Resource resource;
+ if (it.hasNext()) {
+ resource = it.next();
+ try {
+ return resource.as(Individual.class);
+ } catch (UnsupportedPolymorphismException e) {
+ log.debug("Can not cast resource {} to individual", resource.getURI());
+ }
+ }
+ return null;
+ }
+
+ public Individual createIndividualByReference(String reference) {
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ *
+ * @param cmsObject
+ * @param klass
+ * @return
+ */
+ public Individual createIndividualByCMSObject(CMSObject cmsObject, Resource klass) {
+ Individual ind = getLooseIndividualByReference(cmsObject.getUniqueRef());
+ if (ind == null) {
+ String indURI = namingStrategy.getIndividualName(ontologyURI, cmsObject);
+ ind = ontModel.createIndividual(indURI, klass);
+ ind.addProperty(CMSAdapterVocabulary.CMSAD_RESOURCE_REF_PROP, cmsObject.getUniqueRef());
+ return ind;
+ } else if (ind.isClass()) {
+ log.debug("Resource {} is already a class", ind.getURI());
+ return null;
+ } else {
+ return ind;
+ }
+
+ }
+
+ public static void saveConnectionInfo(ConnectionInfo connectionInfo, OntModel ontModel) {
+ Resource r = CMSAdapterVocabulary.CONNECTION_INFO_RES;
+ ontModel.add(r, CMSAdapterVocabulary.CONNECTION_TYPE_PROP, connectionInfo.getConnectionType());
+ ontModel.add(r, CMSAdapterVocabulary.CONNECTION_PASSWORD_PROP, connectionInfo.getPassword());
+ ontModel.add(r, CMSAdapterVocabulary.CONNECTION_USERNAME_PROP, connectionInfo.getUsername());
+ ontModel.add(r, CMSAdapterVocabulary.CONNECTION_WORKSPACE_PROP, connectionInfo.getWorkspaceName());
+ ontModel.add(r, CMSAdapterVocabulary.CONNECTION_WORKSPACE_URL_PROP, connectionInfo.getRepositoryURL());
+ }
+
+ public static ConnectionInfo getConnectionInfo(OntModel ontModel) {
+ ObjectFactory of = new ObjectFactory();
+ ConnectionInfo ci = of.createConnectionInfo();
+ Resource ciResource = ontModel.getResource(CMSAdapterVocabulary.CONNECTION_INFO_RES.getURI());
+ ci.setConnectionType(ciResource.getProperty(CMSAdapterVocabulary.CONNECTION_TYPE_PROP).getString());
+ ci.setPassword(ciResource.getProperty(CMSAdapterVocabulary.CONNECTION_PASSWORD_PROP).getString());
+ ci.setUsername(ciResource.getProperty(CMSAdapterVocabulary.CONNECTION_USERNAME_PROP).getString());
+ ci.setWorkspaceName(ciResource.getProperty(CMSAdapterVocabulary.CONNECTION_WORKSPACE_PROP)
+ .getString());
+ ci.setRepositoryURL(ciResource.getProperty(CMSAdapterVocabulary.CONNECTION_WORKSPACE_URL_PROP)
+ .getString());
+ return ci;
+
+ }
+
+ public static void saveBridgeDefinitions(BridgeDefinitions bridgeDefinitions, OntModel ontModel) {
+ Resource r = CMSAdapterVocabulary.BRIDGE_DEFINITIONS_RES;
+ String bridges = MappingModelParser.serializeObject(bridgeDefinitions);
+ ontModel.add(r, CMSAdapterVocabulary.BRIDGE_DEFINITIONS_CONTENT_PROP, bridges);
+ }
+
+ public static BridgeDefinitions getBridgeDefinitions(OntModel ontModel) {
+ Resource r = ontModel.getResource(CMSAdapterVocabulary.BRIDGE_DEFINITIONS_RES.getURI());
+ String bridgeStr = r.getProperty(CMSAdapterVocabulary.BRIDGE_DEFINITIONS_CONTENT_PROP).getString();
+ return MappingModelParser.deserializeObject(bridgeStr);
+ }
+
+ public static OntModel createOntModel() {
+ return ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
+ }
+
+ public static OntModel getOntModel(RestClient storeClient, String ontologyURI, String ontologyHref) throws RestClientException,
+ UnsupportedEncodingException {
+ OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
+ String ontContent = storeClient.retrieveOntology(ontologyHref, "RDF/XML", false);
+ InputStream is = new ByteArrayInputStream(ontContent.getBytes("UTF-8"));
+ ontModel.read(is, ontologyURI, "RDF/XML");
+ return ontModel;
+ }
+
+ public static final String addResourceDelimiter(String URI) {
+ if (!URI.endsWith("#")) {
+ URI += "#";
+ }
+ return URI;
+ }
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/ConceptBridgeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/ConceptBridgeProcessor.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/ConceptBridgeProcessor.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/ConceptBridgeProcessor.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,11 @@
+package org.apache.stanbol.cmsadapter.servicesapi.internal;
+
+import java.util.List;
+
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.ConceptBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+
+public interface ConceptBridgeProcessor {
+ void processConceptBridges(List<ConceptBridge> bridges,
+ ConnectionInfo connectionInfo);
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/InstanceBridgeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/InstanceBridgeProcessor.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/InstanceBridgeProcessor.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/InstanceBridgeProcessor.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,11 @@
+package org.apache.stanbol.cmsadapter.servicesapi.internal;
+
+import java.util.List;
+
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.InstanceBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+
+public interface InstanceBridgeProcessor {
+ void executeInstanceBridges(List<InstanceBridge> bridges,
+ ConnectionInfo connectionInfo);
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/PropertyBridgeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/PropertyBridgeProcessor.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/PropertyBridgeProcessor.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/PropertyBridgeProcessor.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,11 @@
+package org.apache.stanbol.cmsadapter.servicesapi.internal;
+
+import java.util.List;
+
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.PropertyBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+
+public interface PropertyBridgeProcessor {
+ void executePropertyBridges(List<PropertyBridge> bridges,
+ ConnectionInfo connectionInfo);
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/SubsumptionBridgeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/SubsumptionBridgeProcessor.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/SubsumptionBridgeProcessor.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/internal/SubsumptionBridgeProcessor.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,11 @@
+package org.apache.stanbol.cmsadapter.servicesapi.internal;
+
+import java.util.List;
+
+import org.apache.stanbol.cmsadapter.servicesapi.model.mapping.SubsumptionBridge;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.ConnectionInfo;
+
+public interface SubsumptionBridgeProcessor {
+ void executePropertyBridges(List<SubsumptionBridge> bridges,
+ ConnectionInfo connectionInfo);
+}
Added: 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=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/MappingEngine.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,37 @@
+package org.apache.stanbol.cmsadapter.servicesapi.mapping;
+
+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.CMSObject;
+import org.apache.stanbol.cmsadapter.servicesapi.model.web.decorated.DObjectAdapter;
+import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessException;
+import org.apache.stanbol.cmsadapter.servicesapi.repository.RepositoryAccessManager;
+
+import com.hp.hpl.jena.ontology.OntModel;
+
+public interface MappingEngine {
+ void mapCR(OntModel model, String ontologyURI, List<CMSObject> cmsObjects) throws RepositoryAccessException;
+
+ void mapCR(BridgeDefinitions bridges, ConnectionInfo connectionInfo, String ontologyURI) throws RepositoryAccessException;
+
+ void liftNodeTypes(ConnectionInfo connectionInfo, String ontologyURI);
+
+ String getOntologyURI();
+
+ OntModel getOntModel();
+
+ DObjectAdapter getDObjectAdapter();
+
+ OntologyResourceHelper getOntologyResourceHelper();
+
+ Object getSession();
+
+ BridgeDefinitions getBridgeDefinitions();
+
+ RepositoryAccessManager getRepositoryAccessManager();
+
+ NamingStrategy getNamingStrategy();
+}
Added: 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=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/mapping/NamingStrategy.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,41 @@
+package org.apache.stanbol.cmsadapter.servicesapi.mapping;
+
+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;
+
+public interface NamingStrategy {
+
+ String getClassName(String ontologyURI, CMSObject cmsObject);
+
+ String getClassName(String ontologyURI, ObjectTypeDefinition objectTypeDefinition);
+
+ String getClassName(String ontologyURI, String reference);
+
+ String getIndividualName(String ontologyURI, CMSObject cmsObject);
+
+ String getIndividualName(String ontologyURI, String reference);
+
+ String getPropertyName(String ontologyURI, String reference);
+
+ String getObjectPropertyName(String ontologyURI, String reference);
+
+ String getObjectPropertyName(String ontologyURI, PropertyDefinition propertyDefinition);
+
+ String getDataPropertyName(String ontologyURI, String reference);
+
+ String getDataPropertyName(String ontologyURI, PropertyDefinition propertyDefinition);
+
+ String getUnionClassURI(String ontologyURI, RDFList list);
+
+ void setRepositoryAccess(RepositoryAccess repositoryAccess);
+
+ void setSession(Object session);
+
+ void setOntModel(OntModel ontModel);
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/AnnotationType.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/AnnotationType.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/AnnotationType.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/AnnotationType.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,76 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AnnotationType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * <simpleType name="AnnotationType">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN">
+ * <enumeration value="subsumption"/>
+ * <enumeration value="transitive"/>
+ * <enumeration value="inverseFunctional"/>
+ * <enumeration value="instanceOf"/>
+ * <enumeration value="equivalentClass"/>
+ * <enumeration value="disjointWith"/>
+ * <enumeration value="functional"/>
+ * <enumeration value="symmetric"/>
+ * </restriction>
+ * </simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "AnnotationType")
+@XmlEnum
+public enum AnnotationType {
+
+ @XmlEnumValue("subsumption")
+ SUBSUMPTION("subsumption"),
+ @XmlEnumValue("transitive")
+ TRANSITIVE("transitive"),
+ @XmlEnumValue("inverseFunctional")
+ INVERSE_FUNCTIONAL("inverseFunctional"),
+ @XmlEnumValue("instanceOf")
+ INSTANCE_OF("instanceOf"),
+ @XmlEnumValue("equivalentClass")
+ EQUIVALENT_CLASS("equivalentClass"),
+ @XmlEnumValue("disjointWith")
+ DISJOINT_WITH("disjointWith"),
+ @XmlEnumValue("functional")
+ FUNCTIONAL("functional"),
+ @XmlEnumValue("symmetric")
+ SYMMETRIC("symmetric");
+ private final String value;
+
+ AnnotationType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static AnnotationType fromValue(String v) {
+ for (AnnotationType c: AnnotationType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/BridgeDefinitions.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/BridgeDefinitions.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/BridgeDefinitions.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/BridgeDefinitions.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,90 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice maxOccurs="unbounded">
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}ConceptBridge"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}SubsumptionBridge"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}InstanceBridge"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "conceptBridgeOrSubsumptionBridgeOrPropertyBridge"
+})
+@XmlRootElement(name = "BridgeDefinitions")
+public class BridgeDefinitions {
+
+ @XmlElements({
+ @XmlElement(name = "SubsumptionBridge", type = SubsumptionBridge.class),
+ @XmlElement(name = "ConceptBridge", type = ConceptBridge.class),
+ @XmlElement(name = "PropertyBridge", type = PropertyBridge.class),
+ @XmlElement(name = "InstanceBridge", type = InstanceBridge.class)
+ })
+ protected List<Object> conceptBridgeOrSubsumptionBridgeOrPropertyBridge;
+
+ /**
+ * Gets the value of the conceptBridgeOrSubsumptionBridgeOrPropertyBridge property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the conceptBridgeOrSubsumptionBridgeOrPropertyBridge property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getConceptBridgeOrSubsumptionBridgeOrPropertyBridge().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link SubsumptionBridge }
+ * {@link ConceptBridge }
+ * {@link PropertyBridge }
+ * {@link InstanceBridge }
+ *
+ *
+ */
+ public List<Object> getConceptBridgeOrSubsumptionBridgeOrPropertyBridge() {
+ if (conceptBridgeOrSubsumptionBridgeOrPropertyBridge == null) {
+ conceptBridgeOrSubsumptionBridgeOrPropertyBridge = new ArrayList<Object>();
+ }
+ return this.conceptBridgeOrSubsumptionBridgeOrPropertyBridge;
+ }
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ConceptBridge.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ConceptBridge.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ConceptBridge.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ConceptBridge.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,139 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Query" type="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}QueryType"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}SubsumptionBridge" maxOccurs="unbounded" minOccurs="0"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "query",
+ "subsumptionBridge",
+ "propertyBridge"
+})
+@XmlRootElement(name = "ConceptBridge")
+public class ConceptBridge {
+
+ @XmlElement(name = "Query", required = true)
+ protected String query;
+ @XmlElement(name = "SubsumptionBridge")
+ protected List<SubsumptionBridge> subsumptionBridge;
+ @XmlElement(name = "PropertyBridge")
+ protected List<PropertyBridge> propertyBridge;
+
+ /**
+ * Gets the value of the query property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getQuery() {
+ return query;
+ }
+
+ /**
+ * Sets the value of the query property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setQuery(String value) {
+ this.query = value;
+ }
+
+ /**
+ * Gets the value of the subsumptionBridge property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the subsumptionBridge property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSubsumptionBridge().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link SubsumptionBridge }
+ *
+ *
+ */
+ public List<SubsumptionBridge> getSubsumptionBridge() {
+ if (subsumptionBridge == null) {
+ subsumptionBridge = new ArrayList<SubsumptionBridge>();
+ }
+ return this.subsumptionBridge;
+ }
+
+ /**
+ * Gets the value of the propertyBridge property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the propertyBridge property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPropertyBridge().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PropertyBridge }
+ *
+ *
+ */
+ public List<PropertyBridge> getPropertyBridge() {
+ if (propertyBridge == null) {
+ propertyBridge = new ArrayList<PropertyBridge>();
+ }
+ return this.propertyBridge;
+ }
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/InstanceBridge.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/InstanceBridge.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/InstanceBridge.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/InstanceBridge.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,106 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType>
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <sequence>
+ * <element name="Query" type="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}QueryType"/>
+ * <element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge" maxOccurs="unbounded" minOccurs="0"/>
+ * </sequence>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+ "query",
+ "propertyBridge"
+})
+@XmlRootElement(name = "InstanceBridge")
+public class InstanceBridge {
+
+ @XmlElement(name = "Query", required = true)
+ protected String query;
+ @XmlElement(name = "PropertyBridge")
+ protected List<PropertyBridge> propertyBridge;
+
+ /**
+ * Gets the value of the query property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getQuery() {
+ return query;
+ }
+
+ /**
+ * Sets the value of the query property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setQuery(String value) {
+ this.query = value;
+ }
+
+ /**
+ * Gets the value of the propertyBridge property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the propertyBridge property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPropertyBridge().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link PropertyBridge }
+ *
+ *
+ */
+ public List<PropertyBridge> getPropertyBridge() {
+ if (propertyBridge == null) {
+ propertyBridge = new ArrayList<PropertyBridge>();
+ }
+ return this.propertyBridge;
+ }
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/NameType.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/NameType.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/NameType.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/NameType.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,69 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for NameType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * <complexType name="NameType">
+ * <complexContent>
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * <choice>
+ * <element name="PropertyName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * </choice>
+ * </restriction>
+ * </complexContent>
+ * </complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NameType", propOrder = {
+ "propertyName"
+})
+public class NameType {
+
+ @XmlElement(name = "PropertyName")
+ protected String propertyName;
+
+ /**
+ * Gets the value of the propertyName property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getPropertyName() {
+ return propertyName;
+ }
+
+ /**
+ * Sets the value of the propertyName property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setPropertyName(String value) {
+ this.propertyName = value;
+ }
+
+}
Added: incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ObjectFactory.java?rev=1098099&view=auto
==============================================================================
--- incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ObjectFactory.java (added)
+++ incubator/stanbol/trunk/cmsadapter/servicesapi/src/main/java/org/apache/stanbol/cmsadapter/servicesapi/model/mapping/ObjectFactory.java Sat Apr 30 11:18:30 2011
@@ -0,0 +1,95 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.3-hudson-jaxb-ri-2.2.3-3-
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2011.04.14 at 03:06:41 PM EEST
+//
+
+
+package org.apache.stanbol.cmsadapter.servicesapi.model.mapping;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the org.apache.stanbol.cmsadapter.servicesapi.model.mapping package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.apache.stanbol.cmsadapter.servicesapi.model.mapping
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link InstanceBridge }
+ *
+ */
+ public InstanceBridge createInstanceBridge() {
+ return new InstanceBridge();
+ }
+
+ /**
+ * Create an instance of {@link PropertyBridge }
+ *
+ */
+ public PropertyBridge createPropertyBridge() {
+ return new PropertyBridge();
+ }
+
+ /**
+ * Create an instance of {@link PropertyAnnotation }
+ *
+ */
+ public PropertyAnnotation createPropertyAnnotation() {
+ return new PropertyAnnotation();
+ }
+
+ /**
+ * Create an instance of {@link ConceptBridge }
+ *
+ */
+ public ConceptBridge createConceptBridge() {
+ return new ConceptBridge();
+ }
+
+ /**
+ * Create an instance of {@link SubsumptionBridge }
+ *
+ */
+ public SubsumptionBridge createSubsumptionBridge() {
+ return new SubsumptionBridge();
+ }
+
+ /**
+ * Create an instance of {@link BridgeDefinitions }
+ *
+ */
+ public BridgeDefinitions createBridgeDefinitions() {
+ return new BridgeDefinitions();
+ }
+
+ /**
+ * Create an instance of {@link NameType }
+ *
+ */
+ public NameType createNameType() {
+ return new NameType();
+ }
+
+}