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

svn commit: r1451368 - in /accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core: client/impl/thrift/ client/security/ client/security/tokens/ security/thrift/ security/tokens/

Author: vines
Date: Thu Feb 28 21:45:34 2013
New Revision: 1451368

URL: http://svn.apache.org/r1451368
Log:
ACCUMULO-1133 - moved files... right


Added:
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java   (with props)
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java   (with props)
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java   (with props)
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java   (with props)
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java   (with props)
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java   (with props)
Removed:
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/thrift/SecurityErrorCode.java
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/thrift/ThriftSecurityException.java
    accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/security/tokens/

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.client.impl.thrift;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+@SuppressWarnings("all") public enum SecurityErrorCode implements org.apache.thrift.TEnum {
+  DEFAULT_SECURITY_ERROR(0),
+  BAD_CREDENTIALS(1),
+  PERMISSION_DENIED(2),
+  USER_DOESNT_EXIST(3),
+  CONNECTION_ERROR(4),
+  USER_EXISTS(5),
+  GRANT_INVALID(6),
+  BAD_AUTHORIZATIONS(7),
+  INVALID_INSTANCEID(8),
+  TABLE_DOESNT_EXIST(9),
+  UNSUPPORTED_OPERATION(10),
+  INVALID_TOKEN(11),
+  AUTHENTICATOR_FAILED(12),
+  AUTHORIZOR_FAILED(13),
+  PERMISSIONHANDLER_FAILED(14),
+  TOKEN_EXPIRED(15),
+  SERIALIZATION_ERROR(16),
+  INSUFFICIENT_PROPERTIES(17);
+
+  private final int value;
+
+  private SecurityErrorCode(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static SecurityErrorCode findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return DEFAULT_SECURITY_ERROR;
+      case 1:
+        return BAD_CREDENTIALS;
+      case 2:
+        return PERMISSION_DENIED;
+      case 3:
+        return USER_DOESNT_EXIST;
+      case 4:
+        return CONNECTION_ERROR;
+      case 5:
+        return USER_EXISTS;
+      case 6:
+        return GRANT_INVALID;
+      case 7:
+        return BAD_AUTHORIZATIONS;
+      case 8:
+        return INVALID_INSTANCEID;
+      case 9:
+        return TABLE_DOESNT_EXIST;
+      case 10:
+        return UNSUPPORTED_OPERATION;
+      case 11:
+        return INVALID_TOKEN;
+      case 12:
+        return AUTHENTICATOR_FAILED;
+      case 13:
+        return AUTHORIZOR_FAILED;
+      case 14:
+        return PERMISSIONHANDLER_FAILED;
+      case 15:
+        return TOKEN_EXPIRED;
+      case 16:
+        return SERIALIZATION_ERROR;
+      case 17:
+        return INSUFFICIENT_PROPERTIES;
+      default:
+        return null;
+    }
+  }
+}

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/SecurityErrorCode.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,518 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * Autogenerated by Thrift Compiler (0.9.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.accumulo.core.client.impl.thrift;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings("all") public class ThriftSecurityException extends TException implements org.apache.thrift.TBase<ThriftSecurityException, ThriftSecurityException._Fields>, java.io.Serializable, Cloneable {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ThriftSecurityException");
+
+  private static final org.apache.thrift.protocol.TField USER_FIELD_DESC = new org.apache.thrift.protocol.TField("user", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CODE_FIELD_DESC = new org.apache.thrift.protocol.TField("code", org.apache.thrift.protocol.TType.I32, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new ThriftSecurityExceptionStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new ThriftSecurityExceptionTupleSchemeFactory());
+  }
+
+  public String user; // required
+  /**
+   * 
+   * @see SecurityErrorCode
+   */
+  public SecurityErrorCode code; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    USER((short)1, "user"),
+    /**
+     * 
+     * @see SecurityErrorCode
+     */
+    CODE((short)2, "code");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // USER
+          return USER;
+        case 2: // CODE
+          return CODE;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.USER, new org.apache.thrift.meta_data.FieldMetaData("user", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CODE, new org.apache.thrift.meta_data.FieldMetaData("code", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SecurityErrorCode.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ThriftSecurityException.class, metaDataMap);
+  }
+
+  public ThriftSecurityException() {
+  }
+
+  public ThriftSecurityException(
+    String user,
+    SecurityErrorCode code)
+  {
+    this();
+    this.user = user;
+    this.code = code;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public ThriftSecurityException(ThriftSecurityException other) {
+    if (other.isSetUser()) {
+      this.user = other.user;
+    }
+    if (other.isSetCode()) {
+      this.code = other.code;
+    }
+  }
+
+  public ThriftSecurityException deepCopy() {
+    return new ThriftSecurityException(this);
+  }
+
+  @Override
+  public void clear() {
+    this.user = null;
+    this.code = null;
+  }
+
+  public String getUser() {
+    return this.user;
+  }
+
+  public ThriftSecurityException setUser(String user) {
+    this.user = user;
+    return this;
+  }
+
+  public void unsetUser() {
+    this.user = null;
+  }
+
+  /** Returns true if field user is set (has been assigned a value) and false otherwise */
+  public boolean isSetUser() {
+    return this.user != null;
+  }
+
+  public void setUserIsSet(boolean value) {
+    if (!value) {
+      this.user = null;
+    }
+  }
+
+  /**
+   * 
+   * @see SecurityErrorCode
+   */
+  public SecurityErrorCode getCode() {
+    return this.code;
+  }
+
+  /**
+   * 
+   * @see SecurityErrorCode
+   */
+  public ThriftSecurityException setCode(SecurityErrorCode code) {
+    this.code = code;
+    return this;
+  }
+
+  public void unsetCode() {
+    this.code = null;
+  }
+
+  /** Returns true if field code is set (has been assigned a value) and false otherwise */
+  public boolean isSetCode() {
+    return this.code != null;
+  }
+
+  public void setCodeIsSet(boolean value) {
+    if (!value) {
+      this.code = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case USER:
+      if (value == null) {
+        unsetUser();
+      } else {
+        setUser((String)value);
+      }
+      break;
+
+    case CODE:
+      if (value == null) {
+        unsetCode();
+      } else {
+        setCode((SecurityErrorCode)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case USER:
+      return getUser();
+
+    case CODE:
+      return getCode();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case USER:
+      return isSetUser();
+    case CODE:
+      return isSetCode();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof ThriftSecurityException)
+      return this.equals((ThriftSecurityException)that);
+    return false;
+  }
+
+  public boolean equals(ThriftSecurityException that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_user = true && this.isSetUser();
+    boolean that_present_user = true && that.isSetUser();
+    if (this_present_user || that_present_user) {
+      if (!(this_present_user && that_present_user))
+        return false;
+      if (!this.user.equals(that.user))
+        return false;
+    }
+
+    boolean this_present_code = true && this.isSetCode();
+    boolean that_present_code = true && that.isSetCode();
+    if (this_present_code || that_present_code) {
+      if (!(this_present_code && that_present_code))
+        return false;
+      if (!this.code.equals(that.code))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    return 0;
+  }
+
+  public int compareTo(ThriftSecurityException other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+    ThriftSecurityException typedOther = (ThriftSecurityException)other;
+
+    lastComparison = Boolean.valueOf(isSetUser()).compareTo(typedOther.isSetUser());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetUser()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.user, typedOther.user);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCode()).compareTo(typedOther.isSetCode());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCode()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.code, typedOther.code);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("ThriftSecurityException(");
+    boolean first = true;
+
+    sb.append("user:");
+    if (this.user == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.user);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("code:");
+    if (this.code == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.code);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class ThriftSecurityExceptionStandardSchemeFactory implements SchemeFactory {
+    public ThriftSecurityExceptionStandardScheme getScheme() {
+      return new ThriftSecurityExceptionStandardScheme();
+    }
+  }
+
+  private static class ThriftSecurityExceptionStandardScheme extends StandardScheme<ThriftSecurityException> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // USER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.user = iprot.readString();
+              struct.setUserIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CODE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.code = SecurityErrorCode.findByValue(iprot.readI32());
+              struct.setCodeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.user != null) {
+        oprot.writeFieldBegin(USER_FIELD_DESC);
+        oprot.writeString(struct.user);
+        oprot.writeFieldEnd();
+      }
+      if (struct.code != null) {
+        oprot.writeFieldBegin(CODE_FIELD_DESC);
+        oprot.writeI32(struct.code.getValue());
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class ThriftSecurityExceptionTupleSchemeFactory implements SchemeFactory {
+    public ThriftSecurityExceptionTupleScheme getScheme() {
+      return new ThriftSecurityExceptionTupleScheme();
+    }
+  }
+
+  private static class ThriftSecurityExceptionTupleScheme extends TupleScheme<ThriftSecurityException> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      BitSet optionals = new BitSet();
+      if (struct.isSetUser()) {
+        optionals.set(0);
+      }
+      if (struct.isSetCode()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetUser()) {
+        oprot.writeString(struct.user);
+      }
+      if (struct.isSetCode()) {
+        oprot.writeI32(struct.code.getValue());
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, ThriftSecurityException struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      BitSet incoming = iprot.readBitSet(2);
+      if (incoming.get(0)) {
+        struct.user = iprot.readString();
+        struct.setUserIsSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.code = SecurityErrorCode.findByValue(iprot.readI32());
+        struct.setCodeIsSet(true);
+      }
+    }
+  }
+
+}
+

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/impl/thrift/ThriftSecurityException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import javax.security.auth.Destroyable;
+
+import org.apache.hadoop.io.Writable;
+
+public interface AuthenticationToken extends Writable, Destroyable, Cloneable {
+  public AuthenticationToken clone();
+}

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/AuthenticationToken.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+
+import javax.security.auth.DestroyFailedException;
+
+/**
+ * 
+ */
+public class NullToken implements AuthenticationToken {
+  
+  @Override
+  public void readFields(DataInput arg0) throws IOException {
+    return;
+  }
+  
+  @Override
+  public void write(DataOutput arg0) throws IOException {
+    return;
+  }
+  
+  @Override
+  public void destroy() throws DestroyFailedException {
+    return;
+  }
+  
+  @Override
+  public boolean isDestroyed() {
+    return false;
+  }
+  
+  public NullToken clone() {
+    return new NullToken();
+  }
+}

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/NullToken.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,112 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+
+import javax.security.auth.DestroyFailedException;
+
+import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.util.ByteBufferUtil;
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
+
+public class PasswordToken implements AuthenticationToken {
+  private byte[] password = null;
+  
+  public byte[] getPassword() {
+    return password;
+  }
+  
+  /**
+   * Constructor for use with {@link Writable}. Call {@link #readFields(DataInput)}.
+   */
+  public PasswordToken() {}
+  
+  /**
+   * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+   * token will only destroy the copy held inside this token, not the argument.
+   * 
+   * Password tokens created with this constructor will store the password as UTF-8 bytes.
+   */
+  public PasswordToken(CharSequence password) {
+    this.password = password.toString().getBytes(Constants.UTF8);
+  }
+  
+  /**
+   * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+   * token will only destroy the copy held inside this token, not the argument.
+   */
+  public PasswordToken(byte[] password) {
+    this.password = Arrays.copyOf(password, password.length);
+  }
+  
+  /**
+   * Constructs a token from a copy of the password. Destroying the argument after construction will not destroy the copy in this token, and destroying this
+   * token will only destroy the copy held inside this token, not the argument.
+   */
+  public PasswordToken(ByteBuffer password) {
+    this.password = ByteBufferUtil.toBytes(password);
+  }
+  
+  @Override
+  public void readFields(DataInput arg0) throws IOException {
+    password = WritableUtils.readCompressedByteArray(arg0);
+  }
+  
+  @Override
+  public void write(DataOutput arg0) throws IOException {
+    WritableUtils.writeCompressedByteArray(arg0, password);
+  }
+  
+  @Override
+  public void destroy() throws DestroyFailedException {
+    Arrays.fill(password, (byte) 0x00);
+    password = null;
+  }
+  
+  @Override
+  public boolean isDestroyed() {
+    return password == null;
+  }
+  
+  @Override
+  public int hashCode() {
+    return Arrays.hashCode(password);
+  }
+  
+  @Override
+  public boolean equals(Object obj) {
+    if (this == obj)
+      return true;
+    if (obj == null)
+      return false;
+    if (!(obj instanceof PasswordToken))
+      return false;
+    PasswordToken other = (PasswordToken) obj;
+    return Arrays.equals(password, other.password);
+  }
+  
+  @Override
+  public PasswordToken clone() {
+    return new PasswordToken(password);
+  }
+}

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/PasswordToken.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java
URL: http://svn.apache.org/viewvc/accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java?rev=1451368&view=auto
==============================================================================
--- accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java (added)
+++ accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java Thu Feb 28 21:45:34 2013
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.core.client.security.tokens;
+
+/**
+ * 
+ */
+public class SystemToken extends PasswordToken {
+  
+  public SystemToken(byte[] systemPassword) {
+    super(systemPassword);
+  }
+}

Propchange: accumulo/branches/ACCUMULO-259-polishing/core/src/main/java/org/apache/accumulo/core/client/security/tokens/SystemToken.java
------------------------------------------------------------------------------
    svn:eol-style = native