@Test public void testRangeSubSlicesQuery() { String cf = "Super1"; TestCleanupDescriptor cleanup = insertSuperColumns(cf, 4, "testRangeSubSlicesQuery", 3, "testRangeSubSlicesQuery"); // get value RangeSubSlicesQuery<String, String, String, String> q = createRangeSubSlicesQuery( ko, se, se, se, se); q.setColumnFamily(cf); q.setKeys("testRangeSubSlicesQuery2", "testRangeSubSlicesQuery3"); // try with column name first q.setSuperColumn("testRangeSubSlicesQuery1"); q.setColumnNames("c021", "c111"); QueryResult<OrderedRows<String, String, String>> r = q.execute(); assertNotNull(r); OrderedRows<String, String, String> rows = r.get(); assertNotNull(rows); assertEquals(2, rows.getCount()); Row<String, String, String> row = rows.getList().get(0); assertNotNull(row); assertEquals("testRangeSubSlicesQuery2", row.getKey()); ColumnSlice<String, String> slice = row.getColumnSlice(); assertNotNull(slice); // Test slice.getColumnByName assertEquals("v021", slice.getColumnByName("c021").getValue()); assertEquals("v121", slice.getColumnByName("c111").getValue()); assertNull(slice.getColumnByName("c033")); // Delete values deleteColumns(cleanup); }
@Override public Collection<String> getRootNamespaces( final String repoId ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) // .setColumnNames( NAME.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .execute(); Set<String> namespaces = new HashSet<String>( result.get().getCount() ); for ( Row<String, String, String> row : result.get() ) { namespaces.add( StringUtils.substringBefore( getStringValue( row.getColumnSlice(), NAME.toString() ), "." ) ); } return namespaces; }
@Override public List<ArtifactMetadata> getArtifacts( final String repositoryId ) throws MetadataRepositoryException { RangeSlicesQuery<String, String, String> query = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getArtifactMetadataFamilyName() ) // .setColumnNames( ArtifactMetadataModel.COLUMNS ); // query = query.addEqualsExpression( REPOSITORY_NAME.toString(), repositoryId ); QueryResult<OrderedRows<String, String, String>> result = query.execute(); List<ArtifactMetadata> artifactMetadatas = new ArrayList<>( result.get().getCount() ); for ( Row<String, String, String> row : result.get() ) { ColumnSlice<String, String> columnSlice = row.getColumnSlice(); artifactMetadatas.add( mapArtifactMetadataStringColumnSlice( columnSlice ) ); } return artifactMetadatas; }
protected List<String> getNamespaces( final String repoId ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) // .setColumnNames( NAME.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .execute(); List<String> namespaces = new ArrayList<>( result.get().getCount() ); for ( Row<String, String, String> row : result.get() ) { namespaces.add( getStringValue( row.getColumnSlice(), NAME.toString() ) ); } return namespaces; }
List<ArtifactMetadata> artifactMetadatas = new ArrayList<>( result.get().getCount() );
query.setRowCount(limit); OrderedRows<String, String, String> rows = query.execute().get(); if (rows.getCount() != 1) { lastEnd = rows.peekLast().getKey(); data.start = lastEnd;
@Override public Collection<String> getNamespaces( final String repoId, final String namespaceId ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) // .setColumnNames( NAME.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .execute(); List<String> namespaces = new ArrayList<>( result.get().getCount() ); for ( Row<String, String, String> row : result.get() ) { String currentNamespace = getStringValue( row.getColumnSlice(), NAME.toString() ); if ( StringUtils.startsWith( currentNamespace, namespaceId ) // && ( StringUtils.length( currentNamespace ) > StringUtils.length( namespaceId ) ) ) { // store after namespaceId '.' but before next '.' // call org namespace org.apache.maven.shared -> stored apache String calledNamespace = StringUtils.endsWith( namespaceId, "." ) ? namespaceId : namespaceId + "."; String storedNamespace = StringUtils.substringAfter( currentNamespace, calledNamespace ); storedNamespace = StringUtils.substringBefore( storedNamespace, "." ); namespaces.add( storedNamespace ); } } return namespaces; }
@Override public Collection<String> getRepositories() throws MetadataRepositoryException { try { logger.debug( "getRepositories" ); final QueryResult<OrderedRows<String, String, String>> cResult = // HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), // ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getRepositoryFamilyName() ) // .setColumnNames( REPOSITORY_NAME.toString() ) // .setRange( null, null, false, Integer.MAX_VALUE ) // .execute(); List<String> repoIds = new ArrayList<>( cResult.get().getCount() ); for ( Row<String, String, String> row : cResult.get() ) { repoIds.add( getStringValue( row.getColumnSlice(), REPOSITORY_NAME.toString() ) ); } return repoIds; } catch ( PersistenceException e ) { throw new MetadataRepositoryException( e.getMessage(), e ); } }
@Override public Collection<String> getProjects( final String repoId, final String namespace ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getProjectFamilyName() ) // .setColumnNames( PROJECT_ID.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .addEqualsExpression( NAMESPACE_ID.toString(), namespace ) // .execute(); final Set<String> projects = new HashSet<String>( result.get().getCount() ); for ( Row<String, String, String> row : result.get() ) { projects.add( getStringValue( row.getColumnSlice(), PROJECT_ID.toString() ) ); } return projects; }
@Override public Collection<String> getProjectVersions( final String repoId, final String namespace, final String projectId ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getProjectVersionMetadataFamilyName() ) // .setColumnNames( PROJECT_VERSION.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .addEqualsExpression( NAMESPACE_ID.toString(), namespace ) // .addEqualsExpression( PROJECT_ID.toString(), projectId ) // .execute(); int count = result.get().getCount(); if ( count < 1 ) { return Collections.emptyList(); } Set<String> versions = new HashSet<String>( count ); for ( Row<String, String, String> orderedRows : result.get() ) { versions.add( getStringValue( orderedRows.getColumnSlice(), PROJECT_VERSION.toString() ) ); } return versions; }
System.out.println(" " + r); System.out.println("Should have 11 rows: " + orderedRows.getCount());
protected Repository getRepository( String repositoryId ) throws MetadataRepositoryException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, StringSerializer.get(), StringSerializer.get(), StringSerializer.get() ) // .setColumnFamily( cassandraArchivaManager.getRepositoryFamilyName() ) // .setColumnNames( REPOSITORY_NAME.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repositoryId ) // .execute(); return ( result.get().getCount() > 0 ) ? new Repository( repositoryId ) : null; }
int size = result.get().getCount(); if ( size < 1 )
@Override public ProjectMetadata getProject( final String repoId, final String namespace, final String id ) throws MetadataResolutionException { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getProjectFamilyName() ) // .setColumnNames( PROJECT_ID.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repoId ) // .addEqualsExpression( NAMESPACE_ID.toString(), namespace ) // .addEqualsExpression( PROJECT_ID.toString(), id ) // .execute(); int count = result.get().getCount(); if ( count < 1 ) { return null; } ProjectMetadata projectMetadata = new ProjectMetadata(); projectMetadata.setId( id ); projectMetadata.setNamespace( namespace ); logger.debug( "getProject repoId: {}, namespace: {}, projectId: {} -> {}", repoId, namespace, id, projectMetadata ); return projectMetadata; }
protected void removeMailingList( String projectVersionMetadataKey ) { QueryResult<OrderedRows<String, String, String>> result = HFactory.createRangeSlicesQuery( cassandraArchivaManager.getKeyspace(), ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getMailingListFamilyName() ) // .setColumnNames( NAME.toString() ) // .setRowCount( Integer.MAX_VALUE ) // .addEqualsExpression( "projectVersionMetadataModel.key", projectVersionMetadataKey ) // .execute(); if ( result.get().getCount() < 1 ) { return; } for ( Row<String, String, String> row : result.get() ) { this.mailingListTemplate.deleteRow( row.getKey() ); } }
protected Namespace getNamespace( String repositoryId, String namespaceId ) { QueryResult<OrderedRows<String, String, String>> result = HFactory // .createRangeSlicesQuery( keyspace, ss, ss, ss ) // .setColumnFamily( cassandraArchivaManager.getNamespaceFamilyName() ) // .setColumnNames( REPOSITORY_NAME.toString(), NAME.toString() ) // .addEqualsExpression( REPOSITORY_NAME.toString(), repositoryId ) // .addEqualsExpression( NAME.toString(), namespaceId ) // .execute(); if ( result.get().getCount() > 0 ) { ColumnSlice<String, String> columnSlice = result.get().getList().get( 0 ).getColumnSlice(); return new Namespace( getStringValue( columnSlice, NAME.toString() ), // new Repository( getStringValue( columnSlice, REPOSITORY_NAME.toString() ) ) ); } return null; }