Package com.sun.javatest.exec
Class BasicSession
- java.lang.Object
-
- com.sun.javatest.exec.BasicSession
-
- All Implemented Interfaces:
Session
,SessionExt
public class BasicSession extends java.lang.Object implements SessionExt
The very classic implementation of Session that encapsulates the WorkDirectory instance and InterviewParameters instance.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BasicSession.E_NewConfig
Event which is delivered when current configuration has been modified.static class
BasicSession.E_NewWD
Event which is delivered when WorkDircotry has been set.static interface
BasicSession.OrderedObserver
Extension to the Observer interface for those classes which are sensitive to the order of notifying.static class
BasicSession.U_NewConfig
Class of update to configuration-
Nested classes/interfaces inherited from interface com.sun.javatest.exec.Session
Session.Event, Session.Fault, Session.Observer, Session.Update
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONFIG_NAME_PROP
protected java.util.List<java.lang.String>
filterNames
List of available filtersprotected java.util.List<Session.Observer>
observers
List of registered observersprotected java.util.List<java.lang.String>
props
List of observable propertiesstatic java.lang.String
WD_PROP
-
Constructor Summary
Constructors Constructor Description BasicSession(TestSuite ts)
Creates empty session for the passed test suite.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addObserver(Session.Observer obs)
Registers the observer.protected void
applyWorkDir(WorkDirectory wd)
Associates session with the work dir.void
dispose()
Disposes configuration.protected TestFilter
findFilter(java.lang.String name)
Supposed to be overridden when extra filters addedInterviewParameters
getInterviewParameters()
Returns InterviewParameters object, most likely the same object as getParamaters()Parameters
getParameters()
Data required to execute tests.java.util.List<java.lang.String>
getPropertyNames()
Returns the config property namesTestFilter
getTestFilter(java.lang.String name)
java.util.List<java.lang.String>
getTestFilterNames()
java.lang.String
getValue(java.lang.String name)
WorkDirectory
getWorkDirectory()
Work directory assigned to the session.protected void
initFilterList()
Creates list of supported filters: ExcludeList, PriorStatus, Keyword, Relevant.protected void
initPropertyList()
Creates list of two session properties: WorkDirectory and Configuration.boolean
isReady()
void
loadInterviewFromFile(WorkDirectory wd, java.io.File cfgFile)
Loads interview from file.void
notifyObservers(Session.Event evn)
Delivers events to the all registered observersvoid
reloadInterview()
Reloads interview if out of date.void
removeObserver(Session.Observer obs)
Unregisters the observer.void
restore(java.util.Map<java.lang.String,java.lang.String> map)
Restores the config state from the mapvoid
save(java.util.Map<java.lang.String,java.lang.String> map)
Saves the config state to the mapvoid
update(Session.Update u)
Applies the update.void
update(Session.Update u, boolean updateConfig)
Applies the update.protected void
updateNewConfig(InterviewParameters ip)
Method invoked as a reaction on U_NewConfig update.protected void
updateWorkDir(WorkDirectory wd, boolean doRestoreConfig)
Sets the work dir to the new specified value, inovkes applyWorkDir() method, notifies observers of the work dir change.
-
-
-
Field Detail
-
CONFIG_NAME_PROP
public static final java.lang.String CONFIG_NAME_PROP
- See Also:
- Constant Field Values
-
WD_PROP
public static final java.lang.String WD_PROP
- See Also:
- Constant Field Values
-
observers
protected final java.util.List<Session.Observer> observers
List of registered observers
-
filterNames
protected final java.util.List<java.lang.String> filterNames
List of available filters
-
props
protected final java.util.List<java.lang.String> props
List of observable properties
-
-
Constructor Detail
-
BasicSession
public BasicSession(TestSuite ts) throws Session.Fault
Creates empty session for the passed test suite.- Throws:
Session.Fault
-
-
Method Detail
-
update
public void update(Session.Update u) throws Session.Fault
Applies the update. Ignores updates of unknown type. Subclasses need override this method to support more update types.- Specified by:
update
in interfaceSession
- Parameters:
u
- - object encapsulating data describing the change.- Throws:
Session.Fault
-
update
public void update(Session.Update u, boolean updateConfig) throws Session.Fault
Applies the update. Ignores updates of unknown type. Subclasses need override this method to support more update types.- Specified by:
update
in interfaceSession
- Parameters:
u
- - object encapsulating data describing the change.updateConfig
- - hint whether to reload the configuration from disk- Throws:
Session.Fault
- Since:
- 4.4.1
-
addObserver
public void addObserver(Session.Observer obs)
Description copied from interface:Session
Registers the observer. Does nothing if the observer is null or already registered.- Specified by:
addObserver
in interfaceSession
- Parameters:
obs
- - observer
-
removeObserver
public void removeObserver(Session.Observer obs)
Description copied from interface:Session
Unregisters the observer. Does nothing if the observer is null or not registered.- Specified by:
removeObserver
in interfaceSession
- Parameters:
obs
- - observer
-
notifyObservers
public void notifyObservers(Session.Event evn)
Delivers events to the all registered observers- Specified by:
notifyObservers
in interfaceSession
- Parameters:
evn
- - event to be sent out.
-
getTestFilter
public TestFilter getTestFilter(java.lang.String name)
-
findFilter
protected TestFilter findFilter(java.lang.String name)
Supposed to be overridden when extra filters added- Parameters:
name
-- Returns:
- found filter or null, if not found.
-
getTestFilterNames
public java.util.List<java.lang.String> getTestFilterNames()
-
save
public void save(java.util.Map<java.lang.String,java.lang.String> map)
Description copied from interface:Session
Saves the config state to the map
-
restore
public void restore(java.util.Map<java.lang.String,java.lang.String> map) throws Session.Fault
Description copied from interface:Session
Restores the config state from the map- Specified by:
restore
in interfaceSession
- Throws:
Session.Fault
-
loadInterviewFromFile
public void loadInterviewFromFile(WorkDirectory wd, java.io.File cfgFile) throws Session.Fault
Loads interview from file.- Specified by:
loadInterviewFromFile
in interfaceSessionExt
- Parameters:
wd
-cfgFile
-- Throws:
Session.Fault
-
dispose
public void dispose()
Description copied from interface:Session
Disposes configuration. Critical when heavy objects were used.
-
getPropertyNames
public java.util.List<java.lang.String> getPropertyNames()
Description copied from interface:Session
Returns the config property names- Specified by:
getPropertyNames
in interfaceSession
- Returns:
- Configuration property name List
-
getValue
public java.lang.String getValue(java.lang.String name)
- Specified by:
getValue
in interfaceSession
- Returns:
- the value of property or null if unset
- See Also:
Session.getPropertyNames()
-
getWorkDirectory
public WorkDirectory getWorkDirectory()
Work directory assigned to the session.- Specified by:
getWorkDirectory
in interfaceSessionExt
- Returns:
- The current wd set.
-
getInterviewParameters
public InterviewParameters getInterviewParameters()
Description copied from interface:SessionExt
Returns InterviewParameters object, most likely the same object as getParamaters()According to the original idea there should not be such method in this interface, getParameters() should be enough. But JavaTest is not ready yet to not use InterviewParameters.
- Specified by:
getInterviewParameters
in interfaceSessionExt
- Returns:
- an instance of InterviewParameters
- See Also:
Session.getParameters()
-
getParameters
public Parameters getParameters()
Description copied from interface:Session
Data required to execute tests. In future - should be replaced.- Specified by:
getParameters
in interfaceSession
- Returns:
- The current parameters in use.
-
isReady
public boolean isReady()
-
initFilterList
protected void initFilterList()
Creates list of supported filters: ExcludeList, PriorStatus, Keyword, Relevant.
-
initPropertyList
protected void initPropertyList()
Creates list of two session properties: WorkDirectory and Configuration.
-
updateWorkDir
protected void updateWorkDir(WorkDirectory wd, boolean doRestoreConfig)
Sets the work dir to the new specified value, inovkes applyWorkDir() method, notifies observers of the work dir change.It's not recommended to override this method.
- Parameters:
wd
- - instance of WorkDirectorydoRestoreConfig
- - flag to be passed via Event signaling whether restoring configuration from wd is required
-
applyWorkDir
protected void applyWorkDir(WorkDirectory wd)
Associates session with the work dir. To be overridden when wd should be applied not only to session, but template or other properties.
-
updateNewConfig
protected void updateNewConfig(InterviewParameters ip) throws Session.Fault
Method invoked as a reaction on U_NewConfig update. Checks if there are any changes in the update, if none - does nothing, Otherwise, copies new values into the main configuration instance, notifies observers with E_NewConfig event.- Throws:
Session.Fault
-
reloadInterview
public void reloadInterview() throws Session.Fault
Reloads interview if out of date.- Specified by:
reloadInterview
in interfaceSessionExt
- Throws:
Session.Fault
-
-