You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by bi...@apache.org on 2011/11/30 17:42:23 UTC

svn commit: r1208504 - in /incubator/accumulo/trunk: ./ src/core/src/main/java/org/apache/accumulo/core/data/Key.java src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java

Author: billie
Date: Wed Nov 30 16:42:22 2011
New Revision: 1208504

URL: http://svn.apache.org/viewvc?rev=1208504&view=rev
Log:
ACCUMULO-193 merged to trunk

Modified:
    incubator/accumulo/trunk/   (props changed)
    incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/Key.java
    incubator/accumulo/trunk/src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java

Propchange: incubator/accumulo/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Nov 30 16:42:22 2011
@@ -1,2 +1,2 @@
 /incubator/accumulo/branches/1.3:1190280,1190413,1190420,1190427,1190500,1195622,1195625,1195629,1195635,1196044,1196054,1196057,1196071-1196072,1196106,1197066,1198935,1199383,1203683,1204625,1205547,1205880,1206169,1208031
-/incubator/accumulo/branches/1.4:1201902-1208489
+/incubator/accumulo/branches/1.4:1201902-1208496

Modified: incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/Key.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/Key.java?rev=1208504&r1=1208503&r2=1208504&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/Key.java (original)
+++ incubator/accumulo/trunk/src/core/src/main/java/org/apache/accumulo/core/data/Key.java Wed Nov 30 16:42:22 2011
@@ -22,6 +22,8 @@ package org.apache.accumulo.core.data;
  * 
  */
 
+import static org.apache.accumulo.core.util.ByteBufferUtil.toBytes;
+
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
@@ -38,8 +40,6 @@ import org.apache.hadoop.io.WritableComp
 import org.apache.hadoop.io.WritableComparator;
 import org.apache.hadoop.io.WritableUtils;
 
-import static org.apache.accumulo.core.util.ByteBufferUtil.toBytes;
-
 public class Key implements WritableComparable<Key>, Cloneable {
   
   protected byte[] row;
@@ -444,8 +444,10 @@ public class Key implements WritableComp
   }
   
   public static String toPrintableString(byte ba[], int offset, int len, int maxLen) {
-    StringBuilder sb = new StringBuilder();
-    
+    return appendPrintableString(ba, offset, len, maxLen, new StringBuilder()).toString();
+  }
+  
+  public static StringBuilder appendPrintableString(byte ba[], int offset, int len, int maxLen, StringBuilder sb) {
     int plen = Math.min(len, maxLen);
     
     for (int i = 0; i < plen; i++) {
@@ -460,26 +462,33 @@ public class Key implements WritableComp
       sb.append("... TRUNCATED");
     }
     
-    return sb.toString();
+    return sb;
+  }
+  
+  private StringBuilder rowColumnStringBuilder() {
+    StringBuilder sb = new StringBuilder();
+    appendPrintableString(row, 0, row.length, Constants.MAX_DATA_TO_PRINT, sb);
+    sb.append(" ");
+    appendPrintableString(colFamily, 0, colFamily.length, Constants.MAX_DATA_TO_PRINT, sb);
+    sb.append(":");
+    appendPrintableString(colQualifier, 0, colQualifier.length, Constants.MAX_DATA_TO_PRINT, sb);
+    sb.append(" [");
+    appendPrintableString(colVisibility, 0, colVisibility.length, Constants.MAX_DATA_TO_PRINT, sb);
+    sb.append("]");
+    return sb;
   }
   
   public String toString() {
-    String labelString = new ColumnVisibility(colVisibility).toString();
-    
-    String s = toPrintableString(row, 0, row.length, Constants.MAX_DATA_TO_PRINT) + " "
-        + toPrintableString(colFamily, 0, colFamily.length, Constants.MAX_DATA_TO_PRINT) + ":"
-        + toPrintableString(colQualifier, 0, colQualifier.length, Constants.MAX_DATA_TO_PRINT) + " " + labelString + " " + Long.toString(timestamp) + " "
-        + deleted;
-    return s;
+    StringBuilder sb = rowColumnStringBuilder();
+    sb.append(" ");
+    sb.append(Long.toString(timestamp));
+    sb.append(" ");
+    sb.append(deleted);
+    return sb.toString();
   }
   
   public String toStringNoTime() {
-    
-    String labelString = new ColumnVisibility(colVisibility).toString();
-    
-    String s = new String(row, 0, row.length) + " " + new String(colFamily, 0, colFamily.length) + ":" + new String(colQualifier, 0, colQualifier.length) + " "
-        + labelString;
-    return s;
+    return rowColumnStringBuilder().toString();
   }
   
   public int getLength() {

Modified: incubator/accumulo/trunk/src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java
URL: http://svn.apache.org/viewvc/incubator/accumulo/trunk/src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java?rev=1208504&r1=1208503&r2=1208504&view=diff
==============================================================================
--- incubator/accumulo/trunk/src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java (original)
+++ incubator/accumulo/trunk/src/core/src/test/java/org/apache/accumulo/core/data/KeyTest.java Wed Nov 30 16:42:22 2011
@@ -16,11 +16,10 @@
  */
 package org.apache.accumulo.core.data;
 
-import org.apache.accumulo.core.data.Key;
-import org.apache.hadoop.io.Text;
-
 import junit.framework.TestCase;
 
+import org.apache.hadoop.io.Text;
+
 public class KeyTest extends TestCase {
   public void testDeletedCompare() {
     Key k1 = new Key("r1".getBytes(), "cf".getBytes(), "cq".getBytes(), new byte[0], 0, false);
@@ -93,4 +92,9 @@ public class KeyTest extends TestCase {
     assertEquals(k2, k1);
     
   }
+  
+  public void testVisibilityFollowingKey() {
+    Key k = new Key("r", "f", "q", "v");
+    assertEquals(k.followingKey(PartialKey.ROW_COLFAM_COLQUAL_COLVIS).toString(), "r f:q [v%00;] " + Long.MAX_VALUE + " false");
+  }
 }