Author: kturner
Date: Thu Feb 21 16:01:37 2013
New Revision: 1448698

URL: http://svn.apache.org/r1448698
Log:
ACCUMULO-1001 implemented verifyopts for TransformingIterator (merged from 1.5)

Modified:
    accumulo/trunk/   (props changed)
    accumulo/trunk/assemble/   (props changed)
    accumulo/trunk/core/   (props changed)
    
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
    
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
    accumulo/trunk/examples/   (props changed)
    accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java   
(props changed)
    
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
   (props changed)
    accumulo/trunk/server/   (props changed)
    accumulo/trunk/src/   (props changed)

Propchange: accumulo/trunk/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5:r1448388-1448697

Propchange: accumulo/trunk/assemble/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/assemble:r1448388-1448697

Propchange: accumulo/trunk/core/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/core:r1448388-1448697

Modified: 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java?rev=1448698&r1=1448697&r2=1448698&view=diff
==============================================================================
--- 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 (original)
+++ 
accumulo/trunk/core/src/main/java/org/apache/accumulo/core/iterators/user/TransformingIterator.java
 Thu Feb 21 16:01:37 2013
@@ -140,9 +140,22 @@ abstract public class TransformingIterat
   
   @Override
   public boolean validateOptions(Map<String,String> options) {
+    
+    for (String opt : options.keySet()) {
+      try {
+        if (options.equals(AUTH_OPT)) {
+          new Authorizations(options.get(opt).getBytes());
+        } else if (opt.equals(MAX_BUFFER_SIZE_OPT)) {
+          AccumuloConfiguration.getMemoryInBytes(options.get(opt));
+        }
+      } catch (Exception e) {
+        throw new IllegalArgumentException("Failed to parse opt " + opt + " " 
+ options.get(opt), e);
+      }
+    }
+    
     return true;
   }
-  
+
   @Override
   public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) {
     TransformingIterator copy;

Modified: 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
URL: 
http://svn.apache.org/viewvc/accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java?rev=1448698&r1=1448697&r2=1448698&view=diff
==============================================================================
--- 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 (original)
+++ 
accumulo/trunk/core/src/test/java/org/apache/accumulo/core/iterators/user/TransformingIteratorTest.java
 Thu Feb 21 16:01:37 2013
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -55,6 +56,7 @@ import org.apache.accumulo.core.iterator
 import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.hadoop.io.Text;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -388,6 +390,28 @@ public class TransformingIteratorTest {
     assertEquals(81, count);
   }
   
+  @Test
+  public void testValidateOptions() {
+    TransformingIterator ti = new ColFamReversingKeyTransformingIterator();
+    IteratorSetting is = new IteratorSetting(100, "cfrkt", 
ColFamReversingKeyTransformingIterator.class);
+    TransformingIterator.setAuthorizations(is, new Authorizations("A", "B"));
+    TransformingIterator.setMaxBufferSize(is, 10000000);
+    Assert.assertTrue(ti.validateOptions(is.getOptions()));
+    
+    Map<String,String> opts = new HashMap<String,String>();
+    
+    opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, "10M");
+    Assert.assertTrue(ti.validateOptions(is.getOptions()));
+    
+    opts.clear();
+    opts.put(TransformingIterator.MAX_BUFFER_SIZE_OPT, "A,B");
+    try {
+      ti.validateOptions(opts);
+      Assert.assertFalse(true);
+    } catch (IllegalArgumentException e) {}
+
+  }
+  
   private Key createDeleteKey(String row, String colFam, String colQual, 
String colVis, long timestamp) {
     Key key = new Key(row, colFam, colQual, colVis, timestamp);
     key.setDeleted(true);

Propchange: accumulo/trunk/examples/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/examples:r1448388-1448697

Propchange: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java
------------------------------------------------------------------------------
  Merged 
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/ZooStore.java:r1448388-1448697

Propchange: 
accumulo/trunk/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java
------------------------------------------------------------------------------
  Merged 
/accumulo/branches/1.5/fate/src/main/java/org/apache/accumulo/fate/zookeeper/ZooSession.java:r1448388-1448697

Propchange: accumulo/trunk/server/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/server:r1448388-1448697

Propchange: accumulo/trunk/src/
------------------------------------------------------------------------------
  Merged /accumulo/branches/1.5/src:r1448388-1448697


Reply via email to