@Override protected void moveFiles( List<UIRepositoryObject> objects, UIRepositoryDirectory targetDirectory ) throws Exception { // If we're moving into the trash it's really a delete if ( targetDirectory != trashDir ) { super.moveFiles( objects, targetDirectory ); } else { for ( UIRepositoryObject o : objects ) { deleteContent( o ); } } }
public void setSelectedFileItems( List<UIRepositoryObject> selectedFileItems ) { if ( !compareFileList( selectedFileItems, this.selectedFileItems ) ) { List<TYPE> pollResults = pollContextChangeVetoResults(); if ( !contains( TYPE.CANCEL, pollResults ) ) { this.selectedFileItems = selectedFileItems; setRepositoryObjects( selectedFileItems ); setRepositoryItems( selectedFileItems ); } else if ( contains( TYPE.CANCEL, pollResults ) ) { fileTable.setSelectedItems( this.selectedFileItems ); } } else { setRepositoryItems( selectedFileItems ); } if ( selectedFileItems.isEmpty() ) { // we only need to call this once when the tree selection changes, in which case the selectedFileItems is empty // calling this will hide the history tab which we want to have visible when a file is selected and selectedFileItems is not empty folderTree.setSelectedItems( this.selectedFolderItems ); } }
public void setSelectedFolderItems( List<UIRepositoryDirectory> selectedFolderItems ) { for ( UIRepositoryDirectory rd : selectedFolderItems ) { if ( !rd.isPopulated() ) { rd.populateChildren(); try { directoryBinding.fireSourceChanged(); } catch ( Exception e ) { // Do nothing } } } if ( !compareFolderList( selectedFolderItems, this.selectedFolderItems ) ) { List<TYPE> pollResults = pollContextChangeVetoResults(); if ( !contains( TYPE.CANCEL, pollResults ) ) { this.selectedFolderItems = selectedFolderItems; setRepositoryDirectories( selectedFolderItems ); } else if ( contains( TYPE.CANCEL, pollResults ) ) { folderTree.setSelectedItems( this.selectedFolderItems ); fileTable.setSelectedItems( this.selectedFileItems ); } } else { setRepositoryDirectories( selectedFolderItems ); } }
public void deleteFolder() throws Exception { UIRepositoryDirectory newSelectedItem = null; for ( Object object : folderTree.getSelectedItems() ) { if ( object instanceof UIRepositoryDirectory ) { repoDir = (UIRepositoryDirectory) object; newSelectedItem = repoDir.getParent(); confirm( "BrowseController.DeleteNonEmptyFolderWarningTitle", "BrowseController.DeleteFolderWarningMessage", () -> { deleteFolder( repoDir ); return null; } ); break; } else { deleteFolder( repoDir ); } } // since old selected item is the now deleted one, set the parent as the selected item if ( newSelectedItem != null ) { folderTree.setSelectedItems( Arrays.asList( newSelectedItem ) ); } }
directoryBinding = createDirectoryBinding(); doCreateBindings(); if ( homePath.length == 1 ) { setSelectedFolderItems( Arrays.asList( tempRoot ) ); setSelectedFolderItems( Arrays.asList( tempRoot ) ); folderTree.setSelectedItems( this.selectedFolderItems );
@SuppressWarnings( "deprecation" ) public void init( Repository repository ) throws ControllerInitializationException { try { this.repository = repository; mainController = (MainController) this.getXulDomContainer().getEventHandler( "mainController" ); RepositoryDirectoryInterface root; try { if ( repository instanceof RepositoryExtended ) { root = ( (RepositoryExtended) repository ).loadRepositoryDirectoryTree( false ); } else { root = repository.loadRepositoryDirectoryTree(); } this.repositoryDirectory = UIObjectRegistry.getInstance().constructUIRepositoryDirectory( root, null, repository ); } catch ( UIObjectCreationException uoe ) { this.repositoryDirectory = new UIRepositoryDirectory( repository.loadRepositoryDirectoryTree(), null, repository ); } this.repositoryDirectory.populateChildren(); dirMap = new HashMap<ObjectId, UIRepositoryDirectory>(); populateDirMap( repositoryDirectory ); bf = new SwtBindingFactory(); bf.setDocument( this.getXulDomContainer().getDocumentRoot() ); messageBox = (XulMessageBox) document.createElement( "messagebox" ); createBindings(); } catch ( Exception e ) { throw new ControllerInitializationException( e ); } }
FileOverwriteDialogController.getInstance( getXulDomContainer().getOuterContext() instanceof Shell ? (Shell) getXulDomContainer().getOuterContext() : null, collisionObjects ); fileOverwriteDialog.show(); if ( fileOverwriteDialog.isOverwriteFiles() ) { moveFiles( moveList, targetDirectory );
@Override protected void setup() { BrowseController browseController = new BrowseController(); ConnectionsController connectionsController = new ConnectionsController(); PartitionsController partitionsController = new PartitionsController(); SlavesController slavesController = new SlavesController(); ClustersController clustersController = new ClustersController(); handlers.add( browseController ); controllerNames.add( browseController.getName() ); handlers.add( connectionsController ); controllerNames.add( connectionsController.getName() ); handlers.add( partitionsController ); controllerNames.add( partitionsController.getName() ); handlers.add( slavesController ); controllerNames.add( slavesController.getName() ); handlers.add( clustersController ); controllerNames.add( clustersController.getName() ); }
public void onClose( XulComponent component, Status status, String value ) { if ( !status.equals( Status.CANCEL ) ) { try { if ( contentToRestore instanceof IRevisionObject ) { ( (IRevisionObject) contentToRestore ).restoreRevision( versionToRestore, value ); List<UIRepositoryObject> objects = new ArrayList<UIRepositoryObject>(); objects.add( contentToRestore ); browseController.setRepositoryObjects( objects ); } else { throw new IllegalStateException( BaseMessages.getString( PKG, "RevisionsController.RevisionsNotSupported" ) ); //$NON-NLS-1$ } } catch ( Exception e ) { if ( mainController == null || !mainController.handleLostRepository( e ) ) { // convert to runtime exception so it bubbles up through the UI throw new RuntimeException( e ); } } } }
@Override public void setSelectedFolderItems( List<UIRepositoryDirectory> selectedFolderItems ) { if ( selectedFolderItems != null && selectedFolderItems.size() == 1 && selectedFolderItems.get( 0 ).equals( trashDir ) ) { try { setTrash( trashService.getTrash() ); } catch ( KettleException e ) { if ( mainController == null || !mainController.handleLostRepository( e ) ) { throw new RuntimeException( e ); } } deck.setSelectedIndex( 1 ); } else { deck.setSelectedIndex( 0 ); super.setSelectedFolderItems( selectedFolderItems ); } }
XulPromptBox prompt = promptForName( null ); prompt.addDialogCallback( new XulDialogCallback<String>() { public void onClose( XulComponent component, Status status, String value ) { } catch ( Exception e ) { if ( mainController == null || !mainController.handleLostRepository( e ) ) { confirm( BaseMessages.getString( PKG, "Dialog.Error" ), e.getLocalizedMessage() );
protected void confirm( String title, String message ) throws XulException { String ok = BaseMessages.getString( PKG, "Dialog.Ok" ); try { confirmDialog( title, message, ok ); } catch ( Exception e ) { throw new XulException( e ); } }
public void deleteContent() throws Exception { for ( Object object : fileTable.getSelectedItems() ) { if ( object instanceof UIRepositoryObject ) { final UIRepositoryObject repoObject = (UIRepositoryObject) object; Callable<Void> deleteCallable = new Callable<Void>() { @Override public Void call() throws Exception { if ( repoObject instanceof UIRepositoryDirectory ) { ((UIRepositoryDirectory) repoObject).cleanup(); } deleteContent( repoObject ); return null; } }; // If content to be deleted is a folder we will display a warning message // notwithstanding the folder is empty or not. If you choose to delete this folder, all its // item(s) will be lost. If the user accept this, then we will delete that folder // otherwise we will end this method call if ( repoObject instanceof UIRepositoryDirectory ) { confirm( "BrowseController.DeleteNonEmptyFolderWarningTitle", "BrowseController.DeleteFolderWarningMessage", deleteCallable ); } else { confirm( "BrowseController.DeleteFileWarningTitle", "BrowseController.DeleteFileWarningMessage", deleteCallable ); } } } }
protected void confirm( String title, String message, final Callable<Void> onAccept ) throws XulException { String yes = BaseMessages.getString( PKG, "Dialog.YesDelete" ); String no = BaseMessages.getString( PKG, "Dialog.No" ); try { confirmDialog( onAccept, BaseMessages.getString( PKG, title ), BaseMessages.getString( PKG, message ), yes, no ); } catch ( Exception e ) { throw new XulException( e ); } }