accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject svn commit: r1451419 [1/11] - in /accumulo/trunk: ./ assemble/ core/ core/src/main/java/org/apache/accumulo/core/cli/ core/src/main/java/org/apache/accumulo/core/client/ core/src/main/java/org/apache/accumulo/core/client/admin/ core/src/main/java/org/a...
Date Thu, 28 Feb 2013 23:05:27 GMT
Author: ctubbsii
Date: Thu Feb 28 23:05:24 2013
New Revision: 1451419

URL: http://svn.apache.org/r1451419
Log:
ACCUMULO-259 Merge security changes to trunk from 1.5 branch

Added:
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/Credentials.java
      - copied unchanged from r1451409, accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/security/Credentials.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/thrift/TCredentials.java
      - copied unchanged from r1451409, accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/security/thrift/TCredentials.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/tokens/AuthenticationToken.java
      - copied unchanged from r1451409, accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/security/tokens/AuthenticationToken.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/tokens/SystemToken.java
      - copied unchanged from r1451409, accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/security/tokens/SystemToken.java
Removed:
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/thrift/Credential.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/thrift/Credentials.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/tokens/SecurityToken.java
Modified:
    accumulo/trunk/   (props changed)
    accumulo/trunk/assemble/   (props changed)
    accumulo/trunk/core/   (props changed)
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Connector.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReader.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchReaderIterator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ThriftScanner.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ClientService.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/ConfiguratorBase.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/util/InputConfigurator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockConnector.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockInstance.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockSecurityOperations.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/mock/MockUser.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/PrintInfo.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/PrintInfo.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/gc/thrift/GCMonitorService.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/master/thrift/MasterClientService.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/CredentialHelper.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/crypto/CryptoModuleFactory.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/crypto/DefaultCryptoModule.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/handler/Authenticator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/handler/InsecureAuthenticator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/handler/ZKAuthenticator.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/thrift/AuthInfo.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/tokens/NullToken.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/security/tokens/PasswordToken.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/tabletserver/thrift/TabletClientService.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/MetadataTable.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/AuthenticateCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/CreateUserCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/DropUserCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/PasswdCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/UserCommand.java
    accumulo/trunk/core/src/main/java/org/apache/accumulo/core/util/shell/commands/UsersCommand.java
    accumulo/trunk/core/src/main/thrift/client.thrift
    accumulo/trunk/core/src/main/thrift/gc.thrift
    accumulo/trunk/core/src/main/thrift/master.thrift
    accumulo/trunk/core/src/main/thrift/security.thrift
    accumulo/trunk/core/src/main/thrift/tabletserver.thrift
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/cli/TestClientOpts.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/impl/TabletLocatorImplTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormatTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockConnectorTest.java
    accumulo/trunk/core/src/test/java/org/apache/accumulo/core/client/mock/MockTableOperationsTest.java
    accumulo/trunk/examples/   (props changed)
    accumulo/trunk/examples/simple/src/main/java/org/apache/accumulo/examples/simple/filedata/FileDataQuery.java
    accumulo/trunk/examples/simple/src/test/java/org/apache/accumulo/examples/simple/filedata/ChunkInputFormatTest.java
    accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   (props changed)
    accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java   (props changed)
    accumulo/trunk/proxy/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
    accumulo/trunk/server/   (props changed)
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/ClientServiceHandler.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/client/HdfsZooInstance.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/conf/ZooConfiguration.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/gc/SimpleGarbageCollector.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/Master.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataStateStore.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/MetaDataTableScanner.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/master/state/RootTabletStateStore.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/AuditedSecurityOperation.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityConstants.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authenticator.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/Authorizor.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecureAuthenticator.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/InsecurePermHandler.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/PermissionHandler.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthenticator.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKAuthorizor.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/security/handler/ZKPermHandler.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/TabletServer.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/DfsLogger.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/log/LogSorter.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/MasterMessage.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/SplitReportMessage.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/tabletserver/mastermessage/TabletStatusMessage.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/trace/TraceFileSystem.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/Admin.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
    accumulo/trunk/server/src/main/java/org/apache/accumulo/server/util/VerifyTabletAssignments.java
    accumulo/trunk/server/src/test/java/org/apache/accumulo/server/gc/TestConfirmDeletes.java
    accumulo/trunk/server/src/test/java/org/apache/accumulo/server/master/TestMergeState.java
    accumulo/trunk/src/   (props changed)
    accumulo/trunk/start/src/main/java/org/apache/accumulo/start/classloader/vfs/providers/HdfsRandomAccessContent.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/QueryMetadataTable.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/VerifyIngest.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/BulkSplitOptimizationTest.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/FunctionalTest.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/PermissionsTest.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/functional/ZombieTServer.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/performance/metadata/MetadataBatchScanTest.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/performance/scan/CollectTabletStats.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/State.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/CreateUser.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/concurrent/DropUser.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/multitable/CopyTool.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/AlterTablePerm.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/Authenticate.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/ChangePass.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/CreateUser.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/DropTable.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/DropUser.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/SecurityFixture.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/SetAuths.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/Validate.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/security/WalkingSecurity.java
    accumulo/trunk/test/src/main/java/org/apache/accumulo/test/randomwalk/sequential/MapRedVerifyTool.java
    accumulo/trunk/test/src/test/java/org/apache/accumulo/test/MiniAccumuloClusterTest.java

Propchange: accumulo/trunk/
------------------------------------------------------------------------------
  Merged /accumulo/branches/ACCUMULO-259-polishing:r1449464-1451386
  Merged /accumulo/branches/1.5:r1451388-1451409

Propchange: accumulo/trunk/assemble/
------------------------------------------------------------------------------
  Merged /accumulo/branches/ACCUMULO-259-polishing/assemble:r1449464-1451386
  Merged /accumulo/branches/1.5/assemble:r1451388-1451409

Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/core:r1451388-1451409
  Merged /accumulo/branches/ACCUMULO-259-polishing/core:r1449464-1451386

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java Thu Feb 28 23:05:24 2013
@@ -37,9 +37,9 @@ import org.apache.accumulo.core.conf.Pro
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.security.CredentialHelper;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
+import org.apache.accumulo.core.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.security.tokens.PasswordToken;
-import org.apache.accumulo.core.security.tokens.SecurityToken;
 import org.apache.accumulo.trace.instrument.Trace;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
@@ -109,14 +109,13 @@ public class ClientOpts extends Help {
   @Parameter(names = "--password", converter = PasswordConverter.class, description = "Enter the connection password", password = true)
   public Password securePassword = null;
   
-  public SecurityToken getToken() {
-    PasswordToken pt = new PasswordToken();
+  public AuthenticationToken getToken() {
     if (securePassword == null) {
       if (password == null)
         return null;
-      return pt.setPassword(password.value);
+      return new PasswordToken(password.value);
     }
-    return pt.setPassword(securePassword.value);
+    return new PasswordToken(securePassword.value);
   }
   
   @Parameter(names = {"-z", "--keepers"}, description = "Comma separated list of zookeeper hosts (host:port,host:port)")
@@ -164,7 +163,6 @@ public class ClientOpts extends Help {
   
   protected Instance cachedInstance = null;
   
-  @SuppressWarnings("deprecation")
   synchronized public Instance getInstance() {
     if (cachedInstance != null)
       return cachedInstance;
@@ -197,7 +195,9 @@ public class ClientOpts extends Help {
       };
       this.zookeepers = config.get(Property.INSTANCE_ZK_HOST);
       Path instanceDir = new Path(config.get(Property.INSTANCE_DFS_DIR), "instance_id");
-      return cachedInstance = new ZooKeeperInstance(UUID.fromString(ZooKeeperInstance.getInstanceIDFromHdfs(instanceDir)), zookeepers);
+      @SuppressWarnings("deprecation")
+      String instanceIDFromFile = ZooKeeperInstance.getInstanceIDFromHdfs(instanceDir);
+      return cachedInstance = new ZooKeeperInstance(UUID.fromString(instanceIDFromFile), zookeepers);
     }
     return cachedInstance = new ZooKeeperInstance(this.instance, this.zookeepers);
   }
@@ -206,7 +206,7 @@ public class ClientOpts extends Help {
     return getInstance().getConnector(this.principal, this.getToken());
   }
   
-  public Credential getCredentials() throws AccumuloSecurityException {
+  public TCredentials getCredentials() throws AccumuloSecurityException {
     return CredentialHelper.create(principal, getToken(), getInstance().getInstanceID());
   }
   

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Connector.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Connector.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Connector.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Connector.java Thu Feb 28 23:05:24 2013
@@ -27,38 +27,7 @@ import org.apache.accumulo.core.security
  * 
  * The Connector enforces security on the client side by forcing all API calls to be accompanied by user credentials.
  */
-public class Connector {
-  final Connector impl;
-  
-  /**
-   * Construct a Connector from an {@link Instance}
-   * 
-   * @deprecated Not for client use
-   * @param instance
-   *          contains the precise connection information to identify the running accumulo instance
-   * @param user
-   *          a valid accumulo user
-   * @param password
-   *          the password for the user
-   * @throws AccumuloException
-   *           when a generic exception occurs
-   * @throws AccumuloSecurityException
-   *           when a user's credentials are invalid
-   * @see Instance#getConnector(String user, byte[] password)
-   */
-  @Deprecated
-  public Connector(Instance instance, String user, byte[] password) throws AccumuloException, AccumuloSecurityException {
-    impl = instance.getConnector(user, password);
-  }
-  
-  /**
-   * @see Instance#getConnector(String user, byte[] password)
-   * @deprecated Not for client use
-   */
-  @Deprecated
-  public Connector() {
-    impl = null;
-  }
+public abstract class Connector {
   
   /**
    * Factory method to create a BatchScanner connected to Accumulo.
@@ -76,9 +45,7 @@ public class Connector {
    * @throws TableNotFoundException
    *           when the specified table doesn't exist
    */
-  public BatchScanner createBatchScanner(String tableName, Authorizations authorizations, int numQueryThreads) throws TableNotFoundException {
-    return impl.createBatchScanner(tableName, authorizations, numQueryThreads);
-  }
+  public abstract BatchScanner createBatchScanner(String tableName, Authorizations authorizations, int numQueryThreads) throws TableNotFoundException;
   
   /**
    * Factory method to create a BatchDeleter connected to Accumulo.
@@ -101,13 +68,11 @@ public class Connector {
    * @return BatchDeleter object for configuring and deleting
    * @throws TableNotFoundException
    *           when the specified table doesn't exist
-   * @deprecated As of 1.5, replaced by {@link #createBatchDeleter(String, Authorizations, int, BatchWriterConfig)}
+   * @deprecated since 1.5.0; Use {@link #createBatchDeleter(String, Authorizations, int, BatchWriterConfig)} instead.
    */
   @Deprecated
-  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, long maxMemory, long maxLatency,
-      int maxWriteThreads) throws TableNotFoundException {
-    return impl.createBatchDeleter(tableName, authorizations, numQueryThreads, maxMemory, maxLatency, maxWriteThreads);
-  }
+  public abstract BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, long maxMemory, long maxLatency,
+      int maxWriteThreads) throws TableNotFoundException;
   
   /**
    * 
@@ -124,12 +89,10 @@ public class Connector {
    * @return BatchDeleter object for configuring and deleting
    * @throws TableNotFoundException
    */
-
-  public BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, BatchWriterConfig config)
-      throws TableNotFoundException {
-    return impl.createBatchDeleter(tableName, authorizations, numQueryThreads, config);
-  }
-
+  
+  public abstract BatchDeleter createBatchDeleter(String tableName, Authorizations authorizations, int numQueryThreads, BatchWriterConfig config)
+      throws TableNotFoundException;
+  
   /**
    * Factory method to create a BatchWriter connected to Accumulo.
    * 
@@ -145,12 +108,10 @@ public class Connector {
    * @return BatchWriter object for configuring and writing data to
    * @throws TableNotFoundException
    *           when the specified table doesn't exist
-   * @deprecated As of 1.5, replaced by {@link #createBatchWriter(String, BatchWriterConfig)}
+   * @deprecated since 1.5.0; Use {@link #createBatchWriter(String, BatchWriterConfig)} instead.
    */
   @Deprecated
-  public BatchWriter createBatchWriter(String tableName, long maxMemory, long maxLatency, int maxWriteThreads) throws TableNotFoundException {
-    return impl.createBatchWriter(tableName, maxMemory, maxLatency, maxWriteThreads);
-  }
+  public abstract BatchWriter createBatchWriter(String tableName, long maxMemory, long maxLatency, int maxWriteThreads) throws TableNotFoundException;
   
   /**
    * Factory method to create a BatchWriter connected to Accumulo.
@@ -162,11 +123,9 @@ public class Connector {
    * @return BatchWriter object for configuring and writing data to
    * @throws TableNotFoundException
    */
-
-  public BatchWriter createBatchWriter(String tableName, BatchWriterConfig config) throws TableNotFoundException {
-    return impl.createBatchWriter(tableName, config);
-  }
-
+  
+  public abstract BatchWriter createBatchWriter(String tableName, BatchWriterConfig config) throws TableNotFoundException;
+  
   /**
    * Factory method to create a Multi-Table BatchWriter connected to Accumulo. Multi-table batch writers can queue data for multiple tables, which is good for
    * ingesting data into multiple tables from the same source
@@ -179,12 +138,10 @@ public class Connector {
    *          the maximum number of threads to use for writing data to the tablet servers
    * 
    * @return MultiTableBatchWriter object for configuring and writing data to
-   * @deprecated As of 1.5, replaced by {@link #createMultiTableBatchWriter(BatchWriterConfig)}
+   * @deprecated since 1.5.0; Use {@link #createMultiTableBatchWriter(BatchWriterConfig)} instead.
    */
   @Deprecated
-  public MultiTableBatchWriter createMultiTableBatchWriter(long maxMemory, long maxLatency, int maxWriteThreads) {
-    return impl.createMultiTableBatchWriter(maxMemory, maxLatency, maxWriteThreads);
-  }
+  public abstract MultiTableBatchWriter createMultiTableBatchWriter(long maxMemory, long maxLatency, int maxWriteThreads);
   
   /**
    * Factory method to create a Multi-Table BatchWriter connected to Accumulo. Multi-table batch writers can queue data for multiple tables. Also data for
@@ -194,10 +151,8 @@ public class Connector {
    *          configuration used to create multi-table batch writer
    * @return MultiTableBatchWriter object for configuring and writing data to
    */
-
-  public MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config) {
-    return impl.createMultiTableBatchWriter(config);
-  }
+  
+  public abstract MultiTableBatchWriter createMultiTableBatchWriter(BatchWriterConfig config);
   
   /**
    * Factory method to create a Scanner connected to Accumulo.
@@ -213,52 +168,40 @@ public class Connector {
    * @throws TableNotFoundException
    *           when the specified table doesn't exist
    */
-  public Scanner createScanner(String tableName, Authorizations authorizations) throws TableNotFoundException {
-    return impl.createScanner(tableName, authorizations);
-  }
+  public abstract Scanner createScanner(String tableName, Authorizations authorizations) throws TableNotFoundException;
   
   /**
    * Accessor method for internal instance object.
    * 
    * @return the internal instance object
    */
-  public Instance getInstance() {
-    return impl.getInstance();
-  }
+  public abstract Instance getInstance();
   
   /**
    * Get the current user for this connector
    * 
    * @return the user name
    */
-  public String whoami() {
-    return impl.whoami();
-  }
+  public abstract String whoami();
   
   /**
    * Retrieves a TableOperations object to perform table functions, such as create and delete.
    * 
    * @return an object to manipulate tables
    */
-  public synchronized TableOperations tableOperations() {
-    return impl.tableOperations();
-  }
+  public abstract TableOperations tableOperations();
   
   /**
    * Retrieves a SecurityOperations object to perform user security operations, such as creating users.
    * 
    * @return an object to modify users and permissions
    */
-  public synchronized SecurityOperations securityOperations() {
-    return impl.securityOperations();
-  }
+  public abstract SecurityOperations securityOperations();
   
   /**
    * Retrieves an InstanceOperations object to modify instance configuration.
    * 
    * @return an object to modify instance configuration
    */
-  public synchronized InstanceOperations instanceOperations() {
-    return impl.instanceOperations();
-  }
+  public abstract InstanceOperations instanceOperations();
 }

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/Instance.java Thu Feb 28 23:05:24 2013
@@ -18,11 +18,12 @@ package org.apache.accumulo.core.client;
 
 import java.nio.ByteBuffer;
 import java.util.List;
+import java.util.Properties;
 
 import org.apache.accumulo.core.conf.AccumuloConfiguration;
-import org.apache.accumulo.core.security.thrift.AuthInfo;
-import org.apache.accumulo.core.security.thrift.Credential;
-import org.apache.accumulo.core.security.tokens.SecurityToken;
+import org.apache.accumulo.core.security.handler.Authenticator;
+import org.apache.accumulo.core.security.thrift.TCredentials;
+import org.apache.accumulo.core.security.tokens.AuthenticationToken;
 
 /**
  * This class represents the information a client needs to know to connect to an instance of accumulo.
@@ -96,10 +97,11 @@ public interface Instance {
    *           when a generic exception occurs
    * @throws AccumuloSecurityException
    *           when a user's credentials are invalid
-   * @deprecated since 1.5, use {@link #getConnector(String, SecurityToken)}
+   * @deprecated since 1.5, use {@link #getConnector(String, AuthenticationToken)}
    */
-  public abstract Connector getConnector(AuthInfo auth) throws AccumuloException, AccumuloSecurityException;
-    
+  @Deprecated
+  public abstract Connector getConnector(org.apache.accumulo.core.security.thrift.AuthInfo auth) throws AccumuloException, AccumuloSecurityException;
+  
   /**
    * Returns a connection to accumulo.
    * 
@@ -144,28 +146,27 @@ public interface Instance {
    *          accumulo configuration
    */
   public abstract void setConfiguration(AccumuloConfiguration conf);
-
+  
   /**
-   * @return the canonical name of the helper class for the security token from the authenticator, if one exists. 
+   * @return the canonical name of the helper class for the security token from the authenticator, if one exists.
    * @throws AccumuloException
    */
   public abstract String getAuthenticatorClassName() throws AccumuloException;
-
+  
   /**
    * @param principal
    * @param token
-   *  A known SecurityToken type. If uncertain which should be provided, use {@link #getAuthenticatorClassName()} and {@link Authenticator#login(Properties)}
-   * @return
+   *          A known SecurityToken type. If uncertain which should be provided, use {@link #getAuthenticatorClassName()} and
+   *          {@link Authenticator#login(Properties)}
    * @throws AccumuloException
    * @throws AccumuloSecurityException
    */
-  Connector getConnector(String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException;
-
+  Connector getConnector(String principal, AuthenticationToken token) throws AccumuloException, AccumuloSecurityException;
+  
   /**
    * @param auth
-   * @return
    * @throws AccumuloException
    * @throws AccumuloSecurityException
    */
-  Connector getConnector(Credential auth) throws AccumuloException, AccumuloSecurityException;
+  Connector getConnector(TCredentials auth) throws AccumuloException, AccumuloSecurityException;
 }

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java Thu Feb 28 23:05:24 2013
@@ -30,11 +30,10 @@ import org.apache.accumulo.core.conf.Pro
 import org.apache.accumulo.core.file.FileUtil;
 import org.apache.accumulo.core.master.thrift.MasterClientService.Client;
 import org.apache.accumulo.core.security.CredentialHelper;
-import org.apache.accumulo.core.security.thrift.AuthInfo;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
+import org.apache.accumulo.core.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.security.tokens.PasswordToken;
-import org.apache.accumulo.core.security.tokens.SecurityToken;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.ByteBufferUtil;
 import org.apache.accumulo.core.util.CachedConfiguration;
@@ -73,11 +72,11 @@ public class ZooKeeperInstance implement
   private String instanceId = null;
   private String instanceName = null;
   
-  private ZooCache zooCache;
+  private final ZooCache zooCache;
   
-  private String zooKeepers;
+  private final String zooKeepers;
   
-  private int zooKeepersSessionTimeOut;
+  private final int zooKeepersSessionTimeOut;
   
   /**
    * 
@@ -221,20 +220,20 @@ public class ZooKeeperInstance implement
     return getConnector(user, ByteBufferUtil.toBytes(pass));
   }
   
-  // Suppress deprecation, ConnectorImpl is deprecated to warn clients against using.
   @Override
-  public Connector getConnector(String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException {
+  public Connector getConnector(String principal, AuthenticationToken token) throws AccumuloException, AccumuloSecurityException {
     return getConnector(CredentialHelper.create(principal, token, getInstanceID()));
   }
   
-  @SuppressWarnings("deprecation")
-  public Connector getConnector(Credential credential) throws AccumuloException, AccumuloSecurityException {
+  @Override
+  @Deprecated
+  public Connector getConnector(TCredentials credential) throws AccumuloException, AccumuloSecurityException {
     return new ConnectorImpl(this, credential);
   }
   
   @Override
   public Connector getConnector(String principal, byte[] pass) throws AccumuloException, AccumuloSecurityException {
-    return getConnector(principal, new PasswordToken().setPassword(pass));
+    return getConnector(principal, new PasswordToken(pass));
   }
   
   private AccumuloConfiguration conf = null;
@@ -278,7 +277,9 @@ public class ZooKeeperInstance implement
     return null;
   }
   
-  // To be moved to server code. Only lives here to support the Accumulo Shell
+  /**
+   * To be moved to server code. Only lives here to support certain client side utilities to minimize command-line options.
+   */
   @Deprecated
   public static String getInstanceIDFromHdfs(Path instanceDirectory) {
     try {
@@ -300,8 +301,9 @@ public class ZooKeeperInstance implement
     }
   }
   
+  @Deprecated
   @Override
-  public Connector getConnector(AuthInfo auth) throws AccumuloException, AccumuloSecurityException {
+  public Connector getConnector(org.apache.accumulo.core.security.thrift.AuthInfo auth) throws AccumuloException, AccumuloSecurityException {
     return getConnector(auth.user, auth.password);
   }
   

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java Thu Feb 28 23:05:24 2013
@@ -33,7 +33,7 @@ import org.apache.accumulo.core.client.i
 import org.apache.accumulo.core.client.impl.thrift.ClientService;
 import org.apache.accumulo.core.client.impl.thrift.ConfigurationType;
 import org.apache.accumulo.core.master.thrift.MasterClientService;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService.Client;
 import org.apache.accumulo.core.util.ArgumentChecker;
@@ -49,7 +49,7 @@ import org.apache.thrift.transport.TTran
  */
 public class InstanceOperationsImpl implements InstanceOperations {
   private Instance instance;
-  private Credential credentials;
+  private TCredentials credentials;
   
   /**
    * @param instance
@@ -57,7 +57,7 @@ public class InstanceOperationsImpl impl
    * @param credentials
    *          the username/password for this connection
    */
-  public InstanceOperationsImpl(Instance instance, Credential credentials) {
+  public InstanceOperationsImpl(Instance instance, TCredentials credentials) {
     ArgumentChecker.notNull(instance, credentials);
     this.instance = instance;
     this.credentials = credentials;

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java Thu Feb 28 23:05:24 2013
@@ -23,7 +23,8 @@ import org.apache.accumulo.core.client.A
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.SystemPermission;
 import org.apache.accumulo.core.security.TablePermission;
-import org.apache.accumulo.core.security.tokens.SecurityToken;
+import org.apache.accumulo.core.security.tokens.AuthenticationToken;
+import org.apache.accumulo.core.security.tokens.PasswordToken;
 
 /**
  * Provides a class for managing users and permissions
@@ -43,7 +44,7 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to create a user
-   * @deprecated Use {@link #createUser(String, SecurityToken)} instead
+   * @deprecated since 1.5.0; use {@link #createLocalUser(String, PasswordToken)} or the user management functions of your configured authenticator instead.
    */
   @Deprecated
   public void createUser(String user, byte[] password, Authorizations authorizations) throws AccumuloException, AccumuloSecurityException;
@@ -52,15 +53,16 @@ public interface SecurityOperations {
    * Create a user
    * 
    * @param principal
-   *          the principal being created
-   * @param token
-   *          the security token with the information about the user to create
+   *          the name of the user to create
+   * @param password
+   *          the plaintext password for the user
    * @throws AccumuloException
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to create a user
+   * @since 1.5.0
    */
-  public void createUser(String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException;
+  public void createLocalUser(String principal, PasswordToken password) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Delete a user
@@ -71,10 +73,25 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to delete a user
+   * @deprecated since 1.5.0; use {@link #dropUser(String)} or the user management functions of your configured authenticator instead.
    */
+  @Deprecated
   public void dropUser(String user) throws AccumuloException, AccumuloSecurityException;
   
   /**
+   * Delete a user
+   * 
+   * @param principal
+   *          the user name to delete
+   * @throws AccumuloException
+   *           if a general error occurs
+   * @throws AccumuloSecurityException
+   *           if the user does not have permission to delete a user
+   * @since 1.5.0
+   */
+  public void dropLocalUser(String principal) throws AccumuloException, AccumuloSecurityException;
+  
+  /**
    * Verify a username/password combination is valid
    * 
    * @param user
@@ -86,8 +103,9 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to ask
-   * @deprecated see {@link #authenticateUser(String, SecurityToken)}
+   * @deprecated since 1.5.0; use {@link #authenticateUser(String, AuthenticationToken)} instead.
    */
+  @Deprecated
   public boolean authenticateUser(String user, byte[] password) throws AccumuloException, AccumuloSecurityException;
   
   /**
@@ -102,9 +120,10 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to ask
+   * @since 1.5.0
    */
-  boolean authenticateUser(String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException; 
-
+  public boolean authenticateUser(String principal, AuthenticationToken token) throws AccumuloException, AccumuloSecurityException;
+  
   /**
    * Set the user's password
    * 
@@ -116,14 +135,31 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to modify a user
-   * @deprecated see {@link #changeLoginInfo(String, SecurityToken)}          
+   * @deprecated since 1.5.0; use {@link #changeLocalUserPassword(String, PasswordToken)} or the user management functions of your configured authenticator
+   *             instead.
    */
+  @Deprecated
   public void changeUserPassword(String user, byte[] password) throws AccumuloException, AccumuloSecurityException;
   
   /**
+   * Set the user's password
+   * 
+   * @param principal
+   *          the name of the user to modify
+   * @param token
+   *          the plaintext password for the user
+   * @throws AccumuloException
+   *           if a general error occurs
+   * @throws AccumuloSecurityException
+   *           if the user does not have permission to modify a user
+   * @since 1.5.0
+   */
+  public void changeLocalUserPassword(String principal, PasswordToken token) throws AccumuloException, AccumuloSecurityException;
+  
+  /**
    * Set the user's record-level authorizations
    * 
-   * @param user
+   * @param principal
    *          the name of the user to modify
    * @param authorizations
    *          the authorizations that the user has for scanning
@@ -132,12 +168,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to modify a user
    */
-  public void changeUserAuthorizations(String user, Authorizations authorizations) throws AccumuloException, AccumuloSecurityException;
+  public void changeUserAuthorizations(String principal, Authorizations authorizations) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Retrieves the user's authorizations for scanning
    * 
-   * @param user
+   * @param principal
    *          the name of the user to query
    * @return the set of authorizations the user has available for scanning
    * @throws AccumuloException
@@ -145,12 +181,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to query a user
    */
-  public Authorizations getUserAuthorizations(String user) throws AccumuloException, AccumuloSecurityException;
+  public Authorizations getUserAuthorizations(String principal) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Verify the user has a particular system permission
    * 
-   * @param user
+   * @param principal
    *          the name of the user to query
    * @param perm
    *          the system permission to check for
@@ -160,12 +196,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to query a user
    */
-  public boolean hasSystemPermission(String user, SystemPermission perm) throws AccumuloException, AccumuloSecurityException;
+  public boolean hasSystemPermission(String principal, SystemPermission perm) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Verify the user has a particular table permission
    * 
-   * @param user
+   * @param principal
    *          the name of the user to query
    * @param table
    *          the name of the table to query about
@@ -177,12 +213,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to query a user
    */
-  public boolean hasTablePermission(String user, String table, TablePermission perm) throws AccumuloException, AccumuloSecurityException;
+  public boolean hasTablePermission(String principal, String table, TablePermission perm) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Grant a user a system permission
    * 
-   * @param user
+   * @param principal
    *          the name of the user to modify
    * @param permission
    *          the system permission to grant to the user
@@ -191,12 +227,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to grant a user permissions
    */
-  public void grantSystemPermission(String user, SystemPermission permission) throws AccumuloException, AccumuloSecurityException;
+  public void grantSystemPermission(String principal, SystemPermission permission) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Grant a user a specific permission for a specific table
    * 
-   * @param user
+   * @param principal
    *          the name of the user to modify
    * @param table
    *          the name of the table to modify for the user
@@ -207,12 +243,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to grant a user permissions
    */
-  public void grantTablePermission(String user, String table, TablePermission permission) throws AccumuloException, AccumuloSecurityException;
+  public void grantTablePermission(String principal, String table, TablePermission permission) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Revoke a system permission from a user
    * 
-   * @param user
+   * @param principal
    *          the name of the user to modify
    * @param permission
    *          the system permission to revoke for the user
@@ -221,12 +257,12 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to revoke a user's permissions
    */
-  public void revokeSystemPermission(String user, SystemPermission permission) throws AccumuloException, AccumuloSecurityException;
+  public void revokeSystemPermission(String principal, SystemPermission permission) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Revoke a table permission for a specific user on a specific table
    * 
-   * @param user
+   * @param principal
    *          the name of the user to modify
    * @param table
    *          the name of the table to modify for the user
@@ -237,7 +273,7 @@ public interface SecurityOperations {
    * @throws AccumuloSecurityException
    *           if the user does not have permission to revoke a user's permissions
    */
-  public void revokeTablePermission(String user, String table, TablePermission permission) throws AccumuloException, AccumuloSecurityException;
+  public void revokeTablePermission(String principal, String table, TablePermission permission) throws AccumuloException, AccumuloSecurityException;
   
   /**
    * Return a list of users in accumulo
@@ -247,21 +283,21 @@ public interface SecurityOperations {
    *           if a general error occurs
    * @throws AccumuloSecurityException
    *           if the user does not have permission to query users
+   * @deprecated since 1.5.0; use {@link #listLocalUsers()} or the user management functions of your configured authenticator instead.
    */
+  @Deprecated
   public Set<String> listUsers() throws AccumuloException, AccumuloSecurityException;
-
+  
   /**
-   * Set the user's password
+   * Return a list of users in accumulo
    * 
-   * @param principal
-   *          the principal who's password is to be changed
-   * @param token
-   *          the security token with the information about the user to modify
+   * @return a set of user names
    * @throws AccumuloException
    *           if a general error occurs
    * @throws AccumuloSecurityException
-   *           if the user does not have permission to modify a user
+   *           if the user does not have permission to query users
+   * @since 1.5.0
    */
-  void changeLoginInfo(String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException;
-
+  public Set<String> listLocalUsers() throws AccumuloException, AccumuloSecurityException;
+  
 }

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java Thu Feb 28 23:05:24 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.accumulo.core.client.admin;
 
+import java.nio.ByteBuffer;
 import java.util.Set;
 
 import org.apache.accumulo.core.client.AccumuloException;
@@ -31,11 +32,11 @@ import org.apache.accumulo.core.security
 import org.apache.accumulo.core.security.CredentialHelper;
 import org.apache.accumulo.core.security.SystemPermission;
 import org.apache.accumulo.core.security.TablePermission;
-import org.apache.accumulo.core.security.thrift.Credential;
 import org.apache.accumulo.core.security.thrift.SecurityErrorCode;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
+import org.apache.accumulo.core.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.security.tokens.PasswordToken;
-import org.apache.accumulo.core.security.tokens.SecurityToken;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.ByteBufferUtil;
 import org.apache.accumulo.trace.instrument.Tracer;
@@ -43,7 +44,7 @@ import org.apache.accumulo.trace.instrum
 public class SecurityOperationsImpl implements SecurityOperations {
   
   private Instance instance;
-  private Credential credentials;
+  private TCredentials credentials;
   
   private void execute(ClientExec<ClientService.Client> exec) throws AccumuloException, AccumuloSecurityException {
     try {
@@ -81,13 +82,7 @@ public class SecurityOperationsImpl impl
     }
   }
   
-  /**
-   * @param instance
-   *          the connection information
-   * @param credentials
-   *          the user credentials to use for security operations
-   */
-  public SecurityOperationsImpl(Instance instance, Credential credentials) {
+  public SecurityOperationsImpl(Instance instance, TCredentials credentials) {
     ArgumentChecker.notNull(instance, credentials);
     this.instance = instance;
     this.credentials = credentials;
@@ -95,83 +90,49 @@ public class SecurityOperationsImpl impl
   
   @Deprecated
   @Override
-  public void createUser(final String user, final byte[] password, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException {
-    createUser(user, new PasswordToken().setPassword(password), authorizations);
+  public void createUser(String user, byte[] password, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException {
+    createLocalUser(user, new PasswordToken(password));
+    changeUserAuthorizations(user, authorizations);
   }
   
-  /**
-   * Create a user
-   * 
-   * @param principal
-   *          the principal to create
-   * @param token
-   *          the security token with the information about the user to create
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to create a user
-   */
-  public void createUser(final String principal, final SecurityToken token) throws AccumuloException, AccumuloSecurityException {
-    createUser(principal, token, new Authorizations());
-  }
-  
-  // Private method because the token/authorization constructor is something which is essentially new and depreciated.
-  private void createUser(String principal, SecurityToken token, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(principal, token, authorizations);
-    final Credential toCreate = CredentialHelper.create(principal, token, instance.getInstanceID());
+  @Override
+  public void createLocalUser(final String principal, final PasswordToken password) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, password);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.createUser(Tracer.traceInfo(), credentials, toCreate, ByteBufferUtil.toByteBuffers(authorizations.getAuthorizations()));
+        client.createLocalUser(Tracer.traceInfo(), credentials, principal, ByteBuffer.wrap(password.getPassword()));
       }
     });
   }
   
-  /**
-   * Delete a user
-   * 
-   * @param user
-   *          the user name to delete
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to delete a user
-   */
+  @Deprecated
   @Override
   public void dropUser(final String user) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user);
+    dropLocalUser(user);
+  }
+  
+  @Override
+  public void dropLocalUser(final String principal) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.dropUser(Tracer.traceInfo(), credentials, user);
+        client.dropLocalUser(Tracer.traceInfo(), credentials, principal);
       }
     });
   }
   
-  /**
-   * Verify a username/password combination is valid
-   * 
-   * @param principal
-   *          the name of the user to authenticate
-   * @param token
-   *          the plaintext password for the user
-   * @return true if the user asking is allowed to know and the specified user/password is valid, false otherwise
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to ask
-   * @deprecated see {@link #authenticateUser(String, SecurityToken)}
-   */
+  @Deprecated
   @Override
-  public boolean authenticateUser(final String principal, final byte[] token) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(token);
-    return authenticateUser(principal, new PasswordToken().setPassword(token));
+  public boolean authenticateUser(String user, byte[] password) throws AccumuloException, AccumuloSecurityException {
+    return authenticateUser(user, new PasswordToken(password));
   }
   
   @Override
-  public boolean authenticateUser(final String principal, final SecurityToken token) throws AccumuloException, AccumuloSecurityException {
+  public boolean authenticateUser(final String principal, final AuthenticationToken token) throws AccumuloException, AccumuloSecurityException {
     ArgumentChecker.notNull(principal, token);
-    final Credential toAuth = CredentialHelper.create(principal, token, instance.getInstanceID());
+    final TCredentials toAuth = CredentialHelper.create(principal, token, instance.getInstanceID());
     return execute(new ClientExecReturn<Boolean,ClientService.Client>() {
       @Override
       public Boolean execute(ClientService.Client client) throws Exception {
@@ -180,33 +141,20 @@ public class SecurityOperationsImpl impl
     });
   }
   
-  /**
-   * Set the user's password
-   * 
-   * @param principal
-   *          the principal who's password is to be changed
-   * @param token
-   *          the security token with the information about the user to modify
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to modify a user
-   * @deprecated
-   */
+  @Override
   @Deprecated
-  public void changeUserPassword(final String principal, final byte[] token) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(token);
-    changeLoginInfo(principal, new PasswordToken().setPassword(token));
+  public void changeUserPassword(String user, byte[] password) throws AccumuloException, AccumuloSecurityException {
+    changeLocalUserPassword(user, new PasswordToken(password));
   }
   
   @Override
-  public void changeLoginInfo(final String principal, SecurityToken token) throws AccumuloException, AccumuloSecurityException {
+  public void changeLocalUserPassword(final String principal, final PasswordToken token) throws AccumuloException, AccumuloSecurityException {
     ArgumentChecker.notNull(principal, token);
-    final Credential toChange = CredentialHelper.create(principal, token, instance.getInstanceID());
+    final TCredentials toChange = CredentialHelper.create(principal, token, instance.getInstanceID());
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.changePassword(Tracer.traceInfo(), credentials, toChange);
+        client.changeLocalUserPassword(Tracer.traceInfo(), credentials, principal, ByteBuffer.wrap(token.getPassword()));
       }
     });
     if (this.credentials.principal.equals(principal)) {
@@ -214,213 +162,108 @@ public class SecurityOperationsImpl impl
     }
   }
   
-  /**
-   * Set the user's record-level authorizations
-   * 
-   * @param user
-   *          the name of the user to modify
-   * @param authorizations
-   *          the authorizations that the user has for scanning
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to modify a user
-   */
   @Override
-  public void changeUserAuthorizations(final String user, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, authorizations);
+  public void changeUserAuthorizations(final String principal, final Authorizations authorizations) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, authorizations);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.changeAuthorizations(Tracer.traceInfo(), credentials, user, ByteBufferUtil.toByteBuffers(authorizations.getAuthorizations()));
+        client.changeAuthorizations(Tracer.traceInfo(), credentials, principal, ByteBufferUtil.toByteBuffers(authorizations.getAuthorizations()));
       }
     });
   }
   
-  /**
-   * Retrieves the user's authorizations for scanning
-   * 
-   * @param user
-   *          the name of the user to query
-   * @return the set of authorizations the user has available for scanning
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to query a user
-   */
   @Override
-  public Authorizations getUserAuthorizations(final String user) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user);
+  public Authorizations getUserAuthorizations(final String principal) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal);
     return execute(new ClientExecReturn<Authorizations,ClientService.Client>() {
       @Override
       public Authorizations execute(ClientService.Client client) throws Exception {
-        return new Authorizations(client.getUserAuthorizations(Tracer.traceInfo(), credentials, user));
+        return new Authorizations(client.getUserAuthorizations(Tracer.traceInfo(), credentials, principal));
       }
     });
   }
   
-  /**
-   * Verify the user has a particular system permission
-   * 
-   * @param user
-   *          the name of the user to query
-   * @param perm
-   *          the system permission to check for
-   * @return true if user has that permission; false otherwise
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to query a user
-   */
   @Override
-  public boolean hasSystemPermission(final String user, final SystemPermission perm) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, perm);
+  public boolean hasSystemPermission(final String principal, final SystemPermission perm) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, perm);
     return execute(new ClientExecReturn<Boolean,ClientService.Client>() {
       @Override
       public Boolean execute(ClientService.Client client) throws Exception {
-        return client.hasSystemPermission(Tracer.traceInfo(), credentials, user, perm.getId());
+        return client.hasSystemPermission(Tracer.traceInfo(), credentials, principal, perm.getId());
       }
     });
   }
   
-  /**
-   * Verify the user has a particular table permission
-   * 
-   * @param user
-   *          the name of the user to query
-   * @param table
-   *          the name of the table to query about
-   * @param perm
-   *          the table permission to check for
-   * @return true if user has that permission; false otherwise
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to query a user
-   */
   @Override
-  public boolean hasTablePermission(final String user, final String table, final TablePermission perm) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, table, perm);
+  public boolean hasTablePermission(final String principal, final String table, final TablePermission perm) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, table, perm);
     return execute(new ClientExecReturn<Boolean,ClientService.Client>() {
       @Override
       public Boolean execute(ClientService.Client client) throws Exception {
-        return client.hasTablePermission(Tracer.traceInfo(), credentials, user, table, perm.getId());
+        return client.hasTablePermission(Tracer.traceInfo(), credentials, principal, table, perm.getId());
       }
     });
   }
   
-  /**
-   * Grant a user a system permission
-   * 
-   * @param user
-   *          the name of the user to modify
-   * @param permission
-   *          the system permission to grant to the user
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to grant a user permissions
-   */
   @Override
-  public void grantSystemPermission(final String user, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, permission);
+  public void grantSystemPermission(final String principal, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, permission);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.grantSystemPermission(Tracer.traceInfo(), credentials, user, permission.getId());
+        client.grantSystemPermission(Tracer.traceInfo(), credentials, principal, permission.getId());
       }
     });
   }
   
-  /**
-   * Grant a user a specific permission for a specific table
-   * 
-   * @param user
-   *          the name of the user to modify
-   * @param table
-   *          the name of the table to modify for the user
-   * @param permission
-   *          the table permission to grant to the user
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to grant a user permissions
-   */
   @Override
-  public void grantTablePermission(final String user, final String table, final TablePermission permission) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, table, permission);
+  public void grantTablePermission(final String principal, final String table, final TablePermission permission) throws AccumuloException,
+      AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, table, permission);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.grantTablePermission(Tracer.traceInfo(), credentials, user, table, permission.getId());
+        client.grantTablePermission(Tracer.traceInfo(), credentials, principal, table, permission.getId());
       }
     });
   }
   
-  /**
-   * Revoke a system permission from a user
-   * 
-   * @param user
-   *          the name of the user to modify
-   * @param permission
-   *          the system permission to revoke for the user
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to revoke a user's permissions
-   */
   @Override
-  public void revokeSystemPermission(final String user, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException {
-    ArgumentChecker.notNull(user, permission);
+  public void revokeSystemPermission(final String principal, final SystemPermission permission) throws AccumuloException, AccumuloSecurityException {
+    ArgumentChecker.notNull(principal, permission);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.revokeSystemPermission(Tracer.traceInfo(), credentials, user, permission.getId());
+        client.revokeSystemPermission(Tracer.traceInfo(), credentials, principal, permission.getId());
       }
     });
   }
   
-  /**
-   * Revoke a table permission for a specific user on a specific table
-   * 
-   * @param user
-   *          the name of the user to modify
-   * @param table
-   *          the name of the table to modify for the user
-   * @param permission
-   *          the table permission to revoke for the user
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to revoke a user's permissions
-   */
   @Override
-  public void revokeTablePermission(final String user, final String table, final TablePermission permission) throws AccumuloException,
+  public void revokeTablePermission(final String principal, final String table, final TablePermission permission) throws AccumuloException,
       AccumuloSecurityException {
-    ArgumentChecker.notNull(user, table, permission);
+    ArgumentChecker.notNull(principal, table, permission);
     execute(new ClientExec<ClientService.Client>() {
       @Override
       public void execute(ClientService.Client client) throws Exception {
-        client.revokeTablePermission(Tracer.traceInfo(), credentials, user, table, permission.getId());
+        client.revokeTablePermission(Tracer.traceInfo(), credentials, principal, table, permission.getId());
       }
     });
   }
   
-  /**
-   * Return a list of users in accumulo
-   * 
-   * @return a set of user names
-   * @throws AccumuloException
-   *           if a general error occurs
-   * @throws AccumuloSecurityException
-   *           if the user does not have permission to query users
-   */
+  @Deprecated
   @Override
   public Set<String> listUsers() throws AccumuloException, AccumuloSecurityException {
+    return listLocalUsers();
+  }
+  
+  @Override
+  public Set<String> listLocalUsers() throws AccumuloException, AccumuloSecurityException {
     return execute(new ClientExecReturn<Set<String>,ClientService.Client>() {
       @Override
       public Set<String> execute(ClientService.Client client) throws Exception {
-        return client.listUsers(Tracer.traceInfo(), credentials);
+        return client.listLocalUsers(Tracer.traceInfo(), credentials);
       }
     });
   }

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java Thu Feb 28 23:05:24 2013
@@ -75,7 +75,7 @@ import org.apache.accumulo.core.master.t
 import org.apache.accumulo.core.master.thrift.TableOperation;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.CredentialHelper;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.security.thrift.ThriftSecurityException;
 import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException;
 import org.apache.accumulo.core.tabletserver.thrift.TabletClientService;
@@ -106,7 +106,7 @@ import org.apache.thrift.transport.TTran
  */
 public class TableOperationsImpl extends TableOperationsHelper {
   private Instance instance;
-  private Credential credentials;
+  private TCredentials credentials;
   
   private static final Logger log = Logger.getLogger(TableOperations.class);
   
@@ -116,7 +116,7 @@ public class TableOperationsImpl extends
    * @param credentials
    *          the username/password for this connection
    */
-  public TableOperationsImpl(Instance instance, Credential credentials) {
+  public TableOperationsImpl(Instance instance, TCredentials credentials) {
     ArgumentChecker.notNull(instance, credentials);
     this.instance = instance;
     this.credentials = credentials;

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java Thu Feb 28 23:05:24 2013
@@ -21,7 +21,7 @@ import org.apache.accumulo.core.client.B
 import org.apache.accumulo.core.client.Instance;
 import org.apache.accumulo.core.client.MutationsRejectedException;
 import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 
 public class BatchWriterImpl implements BatchWriter {
@@ -29,7 +29,7 @@ public class BatchWriterImpl implements 
   private String table;
   private TabletServerBatchWriter bw;
   
-  public BatchWriterImpl(Instance instance, Credential credentials, String table, BatchWriterConfig config) {
+  public BatchWriterImpl(Instance instance, TCredentials credentials, String table, BatchWriterConfig config) {
     ArgumentChecker.notNull(instance, credentials, table, config);
     this.table = table;
     this.bw = new TabletServerBatchWriter(instance, credentials, config);

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java Thu Feb 28 23:05:24 2013
@@ -39,36 +39,23 @@ import org.apache.accumulo.core.client.a
 import org.apache.accumulo.core.client.impl.thrift.ClientService;
 import org.apache.accumulo.core.master.state.tables.TableState;
 import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.thrift.Credential;
 import org.apache.accumulo.core.security.thrift.SecurityErrorCode;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.trace.instrument.Tracer;
 
 public class ConnectorImpl extends Connector {
-  private Instance instance;
-  private Credential credentials;
+  private final Instance instance;
+  private final TCredentials credentials;
   private SecurityOperations secops = null;
   private TableOperations tableops = null;
   private InstanceOperations instanceops = null;
   
-  /**
-   * 
-   * Use {@link Instance#getConnector(String, byte[])}
-   * 
-   * @param instance
-   * @param user
-   * @param password
-   * @throws AccumuloException
-   * @throws AccumuloSecurityException
-   * @see Instance#getConnector(String user, byte[] password)
-   * @deprecated Not for client use
-   */
   @Deprecated
-  public ConnectorImpl(Instance instance, Credential cred) throws AccumuloException, AccumuloSecurityException {
+  public ConnectorImpl(Instance instance, TCredentials cred) throws AccumuloException, AccumuloSecurityException {
     ArgumentChecker.notNull(instance, cred);
     this.instance = instance;
     
-    
     this.credentials = cred;
     
     // hardcoded string for SYSTEM user since the definition is
@@ -77,7 +64,7 @@ public class ConnectorImpl extends Conne
       ServerClient.execute(instance, new ClientExec<ClientService.Client>() {
         @Override
         public void execute(ClientService.Client iface) throws Exception {
-          if (!iface.authenticateUser(Tracer.traceInfo(), credentials, credentials))
+          if (!iface.authenticate(Tracer.traceInfo(), credentials))
             throw new AccumuloSecurityException("Authentication failed, access denied", SecurityErrorCode.BAD_CREDENTIALS);
         }
       });

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java Thu Feb 28 23:05:24 2013
@@ -41,7 +41,7 @@ import org.apache.accumulo.core.data.Key
 import org.apache.accumulo.core.data.PartialKey;
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException;
 import org.apache.accumulo.core.util.MetadataTable;
 import org.apache.accumulo.core.util.OpTimer;
@@ -53,12 +53,12 @@ import org.apache.log4j.Logger;
 
 public class MetadataLocationObtainer implements TabletLocationObtainer {
   private static final Logger log = Logger.getLogger(MetadataLocationObtainer.class);
-  private Credential credentials;
+  private TCredentials credentials;
   private SortedSet<Column> locCols;
   private ArrayList<Column> columns;
   private Instance instance;
   
-  MetadataLocationObtainer(Credential credentials, Instance instance) {
+  MetadataLocationObtainer(TCredentials credentials, Instance instance) {
     
     this.instance = instance;
     this.credentials = credentials;

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java Thu Feb 28 23:05:24 2013
@@ -29,7 +29,7 @@ import org.apache.accumulo.core.client.T
 import org.apache.accumulo.core.client.TableOfflineException;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.master.state.tables.TableState;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.log4j.Logger;
 
@@ -72,7 +72,7 @@ public class MultiTableBatchWriterImpl i
   private HashMap<String,BatchWriter> tableWriters;
   private Instance instance;
   
-  public MultiTableBatchWriterImpl(Instance instance, Credential credentials, BatchWriterConfig config) {
+  public MultiTableBatchWriterImpl(Instance instance, TCredentials credentials, BatchWriterConfig config) {
     ArgumentChecker.notNull(instance, credentials);
     this.instance = instance;
     this.bw = new TabletServerBatchWriter(instance, credentials, config);

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java Thu Feb 28 23:05:24 2013
@@ -55,7 +55,7 @@ import org.apache.accumulo.core.iterator
 import org.apache.accumulo.core.master.state.tables.TableState;
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.accumulo.core.util.CachedConfiguration;
 import org.apache.accumulo.core.util.LocalityGroupUtil;
@@ -121,7 +121,7 @@ class OfflineIterator implements Iterato
    * @param authorizations
    * @param table
    */
-  public OfflineIterator(ScannerOptions options, Instance instance, Credential credentials, Authorizations authorizations, Text table, Range range) {
+  public OfflineIterator(ScannerOptions options, Instance instance, TCredentials credentials, Authorizations authorizations, Text table, Range range) {
     this.options = new ScannerOptions(options);
     this.instance = instance;
     this.range = range;
@@ -343,11 +343,11 @@ public class OfflineScanner extends Scan
   private Range range;
   
   private Instance instance;
-  private Credential credentials;
+  private TCredentials credentials;
   private Authorizations authorizations;
   private Text tableId;
   
-  public OfflineScanner(Instance instance, Credential credentials, String tableId, Authorizations authorizations) {
+  public OfflineScanner(Instance instance, TCredentials credentials, String tableId, Authorizations authorizations) {
     ArgumentChecker.notNull(instance, credentials, tableId, authorizations);
     this.instance = instance;
     this.credentials = credentials;

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java Thu Feb 28 23:05:24 2013
@@ -27,7 +27,7 @@ import org.apache.accumulo.core.data.Key
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.hadoop.io.Text;
 
@@ -49,7 +49,7 @@ public class ScannerImpl extends Scanner
   // and just query for the next highest row from the tablet server
   
   private Instance instance;
-  private Credential credentials;
+  private TCredentials credentials;
   private Authorizations authorizations;
   private Text table;
   
@@ -58,7 +58,7 @@ public class ScannerImpl extends Scanner
   private Range range;
   private boolean isolated = false;
   
-  public ScannerImpl(Instance instance, Credential credentials, String table, Authorizations authorizations) {
+  public ScannerImpl(Instance instance, TCredentials credentials, String table, Authorizations authorizations) {
     ArgumentChecker.notNull(instance, credentials, table, authorizations);
     this.instance = instance;
     this.credentials = credentials;

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java Thu Feb 28 23:05:24 2013
@@ -39,7 +39,7 @@ import org.apache.accumulo.core.data.Key
 import org.apache.accumulo.core.data.Range;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.NamingThreadFactory;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Logger;
@@ -55,7 +55,7 @@ public class ScannerIterator implements 
   // scanner state
   private Iterator<KeyValue> iter;
   private ScanState scanState;
-  private Credential credentials;
+  private TCredentials credentials;
   private Instance instance;
   
   private ScannerOptions options;
@@ -121,7 +121,7 @@ public class ScannerIterator implements 
     
   }
   
-  ScannerIterator(Instance instance, Credential credentials, Text table, Authorizations authorizations, Range range, int size, int timeOut,
+  ScannerIterator(Instance instance, TCredentials credentials, Text table, Authorizations authorizations, Range range, int size, int timeOut,
       ScannerOptions options, boolean isolated) {
     this.instance = instance;
     this.tableName = new Text(table);

Modified: accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java
URL: http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java?rev=1451419&r1=1451418&r2=1451419&view=diff
==============================================================================
--- accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java (original)
+++ accumulo/trunk/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java Thu Feb 28 23:05:24 2013
@@ -32,7 +32,7 @@ import org.apache.accumulo.core.client.T
 import org.apache.accumulo.core.data.KeyExtent;
 import org.apache.accumulo.core.data.Mutation;
 import org.apache.accumulo.core.data.Range;
-import org.apache.accumulo.core.security.thrift.Credential;
+import org.apache.accumulo.core.security.thrift.TCredentials;
 import org.apache.accumulo.core.util.ArgumentChecker;
 import org.apache.hadoop.io.Text;
 
@@ -92,7 +92,7 @@ public abstract class TabletLocator {
   
   private static final Text ROOT_TABLET_MDE = KeyExtent.getMetadataEntry(new Text(Constants.METADATA_TABLE_ID), null);
   
-  public static synchronized TabletLocator getInstance(Instance instance, Credential credentials, Text tableId) {
+  public static synchronized TabletLocator getInstance(Instance instance, TCredentials credentials, Text tableId) {
     LocatorKey key = new LocatorKey(instance.getInstanceID(), tableId);
     
     TabletLocator tl = locators.get(key);



Mime
View raw message