Search in sources :

Example 1 with HostControllerElement

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

the class CliExecutor method processInfoOutputHC.

/**
 * Processes the host controller related part of the mctr_cli's answer to the info command.
 * <p>
 * @see #processInfoOutput(BufferedReader)
 *
 * @param stdout the output of the process to be parsed.
 * @param root the main controller element to add the host controller data to.
 */
private void processInfoOutputHC(final BufferedReader stdout, final MainControllerElement root) {
    HostControllerElement tempHost;
    Matcher matcher = HOSTNAME_PATTERN.matcher(fastLine);
    if (matcher.matches()) {
        tempHost = new HostControllerElement("Host Controller");
        root.addHostController(tempHost);
        String hostIPAddress = matcher.group(1);
        tempHost.setIPAddressInfo(new InformationElement("IP address: " + hostIPAddress));
        String hostIpNumber = matcher.group(2);
        if (hostIpNumber != null && hostIpNumber.length() > 0) {
            tempHost.setIPNumberInfo(new InformationElement("IP number: " + hostIpNumber.substring(2, hostIpNumber.length() - 1)));
        }
        String localHostName = matcher.group(3);
        if (localHostName != null && localHostName.length() > 0) {
            tempHost.setHostNameInfo(new InformationElement("Local host name: " + localHostName.substring(2, localHostName.length() - 1)));
        }
        readFullLineOnly(stdout);
    } else {
        fastLine = null;
        return;
    }
    if (fastLine != null && fastLine.startsWith("     operating system")) {
        tempHost.setOperatingSystemInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    } else {
        fastLine = null;
        return;
    }
    if (fastLine != null && HC_STATE_PATTERN.matcher(fastLine).matches()) {
        tempHost.setStateInfo(new InformationElement(fastLine.trim()));
        readFullLineOnly(stdout);
    } else {
        fastLine = null;
        return;
    }
    if (fastLine != null && "     test component information:".equals(fastLine)) {
        readFullLineOnly(stdout);
        if (fastLine != null && fastLine.startsWith("      no components on this host")) {
            readFullLineOnly(stdout);
        } else {
            while (fastLine != null && fastLine.startsWith("      - ")) {
                processInfoOutputComponent(stdout, tempHost);
            }
        }
    } else {
        fastLine = null;
    }
}
Also used : HostControllerElement(org.eclipse.titan.executor.views.executormonitor.HostControllerElement) Matcher(java.util.regex.Matcher) InformationElement(org.eclipse.titan.executor.views.executormonitor.InformationElement)

Example 2 with HostControllerElement

use of org.eclipse.titan.executor.views.executormonitor.HostControllerElement 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

HostControllerElement (org.eclipse.titan.executor.views.executormonitor.HostControllerElement)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 ComponentElement (org.eclipse.titan.executor.views.executormonitor.ComponentElement)1 MainControllerElement (org.eclipse.titan.executor.views.executormonitor.MainControllerElement)1