diff options
author | Olivier Lamy <olamy@apache.org> | 2014-03-26 02:41:20 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2014-03-26 02:41:20 +0000 |
commit | 3ff5c718fba3a4f36568a1c6152668a8daa9d4ef (patch) | |
tree | b16cb1117cd773c6694710fc06ce1407278ebfb5 | |
parent | 122145013ef5d19d2c8b955c7f9008ed4b2ed879 (diff) | |
download | archiva-3ff5c718fba3a4f36568a1c6152668a8daa9d4ef.tar.gz archiva-3ff5c718fba3a4f36568a1c6152668a8daa9d4ef.zip |
fix unit test when searching project version
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1581640 13f79535-47bb-0310-9956-ffa450edef68
2 files changed, 35 insertions, 19 deletions
diff --git a/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java index 06add9a0f..49738d220 100644 --- a/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java +++ b/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java @@ -203,8 +203,9 @@ public abstract class AbstractMetadataRepositoryTest public void testGetArtifactOnly() throws Exception { - assertEquals( Collections.<ArtifactMetadata>emptyList(), new ArrayList<ArtifactMetadata>( - repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) ) ); + assertThat( new ArrayList<ArtifactMetadata>( + repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, + TEST_PROJECT_VERSION ) ) ).isNotNull().isEmpty(); assertThat( repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) ).isNull(); assertThat( repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ) ).isNull(); @@ -217,8 +218,8 @@ public abstract class AbstractMetadataRepositoryTest Collection<ArtifactMetadata> artifacts = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); - assertEquals( Collections.singletonList( metadata ), new ArrayList<ArtifactMetadata>( artifacts ) ); - + //assertEquals( Collections.singletonList( metadata ), new ArrayList<ArtifactMetadata>( artifacts ) ); + assertThat( artifacts ).containsExactly( metadata ); // test that namespace, project and project version is also constructed assertThat( repository.getRootNamespaces( TEST_REPO_ID ) ).isNotNull().isNotEmpty().contains( diff --git a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java b/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java index 08a1a7c4a..530477db1 100644 --- a/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java +++ b/archiva-modules/plugins/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/CassandraMetadataRepository.java @@ -1005,11 +1005,29 @@ public class CassandraMetadataRepository final String projectId, final String projectVersion ) throws MetadataResolutionException { - String key = new ProjectVersionMetadataModel.KeyBuilder().withRepository( repoId ).withNamespace( - namespace ).withProjectId( projectId ).withId( projectVersion ).build(); + + Keyspace keyspace = cassandraArchivaManager.getKeyspace(); + StringSerializer ss = StringSerializer.get(); + QueryResult<OrderedRows<String, String, String>> result = HFactory // + .createRangeSlicesQuery( keyspace, ss, ss, ss ) // + .setColumnFamily( cassandraArchivaManager.getProjectVersionMetadataFamilyName() ) // + .setColumnNames( "projectVersion" ) // + .addEqualsExpression( "repositoryName", repoId ) // + .addEqualsExpression( "namespaceId", namespace ) // + .addEqualsExpression( "projectId", projectId ) // + .addEqualsExpression( "projectVersion", projectVersion ) // + .execute(); + + if ( result.get().getCount() < 1 ) + { + return null; + } + + String key = result.get().iterator().next().getKey(); ColumnFamilyResult<String, String> columnFamilyResult = this.projectVersionMetadataModelTemplate.queryColumns( key ); + if ( !columnFamilyResult.hasResults() ) { return null; @@ -1062,10 +1080,7 @@ public class CassandraMetadataRepository projectVersionMetadata.setDependencies( getDependencies( key ) ); // facets - StringSerializer ss = StringSerializer.get(); - - Keyspace keyspace = cassandraArchivaManager.getKeyspace(); - QueryResult<OrderedRows<String, String, String>> result = HFactory // + result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getMetadataFacetFamilyName() ) // .setColumnNames( "facetId", "key", "value", "name" ) // @@ -1416,18 +1431,17 @@ public class CassandraMetadataRepository .execute(); } - key = new ProjectVersionMetadataModel.KeyBuilder().withRepository( repositoryId ).withNamespace( - namespace ).withProjectId( projectId ).withId( projectVersion ).build(); + key = new ProjectVersionMetadataModel.KeyBuilder() // + .withRepository( repositoryId ) // + .withNamespace( namespace ) // + .withProjectId( projectId ) // + .withId( artifactMeta.getId() ) // + .build(); exists = this.projectVersionMetadataModelTemplate.isColumnsExist( key ); if ( !exists ) { - ProjectVersionMetadataModel projectVersionMetadataModel = new ProjectVersionMetadataModel(); - projectVersionMetadataModel.setProjectId( projectId ); - projectVersionMetadataModel.setId( projectVersion ); - projectVersionMetadataModel.setNamespace( namespace ); - String cf = this.cassandraArchivaManager.getProjectVersionMetadataFamilyName(); projectVersionMetadataModelTemplate.createMutator() // @@ -1435,6 +1449,7 @@ public class CassandraMetadataRepository .addInsertion( key, cf, column( "repositoryName", repositoryId ) ) // .addInsertion( key, cf, column( "projectVersion", projectVersion ) ) // .addInsertion( key, cf, column( "projectId", projectId ) ) // + .addInsertion( key, cf, column( "version", artifactMeta.getVersion() ) ) // .execute(); } @@ -1465,7 +1480,7 @@ public class CassandraMetadataRepository QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getProjectVersionMetadataFamilyName() ) // - .setColumnNames( "projectVersion" ) // + .setColumnNames( "version" ) // .addEqualsExpression( "repositoryName", repoId ) // .addEqualsExpression( "namespaceId", namespace ) // .addEqualsExpression( "projectId", projectId ) // @@ -1476,7 +1491,7 @@ public class CassandraMetadataRepository for ( Row<String, String, String> row : result.get() ) { - versions.add( getStringValue( row.getColumnSlice(), "projectVersion" ) ); + versions.add( getStringValue( row.getColumnSlice(), "version" ) ); } return versions; |