You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gora.apache.org by le...@apache.org on 2013/03/29 19:34:58 UTC
svn commit: r1462582 - in /gora/trunk: CHANGES.txt
gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java
gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java
Author: lewismc
Date: Fri Mar 29 18:34:58 2013
New Revision: 1462582
URL: http://svn.apache.org/r1462582
Log:
GORA-203 Bug in setting column field attribute qualifier in CassandraMapping
Modified:
gora/trunk/CHANGES.txt
gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java
gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java
Modified: gora/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/gora/trunk/CHANGES.txt?rev=1462582&r1=1462581&r2=1462582&view=diff
==============================================================================
--- gora/trunk/CHANGES.txt (original)
+++ gora/trunk/CHANGES.txt Fri Mar 29 18:34:58 2013
@@ -6,6 +6,8 @@ Gora Change Log
trunk (current development)
+* GORA-203 Bug in setting column field attribute "qualifier" in CassandraMapping (rmarroquin, lewismc, kazk)
+
* GORA-221 fix Cassandra configuration in gora-tutorial (lewismc)
* GORA-211 thread safety: fix java.lang.NullPointerException - synchronize on mutator (rherget)
Modified: gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java
URL: http://svn.apache.org/viewvc/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java?rev=1462582&r1=1462581&r2=1462582&view=diff
==============================================================================
--- gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java (original)
+++ gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMapping.java Fri Mar 29 18:34:58 2013
@@ -100,32 +100,44 @@ public class CassandraMapping {
/**
* Primary class for loading Cassandra configuration from the 'MAPPING_FILE'.
+ * It should be noted that should the "qualifier" attribute and its associated
+ * value be absent from class field definition, it will automatically be set to
+ * the field name value.
+ *
*/
@SuppressWarnings("unchecked")
public CassandraMapping(Element keyspace, Element mapping) {
if (keyspace == null) {
- LOG.error("Keyspace element should not be null!");
- return;
+ LOG.error("Keyspace element should not be null!");
+ return;
} else {
- LOG.debug("Located Cassandra Keyspace");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located Cassandra Keyspace");
+ }
}
this.keyspaceName = keyspace.getAttributeValue(NAME_ATTRIBUTE);
if (this.keyspaceName == null) {
LOG.error("Error locating Cassandra Keyspace name attribute!");
} else {
- LOG.debug("Located Cassandra Keyspace name: '" + keyspaceName + "'");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located Cassandra Keyspace name: '" + keyspaceName + "'");
+ }
}
this.clusterName = keyspace.getAttributeValue(CLUSTER_ATTRIBUTE);
if (this.clusterName == null) {
LOG.error("Error locating Cassandra Keyspace cluster attribute!");
} else {
- LOG.debug("Located Cassandra Keyspace cluster: '" + clusterName + "'");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located Cassandra Keyspace cluster: '" + clusterName + "'");
+ }
}
this.hostName = keyspace.getAttributeValue(HOST_ATTRIBUTE);
if (this.hostName == null) {
LOG.error("Error locating Cassandra Keyspace host attribute!");
} else {
- LOG.debug("Located Cassandra Keyspace host: '" + hostName + "'");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located Cassandra Keyspace host: '" + hostName + "'");
+ }
}
// load column family definitions
@@ -138,13 +150,19 @@ public class CassandraMapping {
LOG.error("Error locating column family name attribute!");
continue;
} else {
- LOG.debug("Located column family: '" + familyName + "'" );
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located column family: '" + familyName + "'" );
+ }
}
String superAttribute = element.getAttributeValue(SUPER_ATTRIBUTE);
if (superAttribute != null) {
- LOG.debug("Located super column family");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located super column family");
+ }
this.superFamilies.add(familyName);
- LOG.debug("Added super column family: '" + familyName + "'");
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Added super column family: '" + familyName + "'");
+ }
cfDef.setColumnType(ColumnType.SUPER);
cfDef.setSubComparatorType(ComparatorType.BYTESTYPE);
}
@@ -164,6 +182,19 @@ public class CassandraMapping {
String fieldName = element.getAttributeValue(NAME_ATTRIBUTE);
String familyName = element.getAttributeValue(FAMILY_ATTRIBUTE);
String columnName = element.getAttributeValue(COLUMN_ATTRIBUTE);
+ if (fieldName == null) {
+ LOG.error("Field name is not declared.");
+ continue;
+ }
+ if (familyName == null) {
+ LOG.error("Family name is not declared for \"" + fieldName + "\" field.");
+ continue;
+ }
+ if (columnName == null) {
+ LOG.warn("Column name (qualifier) is not declared for \"" + fieldName + "\" field.");
+ columnName = fieldName;
+ }
+
BasicColumnFamilyDefinition columnFamilyDefinition = this.columnFamilyDefinitions.get(familyName);
if (columnFamilyDefinition == null) {
LOG.warn("Family " + familyName + " was not declared in the keyspace.");
Modified: gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java
URL: http://svn.apache.org/viewvc/gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java?rev=1462582&r1=1462581&r2=1462582&view=diff
==============================================================================
--- gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java (original)
+++ gora/trunk/gora-cassandra/src/main/java/org/apache/gora/cassandra/store/CassandraMappingManager.java Fri Mar 29 18:34:58 2013
@@ -74,7 +74,9 @@ public class CassandraMappingManager {
return null;
}
String keyspaceName = mappingElement.getAttributeValue(KEYSPACE_ELEMENT);
+ if (LOG.isDebugEnabled()) {
LOG.debug("className=" + className + " -> keyspaceName=" + keyspaceName);
+ }
Element keyspaceElement = keyspaceMap.get(keyspaceName);
if (keyspaceElement == null) {
LOG.error("Keyspace element does not exist for keyspaceName=" + keyspaceName);
@@ -109,8 +111,10 @@ public class CassandraMappingManager {
String keyspaceName = keyspace.getAttributeValue(NAME_ATTRIBUTE);
String clusterName = keyspace.getAttributeValue(CLUSTER_ATTRIBUTE);
String hostName = keyspace.getAttributeValue(HOST_ATTRIBUTE);
- LOG.debug("Located Cassandra Keyspace: '" + keyspaceName + "' in cluster '" + clusterName +
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Located Cassandra Keyspace: '" + keyspaceName + "' in cluster '" + clusterName +
"' on host '" + hostName + "'.");
+ }
if (keyspaceName == null) {
LOG.error("Error locating Cassandra Keyspace name attribute!");
continue;
@@ -130,8 +134,10 @@ public class CassandraMappingManager {
String className = mapping.getAttributeValue(NAME_ATTRIBUTE);
String keyClassName = mapping.getAttributeValue(KEYCLASS_ATTRIBUTE);
String keyspaceName = mapping.getAttributeValue(KEYSPACE_ELEMENT);
+ if (LOG.isDebugEnabled()) {
LOG.debug("Located Cassandra Mapping: keyClass: '" + keyClassName + "' in storage class '"
+ className + "' for Keyspace '" + keyspaceName + "'.");
+ }
if (className == null) {
LOG.error("Error locating Cassandra Mapping class name attribute!");
continue;