versionMetadata = new ProjectVersionMetadata(); versionMetadata.setId( id ); versionMetadata.setName( properties.getProperty( "name" ) ); versionMetadata.setDescription( properties.getProperty( "description" ) ); versionMetadata.setUrl( properties.getProperty( "url" ) ); versionMetadata.setIncomplete( Boolean.valueOf( properties.getProperty( "incomplete", "false" ) ) ); scm.setDeveloperConnection( scmDeveloperConnection ); scm.setUrl( scmUrl ); versionMetadata.setScm( scm ); ci.setSystem( ciSystem ); ci.setUrl( ciUrl ); versionMetadata.setCiManagement( ci ); issueManagement.setSystem( issueSystem ); issueManagement.setUrl( issueUrl ); versionMetadata.setIssueManagement( issueManagement ); org.setName( orgName ); org.setUrl( orgUrl ); versionMetadata.setOrganization( org ); license.setName( licenseName ); license.setUrl( licenseUrl ); versionMetadata.addLicense( license ); mailingList.setUnsubscribeAddress( properties.getProperty( "mailingList." + i + ".unsubscribe" ) );
getOrAddProjectVersionNode( repositoryId, namespace, projectId, versionMetadata.getId() ); versionNode.setProperty( "name", versionMetadata.getName() ); versionNode.setProperty( "description", versionMetadata.getDescription() ); versionNode.setProperty( "url", versionMetadata.getUrl() ); versionNode.setProperty( "incomplete", versionMetadata.isIncomplete() ); if ( versionMetadata.getScm() != null ) versionNode.setProperty( "scm.connection", versionMetadata.getScm().getConnection() ); versionNode.setProperty( "scm.developerConnection", versionMetadata.getScm().getDeveloperConnection() ); versionNode.setProperty( "scm.url", versionMetadata.getScm().getUrl() ); if ( versionMetadata.getCiManagement() != null ) versionNode.setProperty( "ci.system", versionMetadata.getCiManagement().getSystem() ); versionNode.setProperty( "ci.url", versionMetadata.getCiManagement().getUrl() ); if ( versionMetadata.getIssueManagement() != null ) versionNode.setProperty( "issue.system", versionMetadata.getIssueManagement().getSystem() ); versionNode.setProperty( "issue.url", versionMetadata.getIssueManagement().getUrl() ); if ( versionMetadata.getOrganization() != null ) versionNode.setProperty( "org.name", versionMetadata.getOrganization().getName() ); versionNode.setProperty( "org.url", versionMetadata.getOrganization().getUrl() ); for ( License license : versionMetadata.getLicenses() )
ProjectVersionMetadata sharedModel = new ProjectVersionMetadata(); sharedModel.addFacet( mavenFacet ); if ( versionMetadata == null || versionMetadata.isIncomplete() ) sharedModel.setId( null ); (MavenProjectFacet) versionMetadata.getFacet( MavenProjectFacet.FACET_ID ); if ( versionMetadataMavenFacet != null ) if ( StringUtils.isEmpty( sharedModel.getName() ) // && !StringUtils.isEmpty( versionMetadata.getName() ) ) sharedModel.setName( versionMetadata.getName() ); if ( sharedModel.getDescription() != null // && !StringUtils.equalsIgnoreCase( sharedModel.getDescription(), versionMetadata.getDescription() ) ) sharedModel.setDescription( StringUtils.isNotEmpty( versionMetadata.getDescription() ) ? versionMetadata.getDescription() : "" ); if ( sharedModel.getIssueManagement() != null // && versionMetadata.getIssueManagement() != null // && !StringUtils.equalsIgnoreCase( sharedModel.getIssueManagement().getUrl(), versionMetadata.getIssueManagement().getUrl() ) )
@Test public void testUpdateProjectVersionMetadataIncomplete() throws Exception { ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); metadata.setIncomplete( true ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( true, metadata.isIncomplete() ); assertNull( metadata.getCiManagement() ); assertNull( metadata.getScm() ); assertNull( metadata.getIssueManagement() ); assertNull( metadata.getOrganization() ); assertNull( metadata.getDescription() ); assertNull( metadata.getName() ); assertEquals( TEST_PROJECT_VERSION, metadata.getId() ); assertEquals( TEST_PROJECT_VERSION, metadata.getVersion() ); assertTrue( metadata.getMailingLists().isEmpty() ); assertTrue( metadata.getLicenses().isEmpty() ); assertTrue( metadata.getDependencies().isEmpty() ); }
ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); metadata.setName( "project name" ); metadata.setDescription( "project description" ); metadata.setUrl( "the url" ); mailingList.setMainArchiveUrl( "MainArchiveUrl" ); mailingList.setOtherArchives( Arrays.asList( "other archive" ) ); metadata.setMailingLists( Arrays.asList( mailingList ) ); scm.setDeveloperConnection( "dev conn" ); scm.setUrl( "url" ); metadata.setScm( scm ); metadata.setCiManagement( ci ); metadata.setIssueManagement( tracker ); metadata.setOrganization( TEST_ORGANIZATION ); metadata.addLicense( l ); d.setVersion( "version" ); d.setOptional( true ); metadata.addDependency( d ); assertEquals( TEST_PROJECT_VERSION, metadata.getId() ); assertEquals( TEST_PROJECT_VERSION, metadata.getVersion() );
ProjectVersionMetadata projectVersionMetadata = new ProjectVersionMetadata(); projectVersionMetadata.setId( columnFamilyResult.getString( PROJECT_VERSION.toString() ) ); projectVersionMetadata.setDescription( columnFamilyResult.getString( DESCRIPTION.toString() ) ); projectVersionMetadata.setName( columnFamilyResult.getString( NAME.toString() ) ); projectVersionMetadata.setIncomplete( Boolean.parseBoolean( columnFamilyResult.getString( "incomplete" ) ) ); projectVersionMetadata.setUrl( columnFamilyResult.getString( URL.toString() ) ); projectVersionMetadata.setCiManagement( new CiManagement( ciSystem, ciUrl ) ); if ( StringUtils.isNotEmpty( issueSystem ) || StringUtils.isNotEmpty( issueUrl ) ) projectVersionMetadata.setIssueManagement( new IssueManagement( issueSystem, issueUrl ) ); if ( StringUtils.isNotEmpty( organizationUrl ) || StringUtils.isNotEmpty( organizationName ) ) projectVersionMetadata.setOrganization( new Organization( organizationName, organizationUrl ) ); if ( StringUtils.isNotEmpty( devConn ) || StringUtils.isNotEmpty( conn ) || StringUtils.isNotEmpty( url ) ) projectVersionMetadata.setScm( new Scm( conn, devConn, url ) ); projectVersionMetadata.setMailingLists( getMailingLists( key ) ); projectVersionMetadata.setLicenses( getLicenses( key ) ); projectVersionMetadata.setDependencies( getDependencies( key ) ); projectVersionMetadata.addFacet( metadataFacet );
throws Exception ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); metadata.setName( "project name" ); metadata.setDescription( "project description" ); metadata.setUrl( "the url" ); d.setVersion( "version" ); d.setOptional( true ); metadata.addDependency( d ); d.setVersion( "version1" ); d.setOptional( true ); metadata.addDependency( d );
@Test public void testUpdateProjectVersionMetadataWithNoOtherArchives() throws Exception { ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); MailingList mailingList = new MailingList(); mailingList.setName( "Foo List" ); mailingList.setOtherArchives( Collections.<String>emptyList() ); metadata.setMailingLists( Arrays.asList( mailingList ) ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( TEST_PROJECT_VERSION, metadata.getId() ); List<MailingList> mailingLists = metadata.getMailingLists(); assertThat( mailingLists ).isNotNull().isNotEmpty().hasSize( 1 ); mailingList = metadata.getMailingLists().get( 0 ); assertEquals( "Foo List", mailingList.getName() ); List<String> others = mailingList.getOtherArchives(); assertThat( others ).isNotNull().isEmpty(); }
@Test public void testUpdateProjectVersionMetadataWithExistingFacets() throws Exception { ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); MetadataFacet facet = new TestMetadataFacet( "baz" ); metadata.addFacet( facet ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( Collections.singleton( TEST_FACET_ID ), metadata.getFacetIds() ); metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( Collections.singleton( TEST_FACET_ID ), metadata.getFacetIds() ); TestMetadataFacet testFacet = (TestMetadataFacet) metadata.getFacet( TEST_FACET_ID ); assertEquals( "baz", testFacet.getValue() ); }
ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( projectVersion ); updateProjectVersion( repoId, namespace, projectId, metadata );
repoId ); versionMetadata = new ProjectVersionMetadata(); versionMetadata.setId( projectVersion ); versionMetadata.setIncomplete( true ); createVersionMetadata = true;
@Test public void testGetArtifactsDoesntReturnProjectVersionMetadataFacets() throws Exception { ProjectVersionMetadata versionMetadata = new ProjectVersionMetadata(); versionMetadata.setId( TEST_PROJECT_VERSION ); MetadataFacet facet = new TestMetadataFacet( TEST_FACET_ID, "baz" ); versionMetadata.addFacet( facet ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, versionMetadata ); ArtifactMetadata artifactMetadata = createArtifact(); repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifactMetadata ); repository.save(); Collection<ArtifactMetadata> artifacts = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( Collections.singletonList( artifactMetadata ), new ArrayList<>( artifacts ) ); artifacts = repository.getArtifacts( TEST_REPO_ID ); assertEquals( Collections.singletonList( artifactMetadata ), new ArrayList<>( artifacts ) ); artifacts = repository.getArtifactsByChecksum( TEST_REPO_ID, TEST_SHA1 ); assertEquals( Collections.singletonList( artifactMetadata ), new ArrayList<>( artifacts ) ); artifacts = repository.getArtifactsByChecksum( TEST_REPO_ID, TEST_MD5 ); assertEquals( Collections.singletonList( artifactMetadata ), new ArrayList<>( artifacts ) ); artifacts = repository.getArtifactsByDateRange( TEST_REPO_ID, null, null ); assertEquals( Collections.singletonList( artifactMetadata ), new ArrayList<>( artifacts ) ); }
private void createArtifactWithFacet( int artifacts, MetadataFacet artifactFacet, MetadataFacet projectVersionMetadataFacet ) throws MetadataRepositoryException, MetadataResolutionException { for ( int i = 0; i < artifacts; i++ ) { ArtifactMetadata artifact = createArtifact(); if ( artifactFacet != null ) { artifact.addFacet( artifactFacet ); } repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact ); } if ( projectVersionMetadataFacet != null ) { ProjectVersionMetadata metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); metadata.addFacet( projectVersionMetadataFacet ); metadata.setOrganization( TEST_ORGANIZATION ); metadata.setUrl( TEST_URL ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); } repository.save(); }
@Test public void testGetProjectVersionOnly() throws Exception { assertNull( repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ) ); assertNull( repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ) ); assertThat( repository.getRootNamespaces( TEST_REPO_ID ) ).isNotNull().isEmpty(); ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertEquals( TEST_PROJECT_VERSION, metadata.getId() ); // test that namespace and project is also constructed Collection<String> namespaces = repository.getRootNamespaces( TEST_REPO_ID ); assertThat( namespaces ).isNotNull().isNotEmpty().hasSize( 1 ).contains( TEST_NAMESPACE ); ProjectMetadata projectMetadata = repository.getProject( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT ); assertNotNull( projectMetadata ); assertEquals( TEST_PROJECT, projectMetadata.getId() ); assertEquals( TEST_NAMESPACE, projectMetadata.getNamespace() ); }
@Test public void testUpdateProjectVersionMetadataWithNoExistingFacets() throws Exception { ProjectVersionMetadata metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertThat( metadata.getFacetIds() ).isNotNull().isEmpty(); metadata = new ProjectVersionMetadata(); metadata.setId( TEST_PROJECT_VERSION ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); assertThat( metadata.getFacetIds() ).isNotNull().isEmpty(); }
private void createArtifactWithData() throws MetadataRepositoryException, MetadataResolutionException { ArtifactMetadata artifact = createArtifact(); repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, artifact ); ProjectVersionMetadata metadata = repository.getProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION ); metadata.setOrganization( TEST_ORGANIZATION ); metadata.setUrl( TEST_URL ); repository.updateProjectVersion( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, metadata ); repository.save(); }
if ( metadata == null || metadata.isIncomplete() ) if ( !metadata.getDependencies().isEmpty() )
public void setProjectVersion( String repoId, String namespace, String projectId, ProjectVersionMetadata versionMetadata ) { projectVersions.put( createMapKey( repoId, namespace, projectId, versionMetadata.getId() ), versionMetadata ); Collection<String> projects = projectsInNamespace.get( namespace ); if ( projects == null ) { projects = new LinkedHashSet<String>(); projectsInNamespace.put( namespace, projects ); } projects.add( projectId ); String key = namespace + ":" + projectId; Collection<String> versions = versionsInProject.get( key ); if ( versions == null ) { versions = new LinkedHashSet<String>(); versionsInProject.put( key, versions ); } versions.add( versionMetadata.getId() ); }
for ( String repoId : selectedRepos ) if ( versionMetadata == null || versionMetadata.isIncomplete() )