From 0d2d5f014f7d4e351e2b1103e4072550b8b076eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E5=B0=91?= Date: Mon, 21 May 2012 17:16:04 +0800 Subject: [PATCH] refactor --- .../hdriver/impl/mapping/HMappingAdapter.java | 33 +++++++++++++++++++ .../impl/mapping/HMappingDefaultImpl.java | 27 +-------------- 2 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java new file mode 100644 index 0000000000..1c02aa37d8 --- /dev/null +++ b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingAdapter.java @@ -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; + } + +} diff --git a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java index 58978a660e..5fa4969b2a 100644 --- a/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java +++ b/src/main/java/com/alibaba/druid/hdriver/impl/mapping/HMappingDefaultImpl.java @@ -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)) {