Author: [email protected]
Date: Mon Aug 8 17:07:49 2011
New Revision: 1297
Log:
[AMDATUCASSANDRA-69] Changes needed for updated OpenSocial 0.2.0 API
Modified:
trunk/amdatu-cassandra/cassandra-gadgetstore/src/main/java/org/amdatu/cassandra/gadgetstore/service/CassandraGadgetStorageProviderImpl.java
Modified:
trunk/amdatu-cassandra/cassandra-gadgetstore/src/main/java/org/amdatu/cassandra/gadgetstore/service/CassandraGadgetStorageProviderImpl.java
==============================================================================
---
trunk/amdatu-cassandra/cassandra-gadgetstore/src/main/java/org/amdatu/cassandra/gadgetstore/service/CassandraGadgetStorageProviderImpl.java
(original)
+++
trunk/amdatu-cassandra/cassandra-gadgetstore/src/main/java/org/amdatu/cassandra/gadgetstore/service/CassandraGadgetStorageProviderImpl.java
Mon Aug 8 17:07:49 2011
@@ -81,35 +81,41 @@
m_cassandraLock.writeLock().unlock();
}
}
-
+
+ @Override
+ public GadgetDefinition getGadget(String id) throws GadgetStorageException
{
+ GadgetDefinition gadget = null;
+ String url = m_pm.getValue(CF_GADGET, id, SC_BASIC, C_GADGETURL,
String.class);
+ String categoryId = m_pm.getValue(CF_GADGET,id, SC_BASIC, C_CATEGORY,
String.class);
+ GadgetCategory category = getCategory(categoryId);
+ boolean defaultVisible =
+ "true"
+ .equalsIgnoreCase(m_pm.getValue(CF_GADGET, id, SC_BASIC,
+ C_DEFAULTVISIBLE, String.class));
+ if (category != null) {
+ gadget = new GadgetDefinition(url, category, defaultVisible);
+ }
+ else {
+ gadget = new GadgetDefinition(url, GadgetCategory.THIRDPARTY,
defaultVisible);
+ }
+
+ gadget.setCallbackUrl(m_pm.getValue(CF_GADGET, id, SC_BASIC,
C_CALLBACKURL, String.class));
+ gadget.setServiceName(m_pm.getValue(CF_GADGET, id, SC_BASIC,
C_SERVICENAME, String.class));
+ gadget.setConsumerPrivateKey(m_pm.getValue(CF_GADGET, id, SC_BASIC,
C_CONSUMERKEY,
+ String.class));
+ gadget.setConsumerPublicKey(m_pm.getValue(CF_GADGET, id, SC_BASIC,
C_CONSUMERSECRET,
+ String.class));
+ gadget.setKeyType(m_pm.getValue(CF_GADGET, id, SC_BASIC, C_KEYTYPE,
String.class));
+ return gadget;
+ }
+
public GadgetDefinition[] getGadgets() throws GadgetStorageException {
try {
m_cassandraLock.readLock().lock();
List<String> rows = m_pm.getRowKeys(CF_GADGET);
GadgetDefinition[] gadgets = new GadgetDefinition[rows.size()];
for (int i = 0; i < rows.size(); i++) {
- String url = m_pm.getValue(CF_GADGET, rows.get(i), SC_BASIC,
C_GADGETURL, String.class);
- String categoryId = m_pm.getValue(CF_GADGET, rows.get(i),
SC_BASIC, C_CATEGORY, String.class);
- GadgetCategory category = getCategory(categoryId);
- boolean defaultVisible =
- "true"
- .equalsIgnoreCase(m_pm.getValue(CF_GADGET, rows.get(i),
SC_BASIC,
- C_DEFAULTVISIBLE, String.class));
- if (category != null) {
- gadgets[i] = new GadgetDefinition(url, category,
defaultVisible);
- }
- else {
- gadgets[i] = new GadgetDefinition(url,
GadgetCategory.THIRDPARTY, defaultVisible);
- }
-
- gadgets[i].setCallbackUrl(m_pm.getValue(CF_GADGET,
rows.get(i), SC_BASIC, C_CALLBACKURL, String.class));
- gadgets[i].setServiceName(m_pm.getValue(CF_GADGET,
rows.get(i), SC_BASIC, C_SERVICENAME, String.class));
- gadgets[i].setConsumerPrivateKey(m_pm.getValue(CF_GADGET,
rows.get(i), SC_BASIC, C_CONSUMERKEY,
- String.class));
- gadgets[i]
- .setConsumerPublicKey(m_pm.getValue(CF_GADGET,
rows.get(i), SC_BASIC, C_CONSUMERSECRET,
- String.class));
- gadgets[i].setKeyType(m_pm.getValue(CF_GADGET, rows.get(i),
SC_BASIC, C_KEYTYPE, String.class));
+ gadgets[i] = getGadget(rows.get(i));
}
return orderGadgets(gadgets);
}
@@ -150,7 +156,9 @@
m_cassandraLock.readLock().lock();
if (m_pm.exists(CF_GADGETCATEGORY, categoryId)) {
String catName = m_pm.getValue(CF_GADGETCATEGORY, categoryId,
SC_BASIC, C_NAME, String.class);
- return new GadgetCategory(categoryId, catName);
+ GadgetCategory category = new GadgetCategory(categoryId,
catName);
+ category.setGadgetCount(countGadgets(category));
+ return category;
}
else {
return null;
@@ -171,7 +179,8 @@
int i = 0;
for (String row : rows) {
String catName = m_pm.getValue(CF_GADGETCATEGORY, row,
SC_BASIC, C_NAME, String.class);
- categories[i] = new GadgetCategory(row, catName);
+ categories[i] = new GadgetCategory(row, catName);
+ categories[i].setGadgetCount(countGadgets(categories[i]));
i++;
}
return categories;
@@ -179,26 +188,18 @@
else {
return new GadgetCategory[0];
}
-
}
finally {
m_cassandraLock.readLock().unlock();
}
}
- public Map<String, Integer> getCategoryCount() throws
GadgetStorageException {
- Map<String, Integer> count = new HashMap<String, Integer>();
+ private int countGadgets(GadgetCategory category) throws
GadgetStorageException {
+ int count = 0;
for (String row : m_pm.getRowKeys(CF_GADGET)) {
String catId = m_pm.getValue(CF_GADGET, row, SC_BASIC, C_CATEGORY,
String.class);
- int value = 0;
- if (count.containsKey(catId)) {
- value = count.get(catId);
- }
- count.put(catId, ++value);
- }
- for (GadgetCategory cat : getCategories()) {
- if (!count.containsKey(cat.getId())) {
- count.put(cat.getId(), 0);
+ if (category.getId().equals(catId)) {
+ count++;
}
}
return count;
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits