in maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java [2357:2431]
private List restoreListOfStrings( List originalStrings,
List originalInterpolatedStrings,
List changedStrings,
MavenProject project,
ProjectBuilderConfiguration config,
boolean debugMessages )
throws ModelInterpolationException
{
if ( originalStrings == null )
{
return changedStrings;
}
else if ( changedStrings == null )
{
return originalStrings;
}
List result = new ArrayList();
Map orig = new HashMap();
for ( int idx = 0; idx < originalStrings.size(); idx++ )
{
String[] permutations = new String[2];
permutations[0] = pathTranslator.alignToBaseDirectory( (String) originalInterpolatedStrings.get( idx ), project.getBasedir() );
permutations[1] = (String) originalStrings.get( idx );
orig.put( permutations[0], permutations );
}
for ( Iterator it = changedStrings.iterator(); it.hasNext(); )
{
String changedString = (String) it.next();
String relativeChangedString;
if ( project.getBasedir() != null )
{
relativeChangedString = pathTranslator.unalignFromBaseDirectory( changedString, project.getBasedir() );
}
else
{
relativeChangedString = changedString;
}
String interpolated = modelInterpolator.interpolate( changedString,
project.getModel(),
project.getBasedir(),
config,
debugMessages );
interpolated = pathTranslator.alignToBaseDirectory( interpolated, project.getBasedir() );
String relativeInterpolated = modelInterpolator.interpolate( relativeChangedString,
project.getModel(),
project.getBasedir(),
config,
debugMessages );
String[] original = (String[]) orig.get( interpolated );
if ( original == null )
{
original = (String[]) orig.get( relativeInterpolated );
}
if ( original == null )
{
result.add( relativeChangedString );
}
else
{
result.add( original[1] );
}
}
return result;
}