* plexus.requirement
*/
@Inject
- @Named(value = "repositoryContentFactory#default")
+ @Named( value = "repositoryContentFactory#default" )
private RepositoryContentFactory repositoryFactory;
/**
* plexus.requirement
*/
@Inject
- @Named(value="metadataTools#default")
+ @Named( value = "metadataTools#default" )
private MetadataTools metadataTools;
@Inject
{
for ( Entry<String, ? extends DownloadPolicy> entry : policies.entrySet() )
{
- String key = entry.getKey();
+ // olamy with spring rolehint is now downloadPolicy#hint
+ // so substring after last # to get the hint as with plexus
+ String key = StringUtils.substringAfterLast( entry.getKey(), "#" );
DownloadPolicy policy = entry.getValue();
String defaultSetting = policy.getDefaultOption();
+
String setting = StringUtils.defaultString( settings.get( key ), defaultSetting );
log.debug( "Applying [{}] policy with [{}]", key, setting );
}
protected void setManagedNewerThanRemote( File managedFile, File remoteFile )
+ {
+ setManagedNewerThanRemote(managedFile, remoteFile, 55000);
+ }
+
+ protected void setManagedNewerThanRemote( File managedFile, File remoteFile, long time )
{
assertTrue( "Managed File should exist: ", managedFile.exists() );
assertTrue( "Remote File should exist: ", remoteFile.exists() );
- managedFile.setLastModified( remoteFile.lastModified() + 55000 );
+ managedFile.setLastModified( remoteFile.lastModified() + time );
+
+ assertTrue( managedFile.lastModified() > remoteFile.lastModified() );
}
protected void setManagedOlderThanRemote( File managedFile, File remoteFile )
+ {
+ setManagedOlderThanRemote(managedFile, remoteFile, 55000 );
+ }
+
+ protected void setManagedOlderThanRemote( File managedFile, File remoteFile, long time )
{
assertTrue( "Managed File should exist: ", managedFile.exists() );
assertTrue( "Remote File should exist: ", remoteFile.exists() );
- managedFile.setLastModified( remoteFile.lastModified() - 55000 );
+ managedFile.setLastModified( remoteFile.lastModified() - time );
+
+ assertTrue( managedFile.lastModified() < remoteFile.lastModified() );
+
}
protected void assertNotModified( File file, long expectedModificationTime )
import org.apache.maven.archiva.configuration.Configuration;
import org.apache.maven.archiva.configuration.ConfigurationListener;
import org.apache.maven.archiva.configuration.FileType;
+import org.apache.maven.archiva.configuration.FileTypes;
import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
import org.apache.maven.archiva.repository.ManagedRepositoryContent;
public void initialize()
throws Exception
{
+
configuration.setRepositoryScanning( new RepositoryScanningConfiguration()
{
@Override
public List<FileType> getFileTypes()
{
- return Collections.emptyList();
+ FileType fileType = new FileType();
+ fileType.setId( FileTypes.ARTIFACTS );
+ fileType.setPatterns( Collections.singletonList( "**/*" ) );
+ return Collections.singletonList( fileType );
}
} );
}
File expectedFile = new File( managedDefaultDir, path );
File remoteFile = new File( REPOPATH_PROXIED1, path );
- setManagedNewerThanRemote( expectedFile, remoteFile );
+ setManagedNewerThanRemote( expectedFile, remoteFile, 12000000 );
long expectedTimestamp = expectedFile.lastModified();
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path );
<groupId>org.apache.archiva</groupId>
<artifactId>metadata-repository-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
<artifactId>metadata-repository-api</artifactId>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
import javax.jcr.NamespaceRegistry;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.nodetype.NodeTypeTemplate;
import javax.jcr.query.Query;
import javax.jcr.query.QueryResult;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
/**
* @todo below: revise storage format for project version metadata
private final Map<String, MetadataFacetFactory> metadataFacetFactories;
- private static final Logger log = LoggerFactory.getLogger( JcrMetadataRepository.class );
+ private Logger log = LoggerFactory.getLogger( JcrMetadataRepository.class );
private Repository repository;
MetadataFacetFactory factory = metadataFacetFactories.get( name );
if ( factory == null )
{
- log.error( "Attempted to load unknown project version metadata facet: " + name );
+ log.error( "Attempted to load unknown project version metadata facet: {}", name );
}
else
{
import org.apache.archiva.metadata.repository.MetadataResolver;
import org.apache.archiva.metadata.repository.RepositorySession;
import org.apache.archiva.metadata.repository.RepositorySessionFactory;
+import org.apache.commons.lang.StringUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import javax.inject.Inject;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
+import java.util.HashMap;
import java.util.Map;
/**
public void initialize()
{
metadataFacetFactories = applicationContext.getBeansOfType( MetadataFacetFactory.class );
+ // olamy with spring the "id" is now "metadataFacetFactory#hint"
+ // whereas was only hint with plexus so let remove metadataFacetFactory#
+ Map<String, MetadataFacetFactory> cleanedMetadataFacetFactories =
+ new HashMap<String, MetadataFacetFactory>( metadataFacetFactories.size() );
+
+ for ( Map.Entry<String, MetadataFacetFactory> entry : metadataFacetFactories.entrySet() )
+ {
+ cleanedMetadataFacetFactories.put( StringUtils.substringAfterLast( entry.getKey(), "#" ),
+ entry.getValue() );
+ }
+
+ metadataFacetFactories = cleanedMetadataFacetFactories;
JcrMetadataRepository metadataRepository = null;
try