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));