java.lang.Object
org.pentaho.ui.xul.XulEventSourceAdapter
org.pentaho.ui.xul.impl.AbstractXulEventHandler
org.pentaho.di.ui.repository.repositoryexplorer.controllers.BrowseController
All Implemented Interfaces:
IBrowseController, IUISupportController, org.pentaho.ui.xul.impl.XulEventHandler, org.pentaho.ui.xul.XulEventSource

public class BrowseController extends org.pentaho.ui.xul.impl.AbstractXulEventHandler implements IUISupportController, IBrowseController
This is the XulEventHandler for the browse panel of the repository explorer. It sets up the bindings for browse functionality.
  • Field Details

    • repoDir

      protected UIRepositoryDirectory repoDir
    • folderTree

      protected org.pentaho.ui.xul.containers.XulTree folderTree
    • fileTable

      protected org.pentaho.ui.xul.containers.XulTree fileTable
    • repositoryDirectory

      protected UIRepositoryDirectory repositoryDirectory
    • contextChangeVetoers

      protected ContextChangeVetoerCollection contextChangeVetoers
    • bf

      protected org.pentaho.ui.xul.binding.BindingFactory bf
    • directoryBinding

      protected org.pentaho.ui.xul.binding.Binding directoryBinding
    • selectedItemsBinding

      protected org.pentaho.ui.xul.binding.Binding selectedItemsBinding
    • selectedFolderItems

      protected List<UIRepositoryDirectory> selectedFolderItems
    • selectedFileItems

      protected List<UIRepositoryObject> selectedFileItems
    • repositoryDirectories

      protected List<UIRepositoryDirectory> repositoryDirectories
    • repository

      protected org.pentaho.di.repository.Repository repository
    • mainController

      protected MainController mainController
    • messageBox

      protected org.pentaho.ui.xul.components.XulMessageBox messageBox
    • confirmBox

      protected org.pentaho.ui.xul.components.XulConfirmBox confirmBox
    • HOME_PATH

      protected static final String HOME_PATH
      See Also:
    • PUBLIC_PATH

      protected static final String PUBLIC_PATH
      See Also:
    • dirMap

      protected Map<org.pentaho.di.repository.ObjectId,UIRepositoryDirectory> dirMap
      Allows for lookup of a UIRepositoryDirectory by ObjectId. This allows the reuse of instances that are inside a UI tree.
  • Constructor Details

    • BrowseController

      public BrowseController()
  • Method Details

    • init

      public void init(org.pentaho.di.repository.Repository repository) throws ControllerInitializationException
      Specified by:
      init in interface IUISupportController
      Throws:
      ControllerInitializationException
    • createBindings

      protected void createBindings()
    • doCreateBindings

      protected void doCreateBindings()
    • createDirectoryBinding

      protected org.pentaho.ui.xul.binding.Binding createDirectoryBinding()
    • getName

      public String getName()
      Specified by:
      getName in interface IUISupportController
      Specified by:
      getName in interface org.pentaho.ui.xul.impl.XulEventHandler
      Overrides:
      getName in class org.pentaho.ui.xul.impl.AbstractXulEventHandler
    • getRepositoryDirectory

      public UIRepositoryDirectory getRepositoryDirectory()
    • populateDirMap

      protected void populateDirMap(UIRepositoryDirectory repDir)
    • expandAllFolders

      public void expandAllFolders()
    • collapseAllFolders

      public void collapseAllFolders()
    • openContent

      public void openContent()
    • openContent

      public void openContent(Object[] items)
    • renameContent

      public void renameContent() throws Exception
      Throws:
      Exception
    • confirm

      protected void confirm(String title, String message, Callable<Void> onAccept) throws org.pentaho.ui.xul.XulException
      Throws:
      org.pentaho.ui.xul.XulException
    • confirm

      protected void confirm(String title, String message) throws org.pentaho.ui.xul.XulException
      Throws:
      org.pentaho.ui.xul.XulException
    • confirmDialog

      protected void confirmDialog(String title, String msg, String ok) throws Exception
      Throws:
      Exception
    • confirmDialog

      protected void confirmDialog(Callable<Void> callback, String title, String msg, String yes, String no) throws Exception
      Throws:
      Exception
    • deleteContent

      public void deleteContent() throws Exception
      Throws:
      Exception
    • deleteContent

      protected void deleteContent(UIRepositoryObject repoObject) throws Exception
      Throws:
      Exception
    • createFolder

      public void createFolder() throws Exception
      Throws:
      Exception
    • exportFolder

      public void exportFolder() throws Exception
      Throws:
      Exception
    • deleteFolder

      public void deleteFolder() throws Exception
      Throws:
      Exception
    • deleteFolder

      protected void deleteFolder(UIRepositoryDirectory repoDir) throws Exception
      Throws:
      Exception
    • renameFolder

      public void renameFolder() throws Exception
      Throws:
      Exception
    • renameRepositoryObject

      protected void renameRepositoryObject(UIRepositoryObject object) throws org.pentaho.ui.xul.XulException
      Throws:
      org.pentaho.ui.xul.XulException
    • promptForName

      protected org.pentaho.ui.xul.components.XulPromptBox promptForName(UIRepositoryObject object) throws org.pentaho.ui.xul.XulException
      Throws:
      org.pentaho.ui.xul.XulException
    • onDragFromGlobalTree

      public void onDragFromGlobalTree(org.pentaho.ui.xul.dnd.DropEvent event)
    • onDragFromLocalTable

      public void onDragFromLocalTable(org.pentaho.ui.xul.dnd.DropEvent event)
    • onDrop

      public void onDrop(org.pentaho.ui.xul.dnd.DropEvent event)
    • moveFiles

      protected void moveFiles(List<UIRepositoryObject> objects, UIRepositoryDirectory targetDirectory) throws Exception
      Throws:
      Exception
    • onDoubleClick

      public void onDoubleClick(Object[] selectedItems)
    • onToggle

      public void onToggle(Object[] toggled, boolean expanded)
    • getSelectedFolderItems

      public List<UIRepositoryDirectory> getSelectedFolderItems()
    • setSelectedFolderItems

      public void setSelectedFolderItems(List<UIRepositoryDirectory> selectedFolderItems)
    • getSelectedFileItems

      public List<UIRepositoryObject> getSelectedFileItems()
    • setSelectedFileItems

      public void setSelectedFileItems(List<UIRepositoryObject> selectedFileItems)
    • getSelectedItemsBinding

      public org.pentaho.ui.xul.binding.Binding getSelectedItemsBinding()
    • setSelectedItemsBinding

      public void setSelectedItemsBinding(org.pentaho.ui.xul.binding.Binding selectedItemsBinding)
    • setRepositoryObjects

      public void setRepositoryObjects(List<UIRepositoryObject> selectedFileItems)
    • getRepositoryObjects

      public List<UIRepositoryObject> getRepositoryObjects()
    • setRepositoryItems

      public void setRepositoryItems(List<UIRepositoryObject> selectedItems)
    • getRepositoryItems

      public List<UIRepositoryObject> getRepositoryItems()
    • getRepositoryDirectories

      public List<UIRepositoryDirectory> getRepositoryDirectories()
    • setRepositoryDirectories

      public void setRepositoryDirectories(List<UIRepositoryDirectory> selectedFolderItems)
    • getSelectedRepoDirChildren

      public UIRepositoryObjects getSelectedRepoDirChildren()
    • addContextChangeVetoer

      public void addContextChangeVetoer(ContextChangeVetoer listener)
      Specified by:
      addContextChangeVetoer in interface IBrowseController
    • removeContextChangeVetoer

      public void removeContextChangeVetoer(ContextChangeVetoer listener)
      Specified by:
      removeContextChangeVetoer in interface IBrowseController
    • getShell

      protected org.eclipse.swt.widgets.Shell getShell()