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&amp;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>
+ * &lt;simpleType name="AnnotationType">
+ *   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}NMTOKEN">
+ *     &lt;enumeration value="subsumption"/>
+ *     &lt;enumeration value="transitive"/>
+ *     &lt;enumeration value="inverseFunctional"/>
+ *     &lt;enumeration value="instanceOf"/>
+ *     &lt;enumeration value="equivalentClass"/>
+ *     &lt;enumeration value="disjointWith"/>
+ *     &lt;enumeration value="functional"/>
+ *     &lt;enumeration value="symmetric"/>
+ *   &lt;/restriction>
+ * &lt;/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>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice maxOccurs="unbounded">
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}ConceptBridge"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}SubsumptionBridge"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}InstanceBridge"/>
+ *       &lt;/choice>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/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>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="Query" type="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}QueryType"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}SubsumptionBridge" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/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>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="Query" type="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}QueryType"/>
+ *         &lt;element ref="{mapping.model.servicesapi.cmsadapter.stanbol.apache.org}PropertyBridge" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/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>
+ * &lt;complexType name="NameType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;choice>
+ *         &lt;element name="PropertyName" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/choice>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/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();
+    }
+
+}