You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/03/05 16:36:55 UTC

[16/23] jena git commit: Rename folder jena-fuseki to jena-fuseki1

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java
deleted file mode 100644
index be9be90..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiNotFoundException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.jena.fuseki;
-
-import org.apache.jena.web.HttpSC ;
-
-public class FusekiNotFoundException extends FusekiRequestException
-{
-    public FusekiNotFoundException(String msg)    { super(HttpSC.NOT_FOUND_404, msg) ; }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java
deleted file mode 100644
index e197be2..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiRequestException.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.jena.fuseki;
-
-import org.apache.jena.web.HttpSC ;
-
-
-public class FusekiRequestException extends FusekiException
-{
-    public static FusekiRequestException create(int code, String msg)
-    {
-        if ( code == HttpSC.NOT_FOUND_404 )
-            return new FusekiNotFoundException(msg) ;
-        return new FusekiRequestException(code, msg) ;
-    }
-    
-    private final int statusCode ;
-    private final String responseMessage ;
-    protected FusekiRequestException(int code, String msg)
-    {
-        super(msg) ;
-        this.statusCode = code ;
-        responseMessage = msg ;
-    }
-    
-    public int getStatusCode()
-    {
-        return statusCode ;
-    }
-
-    public String getResponseMessage()
-    {
-        return responseMessage ;
-    }
-
-    @Override
-    public String toString()
-    {
-        return "HTTP: "+statusCode+" "+getMessage() ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
deleted file mode 100644
index 65d73c7..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/HttpNames.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.jena.fuseki;
-
-public class HttpNames
-{
-    // Request
-    public static final String hAccept              = "Accept" ;
-    public static final String hAcceptEncoding      = "Accept-Encoding" ;
-    public static final String hAcceptCharset       = "Accept-Charset" ;
-    //public static final String hAcceptLanguage      = "Accept-Language" ;
-
-    // Response
-    public static final String xhAcceptRanges        = "Accept-Ranges" ;
-    public static final String hAllow               = "Allow" ;
-    public static final String hContentEncoding     = "Content-Encoding" ;
-    public static final String hContentLengh        = "Content-Length" ;
-    public static final String hContentLocation     = "Content-Location" ;
-    public static final String hContentRange        = "Content-Range" ;
-    public static final String hContentType         = "Content-Type" ;
-    public static final String hRetryAfter          = "Retry-After" ;
-    public static final String hServer              = "Server" ;
-    public static final String hLocation            = "Location" ; 
-    public static final String hVary                = "Vary" ;
-    public static final String charset              = "charset" ;
-    
-    // CORS: 
-    //   http://www.w3.org/TR/cors/  http://esw.w3.org/CORS_Enabled
-    public static final String hAccessControlAllowOrigin  = "Access-Control-Allow-Origin" ;
-    public static final String hAccessControlAllowHeaders = "Access-Control-Allow-Headers" ;
-    
-    // Fuseki parameter names 
-    public static final String paramGraph           = "graph" ;
-    public static final String paramGraphDefault    = "default" ;
-
-    public static final String paramQuery           = "query" ;
-    public static final String paramQueryRef        = "query-ref" ;
-    public static final String paramDefaultGraphURI = "default-graph-uri" ;
-    public static final String paramNamedGraphURI   = "named-graph-uri" ;
-    
-    public static final String paramStyleSheet      = "stylesheet" ;
-    public static final String paramAccept          = "accept" ;
-    public static final String paramOutput1         = "output" ;        // See Yahoo! developer: http://developer.yahoo.net/common/json.html 
-    public static final String paramOutput2         = "format" ;        // Alternative name 
-    public static final String paramCallback        = "callback" ;
-    public static final String paramForceAccept     = "force-accept" ;  // Force the accept header at the last moment
-    public static final String paramTimeout         = "timeout" ;
-    
-    public static final String paramUpdate          = "update" ;
-    public static final String paramRequest         = "request" ; 
-    public static final String paramUsingGraphURI        = "using-graph-uri" ;
-    public static final String paramUsingNamedGraphURI   = "using-named-graph-uri" ;
-    
-    public static final String METHOD_DELETE        = "DELETE";
-    public static final String METHOD_HEAD          = "HEAD";
-    public static final String METHOD_GET           = "GET";
-    public static final String METHOD_OPTIONS       = "OPTIONS";
-    public static final String METHOD_PATCH         = "PATCH" ;
-    public static final String METHOD_POST          = "POST";
-    public static final String METHOD_PUT           = "PUT";
-    public static final String METHOD_TRACE         = "TRACE";
-
-    public static final String HEADER_IFMODSINCE    = "If-Modified-Since";
-    public static final String HEADER_LASTMOD       = "Last-Modified";
-    
-    // Names for services in the default configuration
-    public static final String ServiceQuery         = "query" ;
-    public static final String ServiceQueryAlt      = "sparql" ;
-    public static final String ServiceUpdate        = "update" ;
-    public static final String ServiceData          = "data" ;
-    public static final String ServiceUpload        = "upload" ;
-    public static final String ServiceGeneralQuery  = "/sparql" ;
-    
-    // Posisble values of fields.
-    // TODO Pull in from results writer.
-    public static final String valueDefault    = "default" ;
-    
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/Test.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/Test.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/Test.java
deleted file mode 100644
index b4f5fed..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/Test.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.jena.fuseki;
-
-public class Test
-{
-    public static void init() { System.out.println("INIT called") ; }
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java
deleted file mode 100644
index b448c6c..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/ConNeg.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * 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.jena.fuseki.conneg;
-
-import static org.apache.jena.fuseki.HttpNames.hAcceptCharset ;
-
-import javax.servlet.http.HttpServletRequest ;
-
-import org.apache.jena.atlas.web.AcceptList ;
-import org.apache.jena.atlas.web.MediaRange ;
-import org.apache.jena.atlas.web.MediaType ;
-import org.slf4j.Logger ;
-import org.slf4j.LoggerFactory ;
-
-/**
- * <p>Content negotiation is a mechanism defined in the HTTP specification
- * that makes it possible to serve different versions of a document
- * (or more generally, a resource representation) at the same URI, so that
- * user agents can specify which version fit their capabilities the best.</p>
- *
- * <p>ConNeg is used in Fuseki to help matching the content media type requested
- * by the user, against the list of offered media types.</p>
- *
- * @see <a href="http://en.wikipedia.org/wiki/Content_negotiation">http://en.wikipedia.org/wiki/Content_negotiation</a>
- * @see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1</a>
- */
-public class ConNeg
-{
-    private static Logger log = LoggerFactory.getLogger(ConNeg.class) ;
-    // See riot.ContentNeg (client side).
-    // http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
-
-    /**
-     * Parses the content type. It splits the string by semi-colon and finds the
-     * other features such as the "q" quality factor.  For a complete documentation
-     * on how the parsing happens, see
-     * <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1</a>.
-     *
-     * @param contentType content type string
-     * @return parsed media type
-     */
-    static public MediaType parse(String contentType)
-    {
-        try {
-            return MediaType.create(contentType) ;
-        } catch (RuntimeException ex) { return null ; }
-    }
-
-    /**
-     * <p>Creates a {@link AcceptList} with the given HTTP header string and
-     * uses the {@link AcceptList#match(MediaType)} method to decide which
-     * media type matches the HTTP header string.</p>
-     *
-     * <p>The <em>q</em> quality factor is used to decide which choice is the best
-     * match.</p>
-     *
-     * @param headerString HTTP header string
-     * @param offerList accept list
-     * @return matched media type
-     */
-    static public MediaType match(String headerString, AcceptList offerList)
-    {
-        AcceptList l = new AcceptList(headerString) ;
-        return AcceptList.match(l, offerList) ;
-    }
-
-    /**
-     * Match a single media type against a header string.
-     *
-     * @param headerString HTTP header string
-     * @param mediaRangeStr Semi-colon separated list of media types
-     * @return the matched media type or <code>null</code> if there was no match
-     */
-    public static String match(String headerString, String mediaRangeStr)
-    {
-        AcceptList l = new AcceptList(headerString) ;
-        MediaRange aItem = new MediaRange(mediaRangeStr) ;  // MediaType
-        MediaType m = l.match(aItem) ;
-        if ( m == null )
-            return null ;
-        return m.toHeaderString() ;
-    }
-
-    /**
-     * Split and trims a string using a given regex.
-     *
-     * @param s string
-     * @param splitStr given regex
-     * @return an array with the trimmed strings found
-     */
-    /*package*/ static String[] split(String s, String splitStr)
-    {
-        String[] x = s.split(splitStr,2) ;
-        for ( int i = 0 ; i < x.length ; i++ )
-        {
-            x[i] = x[i].trim() ;
-        }
-        return x ;
-    }
-
-    /**
-     * <p>Chooses the charset by using the Accept-Charset HTTP header.</p>
-     *
-     * <p>See {@link ConNeg#choose(String, AcceptList, MediaType)}.</p>
-     *
-     * @param httpRequest HTTP request
-     * @param myPrefs accept list
-     * @param defaultMediaType default media type
-     * @return media type chosen
-     */
-    public static MediaType chooseCharset(HttpServletRequest httpRequest,
-                                          AcceptList myPrefs,
-                                          MediaType defaultMediaType)
-    {
-        String a = httpRequest.getHeader(hAcceptCharset) ;
-        if ( log.isDebugEnabled() )
-            log.debug("Accept-Charset request: "+a) ;
-        
-        MediaType item = choose(a, myPrefs, defaultMediaType) ;
-        
-        if ( log.isDebugEnabled() )
-            log.debug("Charset chosen: "+item) ;
-    
-        return item ;
-    }
-
-    /**
-     * <p>Choose the content media type by extracting the Accept HTTP header from
-     * the HTTP request and choosing
-     * (see {@link ConNeg#choose(String, AcceptList, MediaType)}) a content media
-     * type that matches the header.</p>
-     *
-     * @param httpRequest HTTP request
-     * @param myPrefs accept list
-     * @param defaultMediaType default media type
-     * @return media type chosen
-     */
-    public static MediaType chooseContentType(HttpServletRequest httpRequest,
-                                              AcceptList myPrefs,
-                                              MediaType defaultMediaType)
-    {
-        String a = WebLib.getAccept(httpRequest) ;
-        if ( log.isDebugEnabled() )
-            log.debug("Accept request: "+a) ;
-        
-        MediaType item = choose(a, myPrefs, defaultMediaType) ;
-    
-        if ( log.isDebugEnabled() )
-            log.debug("Content type chosen: "+item) ;
-    
-        return item ;
-    }
-
-    /**
-     * <p>This method receives a HTTP header string, an {@link AcceptList} and a
-     * default {@link MediaType}.</p>
-     *
-     * <p>If the header string is null, it returns the given default MediaType.</p>
-     *
-     * <p>Otherwise it builds an {@link AcceptList} object with the header string
-     * and uses it to match against the given MediaType.</p>
-     *
-     * @param headerString HTTP header string
-     * @param myPrefs accept list
-     * @param defaultMediaType default media type
-     * @return a media type or <code>null</code> if none matched or if the
-     *          HTTP header string and the default media type are <code>null</code>.
-     */
-    private static MediaType choose(String headerString, AcceptList myPrefs,
-                                    MediaType defaultMediaType)
-    {
-        if ( headerString == null )
-            return defaultMediaType ;
-        
-        AcceptList headerList = new AcceptList(headerString) ;
-        
-        if ( myPrefs == null )
-        {
-            MediaType i = headerList.first() ;
-            if ( i == null ) return defaultMediaType ;
-            return i ;
-        }
-    
-        MediaType i = AcceptList.match(headerList, myPrefs) ;
-        if ( i == null )
-            return defaultMediaType ;
-        return i ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java
deleted file mode 100644
index fdeb139..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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.jena.fuseki.conneg;
-
-import java.util.Enumeration ;
-
-import javax.servlet.http.HttpServletRequest ;
-
-import org.apache.jena.fuseki.HttpNames ;
-
-public class WebLib
-{
-    /** Split a string, removing whitespace around the split string.
-     * e.g. Use in splitting HTTP accept/content-type headers.  
-     */
-    public static String[] split(String s, String splitStr)
-    {
-        String[] x = s.split(splitStr,2) ;
-        for ( int i = 0 ; i < x.length ; i++ )
-        {
-            x[i] = x[i].trim() ;
-        }
-        return x ;
-    }
-
-    /** Migrate to WebLib */
-    public static String getAccept(HttpServletRequest httpRequest)
-    {
-        // There can be multiple accept headers -- note many tools don't allow these to be this way (e.g. wget, curl)
-        Enumeration<String> en = httpRequest.getHeaders(HttpNames.hAccept) ;
-        if ( ! en.hasMoreElements() )
-            return null ;
-        StringBuilder sb = new StringBuilder() ;
-        String sep = "" ;
-        for ( ; en.hasMoreElements() ; )
-        {
-            String x = en.nextElement() ;
-            sb.append(sep) ;
-            sep = ", " ;
-            sb.append(x) ;
-        }
-        return sb.toString() ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
deleted file mode 100644
index c36e8be..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/**
- * 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.jena.fuseki.mgt ;
-
-import static java.lang.String.format ;
-
-import java.io.* ;
-import java.util.concurrent.Callable ;
-import java.util.concurrent.ExecutorService ;
-import java.util.concurrent.Executors ;
-import java.util.zip.GZIPOutputStream ;
-
-import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
-
-import org.apache.jena.atlas.io.IO ;
-import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.logging.Log ;
-import org.apache.jena.fuseki.FusekiException ;
-import org.apache.jena.fuseki.FusekiLib ;
-import org.apache.jena.fuseki.server.DatasetRef ;
-import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.apache.jena.fuseki.servlets.HttpAction ;
-import org.apache.jena.fuseki.servlets.ServletBase ;
-import org.apache.jena.riot.Lang ;
-import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.web.HttpSC ;
-
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.util.Utils ;
-
-public class ActionBackup extends ServletBase
-{
-    public ActionBackup() { super() ; }
-
-    // Limit to one backup at a time.
-    public static final ExecutorService backupService = Executors.newFixedThreadPool(1) ;
-    
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException
-    {
-        String dataset = FusekiLib.safeParameter(request, "dataset") ;
-        if ( dataset == null )
-        {
-            response.sendError(HttpSC.BAD_REQUEST_400, "Required parameter missing: ?dataset=") ;
-            return ;
-        }
-        
-        if ( ! dataset.startsWith("/") )
-            dataset="/"+dataset ;
-        
-        // HttpSession session = request.getSession(true) ;
-        // session.setAttribute("dataset", dataset) ;
-        // session.setMaxInactiveInterval(15*60) ; // 10 mins
-
-        boolean known = DatasetRegistry.get().isRegistered(dataset) ;
-        if (!known)
-        {
-            response.sendError(HttpSC.BAD_REQUEST_400, "No such dataset: " + dataset) ;
-            return ;
-        }
-        
-        long id = allocRequestId(request, response);
-        HttpAction action = new HttpAction(id, request, response, false) ;
-        DatasetRef ref = DatasetRegistry.get().get(dataset) ;
-        action.setDataset(ref);
-        scheduleBackup(action) ;
-    }
-
-    static final String BackupArea = "backups" ;  
-    
-    private void scheduleBackup(final HttpAction action)
-    {
-        String dsName = action.dsRef.name ;
-        final String ds = dsName.startsWith("/")? dsName : "/"+dsName ;
-        
-        String timestamp = Utils.nowAsString("yyyy-MM-dd_HH-mm-ss") ;
-        final String filename = BackupArea + ds + "_" + timestamp ;
-        FileOps.ensureDir(BackupArea) ;
-        
-        try {
-            final Callable<Boolean> task = new Callable<Boolean>() {
-                @Override
-                public Boolean call() throws Exception
-                {
-                    log.info(format("[%d] Start backup %s to '%s'", action.id, ds, filename)) ;
-                    action.beginRead() ;
-                    try {
-                        backup(action.getActiveDSG(), filename) ;
-                        log.info(format("[%d] Finish backup %s to '%s'", action.id, ds, filename)) ;
-                    }
-                    catch ( RuntimeException ex )
-                    {
-                        log.info(format("[%d] Exception during backup: ", action.id, ex.getMessage()), ex) ;
-                        return Boolean.FALSE ;
-                    }
-                    finally {
-                        action.endRead() ;
-                    }
-                    return Boolean.TRUE ;
-                }} ;
-            
-            log.info(format("[%d] Schedule backup %s to '%s'", action.id, ds, filename)) ;                
-            backupService.submit(task) ;
-        } 
-        //catch (FusekiException ex)
-        catch (RuntimeException ex)
-        {
-            log.warn("Unanticipated exception", ex) ;
-            try { action.response.sendError(HttpSC.INTERNAL_SERVER_ERROR_500, ex.getMessage()) ; }
-            catch (IOException e) { IO.exception(e) ; }
-            return ;            
-        }
-        
-        successPage(action, "Backup scheduled - see server log for details") ;
-    }
-    
-    // Share with new ServletBase.
-    protected static void successPage(HttpAction action, String message)
-    {
-        try {
-            action.response.setContentType("text/html");
-            action.response.setStatus(HttpSC.OK_200);
-            PrintWriter out = action.response.getWriter() ;
-            out.println("<html>") ;
-            out.println("<head>") ;
-            out.println("</head>") ;
-            out.println("<body>") ;
-            out.println("<h1>Success</h1>");
-            if ( message != null )
-            {
-                out.println("<p>") ;
-                out.println(message) ;
-                out.println("</p>") ;
-            }
-            out.println("</body>") ;
-            out.println("</html>") ;
-            out.flush() ;
-        } catch (IOException ex) { IO.exception(ex) ; }
-    }
-    
-    public static void backup(DatasetGraph dsg, String backupfile)
-    {
-        if ( ! backupfile.endsWith(".nq") )
-            backupfile = backupfile+".nq" ;
-        
-        OutputStream out = null ;
-        try
-        {
-            if ( true )
-            {
-                // This seems to achive about the same as "gzip -6"
-                // It's not too expensive in elapsed time but it's not zero cost.
-                // GZip, large buffer.
-                out = new FileOutputStream(backupfile+".gz") ;
-                out = new GZIPOutputStream(out, 8*1024) ;
-                out = new BufferedOutputStream(out) ;
-            }
-            else
-            {
-                out = new FileOutputStream(backupfile) ;
-                out = new BufferedOutputStream(out) ;
-            }
-            
-            RDFDataMgr.write(out, dsg,Lang.NQUADS) ;
-            out.close() ;
-            out = null ;
-        } 
-        catch (FileNotFoundException e)
-        {
-            Log.warn(ActionBackup.class, "File not found: "+backupfile) ;
-            throw new FusekiException("File not found: "+backupfile) ;
-        } 
-        catch (IOException e) { IO.exception(e) ; }
-        finally {
-            try { if (out != null) out.close() ; }
-            catch (IOException e) { /* ignore */ }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionDataset.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionDataset.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionDataset.java
deleted file mode 100644
index fc3d395..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionDataset.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * 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.jena.fuseki.mgt;
-
-import java.io.IOException ;
-import java.io.UnsupportedEncodingException ;
-
-import javax.servlet.ServletOutputStream ;
-import javax.servlet.http.HttpServlet ;
-import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
-import javax.servlet.http.HttpSession ;
-
-import org.apache.commons.codec.binary.Base64 ;
-import org.apache.jena.fuseki.FusekiLib ;
-import org.apache.jena.fuseki.HttpNames ;
-import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.apache.jena.web.HttpSC ;
-
-/** Log-in and choose dataset */
-public class ActionDataset extends HttpServlet
-{
-    @Override
-    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException
-    {
-//        request.getRemoteUser() ;
-//        request.getUserPrincipal() ;
-        
-        String dataset = FusekiLib.safeParameter(request, "dataset") ;
-        HttpSession session = request.getSession(true) ;
-        session.setAttribute("dataset", dataset) ;
-        session.setMaxInactiveInterval(15*60) ; // 10 mins
-        
-        boolean known = DatasetRegistry.get().isRegistered(dataset) ;
-        if ( !known )
-        {
-            response.sendError(HttpSC.BAD_REQUEST_400, "No such dataset: "+dataset) ;
-            return ;
-        }
-        
-        if ( true )
-        {
-            // Redirect to GET page.
-            response.setHeader(HttpNames.hLocation, PageNames.pageAfterLogin) ;
-            response.setStatus(HttpSC.SEE_OTHER_303) ;
-        }
-        else
-        {
-            // Welcome style - but HTML inline :-(
-            response.setContentType("text/html");
-            response.setStatus(HttpSC.OK_200) ;
-            ServletOutputStream out = response.getOutputStream() ;
-            out.print("<p>"+dataset+"("+known+")</p>") ;
-
-            for ( String name : DatasetRegistry.get().keys() ) {
-                out.print("<li>") ;
-                out.print(name) ;
-                out.println("</li>") ;
-            }
-            out.println("</ul>") ;
-            out.println("<p><a href=\"info\">Next</a></p>") ;
-        }
-        
-//        Cookie cookie = new Cookie("org.apache.jena.fuseki.session", dataset) ;
-//        // 24 hours.
-//        cookie.setMaxAge(24*60*60) ;
-        
-    }
-    
-    /**
-     * This method returns true if the HttpServletRequest contains a valid
-     * authorisation header
-     * @param req The HttpServletRequest to test
-     * @return true if the Authorisation header is valid
-     */
-
-    private boolean authenticate(HttpServletRequest req)
-    {
-        String authhead=req.getHeader("Authorization");
-
-        if(authhead!=null)
-        {
-            byte[] up = Base64.decodeBase64(authhead.substring(6)) ;
-            // Decode the authorisation String
-            String usernpass ;
-            try
-            {
-                usernpass = new String(up, "ascii") ;
-            } catch (UnsupportedEncodingException e)
-            {
-                e.printStackTrace();
-                usernpass = null ;
-            }
-            // Split the username from the password
-            String user=usernpass.substring(0,usernpass.indexOf(":"));
-            String password=usernpass.substring(usernpass.indexOf(":")+1);
-
-            if (user.equals("user") && password.equals("pass"))
-                return true;
-        }
-
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
deleted file mode 100644
index 5e9dca9..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ManagementServer.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/**
- * 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.jena.fuseki.mgt;
-
-import static org.apache.jena.fuseki.Fuseki.serverLog ;
-
-import java.util.List ;
-
-import javax.servlet.http.HttpServlet ;
-
-import org.apache.jena.fuseki.Fuseki ;
-import org.apache.jena.fuseki.server.FusekiErrorHandler ;
-import org.apache.jena.fuseki.servlets.DumpServlet ;
-import org.eclipse.jetty.server.Connector ;
-import org.eclipse.jetty.server.Server ;
-import org.eclipse.jetty.server.nio.SelectChannelConnector ;
-import org.eclipse.jetty.servlet.ServletContextHandler ;
-import org.eclipse.jetty.servlet.ServletHolder ;
-
-public class ManagementServer
-{
-    public static Server createManagementServer(int mgtPort)
-    {
-        Fuseki.serverLog.info("Adding management functions") ;
-        
-        // Separate Jetty server
-        Server server = new Server() ;
-        
-//        BlockingChannelConnector bcConnector = new BlockingChannelConnector() ;
-//        bcConnector.setUseDirectBuffers(false) ;
-//        Connector connector = bcConnector ;
-        
-        Connector connector = new SelectChannelConnector() ;
-        // Ignore idle time. 
-        // If set, then if this goes off, it keeps going off and you get a lot of log messages.
-        connector.setMaxIdleTime(0) ; // Jetty outputs a lot of messages if this goes off.
-        connector.setPort(mgtPort);
-        server.addConnector(connector) ;
-        
-        ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
-        context.setErrorHandler(new FusekiErrorHandler()) ;
-        server.setHandler(context);
-        
-        // Add the server control servlet
-        addServlet(context, new MgtCmdServlet(),    "/mgt") ;
-        addServlet(context, new DumpServlet(),      "/dump") ;
-        addServlet(context, new StatsServlet(),     "/stats") ;
-        addServlet(context, new PingServlet(),      "/ping") ;
-        
-        return server ; 
-        // Old plan
-//      // Development : server control panel.
-//      addServlet(context, new ServerServlet(), "/server") ;
-//      addServlet(context, new ActionBackup(), "/backup") ;
-    }
-
-    // SHARE
-    private static void addServlet(ServletContextHandler context, String datasetPath, HttpServlet servlet, List<String> pathSpecs)
-    {
-        for ( String pathSpec : pathSpecs )
-        {
-            if ( pathSpec.endsWith("/") )
-                pathSpec = pathSpec.substring(0, pathSpec.length()-1) ;
-            if ( pathSpec.startsWith("/") )
-                pathSpec = pathSpec.substring(1, pathSpec.length()) ;
-            addServlet(context, servlet, datasetPath+"/"+pathSpec) ;
-        }
-    }
-
-    private static void addServlet(ServletContextHandler context, HttpServlet servlet, String pathSpec)
-    {
-        ServletHolder holder = new ServletHolder(servlet) ;
-        addServlet(context, holder, pathSpec) ;
-    }
-    
-    private static void addServlet(ServletContextHandler context, ServletHolder holder, String pathSpec)
-    {
-        serverLog.debug("Add servlet @ "+pathSpec) ;
-        context.addServlet(holder, pathSpec) ;
-    }
-
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtCmdServlet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtCmdServlet.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtCmdServlet.java
deleted file mode 100644
index 5385e75..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtCmdServlet.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * 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.
- */
-
-/** A servlet that dumps its request
- */
-
-// Could be neater - much, much neater!
-
-package org.apache.jena.fuseki.mgt ;
-
-import java.io.IOException ;
-import java.io.PrintWriter ;
-
-import javax.servlet.http.HttpServlet ;
-import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
-
-import org.apache.jena.fuseki.Fuseki ;
-import org.apache.jena.fuseki.server.DatasetRef ;
-import org.apache.jena.fuseki.server.SPARQLServer ;
-import org.apache.jena.fuseki.server.ServiceRef ;
-import org.apache.jena.web.HttpSC ;
-import org.slf4j.Logger ;
-
-import com.hp.hpl.jena.Jena ;
-import com.hp.hpl.jena.query.ARQ ;
-import com.hp.hpl.jena.tdb.TDB ;
-
-/** Control functions for a Fuskei server */
-
-public class MgtCmdServlet extends HttpServlet
-{
-    // Experimental - likely to change. 
-    private static Logger log = Fuseki.serverLog ;
-
-    public MgtCmdServlet()
-    {
-
-    }
-
-    @Override
-    public void init()
-    {
-        return ;
-    }
-
-    public static String paramCmd     = "cmd" ;
-    public static String cmdBackup    = "backup" ;          // &dataset=/datasetname
-    public static String cmdRestart   = "restart" ;         // Not implemented.
-    public static String cmdShutdown  = "shutdown" ;        // Server stops, no questions asked. (Not implemented)
-
-    ActionBackup         actionBackup = new ActionBackup() ;
-
-    @Override
-    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException
-    {
-        // Commands format:
-        // ?cmd=backup&<other args per command>
-
-        String[] args = req.getParameterValues(paramCmd) ;
-        if ( args == null ) {
-            resp.setContentType("text/plain") ;
-            resp.setStatus(HttpSC.BAD_REQUEST_400) ;
-
-            return ;
-        }
-        for ( String cmd : args ) {
-            if ( log.isInfoEnabled() )
-                log.info("Management command: " + cmd) ;
-
-            if ( cmd.equalsIgnoreCase(cmdBackup) ) {
-                actionBackup.doPost(req, resp) ;
-                continue ;
-            }
-            if ( cmd.equalsIgnoreCase(cmdRestart) ) {
-
-                continue ;
-            }
-            if ( cmd.equalsIgnoreCase(cmdShutdown) ) {
-                Fuseki.getServer().stop() ;
-                continue ;
-            }
-            log.warn("Unrecognized command : " + cmd) ;
-
-        }
-    }
-
-    @Override
-    public void doGet(HttpServletRequest req, HttpServletResponse resp)
-    {
-        try {
-            // serverLog.info("Fuseki Server Config servlet") ;
-
-            PrintWriter out = resp.getWriter() ;
-            resp.setContentType("text/plain") ;
-            SPARQLServer server = Fuseki.getServer() ;
-
-            out.println("Software:") ;
-            String fusekiVersion = Fuseki.VERSION ;
-            if ( fusekiVersion.equals("${project.version}") )
-                fusekiVersion = "(development)" ;
-
-            out.printf("  %s %s\n", Fuseki.NAME, fusekiVersion) ;
-            out.printf("  %s %s\n", TDB.NAME, TDB.VERSION) ;
-            out.printf("  %s %s\n", ARQ.NAME, ARQ.VERSION) ;
-            out.printf("  %s %s\n", Jena.NAME, Jena.VERSION) ;
-
-            // out.printf("Port: %s\n",
-            // server.getServer().getConnectors()[0].getPort()) ;
-            out.println() ;
-
-            for ( DatasetRef dsRef : server.getDatasets() ) {
-                datasetRefDetails(out, dsRef) ;
-                out.println() ;
-            }
-        }
-        catch (IOException ex) {}
-    }
-
-    private static void datasetRefDetails(PrintWriter out, DatasetRef dsRef)
-    {
-        if ( dsRef.name != null )
-            out.println("Name = " + dsRef.name) ;
-        else
-            out.println("Name = <unset>") ;
-
-        endpointDetail(out, "Query", dsRef, dsRef.query) ;
-        endpointDetail(out, "Update", dsRef, dsRef.update) ;
-        endpointDetail(out, "Upload", dsRef, dsRef.upload) ;
-        endpointDetail(out, "Graphs(Read)", dsRef, dsRef.readGraphStore) ;
-        endpointDetail(out, "Graphs(RW)", dsRef, dsRef.readWriteGraphStore) ;
-    }
-
-    private static void endpointDetail(PrintWriter out, String label, DatasetRef dsRef, ServiceRef service)
-    {
-        boolean first = true ;
-        out.printf("   %-15s :: ", label) ;
-
-        for ( String s : service.endpoints ) {
-            if ( !first )
-                out.print(" , ") ;
-            first = false ;
-            s = "/" + dsRef.name + "/" + s ;
-            out.print(s) ;
-        }
-        out.println() ;
-    }
-
-    @Override
-    public String getServletInfo()
-    {
-        return "Fuseki Control Servlet" ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtFunctions.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtFunctions.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtFunctions.java
deleted file mode 100644
index e43b1e2..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/MgtFunctions.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * 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.jena.fuseki.mgt;
-
-import java.util.List ;
-
-import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpSession ;
-
-import org.apache.jena.atlas.io.IndentedLineBuffer ;
-import org.apache.jena.atlas.iterator.Iter ;
-import org.apache.jena.fuseki.Fuseki ;
-import org.apache.jena.fuseki.server.DatasetRef ;
-import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.apache.jena.fuseki.server.ServiceRef ;
-
-import com.hp.hpl.jena.shared.PrefixMapping ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
-import com.hp.hpl.jena.sparql.core.Prologue ;
-import com.hp.hpl.jena.sparql.serializer.PrologueSerializer ;
-import com.hp.hpl.jena.tdb.store.DatasetGraphTDB ;
-
-/** Avoid code in JSPs */
-public class MgtFunctions
-{
-    /** Return the name of the current dataset */ 
-    public static String dataset(HttpServletRequest request, String dftValue)
-    {
-        String ds = dataset(request) ;
-        if ( ds == null )
-            return dftValue ;
-        return ds ;
-    }
-    
-    /** Return the name of the current dataset */ 
-    public static String dataset(HttpServletRequest request)
-    {
-        HttpSession session = request.getSession(false) ;
-        if ( session == null )
-            return "No session";
-        String ds = (String)session.getAttribute("dataset") ;
-        return ds ;
-    }
-
-    /** Return the dataset description reference for currnet dataset */  
-    public static DatasetRef datasetDesc(HttpServletRequest request)
-    {
-        HttpSession session = request.getSession(false) ;
-        if ( session == null )
-            return null ;
-        String ds = (String)session.getAttribute("dataset") ;
-        return DatasetRegistry.get().get(ds) ;
-    }
-
-    /** Return lists of datasets */ 
-    public static List<String> datasets(HttpServletRequest request)
-    {
-        return Iter.toList(DatasetRegistry.get().keys()) ;
-    }
-
-    /** Return name of */  
-    public static String actionDataset(HttpServletRequest request)
-    {
-        return PageNames.actionDatasetNames ;
-    }
-
-    // Service name getters ...
-    
-    /** Return a SPARQL query service name for the dataset */
-    public static String serviceQuery(String dataset)
-    {
-        String dft = "sparql" ; 
-        DatasetRef ref = getFromRegistry(dataset) ;
-        if ( ref == null )
-            return dft ;
-        return serviceNameOrDefault(ref.query, dft) ;
-    }
-    
-    /** Return a SPARQL update service name for the dataset */
-    public static String serviceUpdate(String dataset)
-    {
-        String dft = "update" ; 
-        DatasetRef ref = getFromRegistry(dataset) ;
-        if ( ref == null )
-            return dft ;
-        return serviceNameOrDefault(ref.update, dft) ;
-    }
-    
-    /** Return a SPARQL upload service name for the dataset */
-    public static String serviceUpload(String dataset)
-    {
-        String dft = "upload" ;
-        DatasetRef ref = getFromRegistry(dataset) ;
-        if ( ref == null )
-            return dft ;
-        return serviceNameOrDefault(ref.upload, dft) ;
-    }
-
-    /** Return a SPARQL Graph Store Protocol (Read) service name for the dataset */
-    public static String serviceGraphRead(String dataset)
-    {
-        String dft = "get" ;
-        DatasetRef ref = getFromRegistry(dataset) ;
-        if ( ref == null )
-            return dft ;
-        return serviceNameOrDefault(ref.readGraphStore, dft) ;
-    }
-
-    /** Return a SPARQL Graph Store Protocol (Read-Write) service name for the dataset */
-    public static String serviceGraphReadWrite(String dataset)
-    {
-        String dft = "data" ;
-        DatasetRef ref = getFromRegistry(dataset) ;
-        if ( ref == null )
-            return dft ;
-        return serviceNameOrDefault(ref.readWriteGraphStore, dft) ;
-    }
-
-    private static DatasetRef getFromRegistry(String dataset)
-    {
-        DatasetRegistry registry = DatasetRegistry.get() ;
-        if ( registry == null )
-        {
-            Fuseki.serverLog.warn("No dataset registry") ;
-            return null ;
-        }
-        
-        DatasetRef ref = registry.get(dataset) ;
-        if ( ref == null )
-            Fuseki.serverLog.warn("Dataset not found: "+dataset) ;
-        return ref ;
-    }
-
-    private static String serviceNameOrDefault(ServiceRef service, String defaultValue)
-    {
-        if ( service.endpoints.isEmpty() )
-            return defaultValue ;
-        String x = service.endpoints.get(0) ;
-        if ( x.startsWith("/") )
-            x = x.substring(1) ;
-        return x ;
-    }
-    
-    /** Return prefixes for the datasets, SPARQL syntax. */ 
-    public static String prefixes(HttpServletRequest request)
-    {
-        String dsName = dataset(request) ;
-        DatasetRef desc = getFromRegistry(dsName) ;
-        if ( desc == null )
-            return "<not found>" ;
-        DatasetGraph dsg = desc.dataset ; 
-        
-        if ( dsg instanceof DatasetGraphTDB )
-        {
-            PrefixMapping pmap = ((DatasetGraphTDB)dsg).getPrefixes().getPrefixMapping() ;
-            Prologue prologue = new Prologue(pmap) ;
-            IndentedLineBuffer buff = new IndentedLineBuffer() ;
-            PrologueSerializer.output(buff, prologue) ;
-            buff.append("\n") ;
-            return buff.asString() ;
-        }
-        return "" ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PageNames.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PageNames.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PageNames.java
deleted file mode 100644
index 4dc315b..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PageNames.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.jena.fuseki.mgt;
-
-public class PageNames
-{
-    //public static final String pageControlPanel     = "/control-panel.tpl" ;
-    
-    /** The dispatch URL for the place to go after login (0.2.1 - login = choose dataset) */
-    public static final String pageAfterLogin      = "/sparql.tpl" ;
-    
-    /** This is the full web dispatch URL: control-panel.tpl knowns 
-     * the name indirectly because it gets it via velocity
-     * calling mgt.actionDataset.
-     */
-    public static final String actionDatasetNames   = "/$/datasets" ;
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PingServlet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PingServlet.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PingServlet.java
deleted file mode 100644
index 5d4ca53..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/PingServlet.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * 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.jena.fuseki.mgt;
-
-import static org.apache.jena.riot.WebContent.charsetUTF8 ;
-import static org.apache.jena.riot.WebContent.contentTypeTextPlain ;
-
-import java.io.IOException ;
-
-import javax.servlet.ServletOutputStream ;
-import javax.servlet.http.HttpServlet ;
-import javax.servlet.http.HttpServletRequest ;
-import javax.servlet.http.HttpServletResponse ;
-
-import org.apache.jena.fuseki.Fuseki ;
-import org.apache.jena.riot.web.HttpNames ;
-import org.apache.jena.web.HttpSC ;
-
-import com.hp.hpl.jena.sparql.util.Utils ;
-
-/** 
- * The ping servlet provides a low costy, uncached endpoint that can be used
- * to determine if this component is running and responding.  For example,
- * a nagios check should use this endpoint.    
- */
-public class PingServlet extends HttpServlet
-{
-    @Override
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
-        doCommon(req, resp); 
-    }
-    
-    @Override
-    protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
-        doCommon(req, resp); 
-    }
-    
-
-    @Override
-    protected void doHead(HttpServletRequest req, HttpServletResponse resp) {
-        doCommon(req, resp); 
-    }
-
-    protected void doCommon(HttpServletRequest request, HttpServletResponse response) {
-        try {
-            response.setHeader(HttpNames.hCacheControl, "must-revalidate,no-cache,no-store");
-            response.setHeader(HttpNames.hPragma, "no-cache");
-            response.setContentType(contentTypeTextPlain);
-            response.setCharacterEncoding(charsetUTF8) ;
-            response.setStatus(HttpSC.OK_200);
-            ServletOutputStream out = response.getOutputStream() ;
-            out.println(Utils.nowAsXSDDateTimeString());
-        } catch (IOException ex) {
-            Fuseki.serverLog.warn("ping :: IOException :: "+ex.getMessage());
-        }
-    }
-}
-
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
deleted file mode 100644
index e165355..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/StatsServlet.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/**
- * 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.jena.fuseki.mgt;
-
-import java.io.IOException ;
-import java.util.Iterator ;
-
-import javax.servlet.ServletOutputStream ;
-import javax.servlet.http.HttpServlet ;
-import javax.servlet.http.HttpServletRequest ;
-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 ;
-
-public class StatsServlet extends HttpServlet
-{
-    @Override
-    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-        //throws ServletException, IOException
-    {
-        try {
-            // Conneg etc.
-            statsJSON(req, resp) ;
-        } catch (IOException e)
-        { }
-    }
-    
-    private void statsJSON(HttpServletRequest req, HttpServletResponse resp) throws IOException
-    {
-        ServletOutputStream out = resp.getOutputStream() ;
-        resp.setContentType(WebContent.contentTypeJSON);
-        resp.setCharacterEncoding(WebContent.charsetUTF8) ;
-
-        /*
-         * { "server" : ....   
-         *    "datasets" : {
-         *       "ds1": { counters... }
-         *       GSP stucture?
-         *         
-         */
-        
-        JsonObject obj = new JsonObject() ;
-        JsonObject datasets = new JsonObject() ;
-        JsonObject server = new JsonObject() ;
-        server.put("host", req.getLocalName()+":"+req.getLocalPort()) ;
-        
-        for ( String ds : DatasetRegistry.get().keys() )
-            statsJSON(datasets, ds) ; 
-        
-        obj.put("server", server) ;
-        obj.put("datasets", datasets) ;
-        
-        JSON.write(out, obj) ;
-        out.flush() ;
-    }
-    
-    private void statsJSON(JsonObject datasets, String ds) {
-        DatasetRef desc = DatasetRegistry.get().get(ds) ;
-        JsonObject stats = new JsonObject() ;
-        datasets.put(ds, stats) ;
-        stats.put(CounterName.Requests.name(),      desc.getCounters().value(CounterName.Requests)) ;
-        stats.put(CounterName.RequestsGood.name(),  desc.getCounters().value(CounterName.RequestsGood)) ;
-        stats.put(CounterName.RequestsBad.name(),   desc.getCounters().value(CounterName.RequestsBad)) ;
-        JsonObject services = new JsonObject() ;
-
-//        JsonArray endpoints = new JsonArray() ;
-//        services.put("endpoints", endpoints) ;
-//        JsonArray srvNames = new JsonArray() ;
-//        services.put("names", srvNames) ;
-        
-        // There can be several endpoints for one service.
-        for ( ServiceRef srvRef : desc.getServiceRefs() ) {
-            JsonObject epStats = new JsonObject() ;
-            statsJSON(epStats, srvRef) ;
-            services.put(srvRef.name, epStats) ;
-            JsonArray endpoints = new JsonArray() ;
-            epStats.put("endpoints", endpoints) ;
-            for ( String ep : srvRef.endpoints) {
-                endpoints.add(ep) ;
-            }
-        }
-        stats.put("services", services) ;
-    }
-
-    private void statsJSON(JsonObject epStats, ServiceRef srvRef) {
-        for (CounterName cn : srvRef.getCounters().counters()) {
-            Counter c = srvRef.getCounters().get(cn) ;
-            epStats.put(cn.name(), c.value()) ;
-        }
-    }
-
-    private void statsTxt(HttpServletResponse resp) throws IOException
-    {
-        ServletOutputStream out = resp.getOutputStream() ;
-        resp.setContentType(WebContent.contentTypeTextPlain);
-        resp.setCharacterEncoding(WebContent.charsetUTF8) ;
-
-        Iterator<String> iter = DatasetRegistry.get().keys().iterator() ;
-        while(iter.hasNext())
-        {
-            String ds = iter.next() ;
-            DatasetRef desc = DatasetRegistry.get().get(ds) ;
-            statsTxt(out, desc) ;
-            if ( iter.hasNext() )
-                out.println() ;
-        }
-        out.flush() ;
-    }
-    private void statsTxt(ServletOutputStream out, DatasetRef desc) throws IOException
-    {
-        out.println("Dataset: "+desc.name) ;
-        out.println("    Requests      = "+desc.getCounters().value(CounterName.Requests)) ;
-        out.println("    Good          = "+desc.getCounters().value(CounterName.RequestsGood)) ;
-        out.println("    Bad           = "+desc.getCounters().value(CounterName.RequestsBad)) ;
-
-        out.println("  SPARQL Query:") ;
-        out.println("    Request       = "+desc.query.getCounters().value(CounterName.Requests)) ;
-        out.println("    Good          = "+desc.query.getCounters().value(CounterName.RequestsGood)) ;
-        out.println("    Bad requests  = "+desc.query.getCounters().value(CounterName.RequestsBad)) ;
-        out.println("    Timeouts      = "+desc.query.getCounters().value(CounterName.QueryTimeouts)) ;
-        out.println("    Bad exec      = "+desc.query.getCounters().value(CounterName.QueryExecErrors)) ;
-
-        out.println("  SPARQL Update:") ;
-        out.println("    Request       = "+desc.update.getCounters().value(CounterName.Requests)) ;
-        out.println("    Good          = "+desc.update.getCounters().value(CounterName.RequestsGood)) ;
-        out.println("    Bad requests  = "+desc.update.getCounters().value(CounterName.RequestsBad)) ;
-        out.println("    Bad exec      = "+desc.update.getCounters().value(CounterName.UpdateExecErrors)) ;
-        
-        out.println("  Upload:") ;
-        out.println("    Requests      = "+desc.upload.getCounters().value(CounterName.Requests)) ;
-        out.println("    Good          = "+desc.upload.getCounters().value(CounterName.RequestsGood)) ;
-        out.println("    Bad           = "+desc.upload.getCounters().value(CounterName.RequestsBad)) ;
-        
-        out.println("  SPARQL Graph Store Protocol:") ;
-        out.println("    GETs          = "+gspValue(desc, CounterName.GSPget)+ " (good="+gspValue(desc, CounterName.GSPgetGood)+"/bad="+gspValue(desc, CounterName.GSPgetBad)+")") ;
-        out.println("    PUTs          = "+gspValue(desc, CounterName.GSPput)+ " (good="+gspValue(desc, CounterName.GSPputGood)+"/bad="+gspValue(desc, CounterName.GSPputBad)+")") ;
-        out.println("    POSTs         = "+gspValue(desc, CounterName.GSPpost)+ " (good="+gspValue(desc, CounterName.GSPpostGood)+"/bad="+gspValue(desc, CounterName.GSPpostBad)+")") ;
-        out.println("    DELETEs       = "+gspValue(desc, CounterName.GSPdelete)+ " (good="+gspValue(desc, CounterName.GSPdeleteGood)+"/bad="+gspValue(desc, CounterName.GSPdeleteBad)+")") ;
-        out.println("    HEADs         = "+gspValue(desc, CounterName.GSPhead)+ " (good="+gspValue(desc, CounterName.GSPheadGood)+"/bad="+gspValue(desc, CounterName.GSPheadBad)+")") ;
-    }
-    
-    private long gspValue(DatasetRef desc, CounterName cn) {
-        long x1 = desc.readGraphStore.getCounters().value(cn) ;
-        long x2 = desc.readWriteGraphStore.getCounters().value(cn) ;
-        return x1+x2 ;
-    }
-    
-    
-}
-
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
deleted file mode 100644
index da16863..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.jena.fuseki.migrate;
-
-import org.apache.jena.atlas.web.TypedInputStream ;
-import org.apache.jena.fuseki.Fuseki ;
-import org.apache.jena.riot.RDFDataMgr ;
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFLib ;
-
-import com.hp.hpl.jena.graph.Factory ;
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.rdf.model.Model ;
-import com.hp.hpl.jena.rdf.model.ModelFactory ;
-
-/** A packaging of code to do a controlled read of a graph or model */
-
-public class GraphLoadUtils
-{
-    // ---- Model level
-    
-    public static Model readModel(String uri, int limit)
-    {
-        Graph g = Factory.createGraphMem() ;
-        readUtil(g, uri, limit) ;
-        return ModelFactory.createModelForGraph(g) ;
-    }
-    
-    public static void loadModel(Model model, String uri, int limit) 
-    {
-        Graph g = model.getGraph() ;
-        readUtil(g, uri, limit) ;
-    }
-
-    // ---- Graph level
-    
-    public static Graph readGraph(String uri, int limit)
-    {
-        Graph g = Factory.createGraphMem() ;
-        readUtil(g, uri, limit) ;
-        return g ;
-    }
-    
-    public static void loadGraph(Graph g, String uri, int limit) 
-    {
-        readUtil(g, uri, limit) ;
-    }
-    
-    // ** Worker.
-    private static void readUtil(Graph graph, String uri, int limit)
-    {
-        // We need to do this ourselves, not via riot, to use the webStreamManager
-        StreamRDF sink = StreamRDFLib.graph(graph) ;
-        sink = new SinkRDFLimited(sink, limit) ;
-
-        TypedInputStream input = Fuseki.webStreamManager.open(uri) ;
-        RDFDataMgr.parse(sink, input, uri) ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/Registry.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/Registry.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/Registry.java
deleted file mode 100644
index ca30be1..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/Registry.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * 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.jena.fuseki.migrate;
-
-import java.util.Collection ;
-import java.util.HashMap ;
-import java.util.Map ;
-
-public class Registry<T>
-{
-    protected Map<String, T> registry = new HashMap<String, T>() ;
-    
-    public Registry() {}
-    
-    public void put(String key, T value) { registry.put(key, value) ; }
-    
-    public T get(String key) { return registry.get(key) ; }
-    
-    public boolean isRegistered(String key) { return registry.containsKey(key) ; }
-    public void remove(String key) { registry.remove(key) ; } 
-    public Collection<String> keys() { return registry.keySet() ; }
-    //public Iterator<String> keys() { return registry.keySet().iterator() ; }
-    
-    public int size() { return registry.size() ; }
-    public boolean isEmpty() { return registry.isEmpty() ; }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/SinkRDFLimited.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/SinkRDFLimited.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/SinkRDFLimited.java
deleted file mode 100644
index 514d756..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/SinkRDFLimited.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * 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.jena.fuseki.migrate;
-
-import org.apache.jena.riot.system.StreamRDF ;
-import org.apache.jena.riot.system.StreamRDFWrapper ;
-
-import com.hp.hpl.jena.graph.Triple ;
-import com.hp.hpl.jena.sparql.core.Quad ;
-
-public class SinkRDFLimited extends StreamRDFWrapper
-{
-   private long count = 0 ;
-   private final long limit ;
-    
-    public SinkRDFLimited(StreamRDF output, long limit)
-    {
-        super(output) ;
-        this.limit = limit ;
-    }
-
-    @Override
-    public void triple(Triple triple)
-    { 
-        count++ ;
-        super.triple(triple) ;
-    }
-
-    @Override
-    public void quad(Quad quad)
-    { 
-        count++ ;
-        super.quad(quad) ;
-    }
-
-    public long getCount() { return count ; } 
-    public long getLimit() { return limit ; }
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counter.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counter.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counter.java
deleted file mode 100644
index 88d4d37..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counter.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * 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.jena.fuseki.server;
-
-import java.util.concurrent.atomic.AtomicLong ;
-
-/** A statistics counter */
-public class Counter
-{
-    private AtomicLong counter = new AtomicLong(0) ;
-    
-    public Counter()    {}
-    
-    public void inc()   { counter.incrementAndGet() ; } 
-    public void dec()   { counter.decrementAndGet() ; } 
-    public long value() { return counter.get() ; } 
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterMXBean.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterMXBean.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterMXBean.java
deleted file mode 100644
index 2de7658..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterMXBean.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * 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.jena.fuseki.server;
-
-public interface CounterMXBean
-{
-    long getValue() ; 
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterName.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterName.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterName.java
deleted file mode 100644
index 2952aa8..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterName.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * 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.jena.fuseki.server;
-
-/** Names for all counters */ 
-public enum CounterName {
-    // There are generic names - apply to all services and datasets
-    // and specific ones.
-
-    
-    // Total request received
-    Requests("requests"),
-    // .. of which some and "good" and some are "bad".
-    // #"good" + #"bad" roughly equals #"requests"
-    // except that the total is incremented at the start, and the outcome at the end.
-    // There may also be short term consistency issues.
-    RequestsGood("requests.good"),
-    RequestsBad("requests.bad") ,
-    
-    // SPARQL Protocol - query and update - together with upload.  
-    
-    // Query - standard and ... 
-    QueryTimeouts("query.timeouts") ,
-    QueryExecErrors("query.execerrors") ,
-    
-    // Update - standard and ...
-    UpdateExecErrors("update.execerrors"),
-    
-    // Upload ... standard counters
-    
-    // Graph Store Protocol.
-
-    // For each HTTP method
-    GSPget("gsp.get.requests") ,
-    GSPgetGood("gsp.get.requests.good") ,
-    GSPgetBad("gsp.get.requests.bad") ,
-
-    GSPpost("gsp.post.requests") ,
-    GSPpostGood("gsp.post.requests.good") ,
-    GSPpostBad("gsp.post.requests.bad") ,
-
-    GSPdelete("gsp.delete.requests") ,
-    GSPdeleteGood("gsp.delete.requests.good") ,
-    GSPdeleteBad("gsp.delete.requests.bad") ,
-
-    GSPput("gsp.put.requests") ,
-    GSPputGood("gsp.put.requests.good") ,
-    GSPputBad("gsp.put.requests.bad") ,
-
-    GSPhead("gsp.head.requests") ,
-    GSPheadGood("gsp.head.requests.good") ,
-    GSPheadBad("gsp.head.requests.bad") ,
-
-    GSPpatch("gsp.patch.requests") ,
-    GSPpatchGood("gsp.patch.requests.good") ,
-    GSPpatchBad("gsp.patch.requests.bad") ,
-
-    GSPoptions("gsp.options.requests") ,
-    GSPoptionsGood("gsp.options.requests.good") ,
-    GSPoptionsBad("gsp.options.requests.bad") ,
-    
-    ;
-    
-    private String name ;
-    private CounterName(String name) { this.name = name ; }
-    
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterSet.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterSet.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterSet.java
deleted file mode 100644
index 7d0d622..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/CounterSet.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * 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.jena.fuseki.server ;
-
-import java.util.Collection ;
-import java.util.HashMap ;
-import java.util.Map ;
-
-import org.slf4j.Logger ;
-import org.slf4j.LoggerFactory ;
-
-/** A collection of counters */
-public class CounterSet {
-    private static Logger             log      = LoggerFactory.getLogger(CounterSet.class) ;
-
-    private Map<CounterName, Counter> counters = new HashMap<CounterName, Counter>() ;
-
-    public CounterSet() {}
-
-    public Collection<CounterName> counters() {
-        return counters.keySet() ;
-    }
-
-    public void inc(CounterName c) {
-        get(c).inc() ;
-    }
-
-    public void dec(CounterName c) {
-        get(c).dec() ;
-    }
-
-    public long value(CounterName c) {
-        return get(c).value() ;
-    }
-
-    public void add(CounterName counterName) {
-        if ( counters.containsKey(counterName) ) {
-            log.warn("Duplicate counter in counter set: " + counterName) ;
-            return ;
-        }
-        counters.put(counterName, new Counter()) ;
-    }
-
-    public boolean contains(CounterName cn) {
-        return counters.containsKey(cn) ;
-    }
-
-    public Counter get(CounterName cn) {
-        Counter c = counters.get(cn) ;
-        if ( c == null )
-            log.warn("No counter in counter set: " + cn) ;
-        return c ;
-    }
-}

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counters.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counters.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counters.java
deleted file mode 100644
index 4e5ca4b..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/Counters.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * 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.jena.fuseki.server;
-
-/** Objects that have a counter set */ 
-public interface Counters {
-    public  CounterSet getCounters() ;
-}
-

http://git-wip-us.apache.org/repos/asf/jena/blob/662cf71d/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetMXBean.java
----------------------------------------------------------------------
diff --git a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetMXBean.java b/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetMXBean.java
deleted file mode 100644
index bf38229..0000000
--- a/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetMXBean.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * 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.jena.fuseki.server;
-
-public interface DatasetMXBean
-{
-    String getName() ;
-    
-    long getRequests() ;
-    long getRequestsGood() ;
-    long getRequestsBad() ;
-    
-//    void enable() ;
-//    void disable() ;
-//    void setReadOnly() ;
-//    boolean getReadOnly() ;
-    
-}
-