}
@Override
public ConversionResult convert(final AssetItem item) {
ConversionResult result = new ConversionResult();
try {
//Check Asset is of the correct format
if ( !item.getFormat().equals( AssetFormats.DECISION_SPREADSHEET_XLS ) ) {
result.addMessage( "Source Asset is not an XLS Decision Table.",
ConversionMessageType.ERROR );
return result;
}
//Check Asset has binary content
if ( !item.isBinary() ) {
result.addMessage( "Source Asset has no binary content.",
ConversionMessageType.ERROR );
return result;
}
//Perform conversion!
GuidedDecisionTableGeneratorListener listener = parseAssets( item,
result );
//Add Ancillary assets
createNewFunctions( listener.getFunctions(),
item,
result );
createNewGlobalsAndImports( listener.getGlobals(),
listener.getImports(),
item,
result );
createNewQueries( listener.getQueries(),
item,
result );
createNewDeclarativeTypes( listener.getTypeDeclarations(),
item,
result );
//Add Web Guided Decision Tables
createNewDecisionTables( listener.getGuidedDecisionTables(),
item,
result );
} catch ( SerializationException se ) {
result.addMessage( se.getMessage(),
ConversionMessageType.ERROR );
}
return result;
}