check if metadata exists first before updating and copying to target repo

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1022822 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2010-10-15 05:15:51 +00:00
parent 421229b886
commit b719ecb818
1 changed files with 27 additions and 20 deletions

View File

@ -187,37 +187,44 @@ public class Maven2RepositoryMerger
pathTranslator.toFile( new File( sourceRepoPath ), artifactMetadata.getNamespace(),
artifactMetadata.getProject(), artifactMetadata.getVersion(),
METADATA_FILENAME );
String relativePathToVersionMetadataFile =
versionMetaDataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1];
File versionMetaDataFileInTargetRepo = new File( targetRepoPath, relativePathToVersionMetadataFile );
if ( !versionMetaDataFileInTargetRepo.exists() )
if( versionMetaDataFileInSourceRepo.exists() )
{
copyFile( versionMetaDataFileInSourceRepo, versionMetaDataFileInTargetRepo );
}
else
{
updateVersionMetadata( versionMetaDataFileInTargetRepo, artifactMetadata, lastUpdatedTimestamp );
String relativePathToVersionMetadataFile =
versionMetaDataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1];
File versionMetaDataFileInTargetRepo = new File( targetRepoPath, relativePathToVersionMetadataFile );
if ( !versionMetaDataFileInTargetRepo.exists() )
{
copyFile( versionMetaDataFileInSourceRepo, versionMetaDataFileInTargetRepo );
}
else
{
updateVersionMetadata( versionMetaDataFileInTargetRepo, artifactMetadata, lastUpdatedTimestamp );
}
}
// updating project meta data file
String projectDirectoryInSourceRepo = new File( versionMetaDataFileInSourceRepo.getParent() ).getParent();
File projectMetadataFileInSourceRepo = new File( projectDirectoryInSourceRepo, METADATA_FILENAME );
String relativePathToProjectMetadataFile =
projectMetadataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1];
File projectMetadataFileInTargetRepo = new File( targetRepoPath, relativePathToProjectMetadataFile );
if ( !projectMetadataFileInTargetRepo.exists() )
if( projectMetadataFileInSourceRepo.exists() )
{
String relativePathToProjectMetadataFile =
projectMetadataFileInSourceRepo.getAbsolutePath().split( sourceRepoPath )[1];
File projectMetadataFileInTargetRepo = new File( targetRepoPath, relativePathToProjectMetadataFile );
copyFile( versionMetaDataFileInSourceRepo, projectMetadataFileInSourceRepo );
}
else
{
updateProjectMetadata( projectMetadataFileInTargetRepo, artifactMetadata, lastUpdatedTimestamp,
timestamp );
if ( !projectMetadataFileInTargetRepo.exists() )
{
copyFile( projectMetadataFileInSourceRepo, projectMetadataFileInSourceRepo );
}
else
{
updateProjectMetadata( projectMetadataFileInTargetRepo, artifactMetadata, lastUpdatedTimestamp,
timestamp );
}
}
}