{
//
FileGroup fileGroup = fileGroupIdentifierToFileGroupMap.get( fileGroupIdentifier );
//
FileGroupToPropertiesAdapter fileGroupToPropertiesAdapter = new FileGroupToPropertiesAdapter( fileGroup );
fileGroupToPropertiesAdapter.setFileEncoding( propertyfileEncoding );
//
fileGroupToPropertiesAdapterList.add( fileGroupToPropertiesAdapter );
}
//
Collections.sort( fileGroupToPropertiesAdapterList, new Comparator<FileGroupToPropertiesAdapter>()
{
@Override
public int compare( FileGroupToPropertiesAdapter fileGroupToPropertiesAdapter1,
FileGroupToPropertiesAdapter fileGroupToPropertiesAdapter2 )
{
//
String fileGroupIdentifier1 = fileGroupToPropertiesAdapter1.getFileGroup().getFileGroupIdentifier();
String fileGroupIdentifier2 = fileGroupToPropertiesAdapter2.getFileGroup().getFileGroupIdentifier();
//
return fileGroupIdentifier1.compareTo( fileGroupIdentifier2 );
}
} );
}
//determine all locales but fix the order
List<String> localeList = new ArrayList<String>();
{
//
Set<String> localeSet = new HashSet<String>();
for ( FileGroupToPropertiesAdapter fileGroupToPropertiesAdapter : fileGroupToPropertiesAdapterList )
{
localeSet.addAll( fileGroupToPropertiesAdapter.determineGroupTokenList() );
}
localeList.addAll( localeSet );
//
for ( String locale : localeSet )
{
if ( !localeFilter.isLocaleAccepted( locale ) )
{
localeList.remove( locale );
}
}
//
Collections.sort( localeList );
}
//facade source code
{
//
TokenMonoHierarchy<String, PropertyKeyAndValues> TokenMonoHierarchy = new TokenMonoHierarchy<String, PropertyKeyAndValues>();
//
for ( FileGroupToPropertiesAdapter fileGroupToPropertiesAdapter : fileGroupToPropertiesAdapterList )
{
//
String fileGroupIdentifier = fileGroupToPropertiesAdapter.getFileGroup().getFileGroupIdentifier();
//
List<String> tokenPathElementList = new ArrayList<String>();
{
//
final String pathDelimiter = "[\\\\/]";
//
if ( StringUtils.isNotBlank( baseNameInTargetPlattform ) )
{
//
String[] baseNameTokens = baseNameInTargetPlattform.split( pathDelimiter );
//
tokenPathElementList.addAll( Arrays.asList( baseNameTokens ) );
}
//
String[] fileGroupIdentifierTokens = fileGroupIdentifier.replaceFirst( Pattern.quote( baseFolderIgnoredPath ), "" )
.split( pathDelimiter );
if ( fileGroupIdentifierTokens.length > 0 )
{
//
String lastToken = fileGroupIdentifierTokens[fileGroupIdentifierTokens.length - 1];
lastToken = lastToken.replaceAll( "\\.properties$", "" ).replaceAll( "_", "" );
fileGroupIdentifierTokens[fileGroupIdentifierTokens.length - 1] = lastToken;
//
tokenPathElementList.addAll( Arrays.asList( fileGroupIdentifierTokens ) );
}
//
tokenPathElementList = ListUtils.filter( tokenPathElementList, new ElementFilterNotBlank() );
}
//
ModifierHelper.logger.info( "Processing: " + fileGroupIdentifier );
//
List<String> propertyKeyList = new ArrayList<String>( fileGroupToPropertiesAdapter.determinePropertyKeySet() );
Collections.sort( propertyKeyList );
for ( String propertyKey : propertyKeyList )
{
if ( propertyKey != null )
{
//
PropertyKeyAndValues propertyKeyAndValues = new PropertyKeyAndValues();
{
//
propertyKeyAndValues.propertyKey = propertyKey;
//
for ( String locale : localeList )
{
//
String value = fileGroupToPropertiesAdapter.resolvePropertyValue( propertyKey, locale );
value = StringUtils.defaultString( value );
if ( StringUtils.isNotBlank( value ) )
{
propertyKeyAndValues.valueList.add( locale + "=" + value );
}