/**********************************************************************
* Copyright (c) 2016 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Patrick Tasse - Initial API and implementation
**********************************************************************/
package org.eclipse.tracecompass.lttng2.control.ui.tests.model.component;
import org.eclipse.osgi.util.NLS;
import org.eclipse.tracecompass.internal.lttng2.control.core.model.TargetNodeState;
import org.eclipse.tracecompass.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
import org.eclipse.tracecompass.tmf.ui.tests.shared.IWaitCondition;
/**
* Condition that waits for a target node to be in connected state.
*/
public class TargetNodeConnectedCondition implements IWaitCondition {
TargetNodeComponent fNode;
/**
* Constructor.
*
* @param node
* The target node
*/
public TargetNodeConnectedCondition(TargetNodeComponent node) {
fNode = node;
}
@Override
public boolean test() throws Exception {
return fNode.getTargetNodeState() == TargetNodeState.CONNECTED;
}
@Override
public String getFailureMessage() {
return NLS.bind("Target Node {0} did not reach CONNECTED state. State is ", fNode.getName(), fNode.getTargetNodeState().toString());
}
}