Author: andy
Date: Sat Jun  1 21:09:15 2013
New Revision: 1488602

URL: http://svn.apache.org/r1488602
Log:
Track services, not endpoints, because there can be 0,1, or more endpoints per 
service.

Modified:
    
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
    
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
    
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java

Modified: 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java?rev=1488602&r1=1488601&r2=1488602&view=diff
==============================================================================
--- 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
 (original)
+++ 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
 Sat Jun  1 21:09:15 2013
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse ;
 
 import org.apache.jena.atlas.json.JSON ;
+import org.apache.jena.atlas.json.JsonArray ;
 import org.apache.jena.atlas.json.JsonObject ;
 import org.apache.jena.fuseki.server.* ;
 import org.apache.jena.riot.WebContent ;
@@ -80,14 +81,19 @@ public class StatsServlet extends HttpSe
         stats.put(CounterName.Requests.name(),      
desc.counters.value(CounterName.Requests)) ;
         stats.put(CounterName.RequestsGood.name(),  
desc.counters.value(CounterName.RequestsGood)) ;
         stats.put(CounterName.RequestsBad.name(),   
desc.counters.value(CounterName.RequestsBad)) ;
-        JsonObject endpoints = new JsonObject() ;
-        for ( String endpoint : desc.getEndpoints() ) {
-            ServiceRef srvRef = desc.getServiceRef(endpoint) ;
+        JsonObject services = new JsonObject() ;
+        // There can be several endpoints for one service.
+        for ( ServiceRef srvRef : desc.getServiceRefs() ) {
             JsonObject epStats = new JsonObject() ;
             statsJSON(epStats, srvRef) ;
-            endpoints.put(endpoint, epStats) ;
+            services.put(srvRef.name, epStats) ;
+            JsonArray endpoints = new JsonArray() ;
+            services.put("endpoints", endpoints) ;
+            for ( String ep : srvRef.endpoints) {
+                endpoints.add(ep) ;
+            }
         }
-        stats.put("endpoints", endpoints) ;
+        stats.put("services", services) ;
     }
 
     private void statsJSON(JsonObject epStats, ServiceRef srvRef) {

Modified: 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java?rev=1488602&r1=1488601&r2=1488602&view=diff
==============================================================================
--- 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
 (original)
+++ 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
 Sat Jun  1 21:09:15 2013
@@ -31,11 +31,19 @@ public class DatasetRef implements Datas
     public String name                          = null ;
     public DatasetGraph dataset                 = null ;
 
-    public ServiceRef query                     = new ServiceRef("query") ;
-    public ServiceRef update                    = new ServiceRef("update") ;
-    public ServiceRef upload                    = new ServiceRef("upload") ;
-    public ServiceRef readGraphStore            = new ServiceRef("gspRead") ;
-    public ServiceRef readWriteGraphStore       = new 
ServiceRef("gspReadWrite") ; 
+    private List<ServiceRef> serviceRefs         = new ArrayList<ServiceRef>() 
;
+    private ServiceRef createService(String name) {
+        ServiceRef sr = new ServiceRef(name) ; 
+        serviceRefs.add(sr) ;
+        return sr ;
+    }
+    
+    public ServiceRef query                     = createService("query") ;
+    public ServiceRef update                    = createService("update") ;
+    public ServiceRef upload                    = createService("upload") ;
+    public ServiceRef readGraphStore            = createService("gspRead") ;
+    public ServiceRef readWriteGraphStore       = 
createService("gspReadWrite") ; 
+    
     
     // Dataset-level counters.
     public final CounterSet counters            = new CounterSet() ;
@@ -74,10 +82,14 @@ public class DatasetRef implements Datas
         return endpoints.get(service) ;
     }
 
-    public Collection<String> getEndpoints() {
+    public Collection<String> ZgetEndpoints() {
         return endpoints.keySet() ;
     }
 
+    public Collection<ServiceRef> getServiceRefs() {
+        return serviceRefs ;
+    }
+
     /** Counter of active read transactions */
     public AtomicLong   activeReadTxn           = new AtomicLong(0) ;
     

Modified: 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1488602&r1=1488601&r2=1488602&view=diff
==============================================================================
--- 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
 (original)
+++ 
jena/trunk/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
 Sat Jun  1 21:09:15 2013
@@ -268,9 +268,8 @@ public class SPARQLServer
 //            x = x.substring(1) ;
         ARQMgt.register(Fuseki.PATH+".dataset:name="+x, dsDesc) ;
         // For all endpoints 
-        for ( String endpoint : dsDesc.getEndpoints() ) {
-            ServiceRef sRef = dsDesc.getServiceRef(endpoint) ;
-            ARQMgt.register(Fuseki.PATH+".dataset:name="+x+"/"+endpoint, sRef) 
;
+        for ( ServiceRef sRef : dsDesc.getServiceRefs() ) {
+            ARQMgt.register(Fuseki.PATH+".dataset:name="+x+"/"+sRef.name, 
sRef) ;
         }
     }
     


Reply via email to