You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2010/02/24 23:13:14 UTC

svn commit: r915996 [1/2] - in /hadoop/hbase/trunk: ./ contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/ contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/ contr...

Author: apurtell
Date: Wed Feb 24 22:13:12 2010
New Revision: 915996

URL: http://svn.apache.org/viewvc?rev=915996&view=rev
Log:
HBASE-2257 [stargate] multiuser mode

Added:
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RootResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/Authenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HBCAuthenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HTableAuthenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/JDBCAuthenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/User.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/auth/
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/auth/TestHBCAuthenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/auth/TestHTableAuthenticator.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/auth/TestJDBCAuthenticator.java
Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Constants.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Main.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ProtobufMessageHandler.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResourceConfig.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResultGenerator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResultGenerator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowSpec.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerInstanceResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterStatusResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterVersionResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/TableResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/VersionResource.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Client.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Cluster.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Response.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellSetModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ColumnSchemaModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/RowModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterStatusModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterVersionModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableInfoModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableListModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableRegionModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableSchemaModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/VersionModel.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellSetMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ColumnSchemaMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ScannerMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/StorageClusterStatusMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableInfoMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableListMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableSchemaMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/VersionMessage.proto
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/JAXBContextResolver.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/consumer/ProtobufMessageBodyConsumer.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/PlainTextMessageBodyProducer.java
    hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/ProtobufMessageBodyProducer.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/MiniClusterTestCase.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestRowResource.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestScannerResource.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestSchemaResource.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestStatusResource.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestTableResource.java
    hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestVersionResource.java
    hadoop/hbase/trunk/core/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Feb 24 22:13:12 2010
@@ -402,6 +402,7 @@
    HBASE-2129  Simple Master/Slave replication
    HBASE-2070  Collect HLogs and delete them after a period of time
    HBASE-2221  MR to copy a table
+   HBASE-2257  [stargate] multiuser mode
 
   OPTIMIZATIONS
    HBASE-410   [testing] Speed up the test suite

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Constants.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Constants.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Constants.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Constants.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -24,14 +24,17 @@
  * Common constants for org.apache.hadoop.hbase.stargate
  */
 public interface Constants {
+  public static final String VERSION_STRING = "0.0.2";
+
+  public static final String AUTHENTICATOR_KEY = "stargate.authenticator";
+  public static final String MULTIUSER_KEY = "stargate.multiuser";
+
+  public static final int DEFAULT_MAX_AGE = 60 * 60 * 4;       // 4 hours
+
   public static final String MIMETYPE_TEXT = "text/plain";
+  public static final String MIMETYPE_HTML = "text/html";
   public static final String MIMETYPE_XML = "text/xml";
   public static final String MIMETYPE_BINARY = "application/octet-stream";
   public static final String MIMETYPE_PROTOBUF = "application/x-protobuf";
   public static final String MIMETYPE_JSON = "application/json";
-  public static final String MIMETYPE_JAVASCRIPT = "application/x-javascript";
-  
-  public static final String PATH_STATUS_CLUSTER = "/status/cluster";
-  public static final String PATH_VERSION = "/version";
-  public static final String PATH_VERSION_CLUSTER = "/version/cluster";
 }

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Main.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Main.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Main.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/Main.java Wed Feb 24 22:13:12 2010
@@ -39,12 +39,14 @@
  * <li>-p: service port</li>
  * </ul>
  */
-public class Main {
+public class Main implements Constants {
 
   public static void main(String[] args) throws Exception {
     // process command line
+
     Options options = new Options();
     options.addOption("p", "port", true, "service port");
+    options.addOption("m", "multiuser", false, "enable multiuser mode");
     CommandLineParser parser = new PosixParser();
     CommandLine cmd = parser.parse(options, args);
     int port = 8080;
@@ -52,7 +54,13 @@
       port = Integer.valueOf(cmd.getOptionValue("p"));
     }
 
+    // configure the Stargate singleton
+
+    RESTServlet servlet = RESTServlet.getInstance();
+    servlet.setMultiUser(cmd.hasOption("m"));
+
     // set up the Jersey servlet container for Jetty
+
     ServletHolder sh = new ServletHolder(ServletContainer.class);
     sh.setInitParameter(
       "com.sun.jersey.config.property.resourceConfigClass",

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ProtobufMessageHandler.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ProtobufMessageHandler.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ProtobufMessageHandler.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ProtobufMessageHandler.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RESTServlet.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -69,7 +69,6 @@
     this.pool = new HTablePool(conf, 10);
   }
 
-
   /**
    * Get a table pool for the given table.
    * @return the table pool
@@ -124,4 +123,45 @@
   public void invalidateMaxAge(String tableName) {
     maxAgeMap.remove(tableName);
   }
+
+  /**
+   * @return true if the servlet should operate in multiuser mode
+   */
+  public boolean isMultiUser() {
+    return multiuser;
+  }
+
+  /**
+   * @param flag true if the servlet should operate in multiuser mode 
+   */
+  public void setMultiUser(boolean multiuser) {
+    this.multiuser = multiuser;
+  }
+
+  /**
+   * @return an authenticator
+   */
+  public Authenticator getAuthenticator() {
+    if (authenticator == null) {
+      String className = conf.get("stargate.auth.authenticator");
+      if (className != null) try {
+        Class<?> c = getClass().getClassLoader().loadClass(className);
+        authenticator = (Authenticator)c.newInstance();
+      } catch (Exception e) {
+        LOG.error(StringUtils.stringifyException(e));
+      }
+      if (authenticator == null) {
+        authenticator = new HBCAuthenticator(conf);
+      }
+    }
+    return authenticator;
+  }
+
+  /**
+   * @param authenticator
+   */
+  public void setAuthenticator(Authenticator authenticator) {
+    this.authenticator = authenticator;
+  }
+
 }

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResourceConfig.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResourceConfig.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResourceConfig.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResourceConfig.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResultGenerator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResultGenerator.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResultGenerator.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ResultGenerator.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RootResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RootResource.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RootResource.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RootResource.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2010 The Apache Software Foundation
+ *
+ * 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.hadoop.hbase.stargate;
+
+import java.io.IOException;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.CacheControl;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.client.HBaseAdmin;
+import org.apache.hadoop.hbase.stargate.auth.User;
+import org.apache.hadoop.hbase.stargate.model.TableListModel;
+import org.apache.hadoop.hbase.stargate.model.TableModel;
+
+@Path("/")
+public class RootResource implements Constants {
+  private static final Log LOG = LogFactory.getLog(RootResource.class);
+
+  RESTServlet servlet;
+  CacheControl cacheControl;
+
+  public RootResource() throws IOException {
+    servlet = RESTServlet.getInstance();
+    cacheControl = new CacheControl();
+    cacheControl.setNoCache(true);
+    cacheControl.setNoTransform(false);
+  }
+
+  TableListModel getTableList() throws IOException {
+    TableListModel tableList = new TableListModel();
+    HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
+    HTableDescriptor[] list = admin.listTables();
+    for (HTableDescriptor htd: list) {
+      tableList.add(new TableModel(htd.getNameAsString()));
+    }
+    return tableList;
+  }
+
+  TableListModel getTableListForUser(User user) throws IOException {
+    TableListModel tableList;
+    if (user.isAdmin()) {
+      tableList = getTableList();
+    } else {
+      tableList = new TableListModel();
+      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
+      HTableDescriptor[] list = admin.listTables();
+      String prefix = user.getName() + ".";
+      for (HTableDescriptor htd: list) {
+        String name = htd.getNameAsString();
+        if (!name.startsWith(prefix)) {
+          continue;
+        }
+        tableList.add(new TableModel(name.substring(prefix.length())));
+      }
+    }
+    return tableList;
+  }
+
+  @GET
+  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
+  public Response get(@Context UriInfo uriInfo) throws IOException {
+    if (LOG.isDebugEnabled()) {
+      LOG.debug("GET " + uriInfo.getAbsolutePath());
+    }
+    if (servlet.isMultiUser()) {
+      throw new WebApplicationException(Response.Status.BAD_REQUEST);
+    }
+    try {
+      ResponseBuilder response = Response.ok(getTableList());
+      response.cacheControl(cacheControl);
+      return response.build();
+    } catch (IOException e) {
+      throw new WebApplicationException(e, 
+                  Response.Status.SERVICE_UNAVAILABLE);
+    }
+  }
+
+  @Path("status/cluster")
+  public StorageClusterStatusResource getClusterStatusResource() 
+      throws IOException {
+    if (servlet.isMultiUser()) {
+      throw new WebApplicationException(Response.Status.BAD_REQUEST);
+    }
+    return new StorageClusterStatusResource();
+  }
+
+  @Path("version")
+  public VersionResource getVersionResource() {
+    return new VersionResource();
+  }
+
+  @Path("{token: [0-9a-fA-F]{32} }") // 128 bit md5 sums
+  public Response getTableRootResource(
+      @PathParam("token") String token) throws IOException {
+    if (servlet.isMultiUser()) {
+      User user = servlet.getAuthenticator().getUserForToken(token);
+      if (user == null || user.isDisabled()) {
+        throw new WebApplicationException(Response.Status.FORBIDDEN);
+      }
+      try {
+        ResponseBuilder response = Response.ok(getTableListForUser(user));
+        response.cacheControl(cacheControl);
+        return response.build();
+      } catch (IOException e) {
+        throw new WebApplicationException(e, 
+                    Response.Status.SERVICE_UNAVAILABLE);
+      }
+    }
+    throw new WebApplicationException(Response.Status.BAD_REQUEST);
+  }
+
+  @Path("{token: [0-9a-fA-F]{32} }/status/cluster") // 128 bit md5 sums
+  public StorageClusterStatusResource getClusterStatusResourceAuthorized(
+      @PathParam("token") String token) throws IOException {
+    if (servlet.isMultiUser()) {
+      User user = servlet.getAuthenticator().getUserForToken(token);
+      if (user != null && user.isAdmin() && !user.isDisabled()) {
+        return new StorageClusterStatusResource();
+      }
+      throw new WebApplicationException(Response.Status.FORBIDDEN);
+    }
+    throw new WebApplicationException(Response.Status.BAD_REQUEST);
+  }
+
+  @Path("{token: [0-9a-fA-F]{32} }/{table}")
+  public TableResource getTableResource(@PathParam("token") String token, 
+      @PathParam("table") String table) throws IOException {
+    if (servlet.isMultiUser()) {
+      User user = servlet.getAuthenticator().getUserForToken(token);
+      if (user == null || user.isDisabled()) {
+        throw new WebApplicationException(Response.Status.FORBIDDEN);
+      }
+      return new TableResource(user, table);
+    }
+    throw new WebApplicationException(Response.Status.BAD_REQUEST);
+  }
+
+  @Path("{table}")
+  public TableResource getTableResource(@PathParam("table") String table)
+    throws IOException {
+    if (servlet.isMultiUser()) {
+      throw new WebApplicationException(Response.Status.BAD_REQUEST);
+    }
+    return new TableResource(null, table);
+  }
+
+}

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResultGenerator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResultGenerator.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResultGenerator.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowResultGenerator.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowSpec.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowSpec.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowSpec.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/RowSpec.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerInstanceResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerInstanceResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerInstanceResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerInstanceResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -63,8 +63,7 @@
   }
 
   @GET
-  @Produces({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Produces({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response get(@Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("GET " + uriInfo.getAbsolutePath());

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -41,18 +41,29 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import org.apache.hadoop.hbase.stargate.auth.User;
 import org.apache.hadoop.hbase.stargate.model.ScannerModel;
 
 public class ScannerResource implements Constants {
 
   private static final Log LOG = LogFactory.getLog(ScannerResource.class);
-  protected static final Map<String,ScannerInstanceResource> scanners = 
-    new HashMap<String,ScannerInstanceResource>();
 
-  private String table;
+  static final Map<String,ScannerInstanceResource> scanners = 
+    new HashMap<String,ScannerInstanceResource>();
 
-  public ScannerResource(String table) {
-    this.table = table;
+  User user;
+  String tableName;
+  String actualTableName;
+
+  public ScannerResource(User user, String table) {
+    if (user != null) {
+      this.user = user;
+      this.actualTableName = 
+        !user.isAdmin() ? user.getName() + "." + table : table;
+    } else {
+      this.actualTableName = table;
+    }
+    this.tableName = table;
   }
 
   private Response update(ScannerModel model, boolean replace,
@@ -61,10 +72,10 @@
       byte[] endRow = model.hasEndRow() ? model.getEndRow() : null;
       RowSpec spec = new RowSpec(model.getStartRow(), endRow,
         model.getColumns(), model.getStartTime(), model.getEndTime(), 1);
-      ScannerResultGenerator gen = new ScannerResultGenerator(table, spec);
+      ScannerResultGenerator gen = new ScannerResultGenerator(actualTableName, spec);
       String id = gen.getID();
       ScannerInstanceResource instance = 
-        new ScannerInstanceResource(table, id, gen, model.getBatch());
+        new ScannerInstanceResource(actualTableName, id, gen, model.getBatch());
       synchronized (scanners) {
         scanners.put(id, instance);
       }
@@ -83,8 +94,7 @@
   }
 
   @PUT
-  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response put(ScannerModel model, @Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("PUT " + uriInfo.getAbsolutePath());
@@ -93,8 +103,7 @@
   }
 
   @POST
-  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response post(ScannerModel model, @Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("POST " + uriInfo.getAbsolutePath());

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/ScannerResultGenerator.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/SchemaResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -47,6 +47,7 @@
 import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.HTablePool;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
+import org.apache.hadoop.hbase.stargate.auth.User;
 import org.apache.hadoop.hbase.stargate.model.ColumnSchemaModel;
 import org.apache.hadoop.hbase.stargate.model.TableSchemaModel;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -76,8 +77,7 @@
   }
 
   @GET
-  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response get(@Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("GET " + uriInfo.getAbsolutePath());
@@ -85,7 +85,7 @@
     try {
       HTableDescriptor htd = getTableSchema();
       TableSchemaModel model = new TableSchemaModel();
-      model.setName(htd.getNameAsString());
+      model.setName(tableName);
       for (Map.Entry<ImmutableBytesWritable, ImmutableBytesWritable> e:
           htd.getValues().entrySet()) {
         model.addAttribute(Bytes.toString(e.getKey().get()),
@@ -176,10 +176,9 @@
   private Response update(TableSchemaModel model, boolean replace,
       UriInfo uriInfo) {
     try {
-      RESTServlet server = RESTServlet.getInstance();
-      server.invalidateMaxAge(model.getName());
-      HBaseAdmin admin = new HBaseAdmin(server.getConfiguration());
-      byte[] tableName = Bytes.toBytes(model.getName());
+      servlet.invalidateMaxAge(tableName);
+      byte[] tableName = Bytes.toBytes(actualTableName);
+      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
       if (replace || !admin.tableExists(tableName)) {
         return replace(tableName, model, uriInfo, admin);
       } else {
@@ -192,22 +191,32 @@
   }
 
   @PUT
-  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response put(TableSchemaModel model, @Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("PUT " + uriInfo.getAbsolutePath());
     }
+    // use the name given in the path, but warn if the name on the path and
+    // the name in the schema are different
+    if (model.getName() != tableName) {
+      LOG.warn("table name mismatch: path='" + tableName + "', schema='" +
+        model.getName() + "'");
+    }
     return update(model, true, uriInfo);
   }
 
   @POST
-  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Consumes({MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response post(TableSchemaModel model, @Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("PUT " + uriInfo.getAbsolutePath());
     }
+    // use the name given in the path, but warn if the name on the path and
+    // the name in the schema are different
+    if (model.getName() != tableName) {
+      LOG.warn("table name mismatch: path='" + tableName + "', schema='" +
+        model.getName() + "'");
+    }
     return update(model, false, uriInfo);
   }
 
@@ -217,10 +226,9 @@
       LOG.debug("DELETE " + uriInfo.getAbsolutePath());
     }
     try {
-      HBaseAdmin admin =
-        new HBaseAdmin(RESTServlet.getInstance().getConfiguration());
-      admin.disableTable(table);
-      admin.deleteTable(table);
+      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
+      admin.disableTable(actualTableName);
+      admin.deleteTable(actualTableName);
       return Response.ok().build();
     } catch (TableNotFoundException e) {
       throw new WebApplicationException(Response.Status.NOT_FOUND);

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterStatusResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterStatusResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterStatusResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterStatusResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -23,7 +23,6 @@
 import java.io.IOException;
 
 import javax.ws.rs.GET;
-import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.CacheControl;
@@ -41,29 +40,28 @@
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.stargate.model.StorageClusterStatusModel;
 
-@Path(Constants.PATH_STATUS_CLUSTER)
 public class StorageClusterStatusResource implements Constants {
   private static final Log LOG =
     LogFactory.getLog(StorageClusterStatusResource.class);
 
   private CacheControl cacheControl;
+  private RESTServlet servlet;
 
-  public StorageClusterStatusResource() {
+  public StorageClusterStatusResource() throws IOException {
     cacheControl = new CacheControl();
     cacheControl.setNoCache(true);
     cacheControl.setNoTransform(false);
+    servlet = RESTServlet.getInstance();
   }
 
   @GET
-  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
+  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
   public Response get(@Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("GET " + uriInfo.getAbsolutePath());
     }
     try {
-      RESTServlet server = RESTServlet.getInstance();
-      HBaseAdmin admin = new HBaseAdmin(server.getConfiguration());
+      HBaseAdmin admin = new HBaseAdmin(servlet.getConfiguration());
       ClusterStatus status = admin.getClusterStatus();
       StorageClusterStatusModel model = new StorageClusterStatusModel();
       model.setRegions(status.getRegionsCount());

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterVersionResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterVersionResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterVersionResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/StorageClusterVersionResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -23,7 +23,6 @@
 import java.io.IOException;
 
 import javax.ws.rs.GET;
-import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.CacheControl;
@@ -39,7 +38,6 @@
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.stargate.model.StorageClusterVersionModel;
 
-@Path(Constants.PATH_VERSION_CLUSTER)
 public class StorageClusterVersionResource implements Constants {
   private static final Log LOG =
     LogFactory.getLog(StorageClusterVersionResource.class);
@@ -53,7 +51,7 @@
   }
 
   @GET
-  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT})
+  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON})
   public Response get(@Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("GET " + uriInfo.getAbsolutePath());

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/TableResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/TableResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/TableResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/TableResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/VersionResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/VersionResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/VersionResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/VersionResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -41,7 +41,6 @@
  * <p>
  * <tt>/version</tt> (alias for <tt>/version/stargate</tt>)
  */
-@Path(Constants.PATH_VERSION)
 public class VersionResource implements Constants {
   private static final Log LOG = LogFactory.getLog(VersionResource.class);
 
@@ -60,9 +59,9 @@
    * @return a response for a version request 
    */
   @GET
-  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_JAVASCRIPT,
-    MIMETYPE_PROTOBUF})
-  public Response get(@Context ServletContext context, @Context UriInfo uriInfo) {
+  @Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF})
+  public Response get(@Context ServletContext context, 
+      @Context UriInfo uriInfo) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("GET " + uriInfo.getAbsolutePath());
     }
@@ -72,9 +71,16 @@
   }
 
   /**
+   * Dispatch to StorageClusterVersionResource
+   */
+  @Path("cluster")
+  public StorageClusterVersionResource getClusterVersionResource() {
+    return new StorageClusterVersionResource();
+  }
+
+  /**
    * Dispatch <tt>/version/stargate</tt> to self.
    */
-  // "/version/stargate" is an alias for "/version"
   @Path("stargate")
   public VersionResource getVersionResource() {
     return this;

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/Authenticator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/Authenticator.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/Authenticator.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/Authenticator.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,9 @@
+package org.apache.hadoop.hbase.stargate.auth;
+
+import java.io.IOException;
+
+public abstract class Authenticator {
+
+  public abstract User getUserForToken(String token) throws IOException;
+
+}

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HBCAuthenticator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HBCAuthenticator.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HBCAuthenticator.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HBCAuthenticator.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,37 @@
+package org.apache.hadoop.hbase.stargate.auth;
+
+import org.apache.hadoop.hbase.HBaseConfiguration;
+
+public class HBCAuthenticator extends Authenticator {
+
+  HBaseConfiguration conf;
+
+  /**
+   * Default constructor
+   */
+  public HBCAuthenticator() {
+    this(new HBaseConfiguration());
+  }
+
+  /**
+   * Constructor
+   * @param conf
+   */
+  public HBCAuthenticator(HBaseConfiguration conf) {
+    this.conf = conf;
+  }
+
+  @Override
+  public User getUserForToken(String token) {
+    String name = conf.get("stargate.auth.token." + token);
+    if (name == null) {
+      return null;
+    }
+    boolean admin = conf.getBoolean("stargate.auth.user." + name + ".admin",
+      false);
+    boolean disabled = conf.getBoolean("stargate.auth.user." + name + ".disabled",
+      false);
+    return new User(name, token, admin, disabled);
+  }
+
+}

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HTableAuthenticator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HTableAuthenticator.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HTableAuthenticator.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/HTableAuthenticator.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,88 @@
+package org.apache.hadoop.hbase.stargate.auth;
+
+import java.io.IOException;
+
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.client.Get;
+import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.util.Bytes;
+
+public class HTableAuthenticator extends Authenticator {
+
+  static final byte[] USER = Bytes.toBytes("user");
+  static final byte[] NAME = Bytes.toBytes("name");
+  static final byte[] ADMIN = Bytes.toBytes("admin");
+  static final byte[] DISABLED = Bytes.toBytes("disabled");
+
+  HBaseConfiguration conf;
+  String tableName;
+  HTable table;
+
+  /**
+   * Default constructor
+   */
+  public HTableAuthenticator() {
+    this(new HBaseConfiguration());
+  }
+
+  /**
+   * Constructor
+   * @param conf
+   */
+  public HTableAuthenticator(HBaseConfiguration conf) {
+    this.conf = conf;
+    this.tableName = conf.get("stargate.auth.htable.name",
+      "stargate.users");
+  }
+
+  /**
+   * Constructor
+   * @param conf
+   * @param tableName
+   */
+  public HTableAuthenticator(HBaseConfiguration conf, String tableName) {
+    this.conf = conf;
+    this.tableName = tableName;
+  }
+
+  /**
+   * Constructor
+   * @param conf
+   * @param table
+   */
+  public HTableAuthenticator(HBaseConfiguration conf, HTable table) {
+    this.conf = conf;
+    this.table = table;
+    this.tableName = Bytes.toString(table.getTableName());
+  }
+
+  @Override
+  public User getUserForToken(String token) throws IOException {
+    if (table == null) {
+      this.table = new HTable(conf, tableName);
+    }
+    Get get = new Get(Bytes.toBytes(token));
+    get.addColumn(USER, NAME);
+    get.addColumn(USER, ADMIN);
+    get.addColumn(USER, DISABLED);
+    Result result = table.get(get);
+    byte[] value = result.getValue(USER, NAME);
+    if (value == null) {
+      return null;
+    }
+    String name = Bytes.toString(value);
+    boolean admin = false;
+    value = result.getValue(USER, ADMIN);
+    if (value != null) {
+      admin = Bytes.toBoolean(value);
+    }
+    boolean disabled = false;
+    value = result.getValue(USER, DISABLED);
+    if (value != null) {
+      disabled = Bytes.toBoolean(value);
+    }
+    return new User(name, token, admin, disabled);
+  }
+
+}

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/JDBCAuthenticator.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/JDBCAuthenticator.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/JDBCAuthenticator.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/JDBCAuthenticator.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,82 @@
+package org.apache.hadoop.hbase.stargate.auth;
+
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+import org.apache.hadoop.util.StringUtils;
+import org.mortbay.log.Log;
+
+public class JDBCAuthenticator extends Authenticator {
+
+  static final int MAX_RETRIES = 5;
+  static final long RETRY_SLEEP_TIME = 1000 * 2;
+
+  String url;
+  String table;
+  String user;
+  String password;
+  Connection connection;
+  PreparedStatement userFetchStmt;
+
+  /**
+   * Constructor
+   * @param url
+   * @param user
+   * @param password
+   */
+  public JDBCAuthenticator(String url, String user, String password) {
+    this(url, "users", user, password);
+  }
+
+  /**
+   * Constructor
+   * @param url
+   * @param table
+   * @param user
+   * @param password
+   */
+  public JDBCAuthenticator(String url, String table, String user,
+      String password) {
+    this.url = url;
+    this.table = table;
+    this.user = user;
+    this.password = password;
+  }
+
+  @Override
+  public User getUserForToken(String token) throws IOException {
+    int retries = 0;
+    while (true)  try {
+      if (connection == null) {
+        connection = DriverManager.getConnection(url, user, password);
+        userFetchStmt = connection.prepareStatement(
+          "SELECT name, admin, disabled FROM " + table + " WHERE token = ?");
+      }
+      ResultSet results;
+      synchronized (userFetchStmt) {
+        userFetchStmt.setString(1, token);
+        results = userFetchStmt.executeQuery();
+      }
+      if (!results.next()) {
+        return null;
+      }
+      return new User(results.getString(1), token, results.getBoolean(2),
+        results.getBoolean(3));
+    } catch (SQLException e) {
+      connection = null;
+      if (++retries > MAX_RETRIES) {
+        throw new IOException(e);
+      } else try {
+        Log.warn(StringUtils.stringifyException(e));
+        Thread.sleep(RETRY_SLEEP_TIME);
+      } catch (InterruptedException ex) {
+        // ignore
+      }
+    }
+  }
+
+}

Added: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/User.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/User.java?rev=915996&view=auto
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/User.java (added)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/auth/User.java Wed Feb 24 22:13:12 2010
@@ -0,0 +1,118 @@
+package org.apache.hadoop.hbase.stargate.auth;
+
+import java.security.MessageDigest;
+
+import org.apache.hadoop.hbase.util.Bytes;
+
+/** Representation of an authorized user */
+public class User {
+
+  public static final User DEFAULT_USER = new User("default",
+    "00000000000000000000000000000000", false, true);
+
+  private String name;
+  private String token;
+  private boolean admin;
+  private boolean disabled = false;
+
+  /**
+   * Constructor
+   * <p>
+   * Creates an access token. (Normally, you don't want this.)
+   * @param name user name
+   * @param admin true if user has administrator privilege
+   * @throws Exception 
+   */
+  public User(String name, boolean admin) throws Exception {
+    this.name = name;
+    this.admin = admin;
+    byte[] digest = MessageDigest.getInstance("MD5")
+      .digest(Bytes.toBytes(name));
+    StringBuffer sb = new StringBuffer();
+    for (int i = 0; i < digest.length; i++) {
+      sb.append(Integer.toHexString(0xff & digest[i]));
+    }
+    this.token = sb.toString();
+  }
+
+  /**
+   * Constructor
+   * @param name user name
+   * @param token access token, a 16 char hex string
+   * @param admin true if user has administrator privilege
+   */
+  public User(String name, String token, boolean admin) {
+    this(name, token, admin, false);
+  }
+
+  /**
+   * Constructor
+   * @param name user name
+   * @param token access token, a 16 char hex string
+   * @param admin true if user has administrator privilege
+   * @param disabled true if user is disabled
+   */
+  public User(String name, String token, boolean admin, boolean disabled) {
+    this.name = name;
+    this.token = token;
+    this.admin = admin;
+    this.disabled = disabled;
+  }
+
+  /**
+   * @return user name
+   */
+  public String getName() {
+    return name;
+  }
+
+  /**
+   * @param name user name
+   */
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  /**
+   * @return access token, a 16 char hex string
+   */
+  public String getToken() {
+    return token;
+  }
+
+  /**
+   * @param token access token, a 16 char hex string
+   */
+  public void setToken(String token) {
+    this.token = token;
+  }
+
+  /**
+   * @return true if user has administrator privilege
+   */
+  public boolean isAdmin() {
+    return admin;
+  }
+
+  /**
+   * @param admin true if user has administrator privilege
+   */
+  public void setAdmin(boolean admin) {
+    this.admin = admin;
+  }
+
+  /**
+   * @return true if user is disabled
+   */
+  public boolean isDisabled() {
+    return disabled;
+  }
+
+  /**
+   * @param admin true if user is disabled
+   */
+  public void setDisabled(boolean disabled) {
+    this.disabled = disabled;
+  }
+
+}

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Client.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Client.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Client.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Client.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Cluster.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Cluster.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Cluster.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Cluster.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Response.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Response.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Response.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/client/Response.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellSetModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellSetModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellSetModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/CellSetModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ColumnSchemaModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ColumnSchemaModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ColumnSchemaModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ColumnSchemaModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/RowModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/RowModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/RowModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/RowModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/ScannerModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterStatusModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterStatusModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterStatusModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterStatusModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterVersionModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterVersionModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterVersionModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/StorageClusterVersionModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableInfoModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableInfoModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableInfoModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableInfoModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableListModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableListModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableListModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableListModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableRegionModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableRegionModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableRegionModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableRegionModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableSchemaModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableSchemaModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableSchemaModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/TableSchemaModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/VersionModel.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/VersionModel.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/VersionModel.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/model/VersionModel.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellSetMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellSetMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellSetMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/CellSetMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ColumnSchemaMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ColumnSchemaMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ColumnSchemaMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ColumnSchemaMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ScannerMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ScannerMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ScannerMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/ScannerMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/StorageClusterStatusMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/StorageClusterStatusMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/StorageClusterStatusMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/StorageClusterStatusMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableInfoMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableInfoMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableInfoMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableInfoMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableListMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableListMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableListMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableListMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableSchemaMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableSchemaMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableSchemaMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/TableSchemaMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/VersionMessage.proto
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/VersionMessage.proto?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/VersionMessage.proto (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/protobuf/VersionMessage.proto Wed Feb 24 22:13:12 2010
@@ -1,4 +1,4 @@
-// Copyright 2009 The Apache Software Foundation
+// Copyright 2010 The Apache Software Foundation
 //
 // Licensed to the Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/JAXBContextResolver.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/JAXBContextResolver.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/JAXBContextResolver.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/JAXBContextResolver.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/consumer/ProtobufMessageBodyConsumer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/consumer/ProtobufMessageBodyConsumer.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/consumer/ProtobufMessageBodyConsumer.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/consumer/ProtobufMessageBodyConsumer.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/PlainTextMessageBodyProducer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/PlainTextMessageBodyProducer.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/PlainTextMessageBodyProducer.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/PlainTextMessageBodyProducer.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/ProtobufMessageBodyProducer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/ProtobufMessageBodyProducer.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/ProtobufMessageBodyProducer.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/java/org/apache/hadoop/hbase/stargate/provider/producer/ProtobufMessageBodyProducer.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/MiniClusterTestCase.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/MiniClusterTestCase.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/MiniClusterTestCase.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/MiniClusterTestCase.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestRowResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestRowResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestRowResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestRowResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestScannerResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestScannerResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestScannerResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestScannerResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestSchemaResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestSchemaResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestSchemaResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestSchemaResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestStatusResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestStatusResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestStatusResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestStatusResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -85,7 +85,7 @@
   }
 
   public void testGetClusterStatusXML() throws IOException, JAXBException {
-    Response response = client.get(Constants.PATH_STATUS_CLUSTER, MIMETYPE_XML);
+    Response response = client.get("/status/cluster", MIMETYPE_XML);
     assertEquals(response.getCode(), 200);
     StorageClusterStatusModel model = (StorageClusterStatusModel)
       context.createUnmarshaller().unmarshal(
@@ -94,8 +94,7 @@
   }
   
   public void testGetClusterStatusPB() throws IOException {
-    Response response =
-      client.get(Constants.PATH_STATUS_CLUSTER, MIMETYPE_PROTOBUF);
+    Response response = client.get("/status/cluster", MIMETYPE_PROTOBUF);
     assertEquals(response.getCode(), 200);
     StorageClusterStatusModel model = new StorageClusterStatusModel();
     model.getObjectFromMessage(response.getBody());

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestTableResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestTableResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestTableResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestTableResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file

Modified: hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestVersionResource.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestVersionResource.java?rev=915996&r1=915995&r2=915996&view=diff
==============================================================================
--- hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestVersionResource.java (original)
+++ hadoop/hbase/trunk/contrib/stargate/src/test/org/apache/hadoop/hbase/stargate/TestVersionResource.java Wed Feb 24 22:13:12 2010
@@ -1,5 +1,5 @@
 /*
- * Copyright 2009 The Apache Software Foundation
+ * Copyright 2010 The Apache Software Foundation
  *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -85,7 +85,7 @@
   }
 
   public void testGetStargateVersionText() throws IOException {
-    Response response = client.get(Constants.PATH_VERSION, MIMETYPE_PLAIN);
+    Response response = client.get("/version", MIMETYPE_PLAIN);
     assertTrue(response.getCode() == 200);
     String body = Bytes.toString(response.getBody());
     assertTrue(body.length() > 0);
@@ -101,7 +101,7 @@
   }
 
   public void testGetStargateVersionXML() throws IOException, JAXBException {
-    Response response = client.get(Constants.PATH_VERSION, MIMETYPE_XML);
+    Response response = client.get("/version", MIMETYPE_XML);
     assertTrue(response.getCode() == 200);
     VersionModel model = (VersionModel)
       context.createUnmarshaller().unmarshal(
@@ -111,12 +111,12 @@
   }
 
   public void testGetStargateVersionJSON() throws IOException {
-    Response response = client.get(Constants.PATH_VERSION, MIMETYPE_JSON);
+    Response response = client.get("/version", MIMETYPE_JSON);
     assertTrue(response.getCode() == 200);
   }
 
   public void testGetStargateVersionPB() throws IOException {
-    Response response = client.get(Constants.PATH_VERSION, MIMETYPE_PROTOBUF);
+    Response response = client.get("/version", MIMETYPE_PROTOBUF);
     assertTrue(response.getCode() == 200);
     VersionModel model = new VersionModel();
     model.getObjectFromMessage(response.getBody());
@@ -125,15 +125,13 @@
   }
 
   public void testGetStorageClusterVersionText() throws IOException {
-    Response response =
-      client.get(Constants.PATH_VERSION_CLUSTER, MIMETYPE_PLAIN);
+    Response response = client.get("/version/cluster", MIMETYPE_PLAIN);
     assertTrue(response.getCode() == 200);
   }
 
   public void testGetStorageClusterVersionXML() throws IOException,
       JAXBException {
-    Response response =
-      client.get(Constants.PATH_VERSION_CLUSTER, MIMETYPE_XML);
+    Response response = client.get("/version/cluster", MIMETYPE_XML);
     assertTrue(response.getCode() == 200);
     StorageClusterVersionModel clusterVersionModel = 
       (StorageClusterVersionModel)
@@ -145,8 +143,7 @@
   }
 
   public void testGetStorageClusterVersionJSON() throws IOException {
-    Response response =
-      client.get(Constants.PATH_VERSION_CLUSTER, MIMETYPE_JSON);
+    Response response = client.get("/version/cluster", MIMETYPE_JSON);
     assertTrue(response.getCode() == 200);
   }