@Override protected DataMessageComponent getTransformedMessage(List<DataMessageComponent> cache) throws ProcessingException { final DataMessageComponent ret = MessageUtils.mergeAll(cache); ret.putScalar("message_text", "Hello World"); return ret; }
protected DataMessageComponent getTransformedMessage( List<DataMessageComponent> port1Cache, List<DataMessageComponent> port2Cache) throws ProcessingException { final List<IDataset> sets1 = MessageUtils.getDatasets(port1Cache); final List<IDataset> sets2 = MessageUtils.getDatasets(port2Cache); final Collection<IDataset> sets = new HashSet<IDataset>(7); if (sets1 != null) sets.addAll(sets1); if (sets2 != null) sets.addAll(sets2); final AbstractDataset prod = Maths.multiply(sets, isCreateClone()); try { final DataMessageComponent ret = new DataMessageComponent(); ret.setList(prod); setUpstreamValues(ret, port1Cache, port2Cache); ret.putScalar("operation_names", MessageUtils.getNames(sets)); return ret; } catch (Exception e) { throw createDataMessageException("Cannot generate multiplied data sets", e); } }
@Override protected DataMessageComponent getTransformedMessage(List<DataMessageComponent> cache) throws DataMessageException { // get the data out of the message, name of the item should be specified final Map<String, Serializable> data = MessageUtils.getList(cache); Map<String, AFunction> functions; try { functions = MessageUtils.getFunctions(cache); } catch (Exception e) { throw new DataMessageException( "Could not parse the Funcitons comming into the FunctionToDatsetActor", null, e); } // prepare the output message DataMessageComponent result = MessageUtils.copy(cache); // get the required datasets String dataset = datasetName.getExpression(); String xAxis = xAxisName.getExpression(); String functionString = functionName.getExpression(); // Get the actual objects Dataset xAxisDS = DatasetFactory.createFromObject(data.get(xAxis)).clone(); AFunction function = functions.get(functionString); populateDataBasedFunctions(data, function); // process the data // TODO Add Null Protection here. DoubleDataset createdDS = function.calculateValues(xAxisDS); createdDS.setName(dataset); // Add it to the result result.addList(createdDS.getName(), createdDS); return result; }
@Override protected DataMessageComponent getTransformedMessage(List<DataMessageComponent> cache) throws ProcessingException { try { final MotorContainer cont = (MotorContainer) motorsParam.getBeanFromValue(MotorContainer.class); final DataMessageComponent comp = MessageUtils.mergeAll(cache); if (cont == null) { comp.putScalar("error_messsage", "No motors configured, '" + getName() + "' did nothing."); return comp; } final Map<String, String> values = setMotors(cont, comp); if (values != null) comp.addScalar(values); return comp; } catch (Exception e) { throw createDataMessageException("Cannot set motor values!", e); } }