@Override public List<DatabaseMeta> readDatabases() throws KettleException { readWriteLock.readLock().lock(); try { List<RepositoryFile> children = getAllFilesOfType( null, RepositoryObjectType.DATABASE, false ); List<DatabaseMeta> dbMetas = new ArrayList<DatabaseMeta>(); for ( RepositoryFile file : children ) { DataNode node; node = pur.getDataForRead( file.getId(), NodeRepositoryFileData.class ).getNode(); DatabaseMeta databaseMeta = (DatabaseMeta) databaseMetaTransformer.dataNodeToElement( node ); databaseMeta.setName( file.getTitle() ); dbMetas.add( databaseMeta ); } return dbMetas; } catch ( Exception e ) { throw new KettleException( "Unable to read all databases", e ); } finally { readWriteLock.readLock().unlock(); } }
unifiedRepository.getDataForRead( fileId, SimpleRepositoryFileData.class ); if ( fileData != null ) { logger.warn( "Reading as legacy CE tranformation " + file.getName() + "." );
unifiedRepository.getDataForRead( fileId, SimpleRepositoryFileData.class ); if ( fileData != null ) { logger.warn( "Reading as legacy CE job " + file.getName() + "." );
@Override public IMetaStoreElement getElement( String namespace, IMetaStoreElementType elementType, String elementId ) throws MetaStoreException { NodeRepositoryFileData data = pur.getDataForRead( elementId, NodeRepositoryFileData.class ); if ( data == null ) { return null; } IMetaStoreElement element = newElement(); element.setId( elementId ); element.setElementType( elementType ); DataNode dataNode = data.getNode(); dataNodeToElement( dataNode, element ); return element; }
@Override public IMetaStoreElementType getElementType( String namespace, String elementTypeId ) throws MetaStoreException { RepositoryFile elementTypeFolder = pur.getFileById( elementTypeId ); if ( elementTypeFolder == null ) { return null; } IMetaStoreElementType elementType = newElementType( namespace ); elementType.setId( elementTypeFolder.getId().toString() ); elementType.setName( elementTypeFolder.getName() ); RepositoryFile detailsFile = findChildByName( elementTypeFolder.getId(), ELEMENT_TYPE_DETAILS_FILENAME, true ); if ( detailsFile != null ) { NodeRepositoryFileData data = pur.getDataForRead( detailsFile.getId(), NodeRepositoryFileData.class ); DataProperty property = data.getNode().getProperty( "element_type_description" ); if ( property != null ) { elementType.setDescription( property.getString() ); } } return elementType; }
public T call() throws Exception { return delegatee.getDataForRead( fileId, dataClass ); } }, Messages.getInstance().getString( "ExceptionLoggingDecorator.getData", fileId ) ); //$NON-NLS-1$
/** * Gets data at base version for read. * * @param fileId * file id * @param dataClass * class that implements {@link org.pentaho.platform.api.repository2.unified.IRepositoryFileData} * @return data */ @Override public <T extends IRepositoryFileData> T getDataForRead( final Serializable fileId, final Class<T> dataClass ) { return repository.getDataForRead( fileId, dataClass ); }
public NodeRepositoryFileDataDto getDataAsNodeForRead( final String fileId ) { NodeRepositoryFileData fileData = repo.getDataForRead( fileId, NodeRepositoryFileData.class ); return fileData != null ? nodeRepositoryFileDataAdapter.marshal( fileData ) : null; }
public SimpleRepositoryFileDataDto getDataAsBinaryForRead( final String fileId ) { SimpleRepositoryFileData simpleData = repo.getDataForRead( fileId, SimpleRepositoryFileData.class ); return SimpleRepositoryFileDataDto.convert( simpleData ); }
protected String getLocaleText( final String key, final RepositoryFile file ) throws IOException { if ( file != null ) { SimpleRepositoryFileData data = null; data = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); Properties p = new Properties(); p.load( data.getStream() ); String localeText = p.getProperty( key.substring( 1 ) ); if ( localeText == null ) { localeText = p.getProperty( key ); } if ( localeText != null ) { return localeText; } } return null; }
protected void setStream() throws FileNotFoundException { if ( fileData == null ) { fileData = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); } is = fileData.getInputStream(); }
public String getMimeType() { if ( fileData == null ) { fileData = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); } return fileData.getMimeType(); }
protected static String getEncoding( RepositoryFile file ) throws FileNotFoundException { IUnifiedRepository repository = PentahoSystem.get( IUnifiedRepository.class ); SimpleRepositoryFileData fileData = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); return fileData.getEncoding(); }
public List<NodeRepositoryFileDataDto> getDataAsNodeForReadInBatch( final List<RepositoryFileDto> files ) { List<NodeRepositoryFileDataDto> data = new ArrayList<NodeRepositoryFileDataDto>( files.size() ); for ( RepositoryFileDto f : files ) { if ( f.getVersionId() == null ) { data.add( nodeRepositoryFileDataAdapter .marshal( repo.getDataForRead( f.getId(), NodeRepositoryFileData.class ) ) ); } else { data.add( nodeRepositoryFileDataAdapter.marshal( repo.getDataAtVersionForRead( f.getId(), f.getVersionId(), NodeRepositoryFileData.class ) ) ); } } return data; }
public List<SimpleRepositoryFileDataDto> getDataAsBinaryForReadInBatch( final List<RepositoryFileDto> files ) { List<SimpleRepositoryFileDataDto> data = new ArrayList<SimpleRepositoryFileDataDto>( files.size() ); for ( RepositoryFileDto f : files ) { if ( f.getVersionId() == null ) { data.add( SimpleRepositoryFileDataDto .convert( repo.getDataForRead( f.getId(), SimpleRepositoryFileData.class ) ) ); } else { data.add( SimpleRepositoryFileDataDto.convert( repo.getDataAtVersionForExecute( f.getId(), f.getVersionId(), SimpleRepositoryFileData.class ) ) ); } } return data; } }
@Override public RepositoryFile call() throws Exception { List<RepositoryFile> referrers = unifiedRepository.getReferrers( file.getId() ); // Loop through nodes referring to the target file, return the first one designated as an ACL node int i = referrers.size(); while ( i-- > 0 ) { RepositoryFile referrer = referrers.get( i ); NodeRepositoryFileData dataForRead = unifiedRepository.getDataForRead( referrer.getId(), NodeRepositoryFileData.class ); if ( dataForRead != null && dataForRead.getNode().hasProperty( IS_ACL_NODE ) ) { return referrer; } } // No ACL node found return null; } } );
/** * Stubs a {@code getDataForRead} call. The encoding is always {@code UTF-8}. The MIME type is auto-detected. */ public static void stubGetData( final IUnifiedRepository repo, final String path, final String text ) { final String encoding = "UTF-8"; byte[] bytes; try { bytes = text.getBytes( encoding ); } catch ( UnsupportedEncodingException e ) { throw new RuntimeException(); } doReturn( new AutoResetSimpleRepositoryFileData( new ByteArrayInputStream( bytes ), encoding, getMimeType( path ) ) ) .when( repo ).getDataForRead( makeIdObject( path ), SimpleRepositoryFileData.class ); }
protected static String getEncoding( String path ) throws FileNotFoundException { IUnifiedRepository repository = PentahoSystem.get( IUnifiedRepository.class ); RepositoryFile file = ( new RepositoryFileInputStream( path ) ).getFile(); SimpleRepositoryFileData fileData = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); return fileData.getEncoding(); }
protected static String getEncoding( Serializable id ) throws FileNotFoundException { IUnifiedRepository repository = PentahoSystem.get( IUnifiedRepository.class ); RepositoryFile file = ( new RepositoryFileInputStream( id ) ).getFile(); SimpleRepositoryFileData fileData = repository.getDataForRead( file.getId(), SimpleRepositoryFileData.class ); return fileData.getEncoding(); }
public InputStream getInputStream() throws UnifiedRepositoryException, FileSystemException { InputStream inputStream = null; if ( exists() ) { String extension = FilenameUtils.getExtension( repositoryFile.getPath() ); // Try to get the converter for the extension. If there is not converter available then we will //assume simple type and will get the data that way if ( getConverterHandler() != null ) { Converter converter = getConverterHandler().getConverter( extension ); if ( converter != null ) { inputStream = converter.convert( repositoryFile.getId() ); } } if ( inputStream == null ) { inputStream = getRepository().getDataForRead( repositoryFile.getId(), SimpleRepositoryFileData.class ).getStream(); } } return inputStream; }