Author: olamy
Date: Wed Mar 26 23:27:58 2014
New Revision: 1582119

URL: http://svn.apache.org/r1582119
Log:
take care of null values

Modified:
    archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
    
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
    
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java

Modified: archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml?rev=1582119&r1=1582118&r2=1582119&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml 
(original)
+++ archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/pom.xml Wed 
Mar 26 23:27:58 2014
@@ -92,6 +92,10 @@
           <groupId>org.mortbay.jetty</groupId>
           <artifactId>jetty</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>javax.servlet</groupId>
+          <artifactId>servlet-api</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 

Modified: 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java?rev=1582119&r1=1582118&r2=1582119&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java
 Wed Mar 26 23:27:58 2014
@@ -882,55 +882,48 @@ public class CassandraMetadataRepository
         else
         {
             ColumnFamilyUpdater<String, String> updater = 
projectVersionMetadataTemplate.createUpdater( key );
-            updater.setString( "projectId", projectId );
-            updater.setString( "repositoryName", repositoryId );
-            updater.setString( "namespaceId", namespaceId );
-            updater.setString( "projectVersion", versionMetadata.getVersion() 
);
-            if ( StringUtils.isNotEmpty( versionMetadata.getDescription() ) )
-            {
-                updater.setString( "description", 
versionMetadata.getDescription() );
-            }
-            if ( StringUtils.isNotEmpty( versionMetadata.getName() ) )
-            {
-                updater.setString( "name", versionMetadata.getName() );
-            }
+            addUpdateStringValue( updater, "projectId", projectId );
+            addUpdateStringValue( updater, "repositoryName", repositoryId );
+            addUpdateStringValue( updater, "namespaceId", namespaceId );
+            addUpdateStringValue( updater, "projectVersion", 
versionMetadata.getVersion() );
+            addUpdateStringValue( updater, "description", 
versionMetadata.getDescription() );
+
+            addUpdateStringValue( updater, "name", versionMetadata.getName() );
+
             updater.setString( "incomplete", Boolean.toString( 
versionMetadata.isIncomplete() ) );
-            if ( StringUtils.isNotEmpty( versionMetadata.getUrl() ) )
-            {
-                updater.setString( "url", versionMetadata.getUrl() );
-            }
+            addUpdateStringValue( updater, "url", versionMetadata.getUrl() );
 
             {
                 CiManagement ci = versionMetadata.getCiManagement();
                 if ( ci != null )
                 {
-                    updater.setString( "ciManagement.system", ci.getSystem() );
-                    updater.setString( "ciManagement.url", ci.getUrl() );
+                    addUpdateStringValue( updater, "ciManagement.system", 
ci.getSystem() );
+                    addUpdateStringValue( updater, "ciManagement.url", 
ci.getUrl() );
                 }
             }
             {
                 IssueManagement issueManagement = 
versionMetadata.getIssueManagement();
                 if ( issueManagement != null )
                 {
-                    updater.setString( "issueManagement.system", 
issueManagement.getSystem() );
-                    updater.setString( "issueManagement.url", 
issueManagement.getUrl() );
+                    addUpdateStringValue( updater, "issueManagement.system", 
issueManagement.getSystem() );
+                    addUpdateStringValue( updater, "issueManagement.url", 
issueManagement.getUrl() );
                 }
             }
             {
                 Organization organization = versionMetadata.getOrganization();
                 if ( organization != null )
                 {
-                    updater.setString( "organization.name", 
organization.getName() );
-                    updater.setString( "organization.url", 
organization.getUrl() );
+                    addUpdateStringValue( updater, "organization.name", 
organization.getName() );
+                    addUpdateStringValue( updater, "organization.url", 
organization.getUrl() );
                 }
             }
             {
                 Scm scm = versionMetadata.getScm();
                 if ( scm != null )
                 {
-                    updater.setString( "scm.url", scm.getUrl() );
-                    updater.setString( "scm.connection", scm.getConnection() );
-                    updater.setString( "scm.developerConnection", 
scm.getDeveloperConnection() );
+                    addUpdateStringValue( updater, "scm.url", scm.getUrl() );
+                    addUpdateStringValue( updater, "scm.connection", 
scm.getConnection() );
+                    addUpdateStringValue( updater, "scm.developerConnection", 
scm.getDeveloperConnection() );
                 }
             }
 
@@ -1363,9 +1356,9 @@ public class CassandraMetadataRepository
             updater.setLong( "fileLastModified", 
artifactMeta.getFileLastModified().getTime() );
             updater.setLong( "whenGathered", 
artifactMeta.getWhenGathered().getTime() );
             updater.setLong( "size", artifactMeta.getSize() );
-            updater.setString( "md5", artifactMeta.getMd5() );
-            updater.setString( "sha1", artifactMeta.getSha1() );
-            updater.setString( "version", artifactMeta.getVersion() );
+            addUpdateStringValue(updater, "md5", artifactMeta.getMd5() );
+            addUpdateStringValue(updater, "sha1", artifactMeta.getSha1() );
+            addUpdateStringValue(updater, "version", artifactMeta.getVersion() 
);
             this.artifactMetadataTemplate.update( updater );
         }
         else
@@ -1508,16 +1501,21 @@ public class CassandraMetadataRepository
             {
                 String key = new MetadataFacetModel.KeyBuilder().withKey( 
entry.getKey() ).withArtifactMetadataModel(
                     artifactMetadataModel ).withFacetId( facetId ).withName( 
metadataFacet.getName() ).build();
-                metadataFacetTemplate.createMutator() //
+                Mutator<String> mutator = 
metadataFacetTemplate.createMutator() //
                     .addInsertion( key, cf, column( "repositoryName", 
artifactMetadataModel.getRepositoryId() ) ) //
                     .addInsertion( key, cf, column( "namespaceId", 
artifactMetadataModel.getNamespace() ) ) //
                     .addInsertion( key, cf, column( "projectId", 
artifactMetadataModel.getProject() ) ) //
                     .addInsertion( key, cf, column( "projectVersion", 
artifactMetadataModel.getProjectVersion() ) ) //
                     .addInsertion( key, cf, column( "facetId", facetId ) ) //
                     .addInsertion( key, cf, column( "key", entry.getKey() ) ) 
//
-                    .addInsertion( key, cf, column( "value", entry.getValue() 
) ) //
-                    .addInsertion( key, cf, column( "name", 
metadataFacet.getName() ) ) //
-                    .execute();
+                    .addInsertion( key, cf, column( "value", entry.getValue() 
) );
+
+                if ( metadataFacet.getName() != null )
+                {
+                    mutator.addInsertion( key, cf, column( "name", 
metadataFacet.getName() ) );
+                }
+
+                mutator.execute();
             }
         }
     }
@@ -1608,8 +1606,8 @@ public class CassandraMetadataRepository
             if ( exists )
             {
                 ColumnFamilyUpdater<String, String> updater = 
this.metadataFacetTemplate.createUpdater( key );
-                updater.setString( "facetId", metadataFacet.getFacetId() );
-                updater.setString( "name", metadataFacet.getName() );
+                addUpdateStringValue(updater, "facetId", 
metadataFacet.getFacetId() );
+                addUpdateStringValue(updater, "name", metadataFacet.getName() 
);
                 this.metadataFacetTemplate.update( updater );
             }
             else
@@ -1645,7 +1643,7 @@ public class CassandraMetadataRepository
                 else
                 {
                     ColumnFamilyUpdater<String, String> updater = 
this.metadataFacetTemplate.createUpdater( key );
-                    updater.setString( "value", entry.getValue() );
+                    addUpdateStringValue(updater, "value", entry.getValue() );
                     this.metadataFacetTemplate.update( updater );
                 }
             }

Modified: 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java?rev=1582119&r1=1582118&r2=1582119&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
 (original)
+++ 
archiva/trunk/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraUtils.java
 Wed Mar 26 23:27:58 2014
@@ -22,6 +22,7 @@ package org.apache.archiva.metadata.repo
 import me.prettyprint.cassandra.serializers.LongSerializer;
 import me.prettyprint.cassandra.serializers.SerializerTypeInferer;
 import me.prettyprint.cassandra.serializers.StringSerializer;
+import me.prettyprint.cassandra.service.template.ColumnFamilyUpdater;
 import me.prettyprint.hector.api.Serializer;
 import me.prettyprint.hector.api.beans.ColumnSlice;
 import me.prettyprint.hector.api.beans.HColumn;
@@ -69,6 +70,7 @@ public class CassandraUtils
 
     public static <A, B> HColumn<A, B> column( final A name, final B value )
     {
+
         return HFactory.createColumn( name, //
                                       value, //
                                       (Serializer<A>) 
SerializerTypeInferer.getSerializer( name ), //
@@ -130,6 +132,22 @@ public class CassandraUtils
         }
     }
 
+    /**
+     * null check on the value to prevent {@link 
java.lang.IllegalArgumentException}
+     * @param updater
+     * @param columnName
+     * @param value
+     */
+    public static void addUpdateStringValue(ColumnFamilyUpdater<String,String> 
updater, String columnName, String value )
+    {
+        if (value == null)
+        {
+            return;
+        }
+        updater.setString( columnName, value );
+
+    }
+
     private CassandraUtils()
     {
         // no-op


Reply via email to