org.eclipse.corona.container.project.ui.explorer
Class PCXViewManager

java.lang.Object
  extended by org.eclipse.corona.container.project.ui.explorer.PCXViewManager
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener

public class PCXViewManager
extends java.lang.Object
implements java.beans.PropertyChangeListener

A singleton class for managing operations supplied by ProjectContainerExplorerView. The object maintains the state information of project containers.

Additional tasks of the class include: invocation of showView method of ProjectContainerViewManager, calculation of action enablement depending on state information. TODO: synchronize with project.builder to store Corona settings for a workbench project

Author:
cwpl-pkaczmar

Nested Class Summary
static interface PCXViewManager.IDataManager
          Interface used for modifying or retrieving ProjectContainerStub kept by the manager.
 
Field Summary
static int ACTION_CLOSE
           
static int ACTION_DISPLAY
           
static int ACTION_IMPORT
           
static int ACTION_OPEN
           
protected  CoronaLogService logService
           
static java.lang.String PROJECT_CONTAINER_VIEW_ID
           
 
Constructor Summary
PCXViewManager()
          Class constructor.
PCXViewManager(ProjectContainerExplorerView viewer)
           
 
Method Summary
 ProjectContainerStub addProjectContainerStub(java.lang.String uriString)
          Adds PCStub to the list of locally known PCStubs.
 void closePCV(org.eclipse.jface.viewers.ISelection selection)
          Closes project container view for a repository.
 void closeProjectContainer(java.lang.String uriString)
           
 void deleteProjectContainer(java.lang.String containerUri)
           
 void displayInPCV(org.eclipse.jface.viewers.ISelection selection)
          Shows project container or repository view using PCV
 java.lang.Object[] getChildren(ProjectContainerStub parent)
          Returns children of type container and repository for a given container.
 java.lang.Object[] getInitialStubs()
          Fetches from server uris and names of PC.
static PCXViewManager getManager()
           
static PCXViewManager getManager(ProjectContainerExplorerView viewer)
           
 java.lang.Object getParent(java.lang.Object child)
           
 ProjectContainerProxy getProjectContainerProxy()
           
 int getProjectContainerState(java.lang.String uriString)
           
 IUIRepositoryAdapter getUIRepositoryAdapter(RepositoryDescriptor repository)
          Returns an UI repository adapter adequate for a given repository
 void loadStateDemo()
           
 java.util.Collection manageData(PCXViewManager.IDataManager manager)
          Method used for managing/retriving ProjectContainerStub data from this manager.
 ProjectContainerStub openProjectContainer(java.lang.String uriString)
           
 ProjectContainerStub openProjectContainerForMember(java.lang.String uriString)
           
 void propertyChange(java.beans.PropertyChangeEvent event)
          If given
 void refreshView(org.eclipse.jface.viewers.IStructuredSelection selection)
           
 void refreshView(org.eclipse.jface.viewers.IStructuredSelection selection, boolean close)
           
 void saveStateDemo()
           
 void setParent(java.lang.Object parent, java.lang.Object[] children)
           
 void simpleRefreshView(org.eclipse.jface.viewers.IStructuredSelection selection)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACTION_OPEN

public static final int ACTION_OPEN
See Also:
Constant Field Values

ACTION_CLOSE

public static final int ACTION_CLOSE
See Also:
Constant Field Values

ACTION_IMPORT

public static final int ACTION_IMPORT
See Also:
Constant Field Values

ACTION_DISPLAY

public static final int ACTION_DISPLAY
See Also:
Constant Field Values

PROJECT_CONTAINER_VIEW_ID

public static java.lang.String PROJECT_CONTAINER_VIEW_ID

logService

protected CoronaLogService logService
Constructor Detail

PCXViewManager

PCXViewManager()
Class constructor. Initializes global variables and reads from disk state information about setting from previous session.


PCXViewManager

PCXViewManager(ProjectContainerExplorerView viewer)
Method Detail

getManager

public static PCXViewManager getManager()

getManager

public static PCXViewManager getManager(ProjectContainerExplorerView viewer)

getProjectContainerProxy

public ProjectContainerProxy getProjectContainerProxy()

getInitialStubs

public java.lang.Object[] getInitialStubs()
Fetches from server uris and names of PC. Additionally, it fetches the list of opened project containers to set initial state of PC. The returned list is used in PCXView as main level of entries.

Returns:
project container stubs to display on top level in PCX

addProjectContainerStub

public ProjectContainerStub addProjectContainerStub(java.lang.String uriString)
Adds PCStub to the list of locally known PCStubs. A new PCStub object is created using its uri identifier. UriToName map is used to identify its name and listOpenContainers is used to check if the PC is opened.

Parameters:
uriString -
Returns:

deleteProjectContainer

public void deleteProjectContainer(java.lang.String containerUri)
Parameters:
containerUri -

openProjectContainer

public ProjectContainerStub openProjectContainer(java.lang.String uriString)

openProjectContainerForMember

public ProjectContainerStub openProjectContainerForMember(java.lang.String uriString)
                                                   throws NoTeamRepositoryException
Throws:
NoTeamRepositoryException

closeProjectContainer

public void closeProjectContainer(java.lang.String uriString)

getProjectContainerState

public int getProjectContainerState(java.lang.String uriString)

displayInPCV

public void displayInPCV(org.eclipse.jface.viewers.ISelection selection)
Shows project container or repository view using PCV


closePCV

public void closePCV(org.eclipse.jface.viewers.ISelection selection)
Closes project container view for a repository.

Parameters:
selection -

getChildren

public java.lang.Object[] getChildren(ProjectContainerStub parent)
Returns children of type container and repository for a given container. The method reads though the list of related containers and repositories and creates a list that contains both. This method is used in PCX to create children of a node in tree view, children need to be in format Object[]

Parameters:
parent - - project container proxy for which childern are calculated
Returns:

refreshView

public void refreshView(org.eclipse.jface.viewers.IStructuredSelection selection,
                        boolean close)

refreshView

public void refreshView(org.eclipse.jface.viewers.IStructuredSelection selection)

simpleRefreshView

public void simpleRefreshView(org.eclipse.jface.viewers.IStructuredSelection selection)

setParent

public void setParent(java.lang.Object parent,
                      java.lang.Object[] children)

getParent

public java.lang.Object getParent(java.lang.Object child)

getUIRepositoryAdapter

public IUIRepositoryAdapter getUIRepositoryAdapter(RepositoryDescriptor repository)
Returns an UI repository adapter adequate for a given repository

Parameters:
repository -
Returns:

saveStateDemo

public void saveStateDemo()

loadStateDemo

public void loadStateDemo()

manageData

public java.util.Collection manageData(PCXViewManager.IDataManager manager)
Method used for managing/retriving ProjectContainerStub data from this manager.

Parameters:
manager - data manager.
Returns:
collection of ProjectContainerStub.
See Also:
PCXViewManager.IDataManager

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent event)
If given

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

Copyright 2006 IBM Corporation and others.
All Rights Reserved.