com.sun.javatest.exec
Class BasicSessionControl

java.lang.Object
  extended by com.sun.javatest.exec.BasicSessionControl
All Implemented Interfaces:
ET_Control, ET_RunTestControl.Observer, ET_SessionControl, InterviewEditor.Observer, Session.Observer

public class BasicSessionControl
extends java.lang.Object
implements InterviewEditor.Observer, ET_RunTestControl.Observer, ET_SessionControl, Session.Observer

Class that encapsulate logic of user's actions on update session: operations on configuration and work directory. Some methods are added to preserve old functionality...


Nested Class Summary
protected  class BasicSessionControl.E_EditorVisibility
          Event to be sent out when Editor become visible/invisible
protected  class BasicSessionControl.SessionView
           
 
Field Summary
protected  ContextManager cm
           
protected  InterviewEditor interviewEditor
           
protected  javax.swing.JComponent parent
           
protected  BasicSession session
           
protected  javax.swing.JPanel sessionView
           
protected  TestSuite testSuite
           
protected  UIFactory uif
           
 
Constructor Summary
BasicSessionControl(javax.swing.JComponent parent, UIFactory uif, TestSuite ts, ContextManager cm)
          Creates a control over new created session for the passed test suite.
 
Method Summary
protected  void applyWorkDir(WorkDirectory wd)
          Applies value of the selected work directory.
 void changed(InterviewParameters p)
          InterviewEditor.Observer method.
 void changedVisibility(boolean isVisible, InterviewEditor editor)
          InterviewEditor.Observer method.
protected  void checkExcludeListUpdate(javax.swing.JComponent parent, boolean quietIfNoUpdate, Parameters params)
           
static Parameters clone(Parameters p)
          Clones passed parameters.
 void configure()
          Causes a series of actions to be performed to complete configuration:
If session is already ready - does nothing.
If work directory is not set - suggests creating or opening one
Opens configuration editor.
protected  Session createEmptySession()
          Creates an empty configuration for the test suite.
protected  ToolAction createNewWorkDirAction()
           
protected  javax.swing.JPanel createSessionView()
           
protected  ToolAction createSetWorkDirAction()
           
protected  boolean createWD()
          Causes the dialog for new directory creating to appear.
 void dispose()
           
 void edit()
          Causes configuration editor to appear.
 void ensureInterviewUpToDate()
           
 void finishTests(Parameters p)
          Invoked when runTestHandler completed test execution
 javax.swing.JMenu getMenu()
          Returts menu to be added to the menu mar
protected  boolean getNeedToAutoCheckExcludeList(Parameters params)
           
 Session getSession()
          Returns the session object under control
 java.util.List<javax.swing.Action> getToolBarActionList()
          Returns list of actions to be added to the tool bar
protected  UIFactory getUIFactory()
          Method returning UIFactory to be used to create InterviewEditor instance.
 javax.swing.JComponent getViewComponent()
          Returns the panel reflecting the current state of the session
protected  void initActions()
           
protected  boolean initEditor()
          Initializes interviewEditor.
protected  void initHistoryListeners()
           
 boolean isConfiguring()
           
protected  boolean isEditorVisible()
           
 void restore(java.util.Map m)
          Restores saved state from the map
 void restoreConfigFromWD(WorkDirectory wd)
          Tries to restore latest available configuration for the session.
 void save(java.util.Map m)
          Saves current state to the map
protected  boolean setWD()
          Causes the dialog for work directory selecting to appear.
protected  void showConfigureDialog()
           
protected  void showWorkDirDialog()
           
 void startTests(Parameters p)
          Invoked when runTestHandler is going to start test execution
 void updated(Session.Event ev)
          Invoked when state of config has changed
 void updateGUI()
          Invoked when some change has happened
 void whatToDoWhenConfigNotReadyButUserPressedStartButton(javax.swing.Action startAction)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

session

protected final BasicSession session

testSuite

protected final TestSuite testSuite

uif

protected UIFactory uif

parent

protected javax.swing.JComponent parent

sessionView

protected javax.swing.JPanel sessionView

interviewEditor

protected InterviewEditor interviewEditor

cm

protected ContextManager cm
Constructor Detail

BasicSessionControl

public BasicSessionControl(javax.swing.JComponent parent,
                           UIFactory uif,
                           TestSuite ts,
                           ContextManager cm)
                    throws Session.Fault
Creates a control over new created session for the passed test suite.

Parameters:
parent -
uif -
ts -
cm -
Throws:
Session.Fault
Method Detail

getSession

public Session getSession()
Returns the session object under control

Specified by:
getSession in interface ET_SessionControl
Returns:
The session associated with this instance.

getViewComponent

public javax.swing.JComponent getViewComponent()
Returns the panel reflecting the current state of the session

Specified by:
getViewComponent in interface ET_SessionControl

getToolBarActionList

public java.util.List<javax.swing.Action> getToolBarActionList()
Description copied from interface: ET_Control
Returns list of actions to be added to the tool bar

Specified by:
getToolBarActionList in interface ET_Control

save

public void save(java.util.Map m)
Description copied from interface: ET_Control
Saves current state to the map

Specified by:
save in interface ET_Control

restore

public void restore(java.util.Map m)
Description copied from interface: ET_Control
Restores saved state from the map

Specified by:
restore in interface ET_Control

dispose

public void dispose()
Specified by:
dispose in interface ET_Control

createEmptySession

protected Session createEmptySession()
                              throws Session.Fault
Creates an empty configuration for the test suite. By default BasicSession is used. It's supposed for subclasses to override this method.

Returns:
created session.
Throws:
Session.Fault

clone

public static Parameters clone(Parameters p)
                        throws Session.Fault
Clones passed parameters. Works only for InterviewParameters instances.

Parameters:
p - instance to clone, might be null.
Returns:
cloned object obtained for the passed one by performing save/load operations.
Throws:
Session.Fault

ensureInterviewUpToDate

public void ensureInterviewUpToDate()

startTests

public void startTests(Parameters p)
Invoked when runTestHandler is going to start test execution

Specified by:
startTests in interface ET_RunTestControl.Observer

finishTests

public void finishTests(Parameters p)
Invoked when runTestHandler completed test execution

Specified by:
finishTests in interface ET_RunTestControl.Observer

whatToDoWhenConfigNotReadyButUserPressedStartButton

public void whatToDoWhenConfigNotReadyButUserPressedStartButton(javax.swing.Action startAction)

checkExcludeListUpdate

protected void checkExcludeListUpdate(javax.swing.JComponent parent,
                                      boolean quietIfNoUpdate,
                                      Parameters params)

getNeedToAutoCheckExcludeList

protected boolean getNeedToAutoCheckExcludeList(Parameters params)

getMenu

public javax.swing.JMenu getMenu()
Description copied from interface: ET_Control
Returts menu to be added to the menu mar

Specified by:
getMenu in interface ET_Control

initEditor

protected boolean initEditor()
Initializes interviewEditor.

Returns:
true if initialized successfully, false if failed.

getUIFactory

protected UIFactory getUIFactory()
Method returning UIFactory to be used to create InterviewEditor instance.


edit

public void edit()
Causes configuration editor to appear. If workdir is not set, suggests to create one first.

Specified by:
edit in interface ET_SessionControl

configure

public void configure()
Causes a series of actions to be performed to complete configuration:
If session is already ready - does nothing.
If work directory is not set - suggests creating or opening one
Opens configuration editor.

Specified by:
configure in interface ET_SessionControl

isConfiguring

public boolean isConfiguring()
Specified by:
isConfiguring in interface ET_SessionControl
Returns:
true if configure() method is running or configuration is editing.

showWorkDirDialog

protected void showWorkDirDialog()

showConfigureDialog

protected void showConfigureDialog()

initActions

protected void initActions()

createNewWorkDirAction

protected ToolAction createNewWorkDirAction()

createSetWorkDirAction

protected ToolAction createSetWorkDirAction()

initHistoryListeners

protected void initHistoryListeners()

createSessionView

protected javax.swing.JPanel createSessionView()

updateGUI

public void updateGUI()
Description copied from interface: ET_Control
Invoked when some change has happened

Specified by:
updateGUI in interface ET_Control

isEditorVisible

protected boolean isEditorVisible()
Returns:
true if user has an interview editor open.

changed

public void changed(InterviewParameters p)
InterviewEditor.Observer method. Invoked when current session has changed from InterviewEditor

Specified by:
changed in interface InterviewEditor.Observer
Parameters:
p -

changedVisibility

public void changedVisibility(boolean isVisible,
                              InterviewEditor editor)
InterviewEditor.Observer method. Invoked when InterviewEditor is made either visible or invisible. Implementations call updateGUI() to enable/disable actions.

Specified by:
changedVisibility in interface InterviewEditor.Observer
Parameters:
isVisible - - true or false
editor - editor that changed the state

createWD

protected boolean createWD()
Causes the dialog for new directory creating to appear. Invoked from createNewWorkDirAction. Subclasses might override this method to perform extra actions associated with creating new work directory, like setting template.

Returns:
true if configuration editing is required after WorkDir created

setWD

protected boolean setWD()
Causes the dialog for work directory selecting to appear. Invoked from createSetWorkDirAction. Subclasses might override this method to perform extra actions associated with setting work directory, like setting template.

Returns:
true if configuration editing is required after WorkDir set

applyWorkDir

protected void applyWorkDir(WorkDirectory wd)
Applies value of the selected work directory.

Parameters:
wd -

restoreConfigFromWD

public void restoreConfigFromWD(WorkDirectory wd)
                         throws Session.Fault
Tries to restore latest available configuration for the session.

Parameters:
wd -
Throws:
Session.Fault

updated

public void updated(Session.Event ev)
Description copied from interface: Session.Observer
Invoked when state of config has changed

Specified by:
updated in interface Session.Observer
Parameters:
ev - - Event describing the change


Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.