Examples of IScanResult


Examples of fr.soleil.salsa.entity.IScanResult

    private synchronized void updateView() {
        // This way we can use result without fear that scanResult was changed in the meantime on
        // another thread.
        // We could synchronize the methods that can change scanResult too, but that would just be
        // extra overhead.
        IScanResult result = scanResult;
        if (result != null) {
            List<ISensor> sensorsList = result.getSensorsList();
            List<IActuator> actuatorsList = result.getActuatorsXList();

            Option[] sensorsArray = new Option[sensorsList.size()];
            int sensorIndex;
            int sensorsNumber = sensorsList.size();
            ISensor sensor;
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

     *             buffered exception)
     */
    public static IScanResult getBufferedScanResult(String scanServerName)
            throws SalsaDeviceException, SalsaScanConfigurationException {
        Exception scanException = null;
        IScanResult result = null;
        synchronized (SCAN_RESULT_MAP) {
            // get buffered scan result
            result = SCAN_RESULT_MAP.get(scanServerName);
            // no buffered scan result ? check for exceptions
            if (result == null) {
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

                }
            }

            // fill buffered maps
            for (String scanServerName : tempScanList) {
                IScanResult scanResult;
                try {
                    scanResult = ScanApi.readScanResult(scanServerName);
                    if (scanResult == null) {
                        tempNullScanList.add(scanServerName);
                    }
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

        }
        return actuatorTrajectoriesList;
    }

    public IScanResult retrieveCommonScanResult(boolean withTrajectories) throws SalsaDeviceException {
        IScanResult scanResult = null;
        DeviceProxy scanServerProxy = TangoDeviceHelper.getDeviceProxy(scanServerName);
        if (scanServerProxy != null) {
            if (isScanResultReady()) {
                try {
                    // Type
                    actionName = "read_attribute(\"" + CurrentScanDataModel.SCAN_TYPE + "\")";
                    DeviceAttribute scanTypeAttribute = scanServerProxy.read_attribute(CurrentScanDataModel.SCAN_TYPE);
                    int scanType = scanTypeAttribute.extractLong();
                    LOGGER.trace("{}.{}={}", scanServerName, actionName, String.valueOf(scanType));
                    // 0 -> time scan
                    // 1 -> scan 1d
                    // 2 -> scan 2d
                    switch (scanType) {
                        case 0:
                            scanResult = new ScanResultImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_TIMESCAN);
                            break;
                        case 1:
                            scanResult = new ScanResult1DImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_1D);
                            break;
                        case 2:
                            scanResult = new ScanResult2DImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_2D);
                            break;
                    }

                    if (scanResult != null) {
                        scanResult.setScanServer(scanServerName);

                        // Name.
                        actionName = "read_attribute(\"" + CurrentScanDataModel.RUN_NAME + "\")";
                        scanResult.setRunName(CurrentScanDataModel.readRunName(scanServerName));

                        CurrentScanDataModel.updateDataModel(scanServerName);
                        LOGGER.trace(scanServerName + "." + actionName + "=" + scanResult.getRunName());

                        // Sensors
                        actionName = "read_attribute(\"" + CurrentScanDataModel.SENSORS_DATA_LIST + "\")";
                        String[] sensorsValueKeysArray = CurrentScanDataModel.getSensors(scanServerName);
                        LOGGER.trace("{}.{}={}", scanServerName, actionName, Arrays.toString(sensorsValueKeysArray));
                        ISensor sensor = null;
                        String sensorName = null;
                        String entityName = null;

                        if (sensorsValueKeysArray != null) {
                            for (String sensorValueKey : sensorsValueKeysArray) {
                                entityName = TangoDeviceHelper.getEntityName(sensorValueKey);
                                sensorName = TangoAttributeHelper.getLabel(scanServerName, entityName);
                                sensor = new SensorImpl();
                                sensor.setName(sensorName);
                                sensor.setEnabled(true);
                                scanResult.getSensorsList().add(sensor);
                                sensor.setScanServerAttributeName(sensorValueKey);
                            }
                        }

                        // Actuators dimension X
                        actionName = "read_attribute(\"" + CurrentScanDataModel.ACTUATORS_DATA_LIST + " "
                        + CurrentScanDataModel.YACTUATORS_DATA_LIST + "\")";
                        String[] actuatorsValueKeysArray = CurrentScanDataModel.getActuators(scanServerName);
                        LOGGER.trace("{}.{}={}", scanServerName, actionName, Arrays.toString(actuatorsValueKeysArray));
                        IActuator actuator = null;
                        String actuatorName = null;
                        List<IActuator> actuatorList = null;

                        if (actuatorsValueKeysArray != null) {
                            for (String actuatorValueKey : actuatorsValueKeysArray) {
                                entityName = TangoDeviceHelper.getEntityName(actuatorValueKey);
                                actuatorName = TangoAttributeHelper.getLabel(scanServerName, entityName);
                                actuator = new ActuatorImpl();
                                actuator.setName(actuatorName);
                                actuator.setEnabled(true);
                                // X Actuator
                                if (entityName.startsWith("actuator_1")) {
                                    actuatorList = scanResult.getActuatorsXList();
                                } else if (entityName.startsWith("actuator_2") && (scanResult instanceof IScanResult2D)) {
                                    actuatorList = ((IScanResult2D) scanResult).getActuatorsYList();
                                }

                                if (actuatorList != null) {
                                    actuatorList.add(actuator);
                                }

                                actuator.setScanServerAttributeName(actuatorValueKey);
                            }

                            if (withTrajectories) {
                                HashMap<IActuator, double[]> trajectoryMap = new HashMap<IActuator, double[]>();
                                actuatorList = scanResult.getActuatorsXList();
                                if ((actuatorList != null) && !actuatorList.isEmpty()) {
                                    double[] trajectoryX = CurrentConfigurationParser.readFlatTrajectory(
                                            scanServerName, 1);
                                    fillTrajectoryMap(trajectoryMap, actuatorList, trajectoryX);
                                }

                                if (scanResult instanceof IScanResult2D) {
                                    actuatorList = ((IScanResult2D) scanResult).getActuatorsYList();
                                    if ((actuatorList != null) && !actuatorList.isEmpty()) {
                                        double[] trajectoryY = CurrentConfigurationParser.readFlatTrajectory(
                                                scanServerName, 2);
                                        fillTrajectoryMap(trajectoryMap, actuatorList, trajectoryY);
                                    }
                                }
                                scanResult.setTrajectoryMap(trajectoryMap);
                            }
                        }
                    }
                } catch (DevFailed e) {
                    String errorMessage = actionName + " Failed " + DevFailedUtils.toString(e);
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

            button.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    try {
                        IScanResult result = connector.retrieveCommonScanResult(true);
                        Map<IActuator, double[]> trajectoryMap = result.getTrajectoryMap();
                        StringBuilder builder = new StringBuilder();
                        if (result != null) {
                            builder.append("ScanServer=" + result.getScanServer() + "\n");
                            builder.append("Class=" + result.getClass().getName() + "\n");
                            builder.append("ScanType=" + result.getResultType() + "\n");
                            builder.append("RunName=" + result.getRunName() + "\n");
                            builder.append("SensorTimeStamps=" + result.getSensorsTimeStampsCompleteName() + "\n");
                            builder.append("ActuatorTimeStamps=" + result.getActuatorsTimeStampsCompleteName() + "\n");

                            List<ISensor> sensorList = result.getSensorsList();
                            builder.append("---Sensor size=" + sensorList.size() + "---\n");
                            for (ISensor sensor : sensorList) {
                                builder.append("Sensor name=" + sensor.getName() + "\n");
                                builder.append("Sensor attribute name=" + sensor.getScanServerAttributeName() + "\n");
                            }

                            List<IActuator> actuatorXList = result.getActuatorsXList();
                            builder.append("---Actuator X size=" + actuatorXList.size() + "---\n");
                            for (IActuator actuator : actuatorXList) {
                                builder.append("Actuator X name=" + actuator.getName() + "\n");
                                builder.append("Actuator attribute name=" + actuator.getScanServerAttributeName()
                                        + "\n");
                                if ((trajectoryMap != null) && trajectoryMap.containsKey(actuator)) {
                                    builder.append("Real trajectory =" + Arrays.toString(trajectoryMap.get(actuator))
                                            + "\n");
                                }
                            }
                            if (result.getResultType() == IScanResult.ResultType.RESULT_2D) {
                                List<IActuator> actuatorYList = ((IScanResult2D) result).getActuatorsYList();
                                builder.append("---Actuator Y size=" + actuatorYList.size() + "---\n");
                                for (IActuator actuator : actuatorYList) {
                                    builder.append("Actuator Y name=" + actuator.getName() + "\n");
                                    builder.append("Actuator attribute name=" + actuator.getScanServerAttributeName()
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

     * Refreshes the view.
     */
    private synchronized void updateView() {
        // This way we can use result without fear that scanResult was changed in the meantime on another thread.
        // We could synchronize the methods that can change scanResult too, but that would just be extra overhead.
        IScanResult result = scanResult;
        if(result != null) {
            List<ISensor> sensorsList = result.getSensorsList();
            List<IActuator> actuatorsList = result.getActuatorsXList();
           
            Option[] sensorsArray = new Option[sensorsList.size()];
            int sensorIndex;
            int sensorsNumber =  sensorsList.size();
            ISensor sensor;
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

    }

    public IScanResult retrieveCommonScanResult(boolean withTrajectories) throws SalsaDeviceException {
        // System.out.println(this.getClass().getName() +
        // ".retrieveCommonScanResult");
        IScanResult scanResult = null;
        DeviceProxy scanServerProxy = TangoDeviceHelper.getDeviceProxy(scanServerName);
        if (scanServerProxy != null) {
            if (isScanResultReady()) {
                try {
                    // Type
                    actionName = "read_attribute(\"" + CurrentScanDataModel.SCAN_TYPE + "\")";
                    DeviceAttribute scanTypeAttribute = scanServerProxy.read_attribute(CurrentScanDataModel.SCAN_TYPE);
                    int scanType = scanTypeAttribute.extractLong();
                    // 0 -> time scan
                    // 1 -> scan 1d
                    // 2 -> scan 2d
                    switch (scanType) {
                        case 0:
                            scanResult = new ScanResultImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_TIMESCAN);
                            break;
                        case 1:
                            scanResult = new ScanResult1DImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_1D);
                            break;
                        case 2:
                            scanResult = new ScanResult2DImpl();
                            scanResult.setResultType(IScanResult.ResultType.RESULT_2D);
                            break;
                    }

                    if (scanResult != null) {
                        scanResult.setScanServer(scanServerName);

                        // Name.
                        actionName = "read_attribute(\"" + CurrentScanDataModel.RUN_NAME + "\")";
                        scanResult.setRunName(CurrentScanDataModel.readRunName(scanServerName));

                        CurrentScanDataModel.updateDataModel(scanServerName);

                        System.out.println(actionName + "= " + scanResult.getRunName());

                        // Sensors
                        actionName = "read_attribute(\"" + CurrentScanDataModel.SENSORS_DATA_LIST + "\")";
                        String[] sensorsValueKeysArray = CurrentScanDataModel.getSensors(scanServerName);

                        ISensor sensor = null;
                        String sensorName = null;
                        String entityName = null;

                        if (sensorsValueKeysArray != null) {
                            for (String sensorValueKey : sensorsValueKeysArray) {
                                entityName = TangoDeviceHelper.getEntityName(sensorValueKey);
                                sensorName = TangoAttributeHelper.getLabel(scanServerName, entityName);
                                sensor = new SensorImpl();
                                sensor.setName(sensorName);
                                sensor.setEnabled(true);
                                scanResult.getSensorsList().add(sensor);
                                sensor.setScanServerAttributeName(sensorValueKey);
                            }
                        }

                        // Actuators dimension X
                        actionName = "read_attribute(\"" + CurrentScanDataModel.ACTUATORS_DATA_LIST + " "
                        + CurrentScanDataModel.YACTUATORS_DATA_LIST + "\")";
                        String[] actuatorsValueKeysArray = CurrentScanDataModel.getActuators(scanServerName);

                        IActuator actuator = null;
                        String actuatorName = null;
                        List<IActuator> actuatorList = null;

                        if (actuatorsValueKeysArray != null) {
                            for (String actuatorValueKey : actuatorsValueKeysArray) {
                                entityName = TangoDeviceHelper.getEntityName(actuatorValueKey);
                                actuatorName = TangoAttributeHelper.getLabel(scanServerName, entityName);
                                actuator = new ActuatorImpl();
                                actuator.setName(actuatorName);
                                actuator.setEnabled(true);
                                // X Actuator
                                if (entityName.startsWith("actuator_1")) {
                                    actuatorList = scanResult.getActuatorsXList();
                                } else if (entityName.startsWith("actuator_2") && (scanResult instanceof IScanResult2D)) {
                                    actuatorList = ((IScanResult2D) scanResult).getActuatorsYList();
                                }

                                if (actuatorList != null) {
                                    actuatorList.add(actuator);
                                }

                                actuator.setScanServerAttributeName(actuatorValueKey);
                            }

                            if (withTrajectories) {
                                HashMap<IActuator, double[]> trajectoryMap = new HashMap<IActuator, double[]>();
                                actuatorList = scanResult.getActuatorsXList();
                                if ((actuatorList != null) && !actuatorList.isEmpty()) {
                                    double[] trajectoryX = CurrentConfigurationParser.readFlatTrajectory(
                                            scanServerName, 1);
                                    fillTrajectoryMap(trajectoryMap, actuatorList, trajectoryX);
                                }

                                if (scanResult instanceof IScanResult2D) {
                                    actuatorList = ((IScanResult2D) scanResult).getActuatorsYList();
                                    if ((actuatorList != null) && !actuatorList.isEmpty()) {
                                        double[] trajectoryY = CurrentConfigurationParser.readFlatTrajectory(
                                                scanServerName, 2);
                                        fillTrajectoryMap(trajectoryMap, actuatorList, trajectoryY);
                                    }
                                }
                                scanResult.setTrajectoryMap(trajectoryMap);
                            }
                        }
                    }
                } catch (DevFailed e) {
                    e.printStackTrace();
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

            button.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    try {
                        IScanResult result = connector.retrieveCommonScanResult(true);
                        Map<IActuator, double[]> trajectoryMap = result.getTrajectoryMap();
                        StringBuilder builder = new StringBuilder();
                        if (result != null) {
                            builder.append("ScanServer=" + result.getScanServer() + "\n");
                            builder.append("Class=" + result.getClass().getName() + "\n");
                            builder.append("ScanType=" + result.getResultType() + "\n");
                            builder.append("RunName=" + result.getRunName() + "\n");
                            builder.append("SensorTimeStamps=" + result.getSensorsTimeStampsCompleteName() + "\n");
                            builder.append("ActuatorTimeStamps=" + result.getActuatorsTimeStampsCompleteName() + "\n");

                            List<ISensor> sensorList = result.getSensorsList();
                            builder.append("---Sensor size=" + sensorList.size() + "---\n");
                            for (ISensor sensor : sensorList) {
                                builder.append("Sensor name=" + sensor.getName() + "\n");
                                builder.append("Sensor attribute name=" + sensor.getScanServerAttributeName() + "\n");
                            }

                            List<IActuator> actuatorXList = result.getActuatorsXList();
                            builder.append("---Actuator X size=" + actuatorXList.size() + "---\n");
                            for (IActuator actuator : actuatorXList) {
                                builder.append("Actuator X name=" + actuator.getName() + "\n");
                                builder.append("Actuator attribute name=" + actuator.getScanServerAttributeName()
                                        + "\n");
                                if ((trajectoryMap != null) && trajectoryMap.containsKey(actuator)) {
                                    builder.append("Real trajectory =" + Arrays.toString(trajectoryMap.get(actuator))
                                            + "\n");
                                }
                            }
                            if (result.getResultType() == IScanResult.ResultType.RESULT_2D) {
                                List<IActuator> actuatorYList = ((IScanResult2D) result).getActuatorsYList();
                                builder.append("---Actuator Y size=" + actuatorYList.size() + "---\n");
                                for (IActuator actuator : actuatorYList) {
                                    builder.append("Actuator Y name=" + actuator.getName() + "\n");
                                    builder.append("Actuator attribute name=" + actuator.getScanServerAttributeName()
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

        noReadCycles = 0;
        if (!autoRefresh && !inError) {
            setAutoRefresh(true);
        }
        NumberMatrix data;
        IScanResult scanResult = getScanResult();
        if (scanResult != null) {
            data = convertScanResultToNumberMatrix(scanResult);
        }
        else {
            data = null;
View Full Code Here

Examples of fr.soleil.salsa.entity.IScanResult

    /**
     * Returns the scan result.
     */
    public IScanResult getScanResult() {
        IScanResult scanResult;
        if (!inError) {
            String scanServerName = ModelPreferences.getInstance().getScanServer();
            try {
                if (scanServerName != null && !"".equals(scanServerName)) {
                    if (ScanApi.isScanResultReady(scanServerName)) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.