From 68f5fe3827735560c289881d02adfca08baec16f Mon Sep 17 00:00:00 2001 From: Tobias Pietzsch <tobias.pietzsch@gmail.com> Date: Wed, 11 Feb 2015 19:49:17 +0100 Subject: [PATCH] Constants defines reserved names ("json", "manager") that cannot be used as dataset names. --- src/main/java/bdv/server/BigDataServer.java | 3 +++ src/main/java/bdv/server/Constants.java | 14 ++++++++++++++ src/main/java/bdv/server/JsonHandler.java | 2 +- src/main/java/bdv/server/ManagerHandler.java | 4 +++- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 src/main/java/bdv/server/Constants.java diff --git a/src/main/java/bdv/server/BigDataServer.java b/src/main/java/bdv/server/BigDataServer.java index 07e480b..dd6dbd5 100644 --- a/src/main/java/bdv/server/BigDataServer.java +++ b/src/main/java/bdv/server/BigDataServer.java @@ -256,6 +256,9 @@ public class BigDataServer private static void tryAddDataset( final HashMap< String, String > datasetNameToXML, final String name, final String xmlpath ) throws IllegalArgumentException { + for ( final String reserved : Constants.RESERVED_CONTEXT_NAMES ) + if ( name.equals( reserved ) ) + throw new IllegalArgumentException( "Cannot use dataset name: \"" + name + "\" (reserved for internal use)." ); if ( datasetNameToXML.containsKey( name ) ) throw new IllegalArgumentException( "Duplicate dataset name: \"" + name + "\"" ); if ( Files.notExists( Paths.get( xmlpath ) ) ) diff --git a/src/main/java/bdv/server/Constants.java b/src/main/java/bdv/server/Constants.java new file mode 100644 index 0000000..8b59187 --- /dev/null +++ b/src/main/java/bdv/server/Constants.java @@ -0,0 +1,14 @@ +package bdv.server; + +public class Constants +{ + public static final String DATASETLIST_CONTEXT_NAME = "json"; + + public static final String MANAGER_CONTEXT_NAME = "manager"; + + public static final String[] RESERVED_CONTEXT_NAMES = new String[] + { + DATASETLIST_CONTEXT_NAME, + MANAGER_CONTEXT_NAME + }; +} diff --git a/src/main/java/bdv/server/JsonHandler.java b/src/main/java/bdv/server/JsonHandler.java index d356ce2..33f9c45 100644 --- a/src/main/java/bdv/server/JsonHandler.java +++ b/src/main/java/bdv/server/JsonHandler.java @@ -25,7 +25,7 @@ public class JsonHandler extends ContextHandler public JsonHandler( final Server server, final ContextHandlerCollection handlers ) throws IOException, URISyntaxException { this.server = server; - setContextPath( "/json" ); + setContextPath( "/" + Constants.DATASETLIST_CONTEXT_NAME ); } @Override diff --git a/src/main/java/bdv/server/ManagerHandler.java b/src/main/java/bdv/server/ManagerHandler.java index a50ecad..ef23e50 100644 --- a/src/main/java/bdv/server/ManagerHandler.java +++ b/src/main/java/bdv/server/ManagerHandler.java @@ -1,6 +1,7 @@ package bdv.server; import mpicbg.spim.data.SpimDataException; + import org.antlr.stringtemplate.StringTemplate; import org.antlr.stringtemplate.StringTemplateGroup; import org.eclipse.jetty.server.ConnectorStatistics; @@ -15,6 +16,7 @@ import org.eclipse.jetty.util.log.Log; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import java.io.File; import java.io.IOException; import java.io.PrintWriter; @@ -48,7 +50,7 @@ public class ManagerHandler extends ContextHandler this.handlers = handlers; this.statHandler = statHandler; this.connectorStats = connectorStats; - setContextPath( "/manager" ); + setContextPath( "/" + Constants.MANAGER_CONTEXT_NAME ); } @Override -- GitLab