@Override public ProjectMetadata getProject( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { Path directory = getDirectory( repoId ).resolve( namespace + "/" + projectId ); Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY ); ProjectMetadata project = null; String id = properties.getProperty( "id" ); if ( id != null ) { project = new ProjectMetadata(); project.setNamespace( properties.getProperty( "namespace" ) ); project.setId( id ); } return project; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public ProjectMetadata getProject( String repoId, String namespace, String projectId ) throws MetadataResolutionException { try { File directory = new File( getDirectory( repoId ), namespace + "/" + projectId ); Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY ); ProjectMetadata project = null; String id = properties.getProperty( "id" ); if ( id != null ) { project = new ProjectMetadata(); project.setNamespace( properties.getProperty( "namespace" ) ); project.setId( id ); } return project; } catch ( IOException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } }
@Override public ProjectMetadata getProject( String repositoryId, String namespace, String projectId ) throws MetadataResolutionException { ProjectMetadata metadata = null; try { Node root = getJcrSession().getRootNode(); // basically just checking it exists String path = getProjectPath( repositoryId, namespace, projectId ); if ( root.hasNode( path ) ) { metadata = new ProjectMetadata(); metadata.setId( projectId ); metadata.setNamespace( namespace ); } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return metadata; }
@Override public ProjectMetadata getProject( String repositoryId, String namespace, String projectId ) throws MetadataResolutionException { ProjectMetadata metadata = null; try { Node root = getJcrSession().getRootNode(); // basically just checking it exists String path = getProjectPath( repositoryId, namespace, projectId ); if ( root.hasNode( path ) ) { metadata = new ProjectMetadata(); metadata.setId( projectId ); metadata.setNamespace( namespace ); } } catch ( RepositoryException e ) { throw new MetadataResolutionException( e.getMessage(), e ); } return metadata; }
private static ProjectMetadata createProject( String ns ) { ProjectMetadata project = new ProjectMetadata(); project.setId( TEST_PROJECT ); project.setNamespace( ns ); return project; }
@Test public void testGetProjectsWithOtherNamespacesPresent() throws Exception { ProjectMetadata projectMetadata = new ProjectMetadata(); projectMetadata.setId( TEST_PROJECT ); projectMetadata.setNamespace( "org.apache.maven" ); repository.updateProject( TEST_REPO_ID, projectMetadata ); repository.updateNamespace( TEST_REPO_ID, "org.apache.maven.shared" ); Collection<String> projects = repository.getProjects( TEST_REPO_ID, "org.apache.maven" ); assertThat( projects ).isNotNull().isNotEmpty().hasSize( 1 ).contains( TEST_PROJECT ); }
@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; }
project1.setNamespace( TEST_NAMESPACE ); project1.setId( "project1" ); repository.updateProject( TEST_REPO_ID, project1 ); ProjectMetadata project2 = new ProjectMetadata(); project2.setNamespace( TEST_NAMESPACE ); project2.setId( "project2" ); repository.updateProject( TEST_REPO_ID, project2 );
@Test public void testGetProjectOnly() throws Exception { assertNull( repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ) ); assertThat( repository.getRootNamespaces( TEST_REPO_ID ) ).isNotNull().isEmpty(); ProjectMetadata project = new ProjectMetadata(); project.setId( TEST_PROJECT ); project.setNamespace( TEST_NAMESPACE ); repository.updateProject( TEST_REPO_ID, project ); project = repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ); assertEquals( TEST_PROJECT, project.getId() ); assertEquals( TEST_NAMESPACE, project.getNamespace() ); // test that namespace is also constructed Collection<String> namespaces = repository.getRootNamespaces( TEST_REPO_ID ); assertThat( namespaces ).isNotNull().isNotEmpty().contains( TEST_NAMESPACE ).hasSize( 1 ); }
project.setNamespace( artifact.getNamespace() ); project.setId( artifact.getProject() );
project.setNamespace( artifact.getNamespace() ); project.setId( artifact.getProject() );
projectMetadata.setNamespace( namespaceId ); updateProject( repositoryId, projectMetadata );
projectMetadata.setNamespace( namespaceId ); projectMetadata.setId( projectId ); updateProject( repositoryId, projectMetadata );