You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by an...@apache.org on 2011/06/15 18:50:25 UTC
svn commit: r1136117 - in /incubator/stanbol/trunk: ontologymanager/web/
ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/
ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/processor/
ontologymanager/web/s...
Author: anuzzolese
Date: Wed Jun 15 16:50:24 2011
New Revision: 1136117
URL: http://svn.apache.org/viewvc?rev=1136117&view=rev
Log:
STANBOL-179 Applied patch proposed by Alberto Musetti for the alignment of the architecture of the rest services of OntoNet, Reengineer and Reasoners to commons.web.
Added:
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/ReasonersFragment.java
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerFragment.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/ReengineerResource.java
- copied, changed from r1136101, incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerResource.java
Removed:
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpoint.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JerseyEndpointApplication.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/JettyServer.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/processor/
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/JerseyEndpoint.java
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/JerseyEndpointApplication.java
incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/JettyServer.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/JerseyEndpoint.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/JerseyEndpointApplication.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/JettyServer.java
incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerResource.java
Modified:
incubator/stanbol/trunk/ontologymanager/web/pom.xml
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java
incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java
incubator/stanbol/trunk/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java
incubator/stanbol/trunk/reasoners/web/pom.xml
incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ClassifyTest.java
incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ConsistencyCheckTest.java
incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/EnrichmentTest.java
incubator/stanbol/trunk/reengineer/web/pom.xml
Modified: incubator/stanbol/trunk/ontologymanager/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/pom.xml?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/pom.xml (original)
+++ incubator/stanbol/trunk/ontologymanager/web/pom.xml Wed Jun 15 16:50:24 2011
@@ -26,6 +26,21 @@
<url>http://incubator.apache.org/stanbol/</url>
</scm>
+
+ <properties>
+ <!-- Set this to run the server on a specific port -->
+ <http.port></http.port>
+
+ <!-- Set this to run tests against an existing server instance -->
+ <test.server.url></test.server.url>
+
+ <!-- Options for the VM that executes our runnable jar -->
+ <jar.executor.vm.options>-Xmx512m -Dorg.apache.stanbol.offline.mode=true</jar.executor.vm.options>
+
+ <!-- Set this to true to keep the runnable jar running - useful to debug tests -->
+ <keepJarRunning>false</keepJarRunning>
+ </properties>
+
<build>
<!-- make it an OSGi bundle -->
<plugins>
@@ -53,6 +68,62 @@
</instructions>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-runnable-jar</id>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <includeArtifactIds>org.apache.stanbol.launchers.full</includeArtifactIds>
+ <excludeTransitive>true</excludeTransitive>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>false</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Find free ports to run our server -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>reserve-server-port</id>
+ <goals>
+ <goal>reserve-network-port</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <portNames>
+ <portName>http.port</portName>
+ </portNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <test.server.url>${test.server.url}</test.server.url>
+ <jar.executor.server.port>${http.port}</jar.executor.server.port>
+ <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options>
+ <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder>
+ <jar.executor.jar.name.regexp>org.apache.stanbol.*full.*jar$</jar.executor.jar.name.regexp>
+ <keepJarRunning>${keepJarRunning}</keepJarRunning>
+ <server.ready.timeout.seconds>180</server.ready.timeout.seconds>
+ <server.ready.path.1>/:stanbol.css</server.ready.path.1>
+ <server.ready.path.2>/engines:There are currently</server.ready.path.2>
+ <server.ready.path.3>/contenthub:Recently uploaded Content Items</server.ready.path.3>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
</plugins>
</build>
@@ -130,17 +201,17 @@
<!-- Testing deps -->
<dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.launchers.full</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey-version}</version>
@@ -152,6 +223,12 @@
<version>${stanbol-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.commons.testing.stanbol</artifactId>
+ <version>${stanbol-version}</version>
+ <scope>test</scope>
+ </dependency>
<!-- Clerezza dependencies -->
<dependency>
Added: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java?rev=1136117&view=auto
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java (added)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/OntonetFragment.java Wed Jun 15 16:50:24 2011
@@ -0,0 +1,129 @@
+package org.apache.stanbol.ontologymanager.web;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.commons.web.base.LinkResource;
+import org.apache.stanbol.commons.web.base.NavigationLink;
+import org.apache.stanbol.commons.web.base.ScriptResource;
+import org.apache.stanbol.commons.web.base.WebFragment;
+import org.apache.stanbol.ontologymanager.ontonet.api.ONManager;
+import org.apache.stanbol.ontologymanager.web.resource.DocumentationResource;
+import org.apache.stanbol.ontologymanager.web.resource.GraphsResource;
+import org.apache.stanbol.ontologymanager.web.resource.ONMOntResource;
+import org.apache.stanbol.ontologymanager.web.resource.ONMRootResource;
+import org.apache.stanbol.ontologymanager.web.resource.ONMScopeOntologyResource;
+import org.apache.stanbol.ontologymanager.web.resource.ONMScopeResource;
+import org.apache.stanbol.ontologymanager.web.resource.RESTfulResource;
+import org.apache.stanbol.ontologymanager.web.resource.RootResource;
+import org.apache.stanbol.ontologymanager.web.resource.SessionIDResource;
+import org.apache.stanbol.ontologymanager.web.resource.SessionResource;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.ComponentContext;
+
+import freemarker.cache.ClassTemplateLoader;
+import freemarker.cache.TemplateLoader;
+
+
+/**
+ * Implementation of WebFragment for the Stanbol Ontonet end-point.
+ *
+ * @author alberto musetti
+ *
+ */
+
+@Component(immediate = true, metatype = true)
+@Service(WebFragment.class)
+public class OntonetFragment implements WebFragment{
+
+ private static final String NAME = "ontonet";
+
+ private static final String STATIC_RESOURCE_PATH = "/org/apache/stanbol/ontonet/web/static";
+
+ private static final String TEMPLATE_PATH = "/org/apache/stanbol/ontonet/web/templates";
+
+ private BundleContext bundleContext;
+
+ @Reference
+ ONManager onm;
+
+ @Override
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
+
+ @Override
+ public Set<Class<?>> getJaxrsResourceClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ // Temporary resources
+ classes.add(RootResource.class);
+ classes.add(DocumentationResource.class);
+ classes.add(RESTfulResource.class);
+
+ classes.add(GraphsResource.class);
+
+ classes.add(ONMRootResource.class);
+ classes.add(ONMScopeResource.class);
+ classes.add(ONMScopeOntologyResource.class);
+ classes.add(ONMOntResource.class);
+
+ classes.add(SessionResource.class);
+ classes.add(SessionIDResource.class);
+
+ return classes;
+ }
+
+ @Override
+ public Set<Object> getJaxrsResourceSingletons() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public List<LinkResource> getLinkResources() {
+ List<LinkResource> resources = new ArrayList<LinkResource>();
+ resources.add(new LinkResource("stylesheet", "css/ontonet.css", this, 10));
+ return resources;
+ }
+
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @Override
+ public List<NavigationLink> getNavigationLinks() {
+ List<NavigationLink> links = new ArrayList<NavigationLink>();
+ links.add(new NavigationLink("ontonet", "/ontonet", "/imports/ontonetDescription.ftl", 50));
+ return links;
+ }
+
+ @Override
+ public List<ScriptResource> getScriptResources() {
+ List<ScriptResource> resources = new ArrayList<ScriptResource>();
+ resources.add(new ScriptResource("text/javascript", "actions/actions.js", this, 10));
+ return resources;
+ }
+
+ @Override
+ public String getStaticResourceClassPath() {
+ return STATIC_RESOURCE_PATH;
+ }
+
+ @Override
+ public TemplateLoader getTemplateLoader() {
+ return new ClassTemplateLoader(getClass(), TEMPLATE_PATH);
+ }
+
+ @Activate
+ protected void activate(ComponentContext ctx) {
+ this.bundleContext = ctx.getBundleContext();
+ }
+
+}
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionIDResource.java Wed Jun 15 16:50:24 2011
@@ -52,7 +52,7 @@ public class SessionIDResource extends B
if (ses == null)
return Response.status(Status.NO_CONTENT).build();
- return Response.ok(SessionRenderer.getSessionMetadataRDFasOntology(ses)).build();
+ return Response.ok(SessionRenderer.getSessionMetadataRDF(ses)).build();
}
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resource/SessionResource.java Wed Jun 15 16:50:24 2011
@@ -154,7 +154,7 @@ public class SessionResource extends Bas
SessionOntologySpace sessionOntologySpace = ontologySpaceFactory.createSessionOntologySpace(scopeIRI);
ontologyScope.addSessionSpace(sessionOntologySpace, ses.getID());
- return Response.ok(SessionRenderer.getSessionMetadataRDFasOntology(ses)).build();
+ return Response.ok(SessionRenderer.getSessionMetadataRDF(ses)).build();
}
Modified: incubator/stanbol/trunk/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/test/java/org/apache/stanbol/ontologymanager/web/JettyServerTest.java Wed Jun 15 16:50:24 2011
@@ -8,6 +8,7 @@ import java.util.Properties;
import javax.ws.rs.WebApplicationException;
import org.apache.stanbol.commons.testing.jarexec.JarExecutor;
+import org.apache.stanbol.commons.testing.stanbol.StanbolTestBase;
import org.apache.stanbol.commons.web.base.format.KRFormat;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -18,7 +19,7 @@ import com.sun.jersey.api.representation
-public class JettyServerTest {
+public class JettyServerTest extends StanbolTestBase{
public static final int __PORT = 9999;
Modified: incubator/stanbol/trunk/reasoners/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/pom.xml?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/pom.xml (original)
+++ incubator/stanbol/trunk/reasoners/web/pom.xml Wed Jun 15 16:50:24 2011
@@ -32,9 +32,114 @@
<name>Apache Stanbol Reasoner Web</name>
<description>Set of rest services to deal with reasoners</description>
+
+ <properties>
+ <!-- Set this to run the server on a specific port -->
+ <http.port></http.port>
+
+ <!-- Set this to run tests against an existing server instance -->
+ <test.server.url></test.server.url>
+
+ <!-- Options for the VM that executes our runnable jar -->
+ <jar.executor.vm.options>-Xmx512m -Dorg.apache.stanbol.offline.mode=true</jar.executor.vm.options>
+
+ <!-- Set this to true to keep the runnable jar running - useful to debug tests -->
+ <keepJarRunning>false</keepJarRunning>
+ </properties>
+
+ <build>
+ <!-- make it an OSGi bundle -->
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Export-Package>
+ org.apache.stanbol.reasoners.web.*
+ </Export-Package>
+ <Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=jersey-json|jettison|jackson-core-asl
+ </Embed-Dependency>
+ <Embed-Transitive>true</Embed-Transitive>
+ <Import-Package>
+ !org.apache.felix.http.jetty,
+ !org.mortbay.jetty.*,
+ *
+ </Import-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-runnable-jar</id>
+ <goals>
+ <goal>copy-dependencies</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <includeArtifactIds>org.apache.stanbol.launchers.full</includeArtifactIds>
+ <excludeTransitive>true</excludeTransitive>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>false</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <!-- Find free ports to run our server -->
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>reserve-server-port</id>
+ <goals>
+ <goal>reserve-network-port</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <portNames>
+ <portName>http.port</portName>
+ </portNames>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <test.server.url>${test.server.url}</test.server.url>
+ <jar.executor.server.port>${http.port}</jar.executor.server.port>
+ <jar.executor.vm.options>${jar.executor.vm.options}</jar.executor.vm.options>
+ <jar.executor.jar.folder>${project.basedir}/target/dependency</jar.executor.jar.folder>
+ <jar.executor.jar.name.regexp>org.apache.stanbol.*full.*jar$</jar.executor.jar.name.regexp>
+ <keepJarRunning>${keepJarRunning}</keepJarRunning>
+ <server.ready.timeout.seconds>180</server.ready.timeout.seconds>
+ <server.ready.path.1>/:stanbol.css</server.ready.path.1>
+ <server.ready.path.2>/engines:There are currently</server.ready.path.2>
+ <server.ready.path.3>/contenthub:Recently uploaded Content Items</server.ready.path.3>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
<dependencies>
-
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.launchers.full</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
<!-- dependencies on other IKS modules -->
<dependency>
<groupId>org.apache.clerezza</groupId>
@@ -120,17 +225,17 @@
</dependency>
<!-- generic tax -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>1.4</version>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
- <version>2.4</version>
- <scope>provided</scope>
</dependency>
<!-- OSGi tax -->
@@ -241,18 +346,6 @@
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
-
- <!-- Diagnostics deps -->
- <dependency> <!-- we use log4j 1.2 -->
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency> <!-- see also the log4j.properties in src/main/resources -->
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>runtime</scope>
- </dependency>
<!-- Testing deps -->
<dependency>
@@ -261,16 +354,17 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.stanbol</groupId>
<artifactId>org.apache.stanbol.commons.testing.jarexec</artifactId>
<version>${stanbol-version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.commons.testing.stanbol</artifactId>
+ <version>${stanbol-version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
@@ -299,80 +393,4 @@
</repository>
</repositories>
- <build>
- <!-- make it an OSGi bundle -->
- <!-- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Export-Package>
- org.apache.stanbol.reasoners.web.*;version=${stanbol-version}
- </Export-Package>
- <Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=jersey-json|jettison|jackson-core-asl
- </Embed-Dependency>
- <Embed-Transitive>true</Embed-Transitive>
- <Import-Package>
- org.semanticweb.owlapi.*,
- !javax.servlet.jsp.*,
- !org.apache.tools.*,
- !org.apache.xpath.*,
- !org.jdom.*,
- !org.jaxen.*,
- !org.apache.xml.*,
- !org.mozilla.javascript.*,
- !org.python.*,
- !org.dom4j.*,
- !org.apache.log.*,
- *
- </Import-Package>
- <Embed-Dependency>freemarker</Embed-Dependency>
- <_nouses>true</_nouses>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- </plugins> -->
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Export-Package>
- org.apache.stanbol.reasoners.web.*;version=${stanbol-version}
- </Export-Package>
- <Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=jersey-json|jettison|jackson-core-asl
- </Embed-Dependency>
- <Embed-Transitive>true</Embed-Transitive>
- <Import-Package>
- !org.apache.felix.http.jetty,
- !org.mortbay.jetty.*,
- *
- </Import-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
</project>
Added: incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/ReasonersFragment.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/ReasonersFragment.java?rev=1136117&view=auto
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/ReasonersFragment.java (added)
+++ incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/ReasonersFragment.java Wed Jun 15 16:50:24 2011
@@ -0,0 +1,116 @@
+package org.apache.stanbol.reasoners.web;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.commons.web.base.LinkResource;
+import org.apache.stanbol.commons.web.base.NavigationLink;
+import org.apache.stanbol.commons.web.base.ScriptResource;
+import org.apache.stanbol.commons.web.base.WebFragment;
+import org.apache.stanbol.reasoners.base.api.Reasoner;
+import org.apache.stanbol.reasoners.web.resources.Classify;
+import org.apache.stanbol.reasoners.web.resources.ConsistencyCheck;
+import org.apache.stanbol.reasoners.web.resources.ConsistentRefactoring;
+import org.apache.stanbol.reasoners.web.resources.Enrichment;
+import org.apache.stanbol.reasoners.web.resources.ReasonersResource;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.ComponentContext;
+
+import freemarker.cache.ClassTemplateLoader;
+import freemarker.cache.TemplateLoader;
+
+
+/**
+ * Implementation of WebFragment for the Stanbol Reasoner end-point.
+ *
+ * @author Alberto Musetti
+ *
+ */
+
+@Component(immediate = true, metatype = true)
+@Service(WebFragment.class)
+public class ReasonersFragment implements WebFragment{
+
+ private static final String NAME = "reasoners";
+
+ private static final String STATIC_RESOURCE_PATH = "/org/apache/stanbol/reasoners/web/static";
+
+ private static final String TEMPLATE_PATH = "/org/apache/stanbol/reasoners/web/templates";
+
+ @Reference
+ Reasoner reasoners;
+
+ private BundleContext bundleContext;
+
+ @Override
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
+
+ @Override
+ public Set<Class<?>> getJaxrsResourceClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ // Reasoner
+ classes.add(ReasonersResource.class);
+ classes.add(ConsistencyCheck.class);
+ classes.add(ConsistentRefactoring.class);
+ classes.add(Classify.class);
+ classes.add(Enrichment.class);
+
+ return classes;
+ }
+
+ @Override
+ public Set<Object> getJaxrsResourceSingletons() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public List<LinkResource> getLinkResources() {
+ List<LinkResource> resources = new ArrayList<LinkResource>();
+ resources.add(new LinkResource("stylesheet", "css/reasoners.css", this, 10));
+ return resources;
+ }
+
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @Override
+ public List<NavigationLink> getNavigationLinks() {
+ List<NavigationLink> links = new ArrayList<NavigationLink>();
+ links.add(new NavigationLink("reasoners", "/reasoners", "/imports/reasonersDescription.ftl", 50));
+ return links;
+ }
+
+ @Override
+ public List<ScriptResource> getScriptResources() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public String getStaticResourceClassPath() {
+ return STATIC_RESOURCE_PATH;
+ }
+
+ @Override
+ public TemplateLoader getTemplateLoader() {
+ return new ClassTemplateLoader(getClass(), TEMPLATE_PATH);
+ }
+
+ @Activate
+ protected void activate(ComponentContext ctx) {
+ this.bundleContext = ctx.getBundleContext();
+ }
+
+
+
+}
Added: incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java?rev=1136117&view=auto
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java (added)
+++ incubator/stanbol/trunk/reasoners/web/src/main/java/org/apache/stanbol/reasoners/web/resources/ReasonersResource.java Wed Jun 15 16:50:24 2011
@@ -0,0 +1,33 @@
+package org.apache.stanbol.reasoners.web.resources;
+
+import static javax.ws.rs.core.MediaType.TEXT_HTML;
+
+import javax.servlet.ServletContext;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+import com.sun.jersey.api.view.Viewable;
+
+
+@Path("/reasoners")
+@ImplicitProduces(MediaType.TEXT_HTML + ";qs=2")
+public class ReasonersResource extends BaseStanbolResource {
+
+ public ReasonersResource(@Context ServletContext servletContext) {
+
+
+ }
+
+ @GET
+ @Produces(TEXT_HTML)
+ public Response get() {
+ return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ }
+}
Modified: incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ClassifyTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ClassifyTest.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ClassifyTest.java (original)
+++ incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ClassifyTest.java Wed Jun 15 16:50:24 2011
@@ -5,59 +5,39 @@
package org.apache.stanbol.reasoners.web;
-import java.util.Properties;
+import static org.junit.Assert.fail;
-import org.apache.stanbol.commons.testing.jarexec.JarExecutor;
+import org.apache.stanbol.commons.testing.stanbol.StanbolTestBase;
import org.junit.After;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
-
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.WebResource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
*
- * @author elvio
+ * @author elvio, alberto musetti
*/
-public class ClassifyTest {
-
- public ClassifyTest() {
- }
-
- public static final int __PORT = 9999;
-
- public static final String __JAR_FOLDER = "target";
+public class ClassifyTest extends StanbolTestBase {
- public static final String __PROP_JAR_NAME_REGEXP = "org.apache.stanbol.reasoner.*jar$";
-
- public static final String __TEST_URI = "http://localhost:" + __PORT + "/";
- public static final String __ROOT_URI = __TEST_URI + "classify";
- private static JarExecutor server;
- private Client client;
- private WebResource webres;
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- Properties properties = new Properties();
- properties.put(JarExecutor.PROP_SERVER_PORT, String.valueOf(__PORT));
- properties.put(JarExecutor.PROP_JAR_FOLDER, __JAR_FOLDER);
- properties.put(JarExecutor.PROP_JAR_NAME_REGEXP, __PROP_JAR_NAME_REGEXP);
-
- server = JarExecutor.getInstance(properties);
- server.start();
- }
+ static boolean enginesReady;
+ static boolean timedOut;
+ private static final Logger log = LoggerFactory.getLogger(ClassifyTest.class);
@Before
- public void setUp() {
- //RuleStore store = new KReSRuleStore();
- //server.setAttribute("kresRuleStore", store);
-
- client = Client.create();
- webres = client.resource(__ROOT_URI);
+ public void checkEnginesReady() throws Exception {
+ // Check only once per test run
+ if(enginesReady) {
+ return;
+ }
+
+ // If we timed out previously, don't waste time checking again
+ if(timedOut) {
+ fail("Timeout in previous check of enhancement engines, cannot run tests");
+ }
}
@After
Modified: incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ConsistencyCheckTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ConsistencyCheckTest.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ConsistencyCheckTest.java (original)
+++ incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/ConsistencyCheckTest.java Wed Jun 15 16:50:24 2011
@@ -5,58 +5,32 @@
package org.apache.stanbol.reasoners.web;
-import java.util.Properties;
-
-import org.apache.stanbol.commons.testing.jarexec.JarExecutor;
+import org.apache.stanbol.commons.testing.stanbol.StanbolTestBase;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
/**
*
- * @author elvio
+ * @author elvio, alberto musetti
*/
-public class ConsistencyCheckTest {
-
- public ConsistencyCheckTest() {
- }
-
- public static final int __PORT = 9999;
-
- public static final String __JAR_FOLDER = "target";
-
- public static final String __PROP_JAR_NAME_REGEXP = "org.apache.stanbol.reasoners.*jar$";
+public class ConsistencyCheckTest extends StanbolTestBase {
- public static final String __TEST_URI = "http://localhost:" + __PORT + "/";
- public static final String __ROOT_URI = __TEST_URI + "check-consistency";
- private static JarExecutor server;
+ private static final Logger log = LoggerFactory.getLogger(ConsistencyCheckTest.class);
private Client client;
private WebResource webres;
- @BeforeClass
- public static void setUpClass() throws Exception {
- Properties properties = new Properties();
- properties.put(JarExecutor.PROP_SERVER_PORT, String.valueOf(__PORT));
- properties.put(JarExecutor.PROP_JAR_FOLDER, __JAR_FOLDER);
- properties.put(JarExecutor.PROP_JAR_NAME_REGEXP, __PROP_JAR_NAME_REGEXP);
-
- server = JarExecutor.getInstance(properties);
- server.start();
- }
-
@Before
public void setUp() {
//RuleStore store = new KReSRuleStore();
//server.setAttribute("kresRuleStore", store);
-
client = Client.create();
- webres = client.resource(__ROOT_URI);
-
+ webres = client.resource(this.serverBaseUrl);
}
@After
Modified: incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/EnrichmentTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/EnrichmentTest.java?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/EnrichmentTest.java (original)
+++ incubator/stanbol/trunk/reasoners/web/src/test/java/org/apache/stanbol/reasoners/web/EnrichmentTest.java Wed Jun 15 16:50:24 2011
@@ -5,50 +5,26 @@
package org.apache.stanbol.reasoners.web;
-import java.util.Properties;
-
-import org.apache.stanbol.commons.testing.jarexec.JarExecutor;
+import org.apache.stanbol.commons.testing.stanbol.StanbolTestBase;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
/**
*
- * @author elvio
+ * @author elvio, alberto musetti
*/
-public class EnrichmentTest {
-
- public EnrichmentTest() {
- }
-
- public static final int __PORT = 9999;
-
- public static final String __JAR_FOLDER = "target";
+public class EnrichmentTest extends StanbolTestBase{
- public static final String __PROP_JAR_NAME_REGEXP = "org.apache.stanbol.reasoners.*jar$";
-
- public static final String __TEST_URI = "http://localhost:" + __PORT + "/";
- public static final String __ROOT_URI = __TEST_URI + "enrichment";
- private static JarExecutor server;
private Client client;
private WebResource webres;
-
- @BeforeClass
- public static void setUpClass() throws Exception {
- Properties properties = new Properties();
- properties.put(JarExecutor.PROP_SERVER_PORT, String.valueOf(__PORT));
- properties.put(JarExecutor.PROP_JAR_FOLDER, __JAR_FOLDER);
- properties.put(JarExecutor.PROP_JAR_NAME_REGEXP, __PROP_JAR_NAME_REGEXP);
-
- server = JarExecutor.getInstance(properties);
- server.start();
- }
+ private static final Logger log = LoggerFactory.getLogger(EnrichmentTest.class);
@Before
public void setUp() {
@@ -56,7 +32,7 @@ public class EnrichmentTest {
//server.setAttribute("kresRuleStore", store);
client = Client.create();
- webres = client.resource(__ROOT_URI);
+ webres = client.resource(this.serverBaseUrl);
}
Modified: incubator/stanbol/trunk/reengineer/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/web/pom.xml?rev=1136117&r1=1136116&r2=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reengineer/web/pom.xml (original)
+++ incubator/stanbol/trunk/reengineer/web/pom.xml Wed Jun 15 16:50:24 2011
@@ -62,58 +62,6 @@
</plugins>
</build>
- <!-- make it an OSGi bundle -->
- <!-- <build>
-
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Export-Package>
- org.apache.stanbol.reengineer.web.*;version=${stanbol-version}
- </Export-Package>
- <Embed-Dependency>*;scope=compile|runtime;inline=false;artifactId=jersey-json|jettison|jackson-core-asl
- </Embed-Dependency>
- <Embed-Transitive>true</Embed-Transitive>
- <Import-Package>
- org.semanticweb.owlapi.*,
- !javax.servlet.jsp.*,
- !org.apache.tools.*,
- !org.mortbay.*,
- !org.apache.xpath.*,
- !org.jdom.*,
- !org.jaxen.*,
- !org.apache.xml.*,
- !org.mozilla.javascript.*,
- !org.python.*,
- !org.dom4j.*,
- !org.apache.log.*,
- *
- </Import-Package>
- <Embed-Dependency>freemarker</Embed-Dependency>
- <_nouses>true</_nouses>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>2.0.2</version>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- </configuration>
- </plugin>
- </plugins>
- </build>-->
-
<dependencies>
<!-- Clerezza dependencies -->
@@ -176,6 +124,10 @@
</dependency>
<!-- generic tax -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
@@ -253,31 +205,13 @@
<version>${stanbol-version}</version>
<scope>provided</scope>
</dependency>
-
-
- <!-- Diagnostics deps -->
- <dependency> <!-- we use log4j 1.2 -->
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>runtime</scope>
- </dependency>
- <dependency> <!-- see also the log4j.properties in src/main/resources -->
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <scope>runtime</scope>
- </dependency>
-
+
<!-- Testing deps -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <scope>test</scope>
- </dependency>
</dependencies>
Added: incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerFragment.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerFragment.java?rev=1136117&view=auto
==============================================================================
--- incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerFragment.java (added)
+++ incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerFragment.java Wed Jun 15 16:50:24 2011
@@ -0,0 +1,109 @@
+package org.apache.stanbol.reengineer.web;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.stanbol.commons.web.base.LinkResource;
+import org.apache.stanbol.commons.web.base.NavigationLink;
+import org.apache.stanbol.commons.web.base.ScriptResource;
+import org.apache.stanbol.commons.web.base.WebFragment;
+import org.apache.stanbol.reengineer.base.api.ReengineerManager;
+import org.apache.stanbol.reengineer.web.resources.ReengineerResource;
+import org.osgi.framework.BundleContext;
+import org.osgi.service.component.ComponentContext;
+
+import freemarker.cache.ClassTemplateLoader;
+import freemarker.cache.TemplateLoader;
+
+
+/**
+ * Implementation of WebFragment for the Stanbol Reengineer end-point.
+ *
+ * @author alberto musetti
+ *
+ */
+
+@Component(immediate = true, metatype = true)
+@Service(WebFragment.class)
+public class ReengineerFragment implements WebFragment{
+
+ private static final String NAME = "reengineer";
+
+ private static final String STATIC_RESOURCE_PATH = "/org/apache/stanbol/reengineer/web/static";
+
+ private static final String TEMPLATE_PATH = "/org/apache/stanbol/reengineer/web/templates";
+
+ private BundleContext bundleContext;
+
+ @Reference
+ ReengineerManager reengineeringManager;
+
+
+ @Override
+ public BundleContext getBundleContext() {
+ return bundleContext;
+ }
+
+ @Override
+ public Set<Class<?>> getJaxrsResourceClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ // resources
+ classes.add(ReengineerResource.class);
+
+ return classes;
+ }
+
+ @Override
+ public Set<Object> getJaxrsResourceSingletons() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public List<LinkResource> getLinkResources() {
+ List<LinkResource> resources = new ArrayList<LinkResource>();
+ resources.add(new LinkResource("stylesheet", "css/reengineer.css", this, 10));
+ return resources;
+ }
+
+ @Override
+ public String getName() {
+ return NAME;
+ }
+
+ @Override
+ public List<NavigationLink> getNavigationLinks() {
+ List<NavigationLink> links = new ArrayList<NavigationLink>();
+ links.add(new NavigationLink("reengineer", "/reengineer", "/imports/reengineerDescription.ftl", 50));
+ return links;
+ }
+
+ @Override
+ public List<ScriptResource> getScriptResources() {
+ List<ScriptResource> resources = new ArrayList<ScriptResource>();
+ resources.add(new ScriptResource("text/javascript", "actions/actions.js", this, 10));
+ return resources;
+ }
+
+ @Override
+ public String getStaticResourceClassPath() {
+ return STATIC_RESOURCE_PATH;
+ }
+
+ @Override
+ public TemplateLoader getTemplateLoader() {
+ return new ClassTemplateLoader(getClass(), TEMPLATE_PATH);
+ }
+
+ @Activate
+ protected void activate(ComponentContext ctx) {
+ this.bundleContext = ctx.getBundleContext();
+ }
+
+}
Copied: incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/ReengineerResource.java (from r1136101, incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerResource.java)
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/ReengineerResource.java?p2=incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/ReengineerResource.java&p1=incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerResource.java&r1=1136101&r2=1136117&rev=1136117&view=diff
==============================================================================
--- incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/ReengineerResource.java (original)
+++ incubator/stanbol/trunk/reengineer/web/src/main/java/org/apache/stanbol/reengineer/web/resources/ReengineerResource.java Wed Jun 15 16:50:24 2011
@@ -0,0 +1,291 @@
+package org.apache.stanbol.reengineer.web.resources;
+
+import static javax.ws.rs.core.MediaType.TEXT_HTML;
+
+import java.io.InputStream;
+import java.util.Collection;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.FormParam;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.clerezza.rdf.core.Literal;
+import org.apache.clerezza.rdf.core.LiteralFactory;
+import org.apache.clerezza.rdf.core.MGraph;
+import org.apache.clerezza.rdf.core.UriRef;
+import org.apache.clerezza.rdf.core.access.TcManager;
+import org.apache.clerezza.rdf.core.impl.SimpleMGraph;
+import org.apache.clerezza.rdf.core.impl.TripleImpl;
+import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
+import org.apache.stanbol.ontologymanager.ontonet.impl.io.ClerezzaOntologyStorage;
+import org.apache.stanbol.reengineer.base.api.DataSource;
+import org.apache.stanbol.reengineer.base.api.Reengineer;
+import org.apache.stanbol.reengineer.base.api.ReengineerManager;
+import org.apache.stanbol.reengineer.base.api.ReengineeringException;
+import org.apache.stanbol.reengineer.base.api.datasources.DataSourceFactory;
+import org.apache.stanbol.reengineer.base.api.datasources.InvalidDataSourceForTypeSelectedException;
+import org.apache.stanbol.reengineer.base.api.datasources.NoSuchDataSourceExpection;
+import org.apache.stanbol.reengineer.base.api.datasources.RDB;
+import org.apache.stanbol.reengineer.base.api.settings.ConnectionSettings;
+import org.apache.stanbol.reengineer.base.api.settings.DBConnectionSettings;
+import org.apache.stanbol.reengineer.base.api.util.ReengineerType;
+import org.apache.stanbol.reengineer.base.api.util.UnsupportedReengineerException;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.sun.jersey.api.view.ImplicitProduces;
+import com.sun.jersey.api.view.Viewable;
+
+
+@Path("/reengineer")
+@ImplicitProduces(MediaType.TEXT_HTML + ";qs=2")
+public class ReengineerResource extends BaseStanbolResource {
+
+ protected ReengineerManager reengineeringManager;
+ protected TcManager tcManager;
+ protected ClerezzaOntologyStorage storage;
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+
+ public ReengineerResource(@Context ServletContext servletContext) {
+ tcManager = (TcManager) servletContext.getAttribute(TcManager.class.getName());
+ storage = (ClerezzaOntologyStorage) servletContext.getAttribute(ClerezzaOntologyStorage.class.getName());
+ reengineeringManager = (ReengineerManager) (servletContext.getAttribute(ReengineerManager.class.getName()));
+ if (reengineeringManager == null) {
+ throw new IllegalStateException(
+ "ReengineeringManager missing in ServletContext");
+ }
+ }
+
+ @GET
+ @Produces(TEXT_HTML)
+ public Response get() {
+ return Response.ok(new Viewable("index", this), TEXT_HTML).build();
+ }
+
+ @POST
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ public Response reengineering(
+ @FormParam("output-graph") String outputGraph,
+ @FormParam("input-type") String inputType,
+ @FormParam("input") InputStream input,
+ @Context HttpHeaders headers, @Context HttpServletRequest httpServletRequest){
+
+
+ System.out.println("Reengineering: "+inputType);
+ int reengineerType = -1;
+ try {
+ reengineerType = ReengineerType.getType(inputType);
+ } catch (UnsupportedReengineerException e) {
+ Response.status(404).build();
+ }
+
+ try {
+ DataSource dataSource = DataSourceFactory.createDataSource(reengineerType, input);
+
+ try {
+ OWLOntology ontology;
+ System.out.println("STORE PROVIDER : "+storage);
+ System.out.println("OUTGRAPH: "+outputGraph);
+ String servletPath = httpServletRequest.getLocalAddr();
+ System.out.println("SERVER PATH : "+servletPath);
+ servletPath = "http://"+servletPath+"/kres/graphs/"+outputGraph+":"+httpServletRequest.getLocalPort();
+ if(outputGraph == null || outputGraph.equals("")){
+ ontology = reengineeringManager.performReengineering(servletPath, null, dataSource);
+ return Response.ok().build();
+ }
+ else{
+ ontology = reengineeringManager.performReengineering(servletPath, IRI.create(outputGraph), dataSource);
+
+ storage.store(ontology);
+ return Response.ok(ontology).build();
+ }
+ } catch (ReengineeringException e) {
+ e.printStackTrace();
+ return Response.status(500).build();
+ }
+
+ } catch (NoSuchDataSourceExpection e) {
+ return Response.status(415).build();
+ } catch (InvalidDataSourceForTypeSelectedException e) {
+ return Response.status(204).build();
+ }
+
+ }
+
+
+ @POST
+ @Consumes(MediaType.MULTIPART_FORM_DATA)
+ @Path("/schema")
+ public Response schemaReengineering(
+ @FormParam("output-graph") String outputGraph,
+ @FormParam("input-type") String inputType,
+ @FormParam("input") InputStream input,
+ @Context HttpHeaders headers,
+ @Context HttpServletRequest httpServletRequest){
+
+ int reengineerType = -1;
+ try {
+ reengineerType = ReengineerType.getType(inputType);
+ } catch (UnsupportedReengineerException e) {
+ Response.status(404).build();
+ }
+
+ try {
+ DataSource dataSource = DataSourceFactory.createDataSource(reengineerType, input);
+
+ try {
+ OWLOntology ontology;
+
+ String servletPath = httpServletRequest.getLocalAddr();
+ servletPath = "http://"+servletPath+"/kres/graphs/"+outputGraph+":"+httpServletRequest.getLocalPort();
+ if(outputGraph == null){
+ ontology = reengineeringManager.performSchemaReengineering(servletPath, null, dataSource);
+ return Response.ok().build();
+ }
+ else{
+ ontology = reengineeringManager.performSchemaReengineering(servletPath, IRI.create(outputGraph), dataSource);
+ return Response.ok(ontology).build();
+ }
+ } catch (ReengineeringException e) {
+ return Response.status(500).build();
+ }
+
+ } catch (NoSuchDataSourceExpection e) {
+ return Response.status(415).build();
+ } catch (InvalidDataSourceForTypeSelectedException e) {
+ return Response.status(204).build();
+ }
+
+ }
+
+
+
+ @GET
+ @Path("/reengineers")
+ public Response listReengineers(@Context HttpHeaders headers){
+ Collection<Reengineer> reengineers = reengineeringManager.listReengineers();
+ MGraph mGraph = new SimpleMGraph();
+ UriRef semionRef = new UriRef("http://semion.kres.iksproject.eu#Semion");
+ for(Reengineer semionReengineer : reengineers){
+ UriRef hasReengineer = new UriRef("http://semion.kres.iksproject.eu#hasReengineer");
+ Literal reenginnerLiteral = LiteralFactory.getInstance().createTypedLiteral(semionReengineer.getClass().getCanonicalName());
+ mGraph.add(new TripleImpl(semionRef, hasReengineer, reenginnerLiteral));
+ }
+
+ return Response.ok(mGraph).build();
+ }
+
+
+ @GET
+ @Path("/reengineers/count")
+ public Response countReengineers(@Context HttpHeaders headers){
+
+ return Response.ok(reengineeringManager.countReengineers()).build();
+ }
+
+
+
+ @POST
+ @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+ @Path("/db/schema")
+ public Response reengineeringDBSchema(
+ @FormParam("output-graph") String outputGraph,
+ @FormParam("db") String physicalDBName, @FormParam("jdbc") String jdbcDriver,
+ @FormParam("protocol") String protocol, @FormParam("host") String host,
+ @FormParam("port") String port, @FormParam("username") String username, @FormParam("password") String password,
+ @Context HttpHeaders headers,
+ @Context HttpServletRequest httpServletRequest){
+
+
+ log.info("There are " + tcManager.listMGraphs().size() + " mGraphs");
+ System.out.println("There are " + tcManager.listMGraphs().size() + " mGraphs");
+
+ //UriRef uri = ContentItemHelper.makeDefaultUri(databaseURI, databaseURI.getBytes());
+ ConnectionSettings connectionSettings = new DBConnectionSettings(protocol, host, port, physicalDBName, username, password, null, jdbcDriver);
+ DataSource dataSource = new RDB(connectionSettings);
+
+ String servletPath = httpServletRequest.getLocalAddr();
+ servletPath = "http://"+servletPath+"/kres/graphs/"+outputGraph+":"+httpServletRequest.getLocalPort();
+
+ if(outputGraph != null && !outputGraph.equals("")){
+ OWLOntology ontology;
+ try {
+ ontology = reengineeringManager.performSchemaReengineering(servletPath, IRI.create(outputGraph), dataSource);
+ /*MediaType mediaType = headers.getMediaType();
+ String res = OntologyRenderUtils.renderOntology(ontology, mediaType.getType());*/
+ return Response.ok(ontology).build();
+ } catch (ReengineeringException e) {
+ return Response.status(500).build();
+ }
+ }
+ else{
+ try {
+ reengineeringManager.performSchemaReengineering(servletPath, null, dataSource);
+ return Response.ok().build();
+ } catch (ReengineeringException e) {
+ return Response.status(500).build();
+ }
+ }
+
+
+ }
+
+
+ @POST
+ @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+ @Path("/db")
+ public Response reengineeringDB(
+ @QueryParam("db") String physicalDBName, @QueryParam("jdbc") String jdbcDriver,
+ @QueryParam("protocol") String protocol, @QueryParam("host") String host,
+ @QueryParam("port") String port, @QueryParam("username") String username, @QueryParam("password") String password,
+ @QueryParam("output-graph") String outputGraph,
+ @Context HttpHeaders headers,
+ @Context HttpServletRequest httpServletRequest){
+
+
+ log.info("There are " + tcManager.listMGraphs().size() + " mGraphs");
+ System.out.println("There are " + tcManager.listMGraphs().size() + " mGraphs");
+
+ //UriRef uri = ContentItemHelper.makeDefaultUri(databaseURI, databaseURI.getBytes());
+ ConnectionSettings connectionSettings = new DBConnectionSettings(protocol, host, port, physicalDBName, username, password, null, jdbcDriver);
+ DataSource dataSource = new RDB(connectionSettings);
+
+ String servletPath = httpServletRequest.getLocalAddr();
+ servletPath = "http://"+servletPath+"/kres/graphs/"+outputGraph+":"+httpServletRequest.getLocalPort();
+
+ if(outputGraph != null && !outputGraph.equals("")){
+ OWLOntology ontology;
+ try {
+ ontology = reengineeringManager.performReengineering(servletPath, IRI.create(outputGraph), dataSource);
+ return Response.ok(ontology).build();
+ } catch (ReengineeringException e) {
+ return Response.status(500).build();
+ }
+
+ }
+ else{
+ try {
+ reengineeringManager.performReengineering(servletPath, null, dataSource);
+ return Response.ok().build();
+ } catch (ReengineeringException e) {
+ return Response.status(500).build();
+ }
+ }
+ }
+
+
+}