private Table.ID validateTableIdArgument(ByteBuffer tableIdArg, TableOperation op, Validator<Table.ID> userValidator) throws ThriftTableOperationException { Table.ID tableId = tableIdArg == null ? null : ByteBufferUtil.toTableId(tableIdArg); try { return VALID_ID.and(userValidator).validate(tableId); } catch (IllegalArgumentException e) { String why = e.getMessage(); // Information provided by a client should generate a user-level exception, not a system-level // warning. log.debug(why); throw new ThriftTableOperationException(tableId.canonicalID(), null, op, TableOperationExceptionType.INVALID_NAME, why); } }
@Override public String invalidMessage(T argument) { return (mine.test(argument) ? other : mine).invalidMessage(argument); }
@Override public String invalidMessage(T argument) { return (mine.apply(argument) ? other : mine).invalidMessage(argument); }
private String validateTableNameArgument(ByteBuffer tableNameArg, TableOperation op, Validator<String> userValidator) throws ThriftTableOperationException { String tableName = tableNameArg == null ? null : ByteBufferUtil.toString(tableNameArg); return _validateArgument(tableName, op, VALID_NAME.and(userValidator)); }
@Override public String invalidMessage(T argument) { return mine.invalidMessage(argument); }
@Override public boolean apply(T argument) { return !mine.apply(argument); }
private <T> T _validateArgument(T arg, TableOperation op, Validator<T> validator) throws ThriftTableOperationException { try { return validator.validate(arg); } catch (IllegalArgumentException e) { String why = e.getMessage(); // Information provided by a client should generate a user-level exception, not a system-level // warning. log.debug(why); throw new ThriftTableOperationException(null, String.valueOf(arg), op, TableOperationExceptionType.INVALID_NAME, why); } }
/** * Validates an argument. * * @param argument * argument to validate * @return the argument, if validation passes * @throws IllegalArgumentException * if validation fails */ public final T validate(final T argument) { if (!apply(argument)) throw new IllegalArgumentException(invalidMessage(argument)); return argument; }
private String validateNamespaceArgument(ByteBuffer namespaceArg, TableOperation op, Validator<String> userValidator) throws ThriftTableOperationException { String namespace = namespaceArg == null ? null : ByteBufferUtil.toString(namespaceArg); return _validateArgument(namespace, op, Namespaces.VALID_NAME.and(userValidator)); }
@Override public String invalidMessage(T argument) { return "Validation should have failed with: " + mine.invalidMessage(argument); }
@Override public boolean test(T argument) { return !mine.test(argument); }
private <T> T _validateArgument(T arg, TableOperation op, Validator<T> validator) throws ThriftTableOperationException { try { return validator.validate(arg); } catch (IllegalArgumentException e) { String why = e.getMessage(); // Information provided by a client should generate a user-level exception, not a system-level // warning. log.debug(why); throw new ThriftTableOperationException(null, String.valueOf(arg), op, TableOperationExceptionType.INVALID_NAME, why); } } }
/** * Validates an argument. * * @param argument * argument to validate * @return the argument, if validation passes * @throws IllegalArgumentException * if validation fails */ public final T validate(final T argument) { if (!test(argument)) throw new IllegalArgumentException(invalidMessage(argument)); return argument; }
private String validateTableIdArgument(ByteBuffer tableIdArg, TableOperation op, Validator<String> userValidator) throws ThriftTableOperationException { String tableId = tableIdArg == null ? null : ByteBufferUtil.toString(tableIdArg); try { return VALID_ID.and(userValidator).validate(tableId); } catch (IllegalArgumentException e) { String why = e.getMessage(); // Information provided by a client should generate a user-level exception, not a system-level // warning. log.debug(why); throw new ThriftTableOperationException(tableId, null, op, TableOperationExceptionType.INVALID_NAME, why); } }
TableOperation tableOp = TableOperation.RENAME; String oldName = validateNamespaceArgument(arguments.get(0), tableOp, Namespaces.NOT_DEFAULT.and(Namespaces.NOT_ACCUMULO)); String newName = validateNamespaceArgument(arguments.get(1), tableOp, null); TableOperation tableOp = TableOperation.DELETE; String namespace = validateNamespaceArgument(arguments.get(0), tableOp, Namespaces.NOT_DEFAULT.and(Namespaces.NOT_ACCUMULO));
@Override public String invalidMessage(T argument) { return "Validation should have failed with: " + mine.invalidMessage(argument); }