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;">