Author: oching
Date: Sun Jul 11 04:51:12 2010
New Revision: 962979
URL: http://svn.apache.org/viewvc?rev=962979&view=rev
Log:
[MRM-980] remove old classes for repo merge
submitted by Patti Arachchige Eshan Sudharaka
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repodetails/SourceAritfacts.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMerger.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repodetails/SourceArtifactsTest.java
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMergerTest.java
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repodetails/SourceAritfacts.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repodetails/SourceAritfacts.java?rev=962979&r1=962978&r2=962979&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repodetails/SourceAritfacts.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repodetails/SourceAritfacts.java
Sun Jul 11 04:51:12 2010
@@ -1,161 +0,0 @@
-package org.apache.archiva.stagerepository.merge.repodetails;
-
-/*
- * 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.metadata.repository.MetadataResolver;
-import
org.apache.archiva.metadata.repository.storage.maven2.MavenArtifactFacet;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-
-import java.util.List;
-import java.util.Collection;
-import java.util.ArrayList;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @plexus.component
role="org.apache.archiva.stagerepository.merge.repodetails.SourceAritfacts"
- */
-public class SourceAritfacts
-{
-
- /**
- * @plexus.requirement
- */
- private MetadataResolver metadataResolver;
-
- private ArrayList<String> rootNameSpacesList;
-
- private ArrayList<String> gruopIdList;
-
- private ArrayList<String> artifactsList;
-
- private ArrayList<String> artifactsVersionsList;
-
- private List<ArchivaArtifact> artifactsListWithDetails;
-
- private String repoId;
-
- private static final Logger log = LoggerFactory.getLogger(
SourceAritfacts.class );
-
- public String getRepoId()
- {
- return repoId;
- }
-
- public void setRepoId( String repoId )
- {
- this.repoId = repoId;
- }
-
- // this methos returns a ArtifactMetaData List.(i guess no harm due to
hardcoding the Artifact type and version)
- public Collection<ArtifactMetadata> getSourceArtifactsMetaData(
ArchivaArtifact artifact )
- {
-
- return metadataResolver.getArtifacts( artifact.getRepositoryId(),
artifact.getGroupId(),
- artifact.getArtifactId(),
artifact.getVersion() );
- }
-
- public Collection<ArchivaArtifact> getSourceArtifactList()
- {
- artifactsListWithDetails = new ArrayList<ArchivaArtifact>();
-
- process();
-
- return artifactsListWithDetails;
- }
-
- public void setMetadataResolver( MetadataResolver metadataResolver )
- {
- this.metadataResolver = metadataResolver;
- }
-
- private void process()
- {
- // this will get the root name spaces eg : org, com
- rootNameSpacesList = (ArrayList<String>)
metadataResolver.getRootNamespaces( repoId );
-
- gruopIdList = new ArrayList<String>();
-
- artifactsList = new ArrayList<String>();
-
- // following iterates through the root name spaces list and get the
gruo id of relavet root name spaces.
- for ( String namespace : rootNameSpacesList )
- {
- // this will get the gruop id list of relavant name space . eg :
org > archiva(gruop id)
- gruopIdList = (ArrayList<String>) metadataResolver.getNamespaces(
repoId, namespace );
-
- // following will iterates through the particular gruop id 's
- for ( String gruopId : gruopIdList )
- {
- // parse the parameters "repoId" and "namespace + gruop id "to
artifacts list. eg : params = ("internal"
- // , "org.archiva")
- artifactsList = (ArrayList<String>)
metadataResolver.getNamespaces( repoId, namespace + "." + gruopId );
-
- for ( String artifact : artifactsList )
- {
- // iterates through the artifacts and get the available
versions of a particular artifact
- artifactsVersionsList =
- (ArrayList<String>)
metadataResolver.getProjectVersions( repoId, namespace + "." + gruopId,
-
artifact );
-
- for ( String version : artifactsVersionsList )
- {
- // assign gathered attributes Artifact object and add
it in to the list
- artifactsListWithDetails.addAll( getArtifactMetadata(
repoId, gruopId, artifact, version ) );
-
- }
- }
- }
- }
-
- }
-
- private Collection<ArchivaArtifact> getArtifactMetadata( String repoId,
String gruopId, String artifactId,
- String version )
- {
- MavenArtifactFacet facet = null;
-
- List<ArchivaArtifact> artifactList = new ArrayList<ArchivaArtifact>();
-
- ArrayList<ArtifactMetadata> artifactMetaDataList =
- (ArrayList<ArtifactMetadata>) metadataResolver.getArtifacts(
repoId, gruopId, artifactId, version );
-
- for ( ArtifactMetadata artifactMetadata : artifactMetaDataList )
- {
-
- facet = (MavenArtifactFacet) artifactMetadata.getFacet(
MavenArtifactFacet.FACET_ID );
-
- if ( facet != null )
- {
- artifactList.add( new ArchivaArtifact( gruopId, artifactId,
version, facet.getClassifier(),
- facet.getType(), repoId
) );
-
- }
- else
- {
- artifactList.add( new ArchivaArtifact( gruopId, artifactId,
version, "", "jar", repoId ) );
- }
-
- }
- return artifactList;
- }
-}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMerger.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMerger.java?rev=962979&r1=962978&r2=962979&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMerger.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/main/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMerger.java
Sun Jul 11 04:51:12 2010
@@ -1,407 +0,0 @@
-package org.apache.archiva.stagerepository.merge.repomerge;
-
-/*
- * 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.stagerepository.merge.repodetails.SourceAritfacts;
-import org.apache.archiva.metadata.repository.MetadataResolver;
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.maven.archiva.model.ArchivaRepositoryMetadata;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.repository.ManagedRepositoryContent;
-import org.apache.maven.archiva.repository.RepositoryContentFactory;
-import org.apache.maven.archiva.repository.RepositoryNotFoundException;
-import org.apache.maven.archiva.repository.RepositoryException;
-import org.apache.maven.archiva.repository.metadata.MetadataTools;
-import
org.apache.maven.archiva.repository.metadata.RepositoryMetadataException;
-import org.apache.maven.archiva.repository.metadata.RepositoryMetadataReader;
-import org.apache.maven.archiva.repository.metadata.RepositoryMetadataWriter;
-import org.apache.maven.archiva.common.utils.VersionComparator;
-import org.apache.maven.archiva.common.utils.VersionUtil;
-
-import java.util.*;
-import java.io.File;
-import java.io.IOException;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-
-/**
- * @plexus.component
role="org.apache.archiva.stagerepository.merge.repomerge.ArtifactsMerger"
- */
-public class ArtifactsMerger
-{
-
- /**
- * @plexus.requirement
- */
- private MetadataResolver metadataResolver;
-
- /**
- * @plexus.requirement
- */
- private RepositoryContentFactory repositoryFactory;
-
- /**
- * @plexus.requirement role-hint="default"
- */
- private ArchivaConfiguration configuration;
-
- private SourceAritfacts sourceArtifacts;
-
- private String targetRepo;
-
- private String sourceRepo;
-
- private ArrayList<ArchivaArtifact> sourceArtifactsList;
-
- private Configuration config;
-
- private ManagedRepositoryConfiguration targetRepoConfig;
-
- private ManagedRepositoryConfiguration sourceRepoConfig;
-
- private ManagedRepositoryContent targetRepository;
-
- private ManagedRepositoryContent sourceRepository;
-
- private final static String PATH_SEPERATOR = "/";
-
- public void setMetadataResolver( MetadataResolver metadataResolver )
- {
- this.metadataResolver = metadataResolver;
- }
-
- public void setSourceArtifacts( SourceAritfacts sourceArtifacts )
- {
- this.sourceArtifacts = sourceArtifacts;
- setSourceArtifactsList();
- }
-
- public void setConfiguration( ArchivaConfiguration configuration )
- {
- this.configuration = configuration;
- }
-
- public void setRepositoryFactory( RepositoryContentFactory
repositoryFactory )
- {
- this.repositoryFactory = repositoryFactory;
- }
-
- public ArtifactsMerger( String targetRepo, String sourceRepo )
- {
- this.targetRepo = targetRepo;
- this.sourceRepo = sourceRepo;
-
- }
-
- private void setSourceArtifactsList()
- {
- sourceArtifacts.setRepoId( sourceRepo );
- sourceArtifactsList = (ArrayList)
sourceArtifacts.getSourceArtifactList();
- }
-
- private boolean isArtifactAvailableIntagerRepo( ArchivaArtifact artifact )
- {
-
- boolean isAvailable = false;
-
- Collection<ArtifactMetadata> list =
- metadataResolver.getArtifacts( targetRepo, artifact.getGroupId(),
artifact.getArtifactId(),
- artifact.getVersion() );
-
- if ( list.isEmpty() )
- {
- isAvailable = false;
- }
- else
- {
- isAvailable = true;
- }
- return isAvailable;
- }
-
- public void doMerge()
- throws Exception
- {
- try
- {
- config = configuration.getConfiguration();
-
- targetRepoConfig = config.findManagedRepositoryById( targetRepo );
-
- targetRepository = repositoryFactory.getManagedRepositoryContent(
targetRepo );
-
- sourceRepoConfig = config.findManagedRepositoryById( sourceRepo );
-
- sourceRepository = repositoryFactory.getManagedRepositoryContent(
sourceRepo );
-
- // iterates through available arfifacts list
- for ( ArchivaArtifact sourceArtifact : sourceArtifactsList )
- {
-
- if ( isArtifactAvailableIntagerRepo( sourceArtifact ) )
- {
- // TODO here we need to implement replacing the exixting
one
- }
- else
- {
- // when the artifact does not exist in the repo folder
structure creation is done
- createFolderStructure( sourceArtifact );
- }
- }
- }
- catch ( RepositoryNotFoundException re )
- {
- throw re;
- }
- catch ( RepositoryException rep )
- {
- throw rep;
- }
- }
-
- private void createFolderStructure( ArchivaArtifact artifact )
- throws IOException, RepositoryMetadataException
- {
-
- Date lastUpdatedTimestamp = Calendar.getInstance().getTime();
-
- TimeZone timezone = TimeZone.getTimeZone( "UTC" );
-
- DateFormat fmt = new SimpleDateFormat( "yyyyMMdd.HHmmss" );
-
- fmt.setTimeZone( timezone );
-
- String timestamp = fmt.format( lastUpdatedTimestamp );
-
- String targetRepoPath = targetRepoConfig.getLocation();
-
- String sourceRepoPath = sourceRepoConfig.getLocation();
-
- String artifactPath = sourceRepository.toPath( artifact );
-
- File sourceArtifactFile = new File( sourceRepoPath, artifactPath );
-
- File targetArtifactFile = new File( targetRepoPath, artifactPath );
-
- int lastIndex = artifactPath.lastIndexOf( '/' );
-
- // create a file object to the artifact version directory eg
- //
:/boot/gsoc/apps/apache-archiva-1.4-SNAPSHOT/data/repositories/internal/ant/ant/1.5.1
- File targetFile = new File( targetRepoPath, artifactPath.substring( 0,
lastIndex ) );
-
- if ( !targetFile.exists() )
- {
- // create the folder structure when it does not exist
- targetFile.mkdirs();
- }
-
- // artifact copying
- copyFile( sourceArtifactFile, targetArtifactFile );
- // pom file copying
- String index = artifactPath.substring( lastIndex + 1 );
- int last = index.lastIndexOf( '.' );
- File sourcePomFile =
- new File( sourceRepoPath, artifactPath.substring( 0, lastIndex ) +
"/"
- + artifactPath.substring( lastIndex + 1 ).substring( 0, last )
+ ".pom" );
- File targetPomFile =
- new File( targetRepoPath, artifactPath.substring( 0, lastIndex ) +
"/"
- + artifactPath.substring( lastIndex + 1 ).substring( 0, last )
+ ".pom" );
-
- if ( !targetPomFile.exists() )
- {
- copyFile( sourcePomFile, targetPomFile );
- }
-
- // explicitly update only if metadata-updater consumer is not enabled!
- if (
!config.getRepositoryScanning().getKnownContentConsumers().contains(
"metadata-updater" ) )
- {
-
- // maven version meta data file copying
-
- File versionMetadataFileInSourceArtifact =
- new File( sourceRepoPath, artifactPath.substring( 0, lastIndex
) + "/" + MetadataTools.MAVEN_METADATA );
-
- File versionMetadataFileInTargetArtifact = null;
-
- // check metadata xml is available in source repo. if there is a
metadata xml we are going to merge is as
- // well
- if ( versionMetadataFileInSourceArtifact.exists() )
- {
- versionMetadataFileInTargetArtifact =
- new File( targetRepoPath, artifactPath.substring( 0,
lastIndex ) + "/"
- + MetadataTools.MAVEN_METADATA );
-
- // check metadata xml is available in target repo. if it is
not available copy it from the source
- // artifact
- if ( !versionMetadataFileInTargetArtifact.exists() )
- {
- copyFile( versionMetadataFileInSourceArtifact,
versionMetadataFileInTargetArtifact );
- }
- else
- {
- // if version metadata file exists then update it.
- updateVersionMetadata(
versionMetadataFileInTargetArtifact, artifact, lastUpdatedTimestamp,
- timestamp );
- }
- }
-
- // project level maven meta data xml copying
- String projectDirectoryInSourceRepo =
- new File( versionMetadataFileInSourceArtifact.getParent()
).getParent();
- File projectMetadataFileInSourceArtifact =
- new File( projectDirectoryInSourceRepo,
MetadataTools.MAVEN_METADATA );
-
- // check metadata xml is available in source repo. if there is a
metadata xml we are going to merge is as
- // well
- if ( projectMetadataFileInSourceArtifact.exists() )
- {
-
- String projectDirectoryInTargetRepo =
- new File( versionMetadataFileInTargetArtifact.getParent()
).getParent();
- File projectMetadataFileInTargetArtifact =
- new File( projectDirectoryInTargetRepo,
MetadataTools.MAVEN_METADATA );
- // check metadata xml is available in target repo.if it is not
available copy it from the source
- // artifact
- if ( !projectMetadataFileInTargetArtifact.exists() )
- {
- copyFile( projectMetadataFileInSourceArtifact,
projectMetadataFileInTargetArtifact );
- }
- else
- {
- // // if project metadata file exists then update it.
- updateProjectMetadata(
projectMetadataFileInTargetArtifact, artifact, lastUpdatedTimestamp,
- timestamp );
- }
- }
- }
- }
-
- private void copyFile( File sourceFile, File targetFile )
- throws IOException
- {
-
- FileOutputStream out = new FileOutputStream( targetFile );
- FileInputStream input = new FileInputStream( sourceFile );
-
- try
- {
- int i;
- while ( ( i = input.read() ) != -1 )
- {
- out.write( i );
- }
- out.flush();
- }
- finally
- {
- out.close();
- input.close();
- }
- }
-
- /**
- * Update artifact level metadata.
- */
- private void updateProjectMetadata( File projectMetaDataFileIntargetRepo,
ArchivaArtifact artifact,
- Date lastUpdatedTimestamp, String
timestamp )
- throws RepositoryMetadataException
- {
- ArrayList<String> availableVersions = new ArrayList<String>();
- String latestVersion = "";
-
- ArchivaRepositoryMetadata projectMetadata = getMetadata(
projectMetaDataFileIntargetRepo );
-
- if ( projectMetaDataFileIntargetRepo.exists() )
- {
- availableVersions = (ArrayList<String>)
projectMetadata.getAvailableVersions();
-
- Collections.sort( availableVersions,
VersionComparator.getInstance() );
-
- if ( !availableVersions.contains( artifact.getVersion() ) )
- {
- availableVersions.add( artifact.getVersion() );
- }
-
- latestVersion = availableVersions.get( availableVersions.size() -
1 );
- }
- else
- {
- availableVersions.add( artifact.getVersion() );
- projectMetadata.setGroupId( artifact.getGroupId() );
- projectMetadata.setArtifactId( artifact.getArtifactId() );
- }
-
- if ( projectMetadata.getGroupId() == null )
- {
- projectMetadata.setGroupId( artifact.getGroupId() );
- }
-
- if ( projectMetadata.getArtifactId() == null )
- {
- projectMetadata.setArtifactId( artifact.getArtifactId() );
- }
-
- projectMetadata.setLatestVersion( latestVersion );
- projectMetadata.setAvailableVersions( availableVersions );
- projectMetadata.setLastUpdated( timestamp );
- projectMetadata.setLastUpdatedTimestamp( lastUpdatedTimestamp );
-
- if ( !VersionUtil.isSnapshot( artifact.getVersion() ) )
- {
- projectMetadata.setReleasedVersion( latestVersion );
- }
-
- RepositoryMetadataWriter.write( projectMetadata,
projectMetaDataFileIntargetRepo );
-
- }
-
- private void updateVersionMetadata( File versionMetaDataFileInTargetRepo,
ArchivaArtifact artifact,
- Date lastUpdatedTimestamp, String
timestamp )
- throws RepositoryMetadataException
- {
- ArchivaRepositoryMetadata versionMetadata = getMetadata(
versionMetaDataFileInTargetRepo );
- if ( !versionMetaDataFileInTargetRepo.exists() )
- {
- versionMetadata.setGroupId( artifact.getGroupId() );
- versionMetadata.setArtifactId( artifact.getArtifactId() );
- versionMetadata.setVersion( artifact.getVersion() );
- }
-
- // versionMetadata.getSnapshotVersion().setTimestamp(timestamp);
- versionMetadata.setLastUpdatedTimestamp( lastUpdatedTimestamp );
- RepositoryMetadataWriter.write( versionMetadata,
versionMetaDataFileInTargetRepo );
- }
-
- private ArchivaRepositoryMetadata getMetadata( File metadataFile )
- throws RepositoryMetadataException
- {
- ArchivaRepositoryMetadata metadata = new ArchivaRepositoryMetadata();
- if ( metadataFile.exists() )
- {
- metadata = RepositoryMetadataReader.read( metadataFile );
- }
- return metadata;
- }
-}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repodetails/SourceArtifactsTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repodetails/SourceArtifactsTest.java?rev=962979&r1=962978&r2=962979&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repodetails/SourceArtifactsTest.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repodetails/SourceArtifactsTest.java
Sun Jul 11 04:51:12 2010
@@ -1,134 +0,0 @@
-package org.apache.archiva.stagerepository.merge.repodetails;
-
-/*
- * 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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.junit.Test;
-
-import org.apache.archiva.metadata.repository.MetadataResolver;
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.easymock.MockControl;
-import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class SourceArtifactsTest
- extends PlexusInSpringTestCase
-{
-
- private Logger log = LoggerFactory.getLogger( SourceArtifactsTest.class );
-
- private MockControl metadataResolverControl;
-
- private MetadataResolver metadataResolver;
-
- private static final String TEST_REPO_ID = "internal";
-
- private SourceAritfacts sourceArtifacts;
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
-
- sourceArtifacts = new SourceAritfacts();
- sourceArtifacts.setRepoId( TEST_REPO_ID );
- metadataResolverControl = MockControl.createControl(
MetadataResolver.class );
- metadataResolver = (MetadataResolver)
metadataResolverControl.getMock();
- sourceArtifacts.setMetadataResolver( metadataResolver );
- }
-
- @Test
- public void testSourceArtifacts()
- {
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getRootNamespaces( TEST_REPO_ID ), getRootNameSpace() );
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getNamespaces( TEST_REPO_ID, "org" ), getNameSpace() );
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getNamespaces( TEST_REPO_ID, "org" + "." + "apache" ),
- getProject() );
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getProjectVersions( TEST_REPO_ID, "org" + "."
- + "apache", "archiva" ), getProjectVersions() );
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getArtifacts( TEST_REPO_ID, "apache", "archiva",
-
"1.6" ), getArtiFactMetaData() );
-
- metadataResolverControl.expectAndReturn(
metadataResolver.getArtifacts( TEST_REPO_ID, "apache", "archiva",
-
"1.6" ), getArtiFactMetaData() );
-
- metadataResolverControl.replay();
-
- Collection<ArchivaArtifact> list =
sourceArtifacts.getSourceArtifactList();
- assertEquals( false, list.isEmpty() );
-
- ArrayList<ArtifactMetadata> metadataList =
- (ArrayList) sourceArtifacts.getSourceArtifactsMetaData(
list.iterator().next() );
- assertEquals( 2, metadataList.size() );
-
- metadataResolverControl.verify();
-
- }
-
- private Collection<String> getRootNameSpace()
- {
- List<String> artifactList = new ArrayList<String>();
- artifactList.add( "org" );
- return artifactList;
- }
-
- private Collection<String> getNameSpace()
- {
- List<String> namespace = new ArrayList<String>();
- namespace.add( "apache" );
- return namespace;
- }
-
- private Collection<String> getProject()
- {
- List<String> namespace = new ArrayList<String>();
- namespace.add( "archiva" );
- return namespace;
- }
-
- private Collection<String> getProjectVersions()
- {
- List<String> versionList = new ArrayList<String>();
- versionList.add( "1.6" );
- return versionList;
- }
-
- private Collection<ArtifactMetadata> getArtiFactMetaData()
- {
- List<ArtifactMetadata> metaDataList = new
ArrayList<ArtifactMetadata>();
- ArtifactMetadata metaDataOne = new ArtifactMetadata();
- ArtifactMetadata metaDataTwo = new ArtifactMetadata();
- metaDataList.add( metaDataOne );
- metaDataList.add( metaDataTwo );
- return metaDataList;
- }
-}
Modified:
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMergerTest.java
URL:
http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMergerTest.java?rev=962979&r1=962978&r2=962979&view=diff
==============================================================================
---
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMergerTest.java
(original)
+++
archiva/branches/archiva-MRM-980/archiva-modules/plugins/stage-repository-merge/src/test/java/org/apache/archiva/stagerepository/merge/repomerge/ArtifactsMergerTest.java
Sun Jul 11 04:51:12 2010
@@ -1,181 +0,0 @@
-package org.apache.archiva.stagerepository.merge.repomerge;
-
-/*
- * 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 static org.junit.Assert.assertNotNull;
-import org.junit.Before;
-import org.junit.Test;
-import static org.mockito.Mockito.stub;
-
-import static org.mockito.Mockito.verify;
-import org.mockito.MockitoAnnotations;
-import static org.mockito.Mockito.*;
-import org.codehaus.plexus.spring.PlexusInSpringTestCase;
-import org.apache.maven.archiva.repository.RepositoryContentFactory;
-import org.apache.maven.archiva.repository.ManagedRepositoryContent;
-import
org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.RepositoryScanningConfiguration;
-import org.apache.maven.archiva.model.ArchivaArtifact;
-import org.apache.archiva.stagerepository.merge.repodetails.SourceAritfacts;
-import org.apache.archiva.metadata.model.ArtifactMetadata;
-import org.apache.archiva.metadata.repository.MetadataResolver;
-//import com.sun.xml.internal.ws.api.wsdl.parser.MetaDataResolver;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.io.File;
-
-public class ArtifactsMergerTest
- extends PlexusInSpringTestCase
-{
-
- private static final String SOURCE_REPOSITORY_ID = "test-repository";
-
- private static final String TARGET_REPOSITORY_ID = "target-repo";
-
- // private static final String TARGET_REPOSITORY_ID = "target-repo";
-
- private Configuration config;
-
- @MockitoAnnotations.Mock
- private MetadataResolver metadataResolver;
-
- private RepositoryContentFactory repositoryFactory;
-
- private ArchivaConfiguration configuration;
-
- private SourceAritfacts sourceArtifacts;
-
- private ArtifactsMerger merger;
-
- @Before
- public void setUp()
- {
- MockitoAnnotations.initMocks( this );
- metadataResolver = mock( MetadataResolver.class );
- repositoryFactory = mock( RepositoryContentFactory.class );
- configuration = mock( ArchivaConfiguration.class );
- sourceArtifacts = mock( SourceAritfacts.class );
- sourceArtifacts.setRepoId( SOURCE_REPOSITORY_ID );
- sourceArtifacts.setMetadataResolver( metadataResolver );
- setRepositoryConfigurations();
- merger = new ArtifactsMerger( TARGET_REPOSITORY_ID,
SOURCE_REPOSITORY_ID );
- merger.setConfiguration( configuration );
- merger.setRepositoryFactory( repositoryFactory );
- merger.setMetadataResolver( metadataResolver );
- setSourceArtifacts();
- }
-
- @Test
- public void setSourceArtifacts()
- {
- when( sourceArtifacts.getSourceArtifactList() ).thenReturn(
getArtifacts() );
- merger.setSourceArtifacts( sourceArtifacts );
- verify( sourceArtifacts ).getSourceArtifactList();
- }
-
- @Test
- public void testDomerge()
- throws Exception
- {
- ManagedRepositoryContent sourceRepoContent = new
ManagedDefaultRepositoryContent();
- sourceRepoContent.setRepository( config.findManagedRepositoryById(
SOURCE_REPOSITORY_ID ) );
-
- ManagedRepositoryContent targetRepoContent = new
ManagedDefaultRepositoryContent();
- sourceRepoContent.setRepository( config.findManagedRepositoryById(
TARGET_REPOSITORY_ID ) );
-
- when( configuration.getConfiguration() ).thenReturn( config );
- when( repositoryFactory.getManagedRepositoryContent(
SOURCE_REPOSITORY_ID ) ).thenReturn( sourceRepoContent );
- when( repositoryFactory.getManagedRepositoryContent(
TARGET_REPOSITORY_ID ) ).thenReturn( targetRepoContent );
- when( sourceArtifacts.getSourceArtifactList() ).thenReturn(
getArtifacts() );
- when( metadataResolver.getArtifacts( TARGET_REPOSITORY_ID, "archiva",
"archiva", "1.2.1" ) ).thenReturn( getMetaDataList() );
- merger.doMerge();
-
- // verify(configuration);
- // verify(repositoryFactory);
- // verify(repositoryFactory);
- // verify(sourceArtifacts);
- verify( configuration ).getConfiguration();
- verify( repositoryFactory ).getManagedRepositoryContent(
SOURCE_REPOSITORY_ID );
- verify( repositoryFactory ).getManagedRepositoryContent(
TARGET_REPOSITORY_ID );
- verify( sourceArtifacts ).getSourceArtifactList();
- verify( metadataResolver ).getArtifacts( TARGET_REPOSITORY_ID,
"org.apache.archiva", "archiva", "1.2.2" );
- }
-
- public Collection<ArchivaArtifact> getArtifacts()
- {
- ArchivaArtifact a1 =
- new ArchivaArtifact( "org.apache.archiva", "archiva", "1.2.2", "",
"jar", SOURCE_REPOSITORY_ID );
- ArchivaArtifact a2 =
- new ArchivaArtifact( "org.apache.archiva", "archiva", "1.5", "",
"jar", SOURCE_REPOSITORY_ID );
- ArrayList<ArchivaArtifact> list = new ArrayList<ArchivaArtifact>();
- list.add( a1 );
- // list.add(a2) ;
- return list;
- }
-
- public Collection<ArtifactMetadata> getMetaDataList()
- {
- ArtifactMetadata m1 = new ArtifactMetadata();
- m1.setNamespace( "org.apache.archiva" );
- m1.setProject( "archiva" );
- m1.setVersion( "1.2.2" );
- ArrayList<ArtifactMetadata> list = new ArrayList<ArtifactMetadata>();
- list.add( m1 );
- return list;
- }
-
- public void setRepositoryConfigurations()
- {
- File sourceRepoFile = new File( getBasedir(), "target/test-repository"
);
- File targetRepoFile = new File( getBasedir(),
"src/test/resources/target-repo" );
- // sourceRepoFile.mkdirs();
- // targetRepoFile.mkdirs();
-
- assertTrue( sourceRepoFile.exists() );
- this.config = new Configuration();
- RepositoryScanningConfiguration repoScanConfig = new
RepositoryScanningConfiguration();
- List<String> knownContentConsumers = new ArrayList<String>();
- knownContentConsumers.add( "metadata-updater12" );
- repoScanConfig.setKnownContentConsumers( knownContentConsumers );
- config.setRepositoryScanning( repoScanConfig );
- // config.setManagedRepositories();
- ManagedRepositoryConfiguration sourceRepoConfig = new
ManagedRepositoryConfiguration();
- sourceRepoConfig.setId( SOURCE_REPOSITORY_ID );
- sourceRepoConfig.setLayout( "default" );
- sourceRepoConfig.setLocation( sourceRepoFile.getPath() );
- sourceRepoConfig.setName( SOURCE_REPOSITORY_ID );
- sourceRepoConfig.setBlockRedeployments( true );
-
- ManagedRepositoryConfiguration targetRepoConfig = new
ManagedRepositoryConfiguration();
- targetRepoConfig.setId( TARGET_REPOSITORY_ID );
- targetRepoConfig.setLayout( "default" );
- targetRepoConfig.setLocation( targetRepoFile.getPath() );
- targetRepoConfig.setName( TARGET_REPOSITORY_ID );
- targetRepoConfig.setBlockRedeployments( true );
-
- this.config.addManagedRepository( sourceRepoConfig );
- this.config.addManagedRepository( targetRepoConfig );
- }
-}