You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by al...@apache.org on 2012/11/12 16:30:14 UTC
svn commit: r1408321 - in /stanbol/trunk/ontologymanager:
generic/core/src/license/ generic/servicesapi/src/license/
generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/
generic/servicesapi/src/main/java/org/apach...
Author: alexdma
Date: Mon Nov 12 15:30:07 2012
New Revision: 1408321
URL: http://svn.apache.org/viewvc?rev=1408321&view=rev
Log:
* Fixed missing third party licenses. (STANBOL-800)
* Fixed missing license headers for Turtle files in test resources. (STANBOL-800)
* Re-introduced some exceptions in the deprecated ontonet API (STANBOL-672)
* POST service on ontology resources for deferred content loading. (STANBOL-802) (TODO also support it for scopes and sessions?)
* GET query parameter "meta=true" on stored ontology resources now returns the set of registered aliases. POST parameter "alias" adds new aliases, but only if the alias is not already a public key of an assigned ontology, and only if no content is being supplied in the same POST. (STANBOL-801)
* Fixed a bug that prevented some aliases from showing in the HTML client (STANBOL-801). Also, from the same page it is now possible to download the ontology content in any supported format.
Added:
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/DuplicateSessionIDException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/NonReferenceableSessionException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionEvent.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionIDGenerator.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionLimitException.java
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/TestAliasing.java
Modified:
stanbol/trunk/ontologymanager/generic/core/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/generic/servicesapi/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/IrremovableOntologyException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/MissingOntologyException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollectorModificationException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/UnmodifiableOntologyCollectorException.java
stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/servicesapi/ontology/OntologyProvider.java
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/ClerezzaOntologyProvider.java
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/MetaGraphManager.java
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/abox.owl
stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/tbox.owl
stanbol/trunk/ontologymanager/registry/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/sources/clerezza/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/sources/owlapi/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/web/src/license/THIRD-PARTY.properties
stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyStatsResource.java
stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/ontology.ftl
Modified: stanbol/trunk/ontologymanager/generic/core/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/core/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/core/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/generic/core/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:02 CET 2012
+#Mon Nov 12 12:00:50 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:02 CET 2012
+#Mon Nov 12 11:57:49 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/IrremovableOntologyException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/IrremovableOntologyException.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/IrremovableOntologyException.java (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/IrremovableOntologyException.java Mon Nov 12 15:30:07 2012
@@ -16,8 +16,6 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.collector;
-import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
-
@Deprecated
public class IrremovableOntologyException extends OntologyCollectorModificationException {
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/MissingOntologyException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/MissingOntologyException.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/MissingOntologyException.java (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/MissingOntologyException.java Mon Nov 12 15:30:07 2012
@@ -16,7 +16,6 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.collector;
-import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
import org.semanticweb.owlapi.model.OWLOntologyID;
@Deprecated
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollectorModificationException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollectorModificationException.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollectorModificationException.java (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/OntologyCollectorModificationException.java Mon Nov 12 15:30:07 2012
@@ -16,8 +16,6 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.collector;
-import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
-
@Deprecated
public class OntologyCollectorModificationException extends
org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollectorModificationException {
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/UnmodifiableOntologyCollectorException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/UnmodifiableOntologyCollectorException.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/UnmodifiableOntologyCollectorException.java (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/collector/UnmodifiableOntologyCollectorException.java Mon Nov 12 15:30:07 2012
@@ -16,8 +16,6 @@
*/
package org.apache.stanbol.ontologymanager.ontonet.api.collector;
-import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
-
@Deprecated
public class UnmodifiableOntologyCollectorException extends OntologyCollectorModificationException {
Added: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/DuplicateSessionIDException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/DuplicateSessionIDException.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/DuplicateSessionIDException.java (added)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/DuplicateSessionIDException.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.session;
+
+@Deprecated
+public class DuplicateSessionIDException extends
+ org.apache.stanbol.ontologymanager.servicesapi.session.DuplicateSessionIDException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -4010987903120880675L;
+
+ public DuplicateSessionIDException(String dupe) {
+ super(dupe);
+ }
+
+ public DuplicateSessionIDException(String dupe, String message) {
+ super(dupe, message);
+ }
+
+ public DuplicateSessionIDException(String dupe, Throwable cause) {
+ super(dupe, cause);
+ }
+
+}
Added: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/NonReferenceableSessionException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/NonReferenceableSessionException.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/NonReferenceableSessionException.java (added)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/NonReferenceableSessionException.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.session;
+
+@Deprecated
+public class NonReferenceableSessionException extends
+ org.apache.stanbol.ontologymanager.servicesapi.session.NonReferenceableSessionException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -5824276516809214914L;
+
+ public NonReferenceableSessionException() {
+ super();
+ }
+
+ public NonReferenceableSessionException(String message) {
+ super(message);
+ }
+
+ public NonReferenceableSessionException(Throwable cause) {
+ super(cause);
+ }
+
+}
Added: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionEvent.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionEvent.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionEvent.java (added)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionEvent.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.session;
+
+@Deprecated
+public class SessionEvent extends org.apache.stanbol.ontologymanager.servicesapi.session.SessionEvent {
+
+ public SessionEvent(Session session, OperationType operationType) {
+ super(session, operationType);
+ }
+
+ @Override
+ public Session getSession() {
+ // TODO Auto-generated method stub
+ org.apache.stanbol.ontologymanager.servicesapi.session.Session session = super.getSession();
+ if (session instanceof Session) return (Session) session;
+ else throw new UnsupportedOperationException("Referenced session must be from the deprecated API.");
+ }
+
+}
Added: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionIDGenerator.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionIDGenerator.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionIDGenerator.java (added)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionIDGenerator.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.session;
+
+@Deprecated
+public interface SessionIDGenerator extends
+ org.apache.stanbol.ontologymanager.servicesapi.session.SessionIDGenerator {
+
+}
Added: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionLimitException.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionLimitException.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionLimitException.java (added)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/ontonet/api/session/SessionLimitException.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.ontonet.api.session;
+
+@Deprecated
+public class SessionLimitException extends
+ org.apache.stanbol.ontologymanager.servicesapi.session.SessionLimitException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 3820288680568447463L;
+
+ public SessionLimitException(int limit) {
+ super(limit);
+ }
+
+ public SessionLimitException(int limit, String message) {
+ super(limit, message);
+
+ }
+
+ public SessionLimitException(int limit, Throwable cause) {
+ super(limit, cause);
+
+ }
+
+}
Modified: stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/servicesapi/ontology/OntologyProvider.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/servicesapi/ontology/OntologyProvider.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/servicesapi/ontology/OntologyProvider.java (original)
+++ stanbol/trunk/ontologymanager/generic/servicesapi/src/main/java/org/apache/stanbol/ontologymanager/servicesapi/ontology/OntologyProvider.java Mon Nov 12 15:30:07 2012
@@ -45,6 +45,36 @@ import org.semanticweb.owlapi.model.OWLO
public interface OntologyProvider<S> {
/**
+ * The status of a stored ontology entry in the {@link OntologyProvider}.
+ *
+ * @author alexdma
+ *
+ */
+ public enum Status {
+
+ /**
+ * A non-null ontology object can be obtained by querying the ontology provider for this entry.
+ */
+ MATCH,
+
+ /**
+ * No such entry is registered as either a primary key or an alias in the ontology provider.
+ */
+ NO_MATCH,
+
+ /**
+ * The entry is registered and assigned a graph name, but the corresponding graph cannot be found.
+ */
+ ORPHAN,
+
+ /**
+ * The entry is registered but not assigned a graph.
+ */
+ UNCHARTED
+
+ }
+
+ /**
* The key used to configure the prefix to be used for addressing ontologies stored by this provider.
*/
public String GRAPH_PREFIX = "org.apache.stanbol.ontologymanager.ontonet.graphPrefix";
@@ -154,6 +184,8 @@ public interface OntologyProvider<S> {
*/
Set<OWLOntologyID> getPublicKeys();
+ Status getStatus(OWLOntologyID publicKey);
+
/**
* Returns the storage system used by this ontology provider (e.g. a {@link TcProvider} or an
* {@link OWLOntologyManager}).
@@ -271,6 +303,9 @@ public interface OntologyProvider<S> {
* Implementations are typically faster than calling {@link #getStoredOntology(IRI, Class)} and checking
* if the returned value is not null.
*
+ * @deprecated the notion of "having an ontology" has become ambiguous. Please use
+ * {@link #getStatus(OWLOntologyID)} and verify its value.
+ *
* @param publicKey
* the ontology id. If there is both an ontology IRI and a version IRI, both must match the
* ontology provider's records in order to return true. Otherwise, it will return true iff
Modified: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:02 CET 2012
+#Mon Nov 12 12:00:55 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/ClerezzaOntologyProvider.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/ClerezzaOntologyProvider.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/ClerezzaOntologyProvider.java (original)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/ClerezzaOntologyProvider.java Mon Nov 12 15:30:07 2012
@@ -534,7 +534,11 @@ public class ClerezzaOntologyProvider im
log.info("Adding alias for ontology entry.");
log.info(" ... Primary key : {}", primaryKey);
log.info(" ... Alias : {}", alias);
- // TODO check that they do not map to two different ontologies.
+ // Check that they do not map to two different ontologies.
+ OWLOntologyID already = checkAlias(primaryKey, alias);
+ /*if (already != null) throw new IllegalArgumentException*/log.warn(alias
+ + " is already an alias for primary key "
+ + already);
// XXX a SPARQL query could come in handy.
// Nothing to do but defer to the meta graph,
new MetaGraphManager(tcManager, keymap.graph).updateAddAlias(primaryKey, alias);
@@ -542,10 +546,20 @@ public class ClerezzaOntologyProvider im
return true;
}
+ protected OWLOntologyID checkAlias(OWLOntologyID primaryKey, OWLOntologyID alias) {
+ for (OWLOntologyID primary : listPrimaryKeys())
+ if (listAliases(primary).contains(alias) && !alias.equals(primary)) return primary;
+ return null;
+ }
+
@Override
public OWLOntologyID createBlankOntologyEntry(OWLOntologyID publicKey) {
log.info("Creating new orphan entry.");
log.info(" ... Public key : {}", publicKey);
+
+ if (getStatus(publicKey) != Status.NO_MATCH) throw new IllegalArgumentException(
+ "Public key " + publicKey + "is already registered");
+
/*
* TODO keep this object from being created on every call once we get totally rid of the
* OntologyToTcMapper class.
@@ -880,15 +894,19 @@ public class ClerezzaOntologyProvider im
@Override
public <O> O getStoredOntology(OWLOntologyID reference, Class<O> returnType, boolean merge) {
-
- if (!hasOntology(reference)) throw new IllegalArgumentException("No ontology with public key "
- + reference + " found.");
- String key = /* getKey(reference); */
- keymap.getMapping(reference).getUnicodeString();
- if (key == null || key.isEmpty()) {
- log.warn("No key found for IRI {}", reference);
- return null;
- } else return getStoredOntology(key, returnType, merge);
+ switch (getStatus(reference)) {
+ case NO_MATCH:
+ throw new IllegalArgumentException("No ontology with public key " + reference + " found.");
+ case UNCHARTED:
+ log.warn("No key found for IRI {}", reference);
+ return null;
+ case ORPHAN:
+ throw new OrphanOntologyKeyException(reference);
+ default:
+ String key = /* getKey(reference); */
+ keymap.getMapping(reference).getUnicodeString();
+ return getStoredOntology(key, returnType, merge);
+ }
}
@Override
@@ -952,7 +970,6 @@ public class ClerezzaOntologyProvider im
}
@Override
- @Deprecated
public boolean hasOntology(IRI ontologyIri) {
// ontologyIri = URIUtils.sanitizeID(ontologyIri);
return hasOntology(new OWLOntologyID(ontologyIri));
@@ -960,12 +977,20 @@ public class ClerezzaOntologyProvider im
@Override
public boolean hasOntology(OWLOntologyID id) {
- if (id == null || id.isAnonymous()) throw new IllegalArgumentException(
+ Status stat = getStatus(id);
+ if (stat == Status.ORPHAN) throw new OrphanOntologyKeyException(id);
+ return getStatus(id) == Status.MATCH;
+ }
+
+ @Override
+ public Status getStatus(OWLOntologyID publicKey) {
+ if (publicKey == null || publicKey.isAnonymous()) throw new IllegalArgumentException(
"Cannot check for an anonymous ontology.");
- UriRef graphName = keymap.getMapping(id);
- if (graphName == null) return false;
- if (!store.listTripleCollections().contains(graphName)) throw new OrphanOntologyKeyException(id);
- return true;
+ if (!new MetaGraphManager(tcManager, keymap.graph).exists(publicKey)) return Status.NO_MATCH;
+ UriRef graphName = keymap.getMapping(publicKey);
+ if (graphName == null) return Status.UNCHARTED;
+ if (store.listTripleCollections().contains(graphName)) return Status.MATCH;
+ else return Status.ORPHAN;
}
/**
@@ -988,20 +1013,28 @@ public class ClerezzaOntologyProvider im
public Set<OWLOntologyID> listAliases(OWLOntologyID publicKey) {
if (publicKey == null || publicKey.isAnonymous()) throw new IllegalArgumentException(
"Cannot locate aliases for null or anonymous public keys.");
- Set<OWLOntologyID> aliases = new HashSet<OWLOntologyID>();
+ final Set<OWLOntologyID> aliases = new HashSet<OWLOntologyID>();
+ computeAliasClosure(publicKey, aliases);
+ aliases.remove(publicKey);
+ return aliases;
+ }
+
+ protected void computeAliasClosure(OWLOntologyID publicKey, Set<OWLOntologyID> target) {
+ target.add(publicKey);
TripleCollection meta = getMetaGraph(TripleCollection.class);
UriRef ont = keymap.buildResource(publicKey);
+ Set<Resource> resources = new HashSet<Resource>();
// Forwards
- for (Iterator<Triple> it = meta.filter(ont, OWL.sameAs, null); it.hasNext();) {
- Resource r = it.next().getObject();
- if (r instanceof UriRef) aliases.add(keymap.buildPublicKey((UriRef) r));
- }
+ for (Iterator<Triple> it = meta.filter(ont, OWL.sameAs, null); it.hasNext();)
+ resources.add(it.next().getObject());
// Backwards
- for (Iterator<Triple> it = meta.filter(null, OWL.sameAs, ont); it.hasNext();) {
- Resource r = it.next().getSubject();
- if (r instanceof UriRef) aliases.add(keymap.buildPublicKey((UriRef) r));
- }
- return aliases;
+ for (Iterator<Triple> it = meta.filter(null, OWL.sameAs, ont); it.hasNext();)
+ resources.add(it.next().getSubject());
+ for (Resource r : resources)
+ if (r instanceof UriRef) {
+ OWLOntologyID newKey = keymap.buildPublicKey((UriRef) r);
+ if (!target.contains(newKey)) computeAliasClosure(newKey, target);
+ }
}
@Override
@@ -1048,6 +1081,8 @@ public class ClerezzaOntologyProvider im
if (data == null) throw new IllegalArgumentException("No data to load ontologies from.");
if (formatIdentifier == null || formatIdentifier.trim().isEmpty()) throw new IllegalArgumentException(
"A non-null, non-blank format identifier is required for parsing the data stream.");
+ checkReplaceability(references);
+
// This method only tries the supplied format once.
log.debug("Trying to parse data stream with format {}", formatIdentifier);
TripleCollection rdfData = parser.parse(data, formatIdentifier);
@@ -1062,6 +1097,7 @@ public class ClerezzaOntologyProvider im
Origin<?>... references) throws IOException {
log.debug("Loading {}", ontologyIri);
if (ontologyIri == null) throw new IllegalArgumentException("Ontology IRI cannot be null.");
+ checkReplaceability(references);
IRI location = null;
if (force) location = null;
@@ -1124,6 +1160,7 @@ public class ClerezzaOntologyProvider im
public OWLOntologyID loadInStore(Object ontology, final boolean force, Origin<?>... origins) {
if (ontology == null) throw new IllegalArgumentException("No ontology supplied.");
+ checkReplaceability(origins);
long before = System.currentTimeMillis();
TripleCollection graph; // The final graph
@@ -1140,7 +1177,19 @@ public class ClerezzaOntologyProvider im
// XXX Force is ignored for the content, but the imports?
// TODO Profile this method. Are we getting rid of rdfData after adding its triples?
- OWLOntologyID publicKey = OWLUtils.extractOntologyID(rdfData);
+ OWLOntologyID extractedId = OWLUtils.extractOntologyID(rdfData);
+
+ OWLOntologyID publicKey = null;
+
+ for (int i = 0; i < origins.length && publicKey == null; i++) {
+ if (origins[i] != null) {
+ Object ref = origins[i].getReference();
+ if (ref instanceof OWLOntologyID) publicKey = (OWLOntologyID) ref;
+ }
+ }
+
+ if (publicKey == null) publicKey = extractedId;
+
if (publicKey == null) {
IRI z;
if (origins.length > 0 && origins[0] != null) {
@@ -1235,15 +1284,19 @@ public class ClerezzaOntologyProvider im
for (Origin<?> origin : origins)
if (origin != null) {
Object reff = origin.getReference();
- if (reff instanceof IRI) {
- OWLOntologyID physical = new OWLOntologyID((IRI) reff);
- if (!physical.equals(publicKey)) {
- // keymap.setMapping(physical, uriref);
- new MetaGraphManager(tcManager, keymap.graph).updateAddAlias(publicKey, physical);
- mappedIds += " , " + physical;
- }
+ OWLOntologyID alias = null;
+ if (reff instanceof IRI) alias = new OWLOntologyID((IRI) reff);
+ else if (reff instanceof OWLOntologyID) alias = (OWLOntologyID) reff;
+ if (!alias.equals(publicKey)) {
+ // keymap.setMapping(physical, uriref);
+ addAlias(publicKey, alias);
+ mappedIds += " , " + alias;
}
}
+ if (extractedId != null && !extractedId.equals(publicKey)) {
+ addAlias(publicKey, extractedId);
+ mappedIds += " , " + extractedId;
+ }
// Do this AFTER registering the ontology, otherwise import cycles will cause infinite loops.
if (resolveImports) {
@@ -1340,6 +1393,15 @@ public class ClerezzaOntologyProvider im
keymap.mapLocator(locator, new UriRef(key));
}
+ protected void checkReplaceability(Origin<?>... origins) {
+ for (Origin<?> or : origins) {
+ if (or == null || !(or.getReference() instanceof OWLOntologyID)) continue;
+ OWLOntologyID key = (OWLOntologyID) or.getReference();
+ if (getStatus(key) == Status.MATCH) throw new IllegalStateException(
+ "Public key " + key + " matches an existing non-orphan entry. Cannot replace.");
+ }
+ }
+
/**
*
* @param graphName
Modified: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/MetaGraphManager.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/MetaGraphManager.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/MetaGraphManager.java (original)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/main/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/MetaGraphManager.java Mon Nov 12 15:30:07 2012
@@ -49,10 +49,10 @@ class MetaGraphManager {
private MGraph graph;
- private TcManager tcManager;
-
private Logger log = LoggerFactory.getLogger(getClass());
+ private TcManager tcManager;
+
public MetaGraphManager(TcManager tcManager, MGraph graph) {
this.tcManager = tcManager;
this.graph = graph;
@@ -112,6 +112,13 @@ class MetaGraphManager {
}
+ public boolean exists(final OWLOntologyID publicKey) {
+ UriRef publicKeyUriRef = new UriRef(OntologyUtils.encode(publicKey));
+ if (graph.filter(publicKeyUriRef, RDF.type, ENTRY_URIREF).hasNext()) return true;
+ if (graph.filter(publicKeyUriRef, OWL.sameAs, null).hasNext()) return true;
+ return false;
+ }
+
public void updateAddAlias(OWLOntologyID subject, OWLOntologyID object) {
// For now add both owl:sameAs statements
UriRef suben = buildResource(subject), oben = buildResource(object);
Added: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/TestAliasing.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/TestAliasing.java?rev=1408321&view=auto
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/TestAliasing.java (added)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/java/org/apache/stanbol/ontologymanager/multiplexer/clerezza/ontology/TestAliasing.java Mon Nov 12 15:30:07 2012
@@ -0,0 +1,156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.stanbol.ontologymanager.multiplexer.clerezza.ontology;
+
+import static org.apache.stanbol.commons.web.base.format.KRFormat.RDF_XML;
+import static org.apache.stanbol.ontologymanager.multiplexer.clerezza.MockOsgiContext.ontologyProvider;
+import static org.apache.stanbol.ontologymanager.multiplexer.clerezza.MockOsgiContext.reset;
+import static org.apache.stanbol.ontologymanager.servicesapi.ontology.OntologyProvider.Status.MATCH;
+import static org.apache.stanbol.ontologymanager.servicesapi.ontology.OntologyProvider.Status.UNCHARTED;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.InputStream;
+
+import org.apache.stanbol.ontologymanager.servicesapi.io.Origin;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLOntologyID;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * This test suite checks the coherence of registered ontology entries and their relationship with stored
+ * graphs, if any. It also verifies that entries can be created at one time but will only become accessible
+ * when filled.
+ *
+ * @author alexdma
+ *
+ */
+public class TestAliasing {
+
+ @AfterClass
+ public static void cleanup() {
+ reset();
+ }
+
+ private Logger log = LoggerFactory.getLogger(getClass());
+
+ private String prefix = "http://stanbol.apache.org/ontologies/test/aliasing";
+
+ @Test
+ public void canCreateUnchartedOnce() throws Exception {
+ OWLOntologyID uncharted = new OWLOntologyID(IRI.create(prefix), IRI.create(getClass()
+ .getCanonicalName() + "#canCreateUnchartedOnce()"));
+ OWLOntologyID uncharted_copy = ontologyProvider.createBlankOntologyEntry(uncharted);
+ log.info("Created uncharted ontology entry.");
+ log.info(" ... key: {}", uncharted);
+ assertEquals(uncharted, uncharted_copy);
+ assertEquals(UNCHARTED, ontologyProvider.getStatus(uncharted));
+ int entries = ontologyProvider.listAllRegisteredEntries().size();
+ log.info("{} entries registered.", entries);
+
+ try {
+ log.info("Re-creating uncharted ontology entry...");
+ OWLOntologyID recreated = ontologyProvider.createBlankOntologyEntry(uncharted);
+ log.error(" ... Created same entry twice. This should not happen.");
+ log.error(" ... key: {}", recreated);
+ fail("Created same entry twice. This should not happen.");
+ } catch (Exception ex) {
+ log.info(" ... Creation failed. This is expected.");
+ assertEquals(UNCHARTED, ontologyProvider.getStatus(uncharted));
+ int newsize = ontologyProvider.listAllRegisteredEntries().size();
+ assertEquals(entries, newsize);
+ log.info("{} entries registered.", newsize);
+ assertTrue(ontologyProvider.listOrphans().contains(uncharted));
+ assertFalse(ontologyProvider.listPrimaryKeys().contains(uncharted));
+ }
+ }
+
+ @Test
+ public void canFillDeferred() throws Exception {
+ log.info("Creating uncharted ontology entry.");
+ OWLOntologyID key = new OWLOntologyID(IRI.create(prefix), IRI.create(getClass().getCanonicalName()
+ + "#canFillDeferred()"));
+ log.info(" ... key: {}", key);
+ OWLOntologyID key2 = ontologyProvider.createBlankOntologyEntry(key);
+ assertEquals(key, key2);
+ assertEquals(UNCHARTED, ontologyProvider.getStatus(key));
+
+ String location = "/ontologies/test1.owl";
+ log.info("Filling from data stream.");
+ log.info(" ... source: {}", getClass().getResource(location));
+ log.info(" ... target: {}", key);
+ InputStream in = getClass().getResourceAsStream(location);
+ key2 = ontologyProvider.loadInStore(in, RDF_XML, false, Origin.create(key));
+ assertEquals(key, key2);
+ log.info(" ... DONE. Primary keys match.");
+ assertEquals(MATCH, ontologyProvider.getStatus(key));
+ }
+
+ @Test
+ public void cannotReplaceExistingDataStream() throws Exception {
+
+ // Create a new full entry.
+ String location = "/ontologies/test1.owl";
+ InputStream in = getClass().getResourceAsStream(location);
+ OWLOntologyID key = ontologyProvider.loadInStore(in, RDF_XML, false);
+ log.info("Created and filled entry {}", key);
+ assertNotNull(key);
+ assertEquals(MATCH, ontologyProvider.getStatus(key));
+ assertEquals(1, ontologyProvider.listAllRegisteredEntries().size());
+
+ // Try to replace the data stream of a full entry (should fail).
+ location = "/ontologies/mockfoaf.rdf";
+ in = getClass().getResourceAsStream(location);
+ try {
+ OWLOntologyID wrongKey = ontologyProvider.loadInStore(in, RDF_XML, false, Origin.create(key));
+ log.error("Replaced existing data stream. This should not happen.");
+ log.error(" ... key: ", wrongKey);
+ fail("Replaced existing data stream without warning.");
+ } catch (Exception ex) {
+ log.info("Caught exception of type {}", ex.getClass().getCanonicalName());
+ assertEquals(MATCH, ontologyProvider.getStatus(key));
+ assertEquals(1, ontologyProvider.listAllRegisteredEntries().size());
+ assertEquals(1, ontologyProvider.listPrimaryKeys().size());
+ }
+
+ // Create a new uncharted entry and fill its data stream with the failed one.
+ OWLOntologyID uncharted = new OWLOntologyID(IRI.create(prefix), IRI.create(getClass()
+ .getCanonicalName() + "#cannotReplaceExistingDataStream()"));
+ ontologyProvider.createBlankOntologyEntry(uncharted);
+ assertEquals(UNCHARTED, ontologyProvider.getStatus(uncharted));
+ in = getClass().getResourceAsStream(location);
+ ontologyProvider.loadInStore(in, RDF_XML, false, Origin.create(uncharted));
+ assertEquals(MATCH, ontologyProvider.getStatus(uncharted));
+ assertEquals(2, ontologyProvider.listPrimaryKeys().size());
+
+ }
+
+ /*
+ * Nothing needs to be preserved across tests.
+ */
+ @Before
+ public void setup() {
+ reset();
+ }
+}
Modified: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/abox.owl
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/abox.owl?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/abox.owl (original)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/abox.owl Mon Nov 12 15:30:07 2012
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <http://www.ontologydesignpatterns.org/ont/test/ontonet#> .
Modified: stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/tbox.owl
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/tbox.owl?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/tbox.owl (original)
+++ stanbol/trunk/ontologymanager/multiplexer/clerezza/src/test/resources/ontologies/imports-disconnected/tbox.owl Mon Nov 12 15:30:07 2012
@@ -1,3 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <http://www.ontologydesignpatterns.org/ont/test/ontonet#> .
Modified: stanbol/trunk/ontologymanager/registry/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/registry/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/registry/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/registry/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:11 CET 2012
+#Mon Nov 12 12:17:49 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/sources/clerezza/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/sources/clerezza/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/sources/clerezza/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/sources/clerezza/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:02 CET 2012
+#Mon Nov 12 12:00:40 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/sources/owlapi/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/sources/owlapi/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/sources/owlapi/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/sources/owlapi/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,26 +1,28 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - GPL2 w/ CPE
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
+# - GNU Lesser General Public License (LGPL), Version 2.1
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:02 CET 2012
+#Mon Nov 12 12:00:45 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/web/src/license/THIRD-PARTY.properties
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/web/src/license/THIRD-PARTY.properties?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/web/src/license/THIRD-PARTY.properties (original)
+++ stanbol/trunk/ontologymanager/web/src/license/THIRD-PARTY.properties Mon Nov 12 15:30:07 2012
@@ -1,34 +1,29 @@
# Generated by org.codehaus.mojo.license.AddThirdPartyMojo
#-------------------------------------------------------------------------------
# Already used licenses in project :
-# - Apache 2
-# - Apache License
-# - Apache License Version 2.0
-# - Apache Software License - Version 2.0
-# - BSD
-# - BSD-style license
-# - CDDL 1.1
-# - CDDL License
-# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-# - Common Development and Distribution License (CDDL) v1.0
-# - Common Public License Version 1.0
-# - Eclipse Public License - Version 1.0
+# - Apache Software License
+# - Apache Software License, Version 2.0
+# - BSD License
+# - Common Development And Distribution License (CDDL), Version 1.0
+# - Common Development And Distribution License (CDDL), Version 1.1
+# - Common Public License, Version 1.0
+# - Dual license consisting of the CDDL v1.1 and GPL v2
+# - Eclipse Public License, Version 1.0
+# - GNU General Public License (GPL), Version 2 with classpath exception
+# - GNU Lesser General Public License (LGPL)
# - GNU Lesser General Public License (LGPL), Version 2.1
-# - GPL2 w/ CPE
-# - GPLv2 with classpath exception
# - ICU License
# - MIT License
-# - The Apache Software License, Version 2.0
-# - The MIT License
+# - Public Domain License
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Wed Feb 15 19:05:18 CET 2012
+#Mon Nov 12 12:18:45 CET 2012
asm--asm--3.1=BSD License
-javax.servlet--servlet-api--2.4=Common Development And Distribution License (CDDL), Version 1.0
+javax.servlet--servlet-api--2.5=Common Development And Distribution License (CDDL), Version 1.0
+net.sourceforge.owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
org.codehaus.jettison--jettison--1.3=The Apache Software License, Version 2.0
org.osgi--org.osgi.compendium--4.1.0=The Apache Software License, Version 2.0
org.osgi--org.osgi.core--4.1.0=The Apache Software License, Version 2.0
-owlapi--owlapi--3.2.3=The Apache Software License, Version 2.0
xerces--xercesImpl--2.7.1=The Apache Software License, Version 2.0
Modified: stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java (original)
+++ stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource.java Mon Nov 12 15:30:07 2012
@@ -100,6 +100,7 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.registry.api.model.Library;
import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
import org.apache.stanbol.ontologymanager.servicesapi.io.OntologyInputSource;
+import org.apache.stanbol.ontologymanager.servicesapi.io.Origin;
import org.apache.stanbol.ontologymanager.servicesapi.ontology.Multiplexer;
import org.apache.stanbol.ontologymanager.servicesapi.ontology.OntologyHandleException;
import org.apache.stanbol.ontologymanager.servicesapi.ontology.OntologyLoadingException;
@@ -429,9 +430,13 @@ public class OntoNetRootResource extends
@Path("/{ontologyId:.+}")
@Produces(value = {APPLICATION_JSON, N3, N_TRIPLE, RDF_JSON})
public Response getStandaloneGraph(@PathParam("ontologyId") String ontologyId,
+ @DefaultValue("false") @QueryParam("meta") boolean meta,
@DefaultValue("false") @QueryParam("merge") boolean merged,
@Context UriInfo uriInfo,
@Context HttpHeaders headers) {
+
+ if (meta) return getMetadata(ontologyId, uriInfo, headers);
+
ResponseBuilder rb;
if (ontologyId == null || ontologyId.isEmpty()) rb = Response.status(BAD_REQUEST);
OWLOntologyID key = OntologyUtils.decode(ontologyId);
@@ -475,29 +480,65 @@ public class OntoNetRootResource extends
return rb.build();
}
+ public Response getMetadata(@PathParam("ontologyId") String ontologyId,
+ @Context UriInfo uriInfo,
+ @Context HttpHeaders headers) {
+ ResponseBuilder rb;
+ UriRef me = new UriRef(getPublicBaseUri() + "ontonet/" + ontologyId);
+ MGraph mGraph = new SimpleMGraph();
+ for (String alias : getAliases(OntologyUtils.decode(ontologyId)))
+ mGraph.add(new TripleImpl(new UriRef(getPublicBaseUri() + "ontonet/" + alias), OWL.sameAs, me));
+ rb = Response.ok(mGraph);
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
+
@POST
+ @Path("/{ontologyId:.+}")
@Consumes({MULTIPART_FORM_DATA})
@Produces({TEXT_HTML, TEXT_PLAIN, RDF_XML, TURTLE, X_TURTLE, N3})
- public Response postOntology(FormDataMultiPart data, @Context HttpHeaders headers) {
+ public Response loadOntologyContent(@PathParam("ontologyId") String ontologyId,
+ FormDataMultiPart data,
+ @Context HttpHeaders headers) {
+ ResponseBuilder rb = performLoadOntology(data, headers,
+ Origin.create(OntologyUtils.decode(ontologyId)));
+ // rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
+
+ protected ResponseBuilder performLoadOntology(FormDataMultiPart data,
+ HttpHeaders headers,
+ Origin<?>... keys) {
log.debug(" post(FormDataMultiPart data)");
ResponseBuilder rb = null;
IRI location = null;
File file = null; // If found, it takes precedence over location.
String format = null;
+ List<OWLOntologyID> aliases = new ArrayList<OWLOntologyID>();
for (BodyPart bpart : data.getBodyParts()) {
log.debug("is a {}", bpart.getClass());
if (bpart instanceof FormDataBodyPart) {
FormDataBodyPart dbp = (FormDataBodyPart) bpart;
String name = dbp.getName();
if (name.equals("file")) file = bpart.getEntityAs(File.class);
- else if (name.equals("format") && !dbp.getValue().equals("auto")) format = dbp.getValue();
- else if (name.equals("url")) try {
- URI.create(dbp.getValue()); // To throw 400 if malformed.
- location = IRI.create(dbp.getValue());
- } catch (Exception ex) {
- log.error("Malformed IRI for " + dbp.getValue(), ex);
- throw new WebApplicationException(ex, BAD_REQUEST);
+ else {
+ String value = dbp.getValue();
+ if (name.equals("format") && !value.equals("auto")) format = value;
+ else if (name.equals("url")) try {
+ URI.create(value); // To throw 400 if malformed.
+ location = IRI.create(value);
+ } catch (Exception ex) {
+ log.error("Malformed IRI for " + value, ex);
+ throw new WebApplicationException(ex, BAD_REQUEST);
+ }
+ else if (name.equals("alias") && !"null".equals(value)) try {
+ aliases.add(OntologyUtils.decode(value));
+ } catch (Exception ex) {
+ log.error("Malformed public key for " + value, ex);
+ throw new WebApplicationException(ex, BAD_REQUEST);
+ }
}
}
}
@@ -525,7 +566,7 @@ public class OntoNetRootResource extends
InputStream content = new FileInputStream(file);
// ClerezzaOWLUtils.guessOntologyID(new FileInputStream(file), Parser.getInstance(), f);
OWLOntologyID guessed = OWLUtils.guessOntologyID(content, Parser.getInstance(), f);
- if (ontologyProvider.hasOntology(guessed)) {
+ if (guessed != null && ontologyProvider.hasOntology(guessed)) {
rb = Response.status(Status.CONFLICT);
this.submitted = guessed;
if (headers.getAcceptableMediaTypes().contains(MediaType.TEXT_HTML_TYPE)) {
@@ -535,7 +576,7 @@ public class OntoNetRootResource extends
break;
} else {
content = new FileInputStream(file);
- key = ontologyProvider.loadInStore(content, f, true);
+ key = ontologyProvider.loadInStore(content, f, true, keys);
}
} catch (UnsupportedFormatException e) {
log.warn(
@@ -557,31 +598,42 @@ public class OntoNetRootResource extends
}
} else if (location != null) {
try { // Here we try every format supported by the Java API
- key = ontologyProvider.loadInStore(location, null, true);
+ key = ontologyProvider.loadInStore(location, null, true, keys);
} catch (Exception e) {
log.error("Failed to load ontology from " + location, e);
throw new WebApplicationException(e, BAD_REQUEST);
}
- } else {
- log.error("Bad request");
- log.error(" file is: {}", file);
- throw new WebApplicationException(BAD_REQUEST);
- }
+ } else if (!aliases.isEmpty()) // No content but there are aliases.
+ for (Origin<?> origin : keys)
+ if (origin.getReference() instanceof OWLOntologyID) {
+ OWLOntologyID primary = ((OWLOntologyID) origin.getReference());
+ if (ontologyProvider.getStatus(primary) != org.apache.stanbol.ontologymanager.servicesapi.ontology.OntologyProvider.Status.NO_MATCH) for (OWLOntologyID alias : aliases)
+ try {
+ if (ontologyProvider.addAlias(primary, alias) && key == null) key = alias;
+ } catch (IllegalArgumentException ex) {
+ log.warn("Cannot add alias");
+ log.warn(" ... ontology key: {}", primary);
+ log.warn(" ... alias: {}", alias);
+ log.warn(" ... reason: ", ex);
+ continue;
+ }
+ } else {
+ log.error("Bad request");
+ log.error(" file is: {}", file);
+ throw new WebApplicationException(BAD_REQUEST);
+ }
if (key != null && !key.isAnonymous()) {
String uri = OntologyUtils.encode(key);
if (uri != null && !uri.isEmpty()) {
- rb = Response.created(URI.create("/" + uri));
+ rb = Response.ok();
if (headers.getAcceptableMediaTypes().contains(MediaType.TEXT_HTML_TYPE)) {
rb.entity(new Viewable("index", this));
rb.header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_HTML + "; charset=utf-8");
}
} else rb = Response.ok();
} else if (rb == null) rb = Response.status(Status.INTERNAL_SERVER_ERROR);
-
- // rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
- addCORSOrigin(servletContext, rb, headers);
- return rb.build();
+ return rb;
}
/**
@@ -611,13 +663,23 @@ public class OntoNetRootResource extends
return Response.ok(new Viewable("ontology",
// new OntologyPrettyPrintResource(servletContext,
// uriInfo, out)
- new OntologyStatsResource(servletContext, uriInfo, o, ontologyProvider.listAliases(key),
+ new OntologyStatsResource(servletContext, uriInfo, key, o, ontologyProvider.listAliases(key),
handles)));
// } catch (OWLOntologyStorageException e) {
// throw new WebApplicationException(e, INTERNAL_SERVER_ERROR);
// }
}
+ @POST
+ @Consumes({MULTIPART_FORM_DATA})
+ @Produces({TEXT_HTML, TEXT_PLAIN, RDF_XML, TURTLE, X_TURTLE, N3})
+ public Response postOntology(FormDataMultiPart data, @Context HttpHeaders headers) {
+ ResponseBuilder rb = performLoadOntology(data, headers);
+ // rb.header(HttpHeaders.CONTENT_TYPE, TEXT_HTML + "; charset=utf-8");
+ addCORSOrigin(servletContext, rb, headers);
+ return rb.build();
+ }
+
@GET
@Path("/{ontologyId:.+}")
@Produces(TEXT_HTML)
Modified: stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyStatsResource.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyStatsResource.java?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyStatsResource.java (original)
+++ stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/util/OntologyStatsResource.java Mon Nov 12 15:30:07 2012
@@ -23,11 +23,11 @@ import java.util.Set;
import javax.servlet.ServletContext;
import javax.ws.rs.core.UriInfo;
-import org.apache.stanbol.commons.web.base.resource.BaseStanbolResource;
import org.apache.stanbol.ontologymanager.servicesapi.collector.OntologyCollector;
import org.apache.stanbol.ontologymanager.servicesapi.scope.OntologySpace;
import org.apache.stanbol.ontologymanager.servicesapi.session.Session;
import org.apache.stanbol.ontologymanager.servicesapi.util.OntologyUtils;
+import org.apache.stanbol.ontologymanager.web.resources.AbstractOntologyAccessResource;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyID;
@@ -37,7 +37,7 @@ import org.semanticweb.owlapi.model.OWLO
* @author alexdma
*
*/
-public class OntologyStatsResource extends BaseStanbolResource {
+public class OntologyStatsResource extends AbstractOntologyAccessResource {
private Set<OntologyCollector> handles;
@@ -47,11 +47,13 @@ public class OntologyStatsResource exten
public OntologyStatsResource(ServletContext context,
UriInfo uriInfo,
+ OWLOntologyID key,
OWLOntology o,
Set<OWLOntologyID> identifiers,
Set<OntologyCollector> handles) {
this.servletContext = context;
this.uriInfo = uriInfo;
+ this.submitted = key;
this.o = o;
this.identifiers = identifiers;
this.handles = handles;
@@ -60,7 +62,8 @@ public class OntologyStatsResource exten
public Set<String> getAliases() {
Set<String> aliases = new HashSet<String>();
for (OWLOntologyID alias : identifiers)
- if (!o.getOntologyID().equals(alias)) aliases.add(OntologyUtils.encode(alias));
+ // if (!o.getOntologyID().equals(alias))
+ aliases.add(OntologyUtils.encode(alias));
return Collections.unmodifiableSet(aliases);
}
Modified: stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/ontology.ftl
URL: http://svn.apache.org/viewvc/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/ontology.ftl?rev=1408321&r1=1408320&r2=1408321&view=diff
==============================================================================
--- stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/ontology.ftl (original)
+++ stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/ontology.ftl Mon Nov 12 15:30:07 2012
@@ -23,7 +23,7 @@
Aliases:
<ul>
<#list it.aliases as alias>
- <li>${alias}</li>
+ <li><a href=${it.publicBaseUri}ontonet/${alias}>${alias}</a></li>
</#list>
</ul>
@@ -41,6 +41,60 @@
<pre>${it.result}</pre>
-->
</div>
+
+ <ul class="downloadLinks">
+<li>
+ Output format:
+ <select onChange="javascript:setFormat();" id="selectFormat">
+ <option value="application/json">JSON-LD</option>
+ <option value="application/owl+xml">OWL/XML</option>
+ <option value="application/rdf+xml">RDF/XML</option>
+ <option value="application/rdf+json">RDF/JSON</option>
+ <option value="text/owl-functional">OWL Functional Syntax</option>
+ <option value="text/owl-manchester">Manchester OWL Syntax</option>
+ <option value="text/rdf+n3">N3</option>
+ <option value="text/rdf+nt">N-Triples</option>
+ <option value="text/turtle" selected>Turtle</option>
+ </select>
+ <a id="downloadOntology" href="${it.requestUri}?header_Accept=text%2Fturtle" class="downloadRDF" download="${it.stringForm(it.representedOntologyKey)}.rdf">Download raw ontology</a>
+</li>
+</ul>
</...@common.page>
-</#escape>
\ No newline at end of file
+</#escape>
+
+<script>
+ function setFormat(){
+ var format = $("#selectFormat").val();
+ $("#downloadOntology").attr("href", "${it.requestUri}?header_Accept="+encodeURIComponent(format));
+ switch(format) {
+ case "application/json":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.json");
+ break;
+ case "application/owl+xml":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.owl");
+ break;
+ case "application/rdf+json":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.json");
+ break;
+ case "application/rdf+xml":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.rdf");
+ break;
+ case "text/owl-functional":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.owl");
+ break;
+ case "text/owl-manchester":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.owl");
+ break;
+ case "text/rdf+n3":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.n3");
+ break;
+ case "text/rdf+nt":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.nt");
+ break;
+ case "text/turtle":
+ $("#downloadOntology").attr("download", "${it.stringForm(it.representedOntologyKey)}.rdf");
+ break;
+}
+ }
+</script>
\ No newline at end of file