Class 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.
    • Field Detail

      • CONFIG_NAME_PROP

        public static final java.lang.String CONFIG_NAME_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
    • 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 interface Session
        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 interface Session
        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 interface Session
        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 interface Session
        Parameters:
        obs - - observer
      • notifyObservers

        public void notifyObservers​(Session.Event evn)
        Delivers events to the all registered observers
        Specified by:
        notifyObservers in interface Session
        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
        Specified by:
        save in interface Session
      • 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 interface Session
        Throws:
        Session.Fault
      • dispose

        public void dispose()
        Description copied from interface: Session
        Disposes configuration. Critical when heavy objects were used.
        Specified by:
        dispose in interface Session
      • getPropertyNames

        public java.util.List<java.lang.String> getPropertyNames()
        Description copied from interface: Session
        Returns the config property names
        Specified by:
        getPropertyNames in interface Session
        Returns:
        Configuration property name List
      • 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 interface SessionExt
        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 interface Session
        Returns:
        The current parameters in use.
      • isReady

        public boolean isReady()
        Specified by:
        isReady in interface Session
        Returns:
        true if configuration is ready for test execution
      • 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 WorkDirectory
        doRestoreConfig - - 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