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/02/23 19:51:19 UTC
svn commit: r1292893 [2/2] - in /incubator/stanbol/trunk:
commons/owl/src/main/java/org/apache/stanbol/commons/owl/transformation/
commons/owl/src/main/java/org/apache/stanbol/commons/owl/web/ data/
data/bundlelist/src/main/bundles/ data/registries/ da...
Modified: incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java (original)
+++ incubator/stanbol/trunk/ontologymanager/registry/src/main/java/org/apache/stanbol/ontologymanager/registry/impl/RegistryManagerImpl.java Thu Feb 23 18:51:17 2012
@@ -35,6 +35,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.stanbol.commons.owl.OWLOntologyManagerFactory;
+import org.apache.stanbol.commons.stanboltools.datafileprovider.DataFileProvider;
import org.apache.stanbol.ontologymanager.ontonet.api.OfflineConfiguration;
import org.apache.stanbol.ontologymanager.ontonet.api.ontology.OntologyProvider;
import org.apache.stanbol.ontologymanager.ontonet.impl.clerezza.ClerezzaOntologyProvider;
@@ -52,7 +53,13 @@ import org.apache.stanbol.ontologymanage
import org.apache.stanbol.ontologymanager.registry.xd.vocabulary.CODOVocabulary;
import org.osgi.service.component.ComponentContext;
import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.io.IRIDocumentSource;
+import org.semanticweb.owlapi.io.OWLOntologyDocumentSource;
+import org.semanticweb.owlapi.io.StreamDocumentSource;
import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLAnnotationProperty;
+import org.semanticweb.owlapi.model.OWLAnnotationValue;
import org.semanticweb.owlapi.model.OWLAxiom;
import org.semanticweb.owlapi.model.OWLAxiomVisitor;
import org.semanticweb.owlapi.model.OWLClass;
@@ -60,13 +67,15 @@ import org.semanticweb.owlapi.model.OWLC
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLDataFactory;
import org.semanticweb.owlapi.model.OWLIndividual;
-import org.semanticweb.owlapi.model.OWLNamedIndividual;
+import org.semanticweb.owlapi.model.OWLNamedObject;
+import org.semanticweb.owlapi.model.OWLObject;
import org.semanticweb.owlapi.model.OWLObjectProperty;
import org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom;
import org.semanticweb.owlapi.model.OWLObjectPropertyExpression;
import org.semanticweb.owlapi.model.OWLOntology;
import org.semanticweb.owlapi.model.OWLOntologyAlreadyExistsException;
import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyLoaderConfiguration;
import org.semanticweb.owlapi.model.OWLOntologyManager;
import org.semanticweb.owlapi.util.OWLAxiomVisitorAdapter;
import org.slf4j.Logger;
@@ -86,18 +95,22 @@ public class RegistryManagerImpl impleme
private static final boolean _LAZY_LOADING_DEFAULT = true;
+ private static final boolean _RETAIN_INCOMPLETE_DEFAULT = true;
+
private static final OWLClass cRegistryLibrary, cOntology;
- private static final OWLObjectProperty hasPart, hasOntology, isPartOf, isOntologyOf;
+ private static final OWLAnnotationProperty hasOntologyAnn, isOntologyOfAnn;
+
+ private static final OWLObjectProperty hasOntology, isOntologyOf;
static {
OWLDataFactory factory = OWLManager.getOWLDataFactory();
cOntology = factory.getOWLClass(IRI.create(CODOVocabulary.CODK_Ontology));
cRegistryLibrary = factory.getOWLClass(IRI.create(CODOVocabulary.CODD_OntologyLibrary));
- isPartOf = factory.getOWLObjectProperty(IRI.create(CODOVocabulary.PARTOF_IsPartOf));
isOntologyOf = factory.getOWLObjectProperty(IRI.create(CODOVocabulary.ODPM_IsOntologyOf));
- hasPart = factory.getOWLObjectProperty(IRI.create(CODOVocabulary.PARTOF_HasPart));
hasOntology = factory.getOWLObjectProperty(IRI.create(CODOVocabulary.ODPM_HasOntology));
+ hasOntologyAnn = factory.getOWLAnnotationProperty(IRI.create(CODOVocabulary.ODPM_HasOntology));
+ isOntologyOfAnn = factory.getOWLAnnotationProperty(IRI.create(CODOVocabulary.ODPM_IsOntologyOf));
}
@Reference
@@ -112,13 +125,16 @@ public class RegistryManagerImpl impleme
+ ".option.centralised", name = "CENTRALISED")}, value = "CENTRALISED")
private String cachingPolicyString;
+ @Reference
+ private DataFileProvider dataFileProvider;
+
@Property(name = RegistryManager.LAZY_LOADING, boolValue = _LAZY_LOADING_DEFAULT)
private boolean lazyLoading = _LAZY_LOADING_DEFAULT;
/* Maps registries to libraries */
private Map<IRI,Set<IRI>> libraryIndex = new HashMap<IRI,Set<IRI>>();
- @Property(name = RegistryManager.REGISTRY_LOCATIONS, cardinality = 1000, value = {"http://www.ontologydesignpatterns.org/registry/iksnetwork-standalone.owl"})
+ @Property(name = RegistryManager.REGISTRY_LOCATIONS, cardinality = 1000, value = {"stanbol_network.owl"})
private String[] locations;
private Logger log = LoggerFactory.getLogger(getClass());
@@ -136,6 +152,9 @@ public class RegistryManagerImpl impleme
private Set<IRI> registries = new HashSet<IRI>();
+ @Property(name = RegistryManager.RETAIN_INCOMPLETE, boolValue = _RETAIN_INCOMPLETE_DEFAULT)
+ private boolean retainIncomplete = _RETAIN_INCOMPLETE_DEFAULT;
+
private RegistryItemFactory riFactory;
/**
@@ -143,8 +162,9 @@ public class RegistryManagerImpl impleme
* Component Runtime support.
* <p>
* DO NOT USE to manually create instances - the RegistryManagerImpl instances do need to be configured!
- * YOU NEED TO USE {@link #RegistryManagerImpl(Dictionary)} or its overloads, to parse the configuration
- * and then initialise the rule store if running outside an OSGI environment.
+ * YOU NEED TO USE {@link #RegistryManagerImpl(OfflineConfiguration, OntologyProvider, Dictionary))} or
+ * its overloads, to parse the configuration and then initialise the rule store if running outside an OSGI
+ * environment.
*/
public RegistryManagerImpl() {}
@@ -180,10 +200,15 @@ public class RegistryManagerImpl impleme
} catch (Exception ex) {
lazyLoading = _LAZY_LOADING_DEFAULT;
}
+ try {
+ retainIncomplete = (Boolean) (configuration.get(RegistryManager.RETAIN_INCOMPLETE));
+ } catch (Exception ex) {
+ retainIncomplete = _RETAIN_INCOMPLETE_DEFAULT;
+ }
Object obj = configuration.get(RegistryManager.REGISTRY_LOCATIONS);
if (obj instanceof String[]) locations = (String[]) obj;
else if (obj instanceof String) locations = new String[] {(String) obj};
- if (locations == null) locations = new String[] {"http://www.ontologydesignpatterns.org/registry/iksnetwork-standalone.owl"};
+ if (locations == null) locations = new String[] {"stanbol_network.owl"};
Object cachingPolicy = configuration.get(RegistryManager.CACHING_POLICY);
if (cachingPolicy == null) {
this.cachingPolicyString = _CACHING_POLICY_DEFAULT.name();
@@ -203,11 +228,27 @@ public class RegistryManagerImpl impleme
// Used only for creating the registry model, do not use for caching.
OWLOntologyManager mgr = OWLOntologyManagerFactory.createOWLOntologyManager(offlineResources);
+ OWLOntologyLoaderConfiguration conf = new OWLOntologyLoaderConfiguration();
+ // If we are retaining incomplete registries, do not throw exceptions if imports fail.
+ conf.setSilentMissingImportsHandling(retainIncomplete);
// Load registries
Set<OWLOntology> regOnts = new HashSet<OWLOntology>();
for (String loc : locations) {
try {
- regOnts.add(mgr.loadOntology(IRI.create(loc)));
+ IRI iri = IRI.create(loc);
+ OWLOntologyDocumentSource src = null;
+ OWLOntology o = null;
+ if (iri.isAbsolute()) src = new IRIDocumentSource(iri);
+ else {
+ // Relative IRI : use data file provider
+ log.debug("Found relative IRI {} . Will try to retrieve from data file providers.", iri);
+ Map<String,String> info = new HashMap<String,String>();
+ if (dataFileProvider.isAvailable(null, loc, info)) src = new StreamDocumentSource(
+ dataFileProvider.getInputStream(null, loc, info));
+ }
+ o = mgr.loadOntologyFromOntologyDocument(src, conf);
+ if (o != null) regOnts.add(o);
+ else log.warn("Failed to obtain OWL ontology from resource {}", loc);
} catch (OWLOntologyAlreadyExistsException e) {
log.info("Skipping cached ontology {}.", e.getOntologyID());
continue;
@@ -357,6 +398,46 @@ public class RegistryManagerImpl impleme
}
@Override
+ public void visit(OWLAnnotationAssertionAxiom axiom) {
+ /*
+ * Works like object property assertions, in case hasOntology and isOntologyOf are not
+ * detected to be object properties (e.g. due to a failure to load codolight or the registry
+ * metamodel).
+ */
+ OWLAnnotationProperty prop = axiom.getProperty();
+
+ if (hasOntologyAnn.equals(prop)) {
+ IRI iri;
+ // The axiom subject gets a +1 in its library score.
+ OWLObject ind = axiom.getSubject();
+ if (ind instanceof IRI) {
+ iri = (IRI) ind;
+ checkScores(iri)[0]++;
+ }
+ // The axiom object gets a +1 in its ontology score.
+ ind = axiom.getValue();
+ if (ind instanceof IRI) {
+ iri = (IRI) ind;
+ checkScores(iri)[1]++;
+ }
+ } else if (isOntologyOfAnn.equals(prop)) {
+ IRI iri;
+ // The axiom subject gets a +1 in its ontology score.
+ OWLObject ind = axiom.getSubject();
+ if (ind instanceof IRI) {
+ iri = (IRI) ind;
+ checkScores(iri)[1]++;
+ }
+ // The axiom object gets a +1 in its library score.
+ ind = axiom.getValue();
+ if (ind instanceof IRI) {
+ iri = (IRI) ind;
+ checkScores(iri)[0]++;
+ }
+ }
+ }
+
+ @Override
public void visit(OWLClassAssertionAxiom axiom) {
OWLIndividual ind = axiom.getIndividual();
// Do not accept anonymous registry items.
@@ -377,7 +458,6 @@ public class RegistryManagerImpl impleme
@Override
public void visit(OWLObjectPropertyAssertionAxiom axiom) {
OWLObjectPropertyExpression prop = axiom.getProperty();
-
if (hasOntology.equals(prop)) {
IRI iri;
// The axiom subject gets a +1 in its library score.
@@ -472,7 +552,8 @@ public class RegistryManagerImpl impleme
@Override
public Set<Library> getLibraries(IRI ontologyID) {
Set<Library> results = new HashSet<Library>();
- for (RegistryItem item : population.get(ontologyID).getParents())
+ RegistryItem ri = population.get(ontologyID);
+ if (ri != null) for (RegistryItem item : ri.getParents())
if (item instanceof Library) results.add((Library) item);
return results;
}
@@ -538,7 +619,7 @@ public class RegistryManagerImpl impleme
}
}
- protected Library populateLibrary(OWLNamedIndividual ind, Set<OWLOntology> registries) throws RegistryContentException {
+ protected Library populateLibrary(OWLNamedObject ind, Set<OWLOntology> registries) throws RegistryContentException {
IRI libId = ind.getIRI();
RegistryItem lib = null;
if (population.containsKey(libId)) {
@@ -548,7 +629,7 @@ public class RegistryManagerImpl impleme
"Inconsistent multityping: for item " + libId + " : {" + Library.class + ", "
+ lib.getClass() + "}");
} else {
- lib = riFactory.createLibrary(ind.asOWLNamedIndividual());
+ lib = riFactory.createLibrary(ind);
try {
population.put(lib.getIRI(), lib);
} catch (Exception e) {
@@ -557,24 +638,36 @@ public class RegistryManagerImpl impleme
}
}
// EXIT nodes.
- Set<OWLIndividual> ironts = new HashSet<OWLIndividual>();
- for (OWLOntology o : registries)
- ironts.addAll(ind.getObjectPropertyValues(hasOntology, o));
- for (OWLIndividual iront : ironts)
- if (iront.isNamed()) {
- IRI childId = iront.asOWLNamedIndividual().getIRI();
- // If some populate*() method has created it, it will be there.
- RegistryItem ront = population.get(childId);
- // Otherwise populating it will also put it in population.
- if (ront == null) ront = populateOntology(iront.asOWLNamedIndividual(), registries);
- lib.addChild(ront);
- if (ontologyIndex.get(childId) == null) ontologyIndex.put(childId, new HashSet<IRI>());
- ontologyIndex.get(childId).add(libId);
+ Set<OWLNamedObject> ironts = new HashSet<OWLNamedObject>();
+ OWLDataFactory df = OWLManager.getOWLDataFactory();
+ for (OWLOntology o : registries) {
+ if (ind instanceof OWLIndividual) {
+ // Get usages of hasOntology as an object property
+ for (OWLIndividual value : ((OWLIndividual) ind).getObjectPropertyValues(hasOntology, o))
+ if (value.isNamed()) ironts.add(value.asOWLNamedIndividual());
+ // Get usages of hasOntology as an annotation property
+ for (OWLAnnotationAssertionAxiom ann : o.getAnnotationAssertionAxioms(ind.getIRI()))
+ if (hasOntologyAnn.equals(ann.getProperty())) {
+ OWLAnnotationValue value = ann.getValue();
+ if (value instanceof OWLNamedObject) ironts.add((OWLNamedObject) value);
+ else if (value instanceof IRI) ironts.add(df.getOWLNamedIndividual((IRI) value));
+ }
}
+ }
+ for (OWLNamedObject iront : ironts) {
+ IRI childId = iront.getIRI();
+ // If some populate*() method has created it, it will be there.
+ RegistryItem ront = population.get(childId);
+ // Otherwise populating it will also put it in population.
+ if (ront == null) ront = populateOntology(iront, registries);
+ lib.addChild(ront);
+ if (ontologyIndex.get(childId) == null) ontologyIndex.put(childId, new HashSet<IRI>());
+ ontologyIndex.get(childId).add(libId);
+ }
return (Library) lib;
}
- protected RegistryOntology populateOntology(OWLNamedIndividual ind, Set<OWLOntology> registries) throws RegistryContentException {
+ protected RegistryOntology populateOntology(OWLNamedObject ind, Set<OWLOntology> registries) throws RegistryContentException {
IRI ontId = ind.getIRI();
RegistryItem ront = null;
if (population.containsKey(ontId)) {
@@ -593,20 +686,32 @@ public class RegistryManagerImpl impleme
}
}
// EXIT nodes.
- Set<OWLIndividual> libs = new HashSet<OWLIndividual>();
- for (OWLOntology o : registries)
- libs.addAll(ind.getObjectPropertyValues(isOntologyOf, o));
- for (OWLIndividual ilib : libs)
- if (ilib.isNamed()) {
- IRI parentId = ilib.asOWLNamedIndividual().getIRI();
- // If some populate*() method has created it, it will be there.
- RegistryItem rlib = population.get(parentId);
- // Otherwise populating it will also put it in population.
- if (rlib == null) rlib = populateLibrary(ilib.asOWLNamedIndividual(), registries);
- ront.addParent(rlib);
- if (ontologyIndex.get(ontId) == null) ontologyIndex.put(ontId, new HashSet<IRI>());
- ontologyIndex.get(ontId).add(parentId);
+ Set<OWLNamedObject> libs = new HashSet<OWLNamedObject>();
+ OWLDataFactory df = OWLManager.getOWLDataFactory();
+ for (OWLOntology o : registries) {
+ if (ind instanceof OWLIndividual) {
+ // Get usages of isOntologyOf as an object property
+ for (OWLIndividual value : ((OWLIndividual) ind).getObjectPropertyValues(isOntologyOf, o))
+ if (value.isNamed()) libs.add(value.asOWLNamedIndividual());
+ // Get usages of isOntologyOf as an annotation property
+ for (OWLAnnotationAssertionAxiom ann : o.getAnnotationAssertionAxioms(ind.getIRI()))
+ if (isOntologyOfAnn.equals(ann.getProperty())) {
+ OWLAnnotationValue value = ann.getValue();
+ if (value instanceof OWLNamedObject) libs.add((OWLNamedObject) value);
+ else if (value instanceof IRI) libs.add(df.getOWLNamedIndividual((IRI) value));
+ }
}
+ }
+ for (OWLNamedObject ilib : libs) {
+ IRI parentId = ilib.getIRI();
+ // If some populate*() method has created it, it will be there.
+ RegistryItem rlib = population.get(parentId);
+ // Otherwise populating it will also put it in population.
+ if (rlib == null) rlib = populateLibrary(ilib, registries);
+ ront.addParent(rlib);
+ if (ontologyIndex.get(ontId) == null) ontologyIndex.put(ontId, new HashSet<IRI>());
+ ontologyIndex.get(ontId).add(parentId);
+ }
return (RegistryOntology) ront;
}
Modified: incubator/stanbol/trunk/ontologymanager/registry/src/main/resources/OSGI-INF/metatype/metatype.properties
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/registry/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/registry/src/main/resources/OSGI-INF/metatype/metatype.properties (original)
+++ incubator/stanbol/trunk/ontologymanager/registry/src/main/resources/OSGI-INF/metatype/metatype.properties Thu Feb 23 18:51:17 2012
@@ -28,4 +28,7 @@ org.apache.stanbol.ontologymanager.regis
org.apache.stanbol.ontologymanager.registry.laziness.description = If set, the ontologies referenced in a library will not be loaded until the library is requested.
org.apache.stanbol.ontologymanager.registry.locations.name = Registry locations
-org.apache.stanbol.ontologymanager.registry.locations.description = The physical URLs of the ontology registry OWL files.
\ No newline at end of file
+org.apache.stanbol.ontologymanager.registry.locations.description = The physical URLs of the ontology registry OWL files.
+
+org.apache.stanbol.ontologymanager.registry.retainIncomplete.name = Retain incomplete registries
+org.apache.stanbol.ontologymanager.registry.retainIncomplete.description = When set, if a registry fails to set up completely (e.g. an OWL import fails), any surviving parts will be considered valid.
Modified: incubator/stanbol/trunk/ontologymanager/store/parent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/store/parent/pom.xml?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/store/parent/pom.xml (original)
+++ incubator/stanbol/trunk/ontologymanager/store/parent/pom.xml Thu Feb 23 18:51:17 2012
@@ -78,7 +78,7 @@
<!-- OWL -->
<dependency>
<groupId>org.apache.stanbol</groupId>
- <artifactId>org.apache.stanbol.owl</artifactId>
+ <artifactId>org.apache.stanbol.commons.owl</artifactId>
<version>0.9.0-incubating-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
Modified: incubator/stanbol/trunk/ontologymanager/web/pom.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/pom.xml?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/pom.xml (original)
+++ incubator/stanbol/trunk/ontologymanager/web/pom.xml Thu Feb 23 18:51:17 2012
@@ -191,6 +191,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.stanbol</groupId>
+ <artifactId>org.apache.stanbol.commons.testing.stanbol</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/java/org/apache/stanbol/ontologymanager/web/resources/StoredOntologyResource.java Thu Feb 23 18:51:17 2012
@@ -119,11 +119,13 @@ public class StoredOntologyResource exte
minSize = size;
}
}
- log.debug("Selected library for ontology {} is {} .", iri, smallest);
- try {
- o = registryManager.getLibrary(smallest).getOntology(iri);
- } catch (RegistryContentException e) {
- log.warn("The content of library " + smallest + " could not be accessed.", e);
+ if (smallest != null) {
+ log.debug("Selected library for ontology {} is {} .", iri, smallest);
+ try {
+ o = registryManager.getLibrary(smallest).getOntology(iri);
+ } catch (RegistryContentException e) {
+ log.warn("The content of library " + smallest + " could not be accessed.", e);
+ }
}
}
log.debug("Ontology {} not found in any ontology provider or library.", iri);
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/index.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/index.ftl?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/index.ftl (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntoNetRootResource/index.ftl Thu Feb 23 18:51:17 2012
@@ -19,7 +19,12 @@
<#escape x as x?html>
<@common.page title="Apache Stanbol OntoNet" hasrestapi=true>
-
+ <span style="font-style:italic">From here you can reach the following sub-endpoints:</span>
+ <ul>
+ <li><a href="${it.publicBaseUri}ontonet/ontology" title="Apache Stanbol OntoNet Scope Manager">Scope Manager</a></li>
+ <li><a href="${it.publicBaseUri}ontonet/session" title="Apache Stanbol OntoNet Session Manager">Session Manager</a></li>
+ </ul>
+
<div class="panel" id="webview">
<#include "webview.ftl">
</div>
Modified: incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource/index.ftl
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource/index.ftl?rev=1292893&r1=1292892&r2=1292893&view=diff
==============================================================================
--- incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource/index.ftl (original)
+++ incubator/stanbol/trunk/ontologymanager/web/src/main/resources/org/apache/stanbol/ontologymanager/web/templates/org/apache/stanbol/ontologymanager/web/resources/OntologyNetworkResource/index.ftl Thu Feb 23 18:51:17 2012
@@ -37,10 +37,10 @@
<#list it.scopes as scope>
<tr>
<td>
- <img src="${it.staticRootUrl}/contenthub/images/edit_icon_16.png" title="Edit this item" />
- <img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" title="Delete this item" />
+ <img src="${it.staticRootUrl}/contenthub/images/edit_icon_16.png" title="(not available yet) Edit this item" />
+ <img src="${it.staticRootUrl}/contenthub/images/delete_icon_16.png" title="(not available yet) Delete this item" />
</td>
- <td><a href="${scope.ID}" title="${scope.ID}">${scope.ID}</a></td>
+ <td><a href="${scope.namespace}${scope.ID}" title="${scope.ID}">${scope.ID}</a></td>
<td>${scope.locked?string("locked", "modifiable")}</td>
<td></td>
<td>${scope.coreSpace.ontologyCount + scope.customSpace.ontologyCount}</td>
@@ -49,21 +49,6 @@
</div>
</table> <!-- allScopes -->
</div>
-
- <!-- Collapsible version -->
- <div class="enginelisting">
- <p class="collapseheader">Ontology Scopes:
- </p>
- <div class="collapsable">
- <ul>
- <#list it.scopes as scope>
- <li>
- <b>${scope.ID}</b>
- </li>
- </#list>
- </ul>
- </div> <!-- collapsible-->
- </div> <!-- scope listing -->
</div> <!-- web view -->
<div class="panel" id="restapi" style="display: none;">