org.csstudio.startup.module.defaults
Class DefaultProject
java.lang.Object
  
org.csstudio.startup.module.defaults.DefaultProject
- All Implemented Interfaces: 
 - CSSStartupExtensionPoint, ProjectExtPoint
 
public class DefaultProject
- extends java.lang.Object
- implements ProjectExtPoint
  
DefaultProject opens and closes the application's default
  project. The name of the project is localized.
- Author:
 
  - Jaka Bobnar, Kay Kasemir
 
 
 
 
| 
Method Summary | 
 java.lang.Object | 
closeProjects(Display display,
              IApplicationContext context,
              java.util.Map<java.lang.String,java.lang.Object> parameters)
 
          Called by Application to
 allow implementors of the CSSStartupExtensionPoint to perform
 project cleanup in case that is considered necessary. | 
 java.lang.Object | 
openProjects(Display display,
             IApplicationContext context,
             java.util.Map<java.lang.String,java.lang.Object> parameters)
 
          Opens the projects defined by the given application context. | 
 
| Methods inherited from class java.lang.Object | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
DefaultProject
public DefaultProject()
openProjects
public java.lang.Object openProjects(Display display,
                                     IApplicationContext context,
                                     java.util.Map<java.lang.String,java.lang.Object> parameters)
- Opens the projects defined by the given application context. The
 implementation should also take care of initialization of projects
 and any other actions required for them to run properly.
 The projects that were run should be placed inside the parameters map under the
 tag "css.projects" to enable their usage by other extension point.
- Specified by:
 openProjects in interface ProjectExtPoint
 
context - the application's contextparameters - contains additional parameters, which can define
                        some special behaviour during the execution of this method (the keys
                        are parameters names and the values are parameters values)
- Returns:
 - the exit code if something happened which requires to exit or restart
                        application or null if everything is alright
 
 
 
closeProjects
public java.lang.Object closeProjects(Display display,
                                      IApplicationContext context,
                                      java.util.Map<java.lang.String,java.lang.Object> parameters)
                               throws java.lang.Exception
- Called by 
Application to
 allow implementors of the CSSStartupExtensionPoint to perform
 project cleanup in case that is considered necessary.
 In principle this method could close all those projects that were previously opened
 by #openProjects(IApplicationContext) method but it is not mandatory
 that the implementation follows the rules.
 
In most cases, one should actually NOT close any projects in here.
 The suggested way to assert that all resources are properly saved
 on exiting CSS is to call
 ResourcesPlugin.getWorkspace().save(true, new NullProgressMonitor());
 from the WorkbenchAdvisor's preShutdown() method.
 RCP will invoke that preShutdown() when the workbench is about to close
 as part of the workbench run cycle.
 This closeProjects() method is actually called later from the Application
 code and in fact results in an "exited with unsaved changes" warning
 on the following startup of CSS.
- Specified by:
 closeProjects in interface ProjectExtPoint
 
context - the application's contextparameters - contains additional parameters, which can define
                        some special behaviour during the execution of this method (the keys
                        are parameters names and the values are parameters values)
- Returns:
 - the exit code if something happened which requires to exit or restart
                        application or null if everything is alright
 - Throws:
 java.lang.Exception - if an error occurred during the operation