You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2015/10/07 04:52:51 UTC
[1/6] archiva git commit: add more mock for consumer archetype test
Repository: archiva
Updated Branches:
refs/heads/master 8c67ef5e7 -> 795d6d395
add more mock for consumer archetype test
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/aabbc2d5
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/aabbc2d5
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/aabbc2d5
Branch: refs/heads/master
Commit: aabbc2d52c1e3bef7222ea043766301ce21c602c
Parents: 8c67ef5
Author: Olivier Lamy <ol...@apache.org>
Authored: Tue Oct 6 17:27:07 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Tue Oct 6 17:27:07 2015 +1100
----------------------------------------------------------------------
.../test/java/SimpleArtifactConsumerTest.java | 6 --
.../src/test/resources/spring-context.xml | 5 +-
.../resourcesstatic/archetype-resources/pom.xml | 6 ++
.../archiva/mock/MockNetworkProxyAdmin.java | 70 ++++++++++++++++++
.../archiva/mock/MockProxyConnectorAdmin.java | 78 ++++++++++++++++++++
.../repository/AbstractRepositoryAdminTest.java | 2 +
6 files changed, 160 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
index 095873c..1b44182 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
@@ -66,12 +66,6 @@ public class SimpleArtifactConsumerTest
throws Exception
{
setUpMockRepository();
-
- RepositorySession repositorySession = mock( RepositorySession.class );
- when( repositorySessionFactory.createSession() ).thenReturn( repositorySession );
-
- metadataRepository = mock( MetadataRepository.class );
- when( repositorySession.getRepository() ).thenReturn( metadataRepository );
}
private void setUpMockRepository()
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
index 8a12f3a..cd75577 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/resources/spring-context.xml
@@ -29,5 +29,8 @@
<mockito:mock id="mockManagedRepositoryAdmin" class="org.apache.archiva.admin.model.managed.ManagedRepositoryAdmin" />
<mockito:mock id="mockRemoteRepositoryAdmin" class="org.apache.archiva.admin.model.remote.RemoteRepositoryAdmin" />
- <alias alias="repositorySessionFactory#jcr" name="repositorySessionFactory#mock" />
+ <alias alias="repositorySessionFactory#jcr" name="repositorySessionFactory#file" />
+
+ <bean name="proxyConnectorAdmin#mock" class="org.apache.archiva.mock.MockProxyConnectorAdmin"/>
+ <bean name="networkProxyAdmin#mock" class="org.apache.archiva.mock.MockNetworkProxyAdmin"/>
</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resourcesstatic/archetype-resources/pom.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resourcesstatic/archetype-resources/pom.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resourcesstatic/archetype-resources/pom.xml
index b6d0319..64a39f6 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resourcesstatic/archetype-resources/pom.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resourcesstatic/archetype-resources/pom.xml
@@ -162,6 +162,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>metadata-store-file</artifactId>
+ <version>${archiva.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockNetworkProxyAdmin.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockNetworkProxyAdmin.java b/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockNetworkProxyAdmin.java
new file mode 100644
index 0000000..b46a846
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockNetworkProxyAdmin.java
@@ -0,0 +1,70 @@
+package org.apache.archiva.mock;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.archiva.admin.model.AuditInformation;
+import org.apache.archiva.admin.model.RepositoryAdminException;
+import org.apache.archiva.admin.model.beans.NetworkProxy;
+import org.apache.archiva.admin.model.networkproxy.NetworkProxyAdmin;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Olivier Lamy
+ */
+public class MockNetworkProxyAdmin
+ implements NetworkProxyAdmin
+{
+ @Override
+ public List<NetworkProxy> getNetworkProxies()
+ throws RepositoryAdminException
+ {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public NetworkProxy getNetworkProxy( String networkProxyId )
+ throws RepositoryAdminException
+ {
+ return null;
+ }
+
+ @Override
+ public void addNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ // no op
+ }
+
+ @Override
+ public void updateNetworkProxy( NetworkProxy networkProxy, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ // no op
+ }
+
+ @Override
+ public void deleteNetworkProxy( String networkProxyId, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ // no op
+ }
+}
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockProxyConnectorAdmin.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockProxyConnectorAdmin.java b/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockProxyConnectorAdmin.java
new file mode 100644
index 0000000..f6830d8
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-mock/src/main/java/org/apache/archiva/mock/MockProxyConnectorAdmin.java
@@ -0,0 +1,78 @@
+package org.apache.archiva.mock;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.archiva.admin.model.AuditInformation;
+import org.apache.archiva.admin.model.RepositoryAdminException;
+import org.apache.archiva.admin.model.beans.ProxyConnector;
+import org.apache.archiva.admin.model.proxyconnector.ProxyConnectorAdmin;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Olivier Lamy
+ */
+public class MockProxyConnectorAdmin
+ implements ProxyConnectorAdmin
+{
+ @Override
+ public List<ProxyConnector> getProxyConnectors()
+ throws RepositoryAdminException
+ {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public ProxyConnector getProxyConnector( String sourceRepoId, String targetRepoId )
+ throws RepositoryAdminException
+ {
+ return null;
+ }
+
+ @Override
+ public Boolean addProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ return Boolean.FALSE;
+ }
+
+ @Override
+ public Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ return Boolean.FALSE;
+ }
+
+ @Override
+ public Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
+ throws RepositoryAdminException
+ {
+ return Boolean.FALSE;
+ }
+
+ @Override
+ public Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
+ throws RepositoryAdminException
+ {
+ return Collections.emptyMap();
+ }
+}
http://git-wip-us.apache.org/repos/asf/archiva/blob/aabbc2d5/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
index 780ae4e..e081c78 100644
--- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
+++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
@@ -39,6 +39,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.test.context.ContextConfiguration;
import javax.inject.Inject;
+import javax.inject.Named;
import java.io.File;
import java.util.HashMap;
import java.util.List;
@@ -70,6 +71,7 @@ public abstract class AbstractRepositoryAdminTest
protected ManagedRepositoryAdmin managedRepositoryAdmin;
@Inject
+ @Named("proxyConnectorAdmin#default")
protected ProxyConnectorAdmin proxyConnectorAdmin;
@Inject
[3/6] archiva git commit: more fix
Posted by ol...@apache.org.
more fix
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/b195fa39
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/b195fa39
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/b195fa39
Branch: refs/heads/master
Commit: b195fa3946c13513760d2028996e329c81a4bc87
Parents: 68acaa2
Author: Olivier Lamy <ol...@apache.org>
Authored: Wed Oct 7 12:05:01 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Wed Oct 7 12:05:01 2015 +1100
----------------------------------------------------------------------
.../archiva-consumer-archetype/pom.xml | 6 +
.../repository/file/FileMetadataRepository.java | 1147 ++++++++++--------
2 files changed, 647 insertions(+), 506 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/b195fa39/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/pom.xml
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/pom.xml b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/pom.xml
index 1f9a9f7..2e86b32 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/pom.xml
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/pom.xml
@@ -86,6 +86,12 @@
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>metadata-store-file</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
<resources>
http://git-wip-us.apache.org/repos/asf/archiva/blob/b195fa39/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
index cca21bc..2da1a5b 100644
--- a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
+++ b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
@@ -36,6 +36,7 @@ import org.apache.archiva.metadata.model.ProjectVersionReference;
import org.apache.archiva.metadata.model.Scm;
import org.apache.archiva.metadata.repository.MetadataRepository;
import org.apache.archiva.metadata.repository.MetadataRepositoryException;
+import org.apache.archiva.metadata.repository.MetadataResolutionException;
import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -62,8 +63,6 @@ import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
-//import org.apache.commons.io.IOUtils;
-
public class FileMetadataRepository
implements MetadataRepository
{
@@ -89,13 +88,21 @@ public class FileMetadataRepository
}
private File getBaseDirectory( String repoId )
+ throws IOException
{
// TODO: should be configurable, like the index
- String basedir = configuration.getConfiguration().getManagedRepositoriesAsMap().get( repoId ).getLocation();
+ ManagedRepositoryConfiguration managedRepositoryConfiguration =
+ configuration.getConfiguration().getManagedRepositoriesAsMap().get( repoId );
+ if ( managedRepositoryConfiguration == null )
+ {
+ return Files.createTempDirectory( repoId ).toFile();
+ }
+ String basedir = managedRepositoryConfiguration.getLocation();
return new File( basedir, ".archiva" );
}
private File getDirectory( String repoId )
+ throws IOException
{
return new File( getBaseDirectory( repoId ), "content" );
}
@@ -130,98 +137,100 @@ public class FileMetadataRepository
public void updateProjectVersion( String repoId, String namespace, String projectId,
ProjectVersionMetadata versionMetadata )
{
- updateProject( repoId, namespace, projectId );
-
- File directory =
- new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + versionMetadata.getId() );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- // remove properties that are not references or artifacts
- for ( Object key : new ArrayList( properties.keySet() ) )
+ try
{
- String name = (String) key;
- if ( !name.contains( ":" ) && !name.equals( "facetIds" ) )
- {
- properties.remove( name );
- }
+ updateProject( repoId, namespace, projectId );
- // clear the facet contents so old properties are no longer written
- clearMetadataFacetProperties( versionMetadata.getFacetList(), properties, "" );
- }
- properties.setProperty( "id", versionMetadata.getId() );
- setProperty( properties, "name", versionMetadata.getName() );
- setProperty( properties, "description", versionMetadata.getDescription() );
- setProperty( properties, "url", versionMetadata.getUrl() );
- setProperty( properties, "incomplete", String.valueOf( versionMetadata.isIncomplete() ) );
- if ( versionMetadata.getScm() != null )
- {
- setProperty( properties, "scm.connection", versionMetadata.getScm().getConnection() );
- setProperty( properties, "scm.developerConnection", versionMetadata.getScm().getDeveloperConnection() );
- setProperty( properties, "scm.url", versionMetadata.getScm().getUrl() );
- }
- if ( versionMetadata.getCiManagement() != null )
- {
- setProperty( properties, "ci.system", versionMetadata.getCiManagement().getSystem() );
- setProperty( properties, "ci.url", versionMetadata.getCiManagement().getUrl() );
- }
- if ( versionMetadata.getIssueManagement() != null )
- {
- setProperty( properties, "issue.system", versionMetadata.getIssueManagement().getSystem() );
- setProperty( properties, "issue.url", versionMetadata.getIssueManagement().getUrl() );
- }
- if ( versionMetadata.getOrganization() != null )
- {
- setProperty( properties, "org.name", versionMetadata.getOrganization().getName() );
- setProperty( properties, "org.url", versionMetadata.getOrganization().getUrl() );
- }
- int i = 0;
- for ( License license : versionMetadata.getLicenses() )
- {
- setProperty( properties, "license." + i + ".name", license.getName() );
- setProperty( properties, "license." + i + ".url", license.getUrl() );
- i++;
- }
- i = 0;
- for ( MailingList mailingList : versionMetadata.getMailingLists() )
- {
- setProperty( properties, "mailingList." + i + ".archive", mailingList.getMainArchiveUrl() );
- setProperty( properties, "mailingList." + i + ".name", mailingList.getName() );
- setProperty( properties, "mailingList." + i + ".post", mailingList.getPostAddress() );
- setProperty( properties, "mailingList." + i + ".unsubscribe", mailingList.getUnsubscribeAddress() );
- setProperty( properties, "mailingList." + i + ".subscribe", mailingList.getSubscribeAddress() );
- setProperty( properties, "mailingList." + i + ".otherArchives", join( mailingList.getOtherArchives() ) );
- i++;
- }
- i = 0;
- ProjectVersionReference reference = new ProjectVersionReference();
- reference.setNamespace( namespace );
- reference.setProjectId( projectId );
- reference.setProjectVersion( versionMetadata.getId() );
- reference.setReferenceType( ProjectVersionReference.ReferenceType.DEPENDENCY );
- for ( Dependency dependency : versionMetadata.getDependencies() )
- {
- setProperty( properties, "dependency." + i + ".classifier", dependency.getClassifier() );
- setProperty( properties, "dependency." + i + ".scope", dependency.getScope() );
- setProperty( properties, "dependency." + i + ".systemPath", dependency.getSystemPath() );
- setProperty( properties, "dependency." + i + ".artifactId", dependency.getArtifactId() );
- setProperty( properties, "dependency." + i + ".groupId", dependency.getGroupId() );
- setProperty( properties, "dependency." + i + ".version", dependency.getVersion() );
- setProperty( properties, "dependency." + i + ".type", dependency.getType() );
- setProperty( properties, "dependency." + i + ".optional", String.valueOf( dependency.isOptional() ) );
+ File directory =
+ new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + versionMetadata.getId() );
- updateProjectReference( repoId, dependency.getGroupId(), dependency.getArtifactId(),
- dependency.getVersion(), reference );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ // remove properties that are not references or artifacts
+ for ( Object key : new ArrayList( properties.keySet() ) )
+ {
+ String name = (String) key;
+ if ( !name.contains( ":" ) && !name.equals( "facetIds" ) )
+ {
+ properties.remove( name );
+ }
- i++;
- }
- Set<String> facetIds = new LinkedHashSet<String>( versionMetadata.getFacetIds() );
- facetIds.addAll( Arrays.asList( properties.getProperty( "facetIds", "" ).split( "," ) ) );
- properties.setProperty( "facetIds", join( facetIds ) );
+ // clear the facet contents so old properties are no longer written
+ clearMetadataFacetProperties( versionMetadata.getFacetList(), properties, "" );
+ }
+ properties.setProperty( "id", versionMetadata.getId() );
+ setProperty( properties, "name", versionMetadata.getName() );
+ setProperty( properties, "description", versionMetadata.getDescription() );
+ setProperty( properties, "url", versionMetadata.getUrl() );
+ setProperty( properties, "incomplete", String.valueOf( versionMetadata.isIncomplete() ) );
+ if ( versionMetadata.getScm() != null )
+ {
+ setProperty( properties, "scm.connection", versionMetadata.getScm().getConnection() );
+ setProperty( properties, "scm.developerConnection", versionMetadata.getScm().getDeveloperConnection() );
+ setProperty( properties, "scm.url", versionMetadata.getScm().getUrl() );
+ }
+ if ( versionMetadata.getCiManagement() != null )
+ {
+ setProperty( properties, "ci.system", versionMetadata.getCiManagement().getSystem() );
+ setProperty( properties, "ci.url", versionMetadata.getCiManagement().getUrl() );
+ }
+ if ( versionMetadata.getIssueManagement() != null )
+ {
+ setProperty( properties, "issue.system", versionMetadata.getIssueManagement().getSystem() );
+ setProperty( properties, "issue.url", versionMetadata.getIssueManagement().getUrl() );
+ }
+ if ( versionMetadata.getOrganization() != null )
+ {
+ setProperty( properties, "org.name", versionMetadata.getOrganization().getName() );
+ setProperty( properties, "org.url", versionMetadata.getOrganization().getUrl() );
+ }
+ int i = 0;
+ for ( License license : versionMetadata.getLicenses() )
+ {
+ setProperty( properties, "license." + i + ".name", license.getName() );
+ setProperty( properties, "license." + i + ".url", license.getUrl() );
+ i++;
+ }
+ i = 0;
+ for ( MailingList mailingList : versionMetadata.getMailingLists() )
+ {
+ setProperty( properties, "mailingList." + i + ".archive", mailingList.getMainArchiveUrl() );
+ setProperty( properties, "mailingList." + i + ".name", mailingList.getName() );
+ setProperty( properties, "mailingList." + i + ".post", mailingList.getPostAddress() );
+ setProperty( properties, "mailingList." + i + ".unsubscribe", mailingList.getUnsubscribeAddress() );
+ setProperty( properties, "mailingList." + i + ".subscribe", mailingList.getSubscribeAddress() );
+ setProperty( properties, "mailingList." + i + ".otherArchives",
+ join( mailingList.getOtherArchives() ) );
+ i++;
+ }
+ i = 0;
+ ProjectVersionReference reference = new ProjectVersionReference();
+ reference.setNamespace( namespace );
+ reference.setProjectId( projectId );
+ reference.setProjectVersion( versionMetadata.getId() );
+ reference.setReferenceType( ProjectVersionReference.ReferenceType.DEPENDENCY );
+ for ( Dependency dependency : versionMetadata.getDependencies() )
+ {
+ setProperty( properties, "dependency." + i + ".classifier", dependency.getClassifier() );
+ setProperty( properties, "dependency." + i + ".scope", dependency.getScope() );
+ setProperty( properties, "dependency." + i + ".systemPath", dependency.getSystemPath() );
+ setProperty( properties, "dependency." + i + ".artifactId", dependency.getArtifactId() );
+ setProperty( properties, "dependency." + i + ".groupId", dependency.getGroupId() );
+ setProperty( properties, "dependency." + i + ".version", dependency.getVersion() );
+ setProperty( properties, "dependency." + i + ".type", dependency.getType() );
+ setProperty( properties, "dependency." + i + ".optional", String.valueOf( dependency.isOptional() ) );
+
+ updateProjectReference( repoId, dependency.getGroupId(), dependency.getArtifactId(),
+ dependency.getVersion(), reference );
- updateProjectVersionFacets( versionMetadata, properties );
+ i++;
+ }
+ Set<String> facetIds = new LinkedHashSet<String>( versionMetadata.getFacetIds() );
+ facetIds.addAll( Arrays.asList( properties.getProperty( "facetIds", "" ).split( "," ) ) );
+ properties.setProperty( "facetIds", join( facetIds ) );
+
+ updateProjectVersionFacets( versionMetadata, properties );
- try
- {
writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
@@ -267,18 +276,18 @@ public class FileMetadataRepository
private void updateProjectReference( String repoId, String namespace, String projectId, String projectVersion,
ProjectVersionReference reference )
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
-
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- int i = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1;
- setProperty( properties, "ref:lastReferenceNum", Integer.toString( i ) );
- setProperty( properties, "ref:reference." + i + ".namespace", reference.getNamespace() );
- setProperty( properties, "ref:reference." + i + ".projectId", reference.getProjectId() );
- setProperty( properties, "ref:reference." + i + ".projectVersion", reference.getProjectVersion() );
- setProperty( properties, "ref:reference." + i + ".referenceType", reference.getReferenceType().toString() );
-
try
{
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ int i = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1;
+ setProperty( properties, "ref:lastReferenceNum", Integer.toString( i ) );
+ setProperty( properties, "ref:reference." + i + ".namespace", reference.getNamespace() );
+ setProperty( properties, "ref:reference." + i + ".projectId", reference.getProjectId() );
+ setProperty( properties, "ref:reference." + i + ".projectVersion", reference.getProjectVersion() );
+ setProperty( properties, "ref:reference." + i + ".referenceType", reference.getReferenceType().toString() );
+
writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
@@ -308,11 +317,19 @@ public class FileMetadataRepository
@Override
public List<String> getMetadataFacets( String repoId, String facetId )
+ throws MetadataRepositoryException
{
- File directory = getMetadataDirectory( repoId, facetId );
- List<String> facets = new ArrayList<>();
- recurse( facets, "", directory );
- return facets;
+ try
+ {
+ File directory = getMetadataDirectory( repoId, facetId );
+ List<String> facets = new ArrayList<>();
+ recurse( facets, "", directory );
+ return facets;
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
+ }
}
@Override
@@ -398,26 +415,43 @@ public class FileMetadataRepository
@Override
public void removeMetadataFacets( String repositoryId, String facetId )
+ throws MetadataRepositoryException
{
- File dir = getMetadataDirectory( repositoryId, facetId );
- if ( !FileUtils.deleteQuietly( dir ) )
+ try
{
- log.error( "Cannot delete the metadata repository {}", dir );
+ File dir = getMetadataDirectory( repositoryId, facetId );
+ if ( !Files.deleteIfExists( dir.toPath() ) )
+ {
+ log.error( "Cannot delete the metadata repository {}", dir );
+ }
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
@Override
public void removeMetadataFacet( String repoId, String facetId, String name )
+ throws MetadataRepositoryException
{
- File dir = new File( getMetadataDirectory( repoId, facetId ), name );
- if ( !FileUtils.deleteQuietly( dir ) )
+ try
{
- log.error( "Cannot delete the metadata repository {}", dir );
+ File dir = new File( getMetadataDirectory( repoId, facetId ), name );
+ if ( !Files.deleteIfExists( dir.toPath() ) )
+ {
+ log.error( "Cannot delete the metadata repository {}", dir );
+ }
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
@Override
public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
+ throws MetadataRepositoryException
{
// TODO: this is quite slow - if we are to persist with this repository implementation we should build an index
// of this information (eg. in Lucene, as before)
@@ -433,124 +467,140 @@ public class FileMetadataRepository
private void getArtifactsByDateRange( List<ArtifactMetadata> artifacts, String repoId, String ns, Date startTime,
Date endTime )
+ throws MetadataRepositoryException
{
- for ( String namespace : getNamespaces( repoId, ns ) )
+ try
{
- getArtifactsByDateRange( artifacts, repoId, ns + "." + namespace, startTime, endTime );
- }
+ for ( String namespace : getNamespaces( repoId, ns ) )
+ {
+ getArtifactsByDateRange( artifacts, repoId, ns + "." + namespace, startTime, endTime );
+ }
- for ( String project : getProjects( repoId, ns ) )
- {
- for ( String version : getProjectVersions( repoId, ns, project ) )
+ for ( String project : getProjects( repoId, ns ) )
{
- for ( ArtifactMetadata artifact : getArtifacts( repoId, ns, project, version ) )
+ for ( String version : getProjectVersions( repoId, ns, project ) )
{
- if ( startTime == null || startTime.before( artifact.getWhenGathered() ) )
+ for ( ArtifactMetadata artifact : getArtifacts( repoId, ns, project, version ) )
{
- if ( endTime == null || endTime.after( artifact.getWhenGathered() ) )
+ if ( startTime == null || startTime.before( artifact.getWhenGathered() ) )
{
- artifacts.add( artifact );
+ if ( endTime == null || endTime.after( artifact.getWhenGathered() ) )
+ {
+ artifacts.add( artifact );
+ }
}
}
}
}
}
+ catch ( MetadataResolutionException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
+ }
}
@Override
public Collection<ArtifactMetadata> getArtifacts( String repoId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
- Map<String, ArtifactMetadata> artifacts = new HashMap<>();
+ try
+ {
+ Map<String, ArtifactMetadata> artifacts = new HashMap<>();
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- for ( Map.Entry entry : properties.entrySet() )
- {
- String name = (String) entry.getKey();
- StringTokenizer tok = new StringTokenizer( name, ":" );
- if ( tok.hasMoreTokens() && "artifact".equals( tok.nextToken() ) )
+ for ( Map.Entry entry : properties.entrySet() )
{
- String field = tok.nextToken();
- String id = tok.nextToken();
-
- ArtifactMetadata artifact = artifacts.get( id );
- if ( artifact == null )
+ String name = (String) entry.getKey();
+ StringTokenizer tok = new StringTokenizer( name, ":" );
+ if ( tok.hasMoreTokens() && "artifact".equals( tok.nextToken() ) )
{
- artifact = new ArtifactMetadata();
- artifact.setRepositoryId( repoId );
- artifact.setNamespace( namespace );
- artifact.setProject( projectId );
- artifact.setProjectVersion( projectVersion );
- artifact.setVersion( projectVersion );
- artifact.setId( id );
- artifacts.put( id, artifact );
- }
+ String field = tok.nextToken();
+ String id = tok.nextToken();
- String value = (String) entry.getValue();
- if ( "updated".equals( field ) )
- {
- artifact.setFileLastModified( Long.parseLong( value ) );
- }
- else if ( "size".equals( field ) )
- {
- artifact.setSize( Long.valueOf( value ) );
- }
- else if ( "whenGathered".equals( field ) )
- {
- artifact.setWhenGathered( new Date( Long.parseLong( value ) ) );
- }
- else if ( "version".equals( field ) )
- {
- artifact.setVersion( value );
- }
- else if ( "md5".equals( field ) )
- {
- artifact.setMd5( value );
- }
- else if ( "sha1".equals( field ) )
- {
- artifact.setSha1( value );
- }
- else if ( "facetIds".equals( field ) )
- {
- if ( value.length() > 0 )
+ ArtifactMetadata artifact = artifacts.get( id );
+ if ( artifact == null )
+ {
+ artifact = new ArtifactMetadata();
+ artifact.setRepositoryId( repoId );
+ artifact.setNamespace( namespace );
+ artifact.setProject( projectId );
+ artifact.setProjectVersion( projectVersion );
+ artifact.setVersion( projectVersion );
+ artifact.setId( id );
+ artifacts.put( id, artifact );
+ }
+
+ String value = (String) entry.getValue();
+ if ( "updated".equals( field ) )
+ {
+ artifact.setFileLastModified( Long.parseLong( value ) );
+ }
+ else if ( "size".equals( field ) )
+ {
+ artifact.setSize( Long.valueOf( value ) );
+ }
+ else if ( "whenGathered".equals( field ) )
+ {
+ artifact.setWhenGathered( new Date( Long.parseLong( value ) ) );
+ }
+ else if ( "version".equals( field ) )
+ {
+ artifact.setVersion( value );
+ }
+ else if ( "md5".equals( field ) )
+ {
+ artifact.setMd5( value );
+ }
+ else if ( "sha1".equals( field ) )
+ {
+ artifact.setSha1( value );
+ }
+ else if ( "facetIds".equals( field ) )
{
- String propertyPrefix = "artifact:facet:" + id + ":";
- for ( String facetId : value.split( "," ) )
+ if ( value.length() > 0 )
{
- MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
- if ( factory == null )
+ String propertyPrefix = "artifact:facet:" + id + ":";
+ for ( String facetId : value.split( "," ) )
{
- log.error( "Attempted to load unknown artifact metadata facet: " + facetId );
- }
- else
- {
- MetadataFacet facet = factory.createMetadataFacet();
- String prefix = propertyPrefix + facet.getFacetId();
- Map<String, String> map = new HashMap<>();
- for ( Object key : new ArrayList( properties.keySet() ) )
+ MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
+ if ( factory == null )
{
- String property = (String) key;
- if ( property.startsWith( prefix ) )
+ log.error( "Attempted to load unknown artifact metadata facet: " + facetId );
+ }
+ else
+ {
+ MetadataFacet facet = factory.createMetadataFacet();
+ String prefix = propertyPrefix + facet.getFacetId();
+ Map<String, String> map = new HashMap<>();
+ for ( Object key : new ArrayList( properties.keySet() ) )
{
- map.put( property.substring( prefix.length() + 1 ),
- properties.getProperty( property ) );
+ String property = (String) key;
+ if ( property.startsWith( prefix ) )
+ {
+ map.put( property.substring( prefix.length() + 1 ),
+ properties.getProperty( property ) );
+ }
}
+ facet.fromProperties( map );
+ artifact.addFacet( facet );
}
- facet.fromProperties( map );
- artifact.addFacet( facet );
}
}
- }
- updateArtifactFacets( artifact, properties );
+ updateArtifactFacets( artifact, properties );
+ }
}
}
+ return artifacts.values();
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return artifacts.values();
}
@Override
@@ -610,18 +660,26 @@ public class FileMetadataRepository
@Override
public List<ArtifactMetadata> getArtifactsByChecksum( String repositoryId, String checksum )
+ throws MetadataRepositoryException
{
- // TODO: this is quite slow - if we are to persist with this repository implementation we should build an index
- // of this information (eg. in Lucene, as before)
- // alternatively, we could build a referential tree in the content repository, however it would need some levels
- // of depth to avoid being too broad to be useful (eg. /repository/checksums/a/ab/abcdef1234567)
+ try
+ {
+ // TODO: this is quite slow - if we are to persist with this repository implementation we should build an index
+ // of this information (eg. in Lucene, as before)
+ // alternatively, we could build a referential tree in the content repository, however it would need some levels
+ // of depth to avoid being too broad to be useful (eg. /repository/checksums/a/ab/abcdef1234567)
- List<ArtifactMetadata> artifacts = new ArrayList<>();
- for ( String ns : getRootNamespaces( repositoryId ) )
+ List<ArtifactMetadata> artifacts = new ArrayList<>();
+ for ( String ns : getRootNamespaces( repositoryId ) )
+ {
+ getArtifactsByChecksum( artifacts, repositoryId, ns, checksum );
+ }
+ return artifacts;
+ }
+ catch ( MetadataResolutionException e )
{
- getArtifactsByChecksum( artifacts, repositoryId, ns, checksum );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
- return artifacts;
}
@Override
@@ -648,82 +706,77 @@ public class FileMetadataRepository
throws MetadataRepositoryException
{
- File directory = new File( getDirectory( artifactMetadata.getRepositoryId() ),
- artifactMetadata.getNamespace() + "/" + artifactMetadata.getProject() + "/"
- + baseVersion
- );
+ try
+ {
+ File directory = new File( getDirectory( artifactMetadata.getRepositoryId() ),
+ artifactMetadata.getNamespace() + "/" + artifactMetadata.getProject() + "/"
+ + baseVersion );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- String id = artifactMetadata.getId();
+ String id = artifactMetadata.getId();
- properties.remove( "artifact:updated:" + id );
- properties.remove( "artifact:whenGathered:" + id );
- properties.remove( "artifact:size:" + id );
- properties.remove( "artifact:md5:" + id );
- properties.remove( "artifact:sha1:" + id );
- properties.remove( "artifact:version:" + id );
- properties.remove( "artifact:facetIds:" + id );
+ properties.remove( "artifact:updated:" + id );
+ properties.remove( "artifact:whenGathered:" + id );
+ properties.remove( "artifact:size:" + id );
+ properties.remove( "artifact:md5:" + id );
+ properties.remove( "artifact:sha1:" + id );
+ properties.remove( "artifact:version:" + id );
+ properties.remove( "artifact:facetIds:" + id );
- String prefix = "artifact:facet:" + id + ":";
- for ( Object key : new ArrayList( properties.keySet() ) )
- {
- String property = (String) key;
- if ( property.startsWith( prefix ) )
+ String prefix = "artifact:facet:" + id + ":";
+ for ( Object key : new ArrayList( properties.keySet() ) )
{
- properties.remove( property );
+ String property = (String) key;
+ if ( property.startsWith( prefix ) )
+ {
+ properties.remove( property );
+ }
}
- }
- try
- {
writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
{
- // TODO
- log.error( e.getMessage(), e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
@Override
public void removeArtifact( String repoId, String namespace, String project, String version, String id )
+ throws MetadataRepositoryException
{
+ try
+ {
+ File directory = new File( getDirectory( repoId ), namespace + "/" + project + "/" + version );
- File directory = new File( getDirectory( repoId ), namespace + "/" + project + "/" + version );
-
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- properties.remove( "artifact:updated:" + id );
- properties.remove( "artifact:whenGathered:" + id );
- properties.remove( "artifact:size:" + id );
- properties.remove( "artifact:md5:" + id );
- properties.remove( "artifact:sha1:" + id );
- properties.remove( "artifact:version:" + id );
- properties.remove( "artifact:facetIds:" + id );
+ properties.remove( "artifact:updated:" + id );
+ properties.remove( "artifact:whenGathered:" + id );
+ properties.remove( "artifact:size:" + id );
+ properties.remove( "artifact:md5:" + id );
+ properties.remove( "artifact:sha1:" + id );
+ properties.remove( "artifact:version:" + id );
+ properties.remove( "artifact:facetIds:" + id );
- String prefix = "artifact:facet:" + id + ":";
- for ( Object key : new ArrayList( properties.keySet() ) )
- {
- String property = (String) key;
- if ( property.startsWith( prefix ) )
+ String prefix = "artifact:facet:" + id + ":";
+ for ( Object key : new ArrayList( properties.keySet() ) )
{
- properties.remove( property );
+ String property = (String) key;
+ if ( property.startsWith( prefix ) )
+ {
+ properties.remove( property );
+ }
}
- }
-
- try
- {
-
- FileUtils.deleteDirectory( directory );
+ Files.deleteIfExists( directory.toPath() );
//writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
{
- // TODO
- log.error( e.getMessage(), e );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
@@ -747,35 +800,51 @@ public class FileMetadataRepository
@Override
public void removeRepository( String repoId )
+ throws MetadataRepositoryException
{
- File dir = getDirectory( repoId );
- if ( !FileUtils.deleteQuietly( dir ) )
+ try
{
- log.error( "Cannot delete repository {}", dir );
+ File dir = getDirectory( repoId );
+ if ( !Files.deleteIfExists( dir.toPath() ) )
+ {
+ log.error( "Cannot delete repository {}", dir );
+ }
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
}
private void getArtifactsByChecksum( List<ArtifactMetadata> artifacts, String repositoryId, String ns,
String checksum )
+ throws MetadataRepositoryException
{
- for ( String namespace : getNamespaces( repositoryId, ns ) )
+ try
{
- getArtifactsByChecksum( artifacts, repositoryId, ns + "." + namespace, checksum );
- }
+ for ( String namespace : getNamespaces( repositoryId, ns ) )
+ {
+ getArtifactsByChecksum( artifacts, repositoryId, ns + "." + namespace, checksum );
+ }
- for ( String project : getProjects( repositoryId, ns ) )
- {
- for ( String version : getProjectVersions( repositoryId, ns, project ) )
+ for ( String project : getProjects( repositoryId, ns ) )
{
- for ( ArtifactMetadata artifact : getArtifacts( repositoryId, ns, project, version ) )
+ for ( String version : getProjectVersions( repositoryId, ns, project ) )
{
- if ( checksum.equals( artifact.getMd5() ) || checksum.equals( artifact.getSha1() ) )
+ for ( ArtifactMetadata artifact : getArtifacts( repositoryId, ns, project, version ) )
{
- artifacts.add( artifact );
+ if ( checksum.equals( artifact.getMd5() ) || checksum.equals( artifact.getSha1() ) )
+ {
+ artifacts.add( artifact );
+ }
}
}
}
}
+ catch ( MetadataResolutionException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
+ }
}
@Override
@@ -800,6 +869,7 @@ public class FileMetadataRepository
}
private File getMetadataDirectory( String repoId, String facetId )
+ throws IOException
{
return new File( getBaseDirectory( repoId ), "facets/" + facetId );
}
@@ -831,39 +901,42 @@ public class FileMetadataRepository
public void updateArtifact( String repoId, String namespace, String projectId, String projectVersion,
ArtifactMetadata artifact )
{
- ProjectVersionMetadata metadata = new ProjectVersionMetadata();
- metadata.setId( projectVersion );
- updateProjectVersion( repoId, namespace, projectId, metadata );
+ try
+ {
+ ProjectVersionMetadata metadata = new ProjectVersionMetadata();
+ metadata.setId( projectVersion );
+ updateProjectVersion( repoId, namespace, projectId, metadata );
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- clearMetadataFacetProperties( artifact.getFacetList(), properties, "artifact:facet:" + artifact.getId() + ":" );
+ clearMetadataFacetProperties( artifact.getFacetList(), properties,
+ "artifact:facet:" + artifact.getId() + ":" );
- String id = artifact.getId();
- properties.setProperty( "artifact:updated:" + id, Long.toString( artifact.getFileLastModified().getTime() ) );
- properties.setProperty( "artifact:whenGathered:" + id, Long.toString( artifact.getWhenGathered().getTime() ) );
- properties.setProperty( "artifact:size:" + id, Long.toString( artifact.getSize() ) );
- if ( artifact.getMd5() != null )
- {
- properties.setProperty( "artifact:md5:" + id, artifact.getMd5() );
- }
- if ( artifact.getSha1() != null )
- {
- properties.setProperty( "artifact:sha1:" + id, artifact.getSha1() );
- }
- properties.setProperty( "artifact:version:" + id, artifact.getVersion() );
+ String id = artifact.getId();
+ properties.setProperty( "artifact:updated:" + id,
+ Long.toString( artifact.getFileLastModified().getTime() ) );
+ properties.setProperty( "artifact:whenGathered:" + id,
+ Long.toString( artifact.getWhenGathered().getTime() ) );
+ properties.setProperty( "artifact:size:" + id, Long.toString( artifact.getSize() ) );
+ if ( artifact.getMd5() != null )
+ {
+ properties.setProperty( "artifact:md5:" + id, artifact.getMd5() );
+ }
+ if ( artifact.getSha1() != null )
+ {
+ properties.setProperty( "artifact:sha1:" + id, artifact.getSha1() );
+ }
+ properties.setProperty( "artifact:version:" + id, artifact.getVersion() );
- Set<String> facetIds = new LinkedHashSet<String>( artifact.getFacetIds() );
- String property = "artifact:facetIds:" + id;
- facetIds.addAll( Arrays.asList( properties.getProperty( property, "" ).split( "," ) ) );
- properties.setProperty( property, join( facetIds ) );
+ Set<String> facetIds = new LinkedHashSet<String>( artifact.getFacetIds() );
+ String property = "artifact:facetIds:" + id;
+ facetIds.addAll( Arrays.asList( properties.getProperty( property, "" ).split( "," ) ) );
+ properties.setProperty( property, join( facetIds ) );
- updateArtifactFacets( artifact, properties );
+ updateArtifactFacets( artifact, properties );
- try
- {
writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
@@ -905,332 +978,387 @@ public class FileMetadataRepository
@Override
public ProjectMetadata getProject( String repoId, String namespace, String projectId )
+ throws MetadataResolutionException
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId );
+ try
+ {
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId );
+
+ Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY );
- Properties properties = readOrCreateProperties( directory, PROJECT_METADATA_KEY );
+ ProjectMetadata project = null;
- ProjectMetadata project = null;
+ String id = properties.getProperty( "id" );
+ if ( id != null )
+ {
+ project = new ProjectMetadata();
+ project.setNamespace( properties.getProperty( "namespace" ) );
+ project.setId( id );
+ }
- String id = properties.getProperty( "id" );
- if ( id != null )
+ return project;
+ }
+ catch ( IOException e )
{
- project = new ProjectMetadata();
- project.setNamespace( properties.getProperty( "namespace" ) );
- project.setId( id );
+ throw new MetadataResolutionException( e.getMessage(), e );
}
-
- return project;
}
@Override
public ProjectVersionMetadata getProjectVersion( String repoId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
-
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- String id = properties.getProperty( "id" );
- ProjectVersionMetadata versionMetadata = null;
- if ( id != null )
- {
- 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" ) ) );
-
- String scmConnection = properties.getProperty( "scm.connection" );
- String scmDeveloperConnection = properties.getProperty( "scm.developerConnection" );
- String scmUrl = properties.getProperty( "scm.url" );
- if ( scmConnection != null || scmDeveloperConnection != null || scmUrl != null )
- {
- Scm scm = new Scm();
- scm.setConnection( scmConnection );
- scm.setDeveloperConnection( scmDeveloperConnection );
- scm.setUrl( scmUrl );
- versionMetadata.setScm( scm );
- }
-
- String ciSystem = properties.getProperty( "ci.system" );
- String ciUrl = properties.getProperty( "ci.url" );
- if ( ciSystem != null || ciUrl != null )
- {
- CiManagement ci = new CiManagement();
- ci.setSystem( ciSystem );
- ci.setUrl( ciUrl );
- versionMetadata.setCiManagement( ci );
- }
+ try
+ {
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- String issueSystem = properties.getProperty( "issue.system" );
- String issueUrl = properties.getProperty( "issue.url" );
- if ( issueSystem != null || issueUrl != null )
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ String id = properties.getProperty( "id" );
+ ProjectVersionMetadata versionMetadata = null;
+ if ( id != null )
{
- IssueManagement issueManagement = new IssueManagement();
- issueManagement.setSystem( issueSystem );
- issueManagement.setUrl( issueUrl );
- versionMetadata.setIssueManagement( issueManagement );
- }
+ 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" ) ) );
+
+ String scmConnection = properties.getProperty( "scm.connection" );
+ String scmDeveloperConnection = properties.getProperty( "scm.developerConnection" );
+ String scmUrl = properties.getProperty( "scm.url" );
+ if ( scmConnection != null || scmDeveloperConnection != null || scmUrl != null )
+ {
+ Scm scm = new Scm();
+ scm.setConnection( scmConnection );
+ scm.setDeveloperConnection( scmDeveloperConnection );
+ scm.setUrl( scmUrl );
+ versionMetadata.setScm( scm );
+ }
- String orgName = properties.getProperty( "org.name" );
- String orgUrl = properties.getProperty( "org.url" );
- if ( orgName != null || orgUrl != null )
- {
- Organization org = new Organization();
- org.setName( orgName );
- org.setUrl( orgUrl );
- versionMetadata.setOrganization( org );
- }
+ String ciSystem = properties.getProperty( "ci.system" );
+ String ciUrl = properties.getProperty( "ci.url" );
+ if ( ciSystem != null || ciUrl != null )
+ {
+ CiManagement ci = new CiManagement();
+ ci.setSystem( ciSystem );
+ ci.setUrl( ciUrl );
+ versionMetadata.setCiManagement( ci );
+ }
- boolean done = false;
- int i = 0;
- while ( !done )
- {
- String licenseName = properties.getProperty( "license." + i + ".name" );
- String licenseUrl = properties.getProperty( "license." + i + ".url" );
- if ( licenseName != null || licenseUrl != null )
+ String issueSystem = properties.getProperty( "issue.system" );
+ String issueUrl = properties.getProperty( "issue.url" );
+ if ( issueSystem != null || issueUrl != null )
{
- License license = new License();
- license.setName( licenseName );
- license.setUrl( licenseUrl );
- versionMetadata.addLicense( license );
+ IssueManagement issueManagement = new IssueManagement();
+ issueManagement.setSystem( issueSystem );
+ issueManagement.setUrl( issueUrl );
+ versionMetadata.setIssueManagement( issueManagement );
}
- else
+
+ String orgName = properties.getProperty( "org.name" );
+ String orgUrl = properties.getProperty( "org.url" );
+ if ( orgName != null || orgUrl != null )
{
- done = true;
+ Organization org = new Organization();
+ org.setName( orgName );
+ org.setUrl( orgUrl );
+ versionMetadata.setOrganization( org );
}
- i++;
- }
- done = false;
- i = 0;
- while ( !done )
- {
- String mailingListName = properties.getProperty( "mailingList." + i + ".name" );
- if ( mailingListName != null )
+ boolean done = false;
+ int i = 0;
+ while ( !done )
{
- MailingList mailingList = new MailingList();
- mailingList.setName( mailingListName );
- mailingList.setMainArchiveUrl( properties.getProperty( "mailingList." + i + ".archive" ) );
- String p = properties.getProperty( "mailingList." + i + ".otherArchives" );
- if ( p != null && p.length() > 0 )
+ String licenseName = properties.getProperty( "license." + i + ".name" );
+ String licenseUrl = properties.getProperty( "license." + i + ".url" );
+ if ( licenseName != null || licenseUrl != null )
{
- mailingList.setOtherArchives( Arrays.asList( p.split( "," ) ) );
+ License license = new License();
+ license.setName( licenseName );
+ license.setUrl( licenseUrl );
+ versionMetadata.addLicense( license );
}
else
{
- mailingList.setOtherArchives( Collections.<String>emptyList() );
+ done = true;
}
- mailingList.setPostAddress( properties.getProperty( "mailingList." + i + ".post" ) );
- mailingList.setSubscribeAddress( properties.getProperty( "mailingList." + i + ".subscribe" ) );
- mailingList.setUnsubscribeAddress( properties.getProperty( "mailingList." + i + ".unsubscribe" ) );
- versionMetadata.addMailingList( mailingList );
- }
- else
- {
- done = true;
+ i++;
}
- i++;
- }
- done = false;
- i = 0;
- while ( !done )
- {
- String dependencyArtifactId = properties.getProperty( "dependency." + i + ".artifactId" );
- if ( dependencyArtifactId != null )
+ done = false;
+ i = 0;
+ while ( !done )
{
- Dependency dependency = new Dependency();
- dependency.setArtifactId( dependencyArtifactId );
- dependency.setGroupId( properties.getProperty( "dependency." + i + ".groupId" ) );
- dependency.setClassifier( properties.getProperty( "dependency." + i + ".classifier" ) );
- dependency.setOptional(
- Boolean.valueOf( properties.getProperty( "dependency." + i + ".optional" ) ) );
- dependency.setScope( properties.getProperty( "dependency." + i + ".scope" ) );
- dependency.setSystemPath( properties.getProperty( "dependency." + i + ".systemPath" ) );
- dependency.setType( properties.getProperty( "dependency." + i + ".type" ) );
- dependency.setVersion( properties.getProperty( "dependency." + i + ".version" ) );
- dependency.setOptional(
- Boolean.valueOf( properties.getProperty( "dependency." + i + ".optional" ) ) );
- versionMetadata.addDependency( dependency );
- }
- else
- {
- done = true;
+ String mailingListName = properties.getProperty( "mailingList." + i + ".name" );
+ if ( mailingListName != null )
+ {
+ MailingList mailingList = new MailingList();
+ mailingList.setName( mailingListName );
+ mailingList.setMainArchiveUrl( properties.getProperty( "mailingList." + i + ".archive" ) );
+ String p = properties.getProperty( "mailingList." + i + ".otherArchives" );
+ if ( p != null && p.length() > 0 )
+ {
+ mailingList.setOtherArchives( Arrays.asList( p.split( "," ) ) );
+ }
+ else
+ {
+ mailingList.setOtherArchives( Collections.<String>emptyList() );
+ }
+ mailingList.setPostAddress( properties.getProperty( "mailingList." + i + ".post" ) );
+ mailingList.setSubscribeAddress( properties.getProperty( "mailingList." + i + ".subscribe" ) );
+ mailingList.setUnsubscribeAddress(
+ properties.getProperty( "mailingList." + i + ".unsubscribe" ) );
+ versionMetadata.addMailingList( mailingList );
+ }
+ else
+ {
+ done = true;
+ }
+ i++;
}
- i++;
- }
- String facetIds = properties.getProperty( "facetIds", "" );
- if ( facetIds.length() > 0 )
- {
- for ( String facetId : facetIds.split( "," ) )
+ done = false;
+ i = 0;
+ while ( !done )
{
- MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
- if ( factory == null )
+ String dependencyArtifactId = properties.getProperty( "dependency." + i + ".artifactId" );
+ if ( dependencyArtifactId != null )
{
- log.error( "Attempted to load unknown project version metadata facet: {}", facetId );
+ Dependency dependency = new Dependency();
+ dependency.setArtifactId( dependencyArtifactId );
+ dependency.setGroupId( properties.getProperty( "dependency." + i + ".groupId" ) );
+ dependency.setClassifier( properties.getProperty( "dependency." + i + ".classifier" ) );
+ dependency.setOptional(
+ Boolean.valueOf( properties.getProperty( "dependency." + i + ".optional" ) ) );
+ dependency.setScope( properties.getProperty( "dependency." + i + ".scope" ) );
+ dependency.setSystemPath( properties.getProperty( "dependency." + i + ".systemPath" ) );
+ dependency.setType( properties.getProperty( "dependency." + i + ".type" ) );
+ dependency.setVersion( properties.getProperty( "dependency." + i + ".version" ) );
+ dependency.setOptional(
+ Boolean.valueOf( properties.getProperty( "dependency." + i + ".optional" ) ) );
+ versionMetadata.addDependency( dependency );
}
else
{
- MetadataFacet facet = factory.createMetadataFacet();
- Map<String, String> map = new HashMap<>();
- for ( Object key : new ArrayList( properties.keySet() ) )
+ done = true;
+ }
+ i++;
+ }
+
+ String facetIds = properties.getProperty( "facetIds", "" );
+ if ( facetIds.length() > 0 )
+ {
+ for ( String facetId : facetIds.split( "," ) )
+ {
+ MetadataFacetFactory factory = metadataFacetFactories.get( facetId );
+ if ( factory == null )
{
- String property = (String) key;
- if ( property.startsWith( facet.getFacetId() ) )
+ log.error( "Attempted to load unknown project version metadata facet: {}", facetId );
+ }
+ else
+ {
+ MetadataFacet facet = factory.createMetadataFacet();
+ Map<String, String> map = new HashMap<>();
+ for ( Object key : new ArrayList( properties.keySet() ) )
{
- map.put( property.substring( facet.getFacetId().length() + 1 ),
- properties.getProperty( property ) );
+ String property = (String) key;
+ if ( property.startsWith( facet.getFacetId() ) )
+ {
+ map.put( property.substring( facet.getFacetId().length() + 1 ),
+ properties.getProperty( property ) );
+ }
}
+ facet.fromProperties( map );
+ versionMetadata.addFacet( facet );
}
- facet.fromProperties( map );
- versionMetadata.addFacet( facet );
}
}
- }
- updateProjectVersionFacets( versionMetadata, properties );
+ updateProjectVersionFacets( versionMetadata, properties );
+ }
+ return versionMetadata;
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return versionMetadata;
}
@Override
public Collection<String> getArtifactVersions( String repoId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+ try
+ {
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- Set<String> versions = new HashSet<String>();
- for ( Map.Entry entry : properties.entrySet() )
- {
- String name = (String) entry.getKey();
- if ( name.startsWith( "artifact:version:" ) )
+ Set<String> versions = new HashSet<String>();
+ for ( Map.Entry entry : properties.entrySet() )
{
- versions.add( (String) entry.getValue() );
+ String name = (String) entry.getKey();
+ if ( name.startsWith( "artifact:version:" ) )
+ {
+ versions.add( (String) entry.getValue() );
+ }
}
+ return versions;
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return versions;
}
@Override
public Collection<ProjectVersionReference> getProjectReferences( String repoId, String namespace, String projectId,
String projectVersion )
+ throws MetadataResolutionException
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+ try
+ {
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
- int numberOfRefs = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1;
+ Properties properties = readOrCreateProperties( directory, PROJECT_VERSION_METADATA_KEY );
+ int numberOfRefs = Integer.parseInt( properties.getProperty( "ref:lastReferenceNum", "-1" ) ) + 1;
- List<ProjectVersionReference> references = new ArrayList<>();
- for ( int i = 0; i < numberOfRefs; i++ )
+ List<ProjectVersionReference> references = new ArrayList<>();
+ for ( int i = 0; i < numberOfRefs; i++ )
+ {
+ ProjectVersionReference reference = new ProjectVersionReference();
+ reference.setProjectId( properties.getProperty( "ref:reference." + i + ".projectId" ) );
+ reference.setNamespace( properties.getProperty( "ref:reference." + i + ".namespace" ) );
+ reference.setProjectVersion( properties.getProperty( "ref:reference." + i + ".projectVersion" ) );
+ reference.setReferenceType( ProjectVersionReference.ReferenceType.valueOf(
+ properties.getProperty( "ref:reference." + i + ".referenceType" ) ) );
+ references.add( reference );
+ }
+ return references;
+ }
+ catch ( IOException e )
{
- ProjectVersionReference reference = new ProjectVersionReference();
- reference.setProjectId( properties.getProperty( "ref:reference." + i + ".projectId" ) );
- reference.setNamespace( properties.getProperty( "ref:reference." + i + ".namespace" ) );
- reference.setProjectVersion( properties.getProperty( "ref:reference." + i + ".projectVersion" ) );
- reference.setReferenceType( ProjectVersionReference.ReferenceType.valueOf(
- properties.getProperty( "ref:reference." + i + ".referenceType" ) ) );
- references.add( reference );
- }
- return references;
+ throw new MetadataResolutionException( e.getMessage(), e );
+ }
}
@Override
public Collection<String> getRootNamespaces( String repoId )
+ throws MetadataResolutionException
{
return getNamespaces( repoId, null );
}
@Override
public Collection<String> getNamespaces( String repoId, String baseNamespace )
+ throws MetadataResolutionException
{
- List<String> allNamespaces = new ArrayList<>();
- File directory = getDirectory( repoId );
- File[] files = directory.listFiles();
- if ( files != null )
+ try
{
- for ( File namespace : files )
+ List<String> allNamespaces = new ArrayList<>();
+ File directory = getDirectory( repoId );
+ File[] files = directory.listFiles();
+ if ( files != null )
{
- if ( new File( namespace, NAMESPACE_METADATA_KEY + ".properties" ).exists() )
+ for ( File namespace : files )
{
- allNamespaces.add( namespace.getName() );
+ if ( new File( namespace, NAMESPACE_METADATA_KEY + ".properties" ).exists() )
+ {
+ allNamespaces.add( namespace.getName() );
+ }
}
}
- }
- Set<String> namespaces = new LinkedHashSet<>();
- int fromIndex = baseNamespace != null ? baseNamespace.length() + 1 : 0;
- for ( String namespace : allNamespaces )
- {
- if ( baseNamespace == null || namespace.startsWith( baseNamespace + "." ) )
+ Set<String> namespaces = new LinkedHashSet<>();
+ int fromIndex = baseNamespace != null ? baseNamespace.length() + 1 : 0;
+ for ( String namespace : allNamespaces )
{
- int i = namespace.indexOf( '.', fromIndex );
- if ( i >= 0 )
- {
- namespaces.add( namespace.substring( fromIndex, i ) );
- }
- else
+ if ( baseNamespace == null || namespace.startsWith( baseNamespace + "." ) )
{
- namespaces.add( namespace.substring( fromIndex ) );
+ int i = namespace.indexOf( '.', fromIndex );
+ if ( i >= 0 )
+ {
+ namespaces.add( namespace.substring( fromIndex, i ) );
+ }
+ else
+ {
+ namespaces.add( namespace.substring( fromIndex ) );
+ }
}
}
+ return new ArrayList<>( namespaces );
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return new ArrayList<>( namespaces );
}
@Override
public Collection<String> getProjects( String repoId, String namespace )
+ throws MetadataResolutionException
{
- List<String> projects = new ArrayList<>();
- File directory = new File( getDirectory( repoId ), namespace );
- File[] files = directory.listFiles();
- if ( files != null )
+ try
{
- for ( File project : files )
+ List<String> projects = new ArrayList<>();
+ File directory = new File( getDirectory( repoId ), namespace );
+ File[] files = directory.listFiles();
+ if ( files != null )
{
- if ( new File( project, PROJECT_METADATA_KEY + ".properties" ).exists() )
+ for ( File project : files )
{
- projects.add( project.getName() );
+ if ( new File( project, PROJECT_METADATA_KEY + ".properties" ).exists() )
+ {
+ projects.add( project.getName() );
+ }
}
}
+ return projects;
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return projects;
}
@Override
public Collection<String> getProjectVersions( String repoId, String namespace, String projectId )
+ throws MetadataResolutionException
{
- List<String> projectVersions = new ArrayList<>();
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId );
- File[] files = directory.listFiles();
- if ( files != null )
+ try
{
- for ( File projectVersion : files )
+ List<String> projectVersions = new ArrayList<>();
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId );
+ File[] files = directory.listFiles();
+ if ( files != null )
{
- if ( new File( projectVersion, PROJECT_VERSION_METADATA_KEY + ".properties" ).exists() )
+ for ( File projectVersion : files )
{
- projectVersions.add( projectVersion.getName() );
+ if ( new File( projectVersion, PROJECT_VERSION_METADATA_KEY + ".properties" ).exists() )
+ {
+ projectVersions.add( projectVersion.getName() );
+ }
}
}
+ return projectVersions;
+ }
+ catch ( IOException e )
+ {
+ throw new MetadataResolutionException( e.getMessage(), e );
}
- return projectVersions;
}
@Override
public void removeProject( String repositoryId, String namespace, String projectId )
throws MetadataRepositoryException
{
- File directory = new File( getDirectory( repositoryId ), namespace + "/" + projectId );
try
{
- if ( directory.exists() )
- {
- FileUtils.deleteDirectory( directory );
- }
+ File directory = new File( getDirectory( repositoryId ), namespace + "/" + projectId );
+ Files.deleteIfExists( directory.toPath() );
}
catch ( IOException e )
{
@@ -1242,18 +1370,16 @@ public class FileMetadataRepository
public void removeProjectVersion( String repoId, String namespace, String projectId, String projectVersion )
throws MetadataRepositoryException
{
- File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- if ( directory.exists() )
+ try
{
- try
- {
- FileUtils.deleteDirectory( directory );
- }
- catch ( IOException e )
- {
- throw new MetadataRepositoryException( e.getMessage(), e );
- }
+ File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
+ Files.deleteIfExists( directory.toPath() );
}
+ catch ( IOException e )
+ {
+ throw new MetadataRepositoryException( e.getMessage(), e );
+ }
+
}
private void writeProperties( Properties properties, File directory, String propertiesKey )
@@ -1290,16 +1416,25 @@ public class FileMetadataRepository
@Override
public List<ArtifactMetadata> getArtifacts( String repoId )
+ throws MetadataRepositoryException
{
- List<ArtifactMetadata> artifacts = new ArrayList<>();
- for ( String ns : getRootNamespaces( repoId ) )
+ try
+ {
+ List<ArtifactMetadata> artifacts = new ArrayList<>();
+ for ( String ns : getRootNamespaces( repoId ) )
+ {
+ getArtifacts( artifacts, repoId, ns );
+ }
+ return artifacts;
+ }
+ catch ( MetadataResolutionException e )
{
- getArtifacts( artifacts, repoId, ns );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
- return artifacts;
}
private void getArtifacts( List<ArtifactMetadata> artifacts, String repoId, String ns )
+ throws MetadataResolutionException
{
for ( String namespace : getNamespaces( repoId, ns ) )
{
[4/6] archiva git commit: ooops fix compilation
Posted by ol...@apache.org.
ooops fix compilation
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/a3998569
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/a3998569
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/a3998569
Branch: refs/heads/master
Commit: a39985692c55c85394deb4a075d9de2c066ff2f5
Parents: b195fa3
Author: Olivier Lamy <ol...@apache.org>
Authored: Wed Oct 7 12:08:47 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Wed Oct 7 12:08:47 2015 +1100
----------------------------------------------------------------------
.../repository/file/FileMetadataRepository.java | 21 +++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/a3998569/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
index 2da1a5b..da3c444 100644
--- a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
+++ b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
@@ -453,16 +453,23 @@ public class FileMetadataRepository
public List<ArtifactMetadata> getArtifactsByDateRange( String repoId, Date startTime, Date endTime )
throws MetadataRepositoryException
{
- // TODO: this is quite slow - if we are to persist with this repository implementation we should build an index
- // of this information (eg. in Lucene, as before)
+ try
+ {
+ // TODO: this is quite slow - if we are to persist with this repository implementation we should build an index
+ // of this information (eg. in Lucene, as before)
- List<ArtifactMetadata> artifacts = new ArrayList<>();
- for ( String ns : getRootNamespaces( repoId ) )
+ List<ArtifactMetadata> artifacts = new ArrayList<>();
+ for ( String ns : getRootNamespaces( repoId ) )
+ {
+ getArtifactsByDateRange( artifacts, repoId, ns, startTime, endTime );
+ }
+ Collections.sort( artifacts, new ArtifactComparator() );
+ return artifacts;
+ }
+ catch ( MetadataResolutionException e )
{
- getArtifactsByDateRange( artifacts, repoId, ns, startTime, endTime );
+ throw new MetadataRepositoryException( e.getMessage(), e );
}
- Collections.sort( artifacts, new ArtifactComparator() );
- return artifacts;
}
private void getArtifactsByDateRange( List<ArtifactMetadata> artifacts, String repoId, String ns, Date startTime,
[5/6] archiva git commit: ooops fix compilation
Posted by ol...@apache.org.
ooops fix compilation
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/b2ced491
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/b2ced491
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/b2ced491
Branch: refs/heads/master
Commit: b2ced491a9b1d7d3b446142ce743d28c1ae4d50e
Parents: a399856
Author: Olivier Lamy <ol...@apache.org>
Authored: Wed Oct 7 12:19:27 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Wed Oct 7 12:19:27 2015 +1100
----------------------------------------------------------------------
.../repository/file/FileMetadataRepository.java | 21 ++++++--------------
1 file changed, 6 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/b2ced491/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
----------------------------------------------------------------------
diff --git a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
index da3c444..2cea31c 100644
--- a/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
+++ b/archiva-modules/plugins/metadata-store-file/src/main/java/org/apache/archiva/metadata/repository/file/FileMetadataRepository.java
@@ -420,10 +420,7 @@ public class FileMetadataRepository
try
{
File dir = getMetadataDirectory( repositoryId, facetId );
- if ( !Files.deleteIfExists( dir.toPath() ) )
- {
- log.error( "Cannot delete the metadata repository {}", dir );
- }
+ FileUtils.deleteDirectory( dir );
}
catch ( IOException e )
{
@@ -438,10 +435,7 @@ public class FileMetadataRepository
try
{
File dir = new File( getMetadataDirectory( repoId, facetId ), name );
- if ( !Files.deleteIfExists( dir.toPath() ) )
- {
- log.error( "Cannot delete the metadata repository {}", dir );
- }
+ FileUtils.deleteDirectory( dir );
}
catch ( IOException e )
{
@@ -778,7 +772,7 @@ public class FileMetadataRepository
}
}
- Files.deleteIfExists( directory.toPath() );
+ FileUtils.deleteDirectory( directory );
//writeProperties( properties, directory, PROJECT_VERSION_METADATA_KEY );
}
catch ( IOException e )
@@ -812,10 +806,7 @@ public class FileMetadataRepository
try
{
File dir = getDirectory( repoId );
- if ( !Files.deleteIfExists( dir.toPath() ) )
- {
- log.error( "Cannot delete repository {}", dir );
- }
+ FileUtils.deleteDirectory( dir );
}
catch ( IOException e )
{
@@ -1365,7 +1356,7 @@ public class FileMetadataRepository
try
{
File directory = new File( getDirectory( repositoryId ), namespace + "/" + projectId );
- Files.deleteIfExists( directory.toPath() );
+ FileUtils.deleteDirectory( directory );
}
catch ( IOException e )
{
@@ -1380,7 +1371,7 @@ public class FileMetadataRepository
try
{
File directory = new File( getDirectory( repoId ), namespace + "/" + projectId + "/" + projectVersion );
- Files.deleteIfExists( directory.toPath() );
+ FileUtils.deleteDirectory( directory );
}
catch ( IOException e )
{
[6/6] archiva git commit: make easy testing for archetype
Posted by ol...@apache.org.
make easy testing for archetype
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/795d6d39
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/795d6d39
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/795d6d39
Branch: refs/heads/master
Commit: 795d6d3957fd5b8e657ff0d46a165ea9a8723139
Parents: b2ced49
Author: Olivier Lamy <ol...@apache.org>
Authored: Wed Oct 7 13:46:19 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Wed Oct 7 13:46:19 2015 +1100
----------------------------------------------------------------------
.../src/main/java/SimpleArtifactConsumer.java | 4 ++--
.../src/test/java/SimpleArtifactConsumerTest.java | 6 +-----
2 files changed, 3 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/795d6d39/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
index 877a5c2..9c9a41e 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/main/java/SimpleArtifactConsumer.java
@@ -101,7 +101,7 @@ public class SimpleArtifactConsumer
throws ConsumerException
{
this.repository = repository;
- log.info( "Beginning scan of repository [" + this.repository.getId() + "]" );
+ log.info( "Beginning scan of repository [{}]", this.repository.getId() );
repositorySession = repositorySessionFactory.createSession();
}
@@ -115,7 +115,7 @@ public class SimpleArtifactConsumer
public void processFile( String path, boolean executeOnEntireRepo )
throws ConsumerException
{
- log.info( "Processing entry [" + path + "] from repository [" + this.repository.getId() + "]" );
+ log.info( "Processing entry [{}] from repository [{}]", path, this.repository.getId() );
try
{
http://git-wip-us.apache.org/repos/asf/archiva/blob/795d6d39/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
index 1b44182..f8a9dd3 100644
--- a/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
+++ b/archiva-modules/archiva-base/archiva-consumers/archiva-consumer-archetype/src/main/resources/archetype-resources/src/test/java/SimpleArtifactConsumerTest.java
@@ -99,11 +99,7 @@ public class SimpleArtifactConsumerTest
consumer.beginScan( testRepository, new Date() );
consumer.processFile( "org/simple/test/testartifact/testartifact/1.0/testartifact-1.0.pom" );
consumer.processFile( "org/simple/test/testartifact/testartifact/1.1/testartifact-1.1.pom" );
-
- verify( metadataRepository ).getArtifacts( testRepository.getId(), "org.simple.test.testartifact",
- "testartifact", "1.0" );
- verify( metadataRepository ).getArtifacts( testRepository.getId(), "org.simple.test.testartifact",
- "testartifact", "1.1" );
+
}
}
[2/6] archiva git commit: revert wrong change
Posted by ol...@apache.org.
revert wrong change
Project: http://git-wip-us.apache.org/repos/asf/archiva/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva/commit/68acaa28
Tree: http://git-wip-us.apache.org/repos/asf/archiva/tree/68acaa28
Diff: http://git-wip-us.apache.org/repos/asf/archiva/diff/68acaa28
Branch: refs/heads/master
Commit: 68acaa287c3f3f51d9fe14672892065eb17496e8
Parents: aabbc2d
Author: Olivier Lamy <ol...@apache.org>
Authored: Tue Oct 6 17:31:51 2015 +1100
Committer: Olivier Lamy <ol...@apache.org>
Committed: Tue Oct 6 17:31:51 2015 +1100
----------------------------------------------------------------------
.../archiva/admin/repository/AbstractRepositoryAdminTest.java | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva/blob/68acaa28/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
----------------------------------------------------------------------
diff --git a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
index e081c78..96d217d 100644
--- a/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
+++ b/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/test/java/org/apache/archiva/admin/repository/AbstractRepositoryAdminTest.java
@@ -71,7 +71,6 @@ public abstract class AbstractRepositoryAdminTest
protected ManagedRepositoryAdmin managedRepositoryAdmin;
@Inject
- @Named("proxyConnectorAdmin#default")
protected ProxyConnectorAdmin proxyConnectorAdmin;
@Inject