This commit is contained in:
温少
2012-05-21 17:16:04 +08:00
parent 4036368eae
commit 0d2d5f014f
2 changed files with 34 additions and 26 deletions
@@ -0,0 +1,33 @@
package com.alibaba.druid.hdriver.impl.mapping;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;
public abstract class HMappingAdapter implements HMapping {
@Override
public byte[] getQualifier(String columnName) {
return Bytes.toBytes(columnName);
}
@Override
public byte[] getRow(Result result, String columnName) {
return result.getRow();
}
@Override
public Object getObject(Result result, String columnName) {
byte[] family = this.getFamily(columnName);
byte[] bytes;
if (isRow(columnName)) {
bytes = getRow(result, columnName);
} else {
byte[] qualifier = Bytes.toBytes(columnName);
bytes = result.getValue(family, qualifier);
}
return bytes;
}
}
@@ -1,9 +1,8 @@
package com.alibaba.druid.hdriver.impl.mapping;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;
public class HMappingDefaultImpl implements HMapping {
public class HMappingDefaultImpl extends HMappingAdapter implements HMapping {
private byte[] family = Bytes.toBytes("d");
private String rowColumn = "id";
@@ -24,34 +23,10 @@ public class HMappingDefaultImpl implements HMapping {
this.rowColumn = rowColumn;
}
@Override
public Object getObject(Result result, String columnName) {
byte[] family = this.getFamily(columnName);
byte[] bytes;
if (isRow(columnName)) {
bytes = getRow(result, columnName);
} else {
byte[] qualifier = Bytes.toBytes(columnName);
bytes = result.getValue(family, qualifier);
}
return bytes;
}
public byte[] getFamily(String columnName) {
return family;
}
public byte[] getRow(Result result, String columnName) {
return result.getRow();
}
@Override
public byte[] getQualifier(String columnName) {
return Bytes.toBytes(columnName);
}
@Override
public boolean isRow(String columnName) {
if (rowColumn.equals(columnName)) {