Search in sources :

Example 1 with JobMatcher

use of org.jboss.tools.cdk.reddeer.core.matcher.JobMatcher in project jbosstools-openshift by jbosstools.

the class CDKServer method operateServerState.

@Override
protected void operateServerState(String menuItem, final ServerState resultState) {
    ServerState actualState = this.getLabel().getState();
    MultipleWaitConditionHandler waitConditions = new MultipleWaitConditionHandler(waitConditionMatrix, " one of given wait condition is fulfilled");
    TimePeriod timeout = TimePeriod.VERY_LONG;
    if (menuItem == "Restart") {
        timeout = TimePeriod.getCustom(480);
    }
    log.debug("Operate server's state from: + '" + actualState + "' to '" + menuItem + "'");
    select();
    new ContextMenuItem(menuItem).select();
    // waiting until servers's state has changed from initial state into something else,
    // ie. stopped -> starting or started -> stopping
    new WaitWhile(new ServerHasState(this, actualState), TimePeriod.DEFAULT);
    // we might expect that after the state is changed it should not go back into initial state
    // or that problem dialog appears
    // later on, we might get "Multiple problems have occurred" dialog
    waitForProblemDialog(waitConditions, menuItem, TimePeriod.DEFAULT);
    checkInitialStateChange(actualState);
    // decide if we wait for SSL acceptance dialog
    if ((actualState == ServerState.STOPPING || actualState == ServerState.STOPPED) && !getCertificatedAccepted()) {
        new WaitUntil(waitConditions, TimePeriod.getCustom(1020));
    }
    new WaitUntil(new ServerHasState(this, resultState), timeout);
    waitForProblemDialog(waitConditions, menuItem, TimePeriod.DEFAULT);
    new WaitWhile(new SystemJobIsRunning(new JobMatcher("Inspecting CDK environment")), TimePeriod.DEFAULT);
    log.debug("Operate server's state finished, the result server's state is: '" + getLabel().getState() + "'");
}
Also used : SystemJobIsRunning(org.jboss.tools.cdk.reddeer.core.condition.SystemJobIsRunning) WaitWhile(org.eclipse.reddeer.common.wait.WaitWhile) ServerHasState(org.eclipse.reddeer.eclipse.condition.ServerHasState) ContextMenuItem(org.eclipse.reddeer.swt.impl.menu.ContextMenuItem) JobMatcher(org.jboss.tools.cdk.reddeer.core.matcher.JobMatcher) TimePeriod(org.eclipse.reddeer.common.wait.TimePeriod) ServerState(org.eclipse.reddeer.eclipse.wst.server.ui.cnf.ServersViewEnums.ServerState) MultipleWaitConditionHandler(org.jboss.tools.cdk.reddeer.core.condition.MultipleWaitConditionHandler) WaitUntil(org.eclipse.reddeer.common.wait.WaitUntil)

Aggregations

TimePeriod (org.eclipse.reddeer.common.wait.TimePeriod)1 WaitUntil (org.eclipse.reddeer.common.wait.WaitUntil)1 WaitWhile (org.eclipse.reddeer.common.wait.WaitWhile)1 ServerHasState (org.eclipse.reddeer.eclipse.condition.ServerHasState)1 ServerState (org.eclipse.reddeer.eclipse.wst.server.ui.cnf.ServersViewEnums.ServerState)1 ContextMenuItem (org.eclipse.reddeer.swt.impl.menu.ContextMenuItem)1 MultipleWaitConditionHandler (org.jboss.tools.cdk.reddeer.core.condition.MultipleWaitConditionHandler)1 SystemJobIsRunning (org.jboss.tools.cdk.reddeer.core.condition.SystemJobIsRunning)1 JobMatcher (org.jboss.tools.cdk.reddeer.core.matcher.JobMatcher)1