You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2013/07/08 11:51:47 UTC
[8/9] git commit: private data storage: use proper namespace in
column family 'xep'
private data storage: use proper namespace in column family 'xep'
Project: http://git-wip-us.apache.org/repos/asf/mina-vysper/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-vysper/commit/1b50d19c
Tree: http://git-wip-us.apache.org/repos/asf/mina-vysper/tree/1b50d19c
Diff: http://git-wip-us.apache.org/repos/asf/mina-vysper/diff/1b50d19c
Branch: refs/heads/master
Commit: 1b50d19c984c79382dc5d87f1a98e460677c868d
Parents: 5317a44
Author: Bernd Fondermann <be...@brainlounge.de>
Authored: Mon Jul 8 11:26:51 2013 +0200
Committer: Bernd Fondermann <be...@brainlounge.de>
Committed: Mon Jul 8 11:26:51 2013 +0200
----------------------------------------------------------------------
.../HBasePrivateDataPersistenceManager.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-vysper/blob/1b50d19c/server/storage/hbase/src/main/java/org/apache/vysper/storage/hbase/privatedata/HBasePrivateDataPersistenceManager.java
----------------------------------------------------------------------
diff --git a/server/storage/hbase/src/main/java/org/apache/vysper/storage/hbase/privatedata/HBasePrivateDataPersistenceManager.java b/server/storage/hbase/src/main/java/org/apache/vysper/storage/hbase/privatedata/HBasePrivateDataPersistenceManager.java
index 1f80063..4024b59 100644
--- a/server/storage/hbase/src/main/java/org/apache/vysper/storage/hbase/privatedata/HBasePrivateDataPersistenceManager.java
+++ b/server/storage/hbase/src/main/java/org/apache/vysper/storage/hbase/privatedata/HBasePrivateDataPersistenceManager.java
@@ -26,6 +26,7 @@ import org.apache.hadoop.hbase.client.Result;
import org.apache.vysper.storage.hbase.HBaseStorage;
import org.apache.vysper.xmpp.addressing.Entity;
import org.apache.vysper.xmpp.modules.extension.xep0049_privatedata.PrivateDataPersistenceManager;
+import org.apache.vysper.xmpp.protocol.NamespaceURIs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,14 +42,16 @@ public class HBasePrivateDataPersistenceManager implements PrivateDataPersistenc
final Logger logger = LoggerFactory.getLogger(HBasePrivateDataPersistenceManager.class);
- public static final String COLUMN_PREFIX_NAME = "xep_priv_data:";
-
protected HBaseStorage hbaseStorage;
public HBasePrivateDataPersistenceManager(HBaseStorage hbaseStorage) {
this.hbaseStorage = hbaseStorage;
}
+ protected String getNamespace() {
+ return NamespaceURIs.PRIVATE_DATA;
+ }
+
public boolean isAvailable() {
HTableInterface table = null;
try {
@@ -62,18 +65,22 @@ public class HBasePrivateDataPersistenceManager implements PrivateDataPersistenc
public String getPrivateData(Entity entity, String key) {
final Result entityRow = hbaseStorage.getEntityRow(entity, COLUMN_FAMILY_NAME_XEP);
- String column = COLUMN_PREFIX_NAME + key;
+ String column = getColumnForKey(key);
String value = toStr(entityRow.getValue(COLUMN_FAMILY_NAME_XEP_BYTES, asBytes(column)));
return value;
}
+ protected String getColumnForKey(String key) {
+ return getNamespace() + "#"+ key;
+ }
+
public boolean setPrivateData(Entity entity, String key, String xml) {
if (key == null || StringUtils.isBlank(key)) {
throw new IllegalArgumentException("private data key must not be blank");
}
- String column = COLUMN_PREFIX_NAME + key;
+ String column = getColumnForKey(key);
final Put put = new Put(entityAsBytes(entity.getBareJID()));
put.add(COLUMN_FAMILY_NAME_XEP_BYTES, asBytes(column), asBytes(xml));