catch ( IOException e )
{
throw new ConverterException( "IOException: " + e.getMessage(), e );
}
SinkFactory sinkFactory;
try
{
sinkFactory = ConverterUtil.getSinkFactory( plexus, output.getFormat(), SUPPORTED_TO_FORMAT );
}
catch ( ComponentLookupException e )
{
throw new ConverterException( "ComponentLookupException: " + e.getMessage(), e );
}
Sink sink;
try
{
String outputEncoding;
if ( StringUtils.isEmpty( output.getEncoding() )
|| output.getEncoding().equals( OutputFileWrapper.AUTO_ENCODING ) )
{
outputEncoding = inputEncoding;
}
else
{
outputEncoding = output.getEncoding();
}
OutputStream out = new FileOutputStream( outputFile );
sink = sinkFactory.createSink( out, outputEncoding );
}
catch ( IOException e )
{
throw new ConverterException( "IOException: " + e.getMessage(), e );
}