@Override public void deleteElement( String namespace, IMetaStoreElementType elementType, String elementId ) throws MetaStoreException { pur.deleteFile( elementId, true, null ); }
@Override public String getOwner() { return file.getCreatorId(); } } );
@Override public String getName() { return file.getTitle(); }
public static RepositoryDirectory build( String parentPath, org.pentaho.platform.api.repository2.unified.RepositoryFile repositoryFile, Boolean isAdmin ) { RepositoryDirectory repositoryDirectory = new RepositoryDirectory(); repositoryDirectory.setParent( parentPath ); repositoryDirectory.setName( repositoryFile.getName() ); repositoryDirectory.setPath( repositoryFile.getPath() ); repositoryDirectory.setObjectId( () -> (String) repositoryFile.getId() ); repositoryDirectory.setHidden( repositoryFile.isHidden() && !isAdmin ); repositoryDirectory.setDate( repositoryFile.getLastModifiedDate() != null ? repositoryFile.getLastModifiedDate() : repositoryFile.getCreatedDate() ); return repositoryDirectory; }
@Override public void createNamespace( String namespace ) throws MetaStoreException { if ( namespaceExists( namespace ) ) { throw new MetaStoreNamespaceExistsException( "Namespace '" + namespace + "' can not be created, it already exists" ); } RepositoryFile namespaceFolder = new RepositoryFile.Builder( namespace ).folder( true ).versioned( false ).build(); pur.createFolder( namespacesFolder.getId(), namespaceFolder, "Created namespace" ); }
public void populateFilesLazy( RepositoryDirectory repositoryDirectory, String filter ) { RepositoryRequest repositoryRequest = new RepositoryRequest(); repositoryRequest.setPath( repositoryDirectory.getPath() ); repositoryRequest.setDepth( 1 ); repositoryRequest.setShowHidden( true ); repositoryRequest.setTypes( RepositoryRequest.FILES_TYPE_FILTER.FILES ); repositoryRequest.setChildNodeFilter( filter ); RepositoryFileTree tree = getRepository().getUnderlyingRepository().getTree( repositoryRequest ); for ( RepositoryFileTree repositoryFileTree : tree.getChildren() ) { org.pentaho.platform.api.repository2.unified.RepositoryFile repositoryFile = repositoryFileTree.getFile(); RepositoryFile repositoryFile1 = RepositoryFile.build( repositoryDirectory.getPath(), repositoryFile, isAdmin() ); repositoryDirectory.addChild( repositoryFile1 ); } }
public static RepositoryFile build( String parentPath, org.pentaho.platform.api.repository2.unified.RepositoryFile repositoryFile, Boolean isAdmin ) { RepositoryFile repositoryFile1 = new RepositoryFile(); repositoryFile1.setObjectId( () -> (String) repositoryFile.getId() ); repositoryFile1.setName( stripExtension( repositoryFile.getName() ) ); repositoryFile1.setType( getType( repositoryFile.getName() ) ); repositoryFile1.setExtension( ".ktr" ); repositoryFile1.setDate( repositoryFile.getLastModifiedDate() ); repositoryFile1.setPath( parentPath ); repositoryFile1.setHidden( repositoryFile.isHidden() && !isAdmin ); return repositoryFile1; }
public void populateFoldersLazy( RepositoryDirectory repositoryDirectory ) { RepositoryRequest repositoryRequest = new RepositoryRequest( repositoryDirectory.getPath(), true, 1, null ); repositoryRequest.setTypes( RepositoryRequest.FILES_TYPE_FILTER.FOLDERS ); repositoryRequest.setIncludeSystemFolders( false ); RepositoryFileTree tree = getRepository().getUnderlyingRepository().getTree( repositoryRequest ); for ( RepositoryFileTree repositoryFileTree : tree.getChildren() ) { org.pentaho.platform.api.repository2.unified.RepositoryFile repositoryFile = repositoryFileTree.getFile(); RepositoryDirectory repositoryDirectory1 = RepositoryDirectory.build( repositoryDirectory.getPath(), repositoryFile, isAdmin() ); repositoryDirectory.addChild( repositoryDirectory1 ); } }
private Serializable getPartitionSchemaParentFolderId() { if ( cachedPartitionSchemaParentFolderId == null ) { readWriteLock.readLock().lock(); RepositoryFile f; try { f = pur.getFile( getPartitionSchemaParentFolderPath() ); } finally { readWriteLock.readLock().unlock(); } cachedPartitionSchemaParentFolderId = f.getId(); } return cachedPartitionSchemaParentFolderId; }
@Override public boolean hasAccess( ObjectId id, RepositoryFilePermission perm ) throws KettleException { RepositoryFile repositoryFile = pur.getFileById( id.getId() ); return pur.hasAccess( repositoryFile.getPath(), EnumSet.of( perm ) ); }
@Override public synchronized void updateElementType( String namespace, IMetaStoreElementType elementType ) throws MetaStoreException { RepositoryFile folder = getElementTypeRepositoryFolder( namespace, elementType ); RepositoryFile detailsFile = findChildByName( folder.getId(), ELEMENT_TYPE_DETAILS_FILENAME, true ); DataNode dataNode = getElementTypeDataNode( elementType ); pur.updateFile( detailsFile, new NodeRepositoryFileData( dataNode ), null ); elementType.setMetaStoreName( getName() ); }
/** * @return Wrapped {@link VersionSummary} with a {@link ObjectRevision}. */ protected ObjectRevision createObjectRevision( final VersionSummary versionSummary ) { return new PurObjectRevision( versionSummary.getId(), versionSummary.getAuthor(), versionSummary.getDate(), versionSummary.getMessage() ); }
private List<RepositoryFile> getChildren( Serializable folderId, boolean showHiddenFiles ) { return pur.getChildren( new RepositoryRequest( folderId.toString(), showHiddenFiles, -1, null ) ); }
protected RepositoryFile getElementTypeRepositoryFileByName( String namespace, String elementTypeName ) { RepositoryFile namespaceFolder = getNamespaceRepositoryFile( namespace ); if ( namespace == null ) { return null; } return findChildByName( namespaceFolder.getId(), elementTypeName ); }
@Override public String getPath() { return self.getPath(); }
@Override public String getName() { return self.getName(); }
@Override public Date getDeletedDate() { return file.getDeletedDate(); }
@Override public String getOriginalParentPath() { return file.getOriginalParentFolderPath(); }
@Override public void deleteVersion( Serializable fileId, Serializable versionId ) { unifiedRepository.deleteFileAtVersion( fileId, versionId ); }
protected boolean isInTrash( final RepositoryFile file ) { // pretty hacky solution if ( file.getPath().contains( "/.trash/" ) ) { return true; } else { return false; } }