You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2013/02/28 23:31:03 UTC

svn commit: r1451401 [1/11] - in /accumulo/branches/1.5: ./ 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/jav...

Author: ctubbsii
Date: Thu Feb 28 22:31:00 2013
New Revision: 1451401

URL: http://svn.apache.org/r1451401
Log:
ACCUMULO-259 reintegrate the polishing branch into 1.5; this updates the following:
ACCUMULO-1024 changed public API to represent the concept of local users
ACCUMULO-1026 minimize the impact of deprecation and corresponding warning suppressions
ACCUMULO-1025 deprecation properly (or, at least, better) of AuthInfo
ACCUMULO-1130 renamed SecurityToken to AuthenticationToken
Other minor polishings include adding constructors to PasswordToken, eliminating many warnings, reviewing and cleaning up relevant javadocs, and ensuring MockConnector constructor only works with MockInstance.

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

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

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

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

Modified: accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/cli/ClientOpts.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Connector.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Connector.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Connector.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Connector.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Instance.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Instance.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Instance.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/Instance.java Thu Feb 28 22:31:00 2013
@@ -18,11 +18,13 @@ 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.handler.Authenticator;
 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.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 +98,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)}
    */
+  @Deprecated
   public abstract Connector getConnector(AuthInfo auth) throws AccumuloException, AccumuloSecurityException;
-    
+  
   /**
    * Returns a connection to accumulo.
    * 
@@ -144,28 +147,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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java Thu Feb 28 22:31:00 2013
@@ -31,10 +31,10 @@ import org.apache.accumulo.core.file.Fil
 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 +73,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 +221,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 +278,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,6 +302,7 @@ public class ZooKeeperInstance implement
     }
   }
   
+  @Deprecated
   @Override
   public Connector getConnector(AuthInfo auth) throws AccumuloException, AccumuloSecurityException {
     return getConnector(auth.user, auth.password);

Modified: accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/InstanceOperationsImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperations.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/SecurityOperationsImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/BatchWriterImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MetadataLocationObtainer.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerImpl.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerIterator.java Thu Feb 28 22:31:00 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/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java
URL: http://svn.apache.org/viewvc/accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java?rev=1451401&r1=1451400&r2=1451401&view=diff
==============================================================================
--- accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java (original)
+++ accumulo/branches/1.5/core/src/main/java/org/apache/accumulo/core/client/impl/TabletLocator.java Thu Feb 28 22:31:00 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);