Search in sources :

Example 1 with ComponentElement

use of org.eclipse.titan.executor.views.executormonitor.ComponentElement in project titan.EclipsePlug-ins by eclipse.

the class CliExecutor method processInfoOutputComponent.

/**
 * Processes the component related part of the mctr_cli's answer to the info command.
 * <p>
 * @see #processInfoOutputHC(BufferedReader, MainControllerElement)
 *
 * @param stdout the output of the process to be parsed.
 * @param host the host to add the component data to.
 */
private void processInfoOutputComponent(final BufferedReader stdout, final HostControllerElement host) {
    Matcher matcher;
    ComponentElement tempComponent;
    matcher = HC_NAME_COMPONENT_PATTERN.matcher(fastLine);
    if (matcher.matches()) {
        tempComponent = new ComponentElement("Component " + matcher.group(1), new InformationElement("Component reference: " + matcher.group(2)));
        host.addComponent(tempComponent);
        readFullLineOnly(stdout);
    } else {
        matcher = HC_COMPONENT_PATTERN.matcher(fastLine);
        if (matcher.matches()) {
            tempComponent = new ComponentElement("Component " + matcher.group(1));
            host.addComponent(tempComponent);
            readFullLineOnly(stdout);
        } else {
            fastLine = null;
            return;
        }
    }
    if (fastLine != null && HC_COMPONENT_TYPE_PATTERN.matcher(fastLine).matches()) {
        tempComponent.setTypeInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    }
    if (fastLine != null && HC_COMPONENT_STATE_PATTERN.matcher(fastLine).matches()) {
        tempComponent.setStateInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    } else {
        fastLine = null;
        return;
    }
    if (fastLine != null && HC_EXECUTED_PATTERN.matcher(fastLine).matches()) {
        tempComponent.setExecutedInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    }
    if (fastLine != null && HC_LOCAL_VERDICT_PATTERN.matcher(fastLine).matches()) {
        tempComponent.setLocalVerdictInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    }
}
Also used : Matcher(java.util.regex.Matcher) ComponentElement(org.eclipse.titan.executor.views.executormonitor.ComponentElement) InformationElement(org.eclipse.titan.executor.views.executormonitor.InformationElement)

Example 2 with ComponentElement

use of org.eclipse.titan.executor.views.executormonitor.ComponentElement in project titan.EclipsePlug-ins by eclipse.

the class JniExecutor method updateInfoDisplay.

/**
 * Updates the information displayed about the MainController's and HostControllers actual states.
 */
private void updateInfoDisplay() {
    JNIMiddleWare middleware = jnimw;
    McStateEnum mcState = middleware.get_state();
    MainControllerElement tempRoot = new MainControllerElement("Temporal root", this);
    String mcStateName = middleware.get_mc_state_name(mcState);
    tempRoot.setStateInfo(new InformationElement("state: " + mcStateName));
    HostControllerElement tempHost;
    ComponentStruct comp;
    QualifiedName qualifiedName;
    ComponentElement tempComponent;
    StringBuilder builder;
    int nofHosts = middleware.get_nof_hosts();
    HostStruct host;
    for (int i = 0; i < nofHosts; i++) {
        host = middleware.get_host_data(i);
        tempHost = new HostControllerElement("Host Controller: ");
        tempRoot.addHostController(tempHost);
        tempHost.setIPAddressInfo(new InformationElement("IP address: " + host.hostname));
        tempHost.setIPNumberInfo(new InformationElement("IP number: " + host.ip_addr));
        tempHost.setHostNameInfo(new InformationElement("Local host name:" + host.hostname_local));
        tempHost.setOperatingSystemInfo(new InformationElement(host.system_name + " " + host.system_release + " " + host.system_version));
        tempHost.setStateInfo(new InformationElement("State: " + middleware.get_hc_state_name(host.hc_state)));
        int activeComponents = host.n_active_components;
        int[] components = host.components.clone();
        middleware.release_data();
        for (int component_index = 0; component_index < activeComponents; component_index++) {
            comp = middleware.get_component_data(components[component_index]);
            tempComponent = new ComponentElement("Component: " + comp.comp_name, new InformationElement("Component reference: " + comp.comp_ref));
            tempHost.addComponent(tempComponent);
            qualifiedName = comp.comp_type;
            if (qualifiedName != null && qualifiedName.definition_name != null) {
                builder = new StringBuilder("Component type: ");
                if (qualifiedName.module_name != null) {
                    builder.append(qualifiedName.module_name).append('.');
                }
                builder.append(qualifiedName.definition_name);
                tempComponent.setTypeInfo(new InformationElement(builder.toString()));
            }
            tempComponent.setStateInfo(new InformationElement(middleware.get_tc_state_name(comp.tc_state)));
            qualifiedName = comp.tc_fn_name;
            if (qualifiedName.definition_name != null) {
                builder = new StringBuilder(comp.comp_ref == 1 ? "test case" : "function");
                if (qualifiedName.module_name != null) {
                    builder.append(qualifiedName.module_name).append('.');
                }
                builder.append(qualifiedName.definition_name);
                tempComponent.setExecutedInfo(new InformationElement(builder.toString()));
            }
            VerdictTypeEnum localVerdict = comp.local_verdict;
            if (localVerdict != null) {
                builder = new StringBuilder("local verdict: ");
                builder.append(localVerdict.getName());
            }
        }
    }
    middleware.release_data();
    if (mainControllerRoot != null) {
        mainControllerRoot.children().clear();
        mainControllerRoot.transferData(tempRoot);
    }
    if (Activator.getMainView() != null) {
        Activator.getMainView().refreshAll();
    }
}
Also used : QualifiedName(org.eclipse.titan.executor.jni.QualifiedName) ComponentStruct(org.eclipse.titan.executor.jni.ComponentStruct) InformationElement(org.eclipse.titan.executor.views.executormonitor.InformationElement) HostControllerElement(org.eclipse.titan.executor.views.executormonitor.HostControllerElement) HostStruct(org.eclipse.titan.executor.jni.HostStruct) VerdictTypeEnum(org.eclipse.titan.executor.jni.VerdictTypeEnum) McStateEnum(org.eclipse.titan.executor.jni.McStateEnum) ComponentElement(org.eclipse.titan.executor.views.executormonitor.ComponentElement) JNIMiddleWare(org.eclipse.titan.executor.jni.JNIMiddleWare) MainControllerElement(org.eclipse.titan.executor.views.executormonitor.MainControllerElement)

Aggregations

ComponentElement (org.eclipse.titan.executor.views.executormonitor.ComponentElement)2 InformationElement (org.eclipse.titan.executor.views.executormonitor.InformationElement)2 Matcher (java.util.regex.Matcher)1 ComponentStruct (org.eclipse.titan.executor.jni.ComponentStruct)1 HostStruct (org.eclipse.titan.executor.jni.HostStruct)1 JNIMiddleWare (org.eclipse.titan.executor.jni.JNIMiddleWare)1 McStateEnum (org.eclipse.titan.executor.jni.McStateEnum)1 QualifiedName (org.eclipse.titan.executor.jni.QualifiedName)1 VerdictTypeEnum (org.eclipse.titan.executor.jni.VerdictTypeEnum)1 HostControllerElement (org.eclipse.titan.executor.views.executormonitor.HostControllerElement)1 MainControllerElement (org.eclipse.titan.executor.views.executormonitor.MainControllerElement)1