}
public IRepositoryFileData getData( RepositoryFile repositoryFile ) {
IRepositoryContentConverterHandler converterHandler;
Map<String, Converter> converters;
NameBaseMimeResolver mimeResolver;
IRepositoryFileData repositoryFileData = null;
if ( !repositoryFile.isFolder() ) {
// Get the extension
final String ext = RepositoryFilenameUtils.getExtension( repositoryFile.getName() );
if ( ( ext == null ) || ( ext.isEmpty() ) ) {
return null;
}
// Find the converter
// If we have not been given a handler, try PentahoSystem
converterHandler = PentahoSystem.get( IRepositoryContentConverterHandler.class );
// fail if we have no converter handler
if ( converterHandler == null ) {
return null;
}
converters = converterHandler.getConverters();
final Converter converter = converters.get( ext );
if ( converter == null ) {
return null;
}
// Check the mime type
mimeResolver = PentahoSystem.get( NameBaseMimeResolver.class );
// fail if we have no mime resolver
if ( mimeResolver == null ) {
return null;
}
final String mimeType = mimeResolver.resolveMimeTypeForFileName( repositoryFile.getName() ).getName();
if ( ( mimeType == null ) || ( mimeType.isEmpty() ) ) {
return null;
}
// Get the input stream