/** * A constant representing a string. Alarm will be none and timestamp now. * * @param value the constant value * @return a string expression */ public static DesiredRateExpression<VString> vConst(String value) { return constant(newVString(value, alarmNone(), timeNow()), value); }
@Override protected Object createValue() { return newVDouble(bytesToMebiByte(Runtime.getRuntime().totalMemory()), alarmNone(), timeNow(), memoryDisplay); }
/** * A constant representing a double array. Alarm will be none, timestamp now * and no display information. * * @param values the constant values * @return a double array expression */ public static DesiredRateExpression<VDoubleArray> vConst(ListDouble values) { return constant(newVDoubleArray(values, alarmNone(), timeNow(), displayNone())); }
/** * A constant representing an int. Alarm will be none, timestamp now * and no display information. * * @param value the constant value * @return an int expression */ public static DesiredRateExpression<VInt> vConst(int value) { return constant(newVInt(value, alarmNone(), timeNow(), displayNone()), Integer.toString(value)); }
return ValueFactory.newVDouble(pvResult.getDoubleField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); } else if (resultType.isAssignableFrom(VFloat.class)) { return ValueFactory.newVFloat(pvResult.getFloatField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); } else if (resultType.isAssignableFrom(VString.class)) { return ValueFactory.newVString(pvResult.getStringField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow()); } else if (resultType.isAssignableFrom(VInt.class)) { return ValueFactory.newVInt(pvResult.getIntField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); } else if (resultType.isAssignableFrom(VShort.class)) { return ValueFactory.newVShort(pvResult.getShortField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); } else if (resultType.isAssignableFrom(VByte.class)) { return ValueFactory.newVByte(pvResult.getByteField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); } else if (resultType.isAssignableFrom(VBoolean.class)) { return ValueFactory.newVBoolean(pvResult.getBooleanField(fieldName != null ? fieldName : resultName).get(), ValueFactory.alarmNone(), ValueFactory.timeNow()); } else if (resultType.isAssignableFrom(VDoubleArray.class)) {
@Override protected Object createValue() { String hostname; Alarm alarm; try { hostname = InetAddress.getLocalHost().getCanonicalHostName(); alarm = alarmNone(); } catch (UnknownHostException ex) { hostname = "Unknown host"; alarm = newAlarm(AlarmSeverity.INVALID, "Undefined"); } if (!Objects.equals(hostname, previousValue)) { previousValue = hostname; return newVString(hostname, alarm, timeNow()); } else { return null; } }
/** * A constant representing a double. Alarm will be none, timestamp now * and no display information. * * @param value the constant value * @return a double expression */ public static DesiredRateExpression<VDouble> vConst(double value) { return constant(newVDouble(value, alarmNone(), timeNow(), displayNone()), Double.toString(value)); }
@SuppressWarnings("unchecked") List<String> data = (List<String>) table.getColumnData(index); return ValueFactory.newVStringArray(data, ValueFactory.alarmNone(), ValueFactory.timeNow()); return ValueFactory.newVDoubleArray(data, ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone()); return ValueFactory.newVIntArray(data, ValueFactory.alarmNone(), ValueFactory.timeNow(), ValueFactory.displayNone());
/** * A constant representing an int array. Alarm will be none, timestamp now * and no display information. * * @param values the constant values * @return an int array expression */ public static DesiredRateExpression<VIntArray> vConst(ListInt values) { return constant(newVIntArray(values, alarmNone(), timeNow(), displayNone())); }
@Override protected Object createValue() { Instant time = Instant.now(); String formatted = timeFormat.format(ZonedDateTime.ofInstant(time, ZoneId.systemDefault())); return newVString(formatted, alarmNone(), newTime(time)); }
previousXData = xData; previousYData = yData; previousResult = newVNumberArray(new ArrayInt(binData), new ArrayInt(nYBins, nXBins), Arrays.asList(newDisplay(yBoundaries, ""), newDisplay(xBoundaries, "")), alarmNone(), timeNow(), newDisplay(0.0, 0.0, 0.0, "count", NumberFormats.format(0), maxCount, maxCount, maxCount, Double.NaN, Double.NaN));
@Override public Object calculate(final List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray array = (VNumberArray) args.get(0); if (array.getSizes().size() != args.size() - 1) { throw new IllegalArgumentException("Dimension of the array must match the number of ListNumberProvider"); } List<ArrayDimensionDisplay> dimDisplay = new ArrayList<>(); for (int i = 1; i < args.size(); i++) { ListNumberProvider numberGenerator = (ListNumberProvider) args.get(i); dimDisplay.add(ValueFactory.newDisplay(numberGenerator.createListNumber(array.getSizes().getInt(i-1) + 1), "")); } return ValueFactory.newVNumberArray(array.getData(), array.getSizes(), dimDisplay, array, array, array); }
@Override public final Object calculate(List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumber arg1 = (VNumber) args.get(0); VNumberArray arg2 = (VNumberArray) args.get(1); return newVNumberArray( calculate(arg1.getValue().doubleValue(), arg2.getData()), ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args), displayNone()); }
@Override public VTable readValue() { List<Class<?>> types = new ArrayList<Class<?>>(); List<Object> values = new ArrayList<Object>(); for (List<ReadFunction<?>> columnFunctions : functions) { List<Object> columnValues = new ArrayList<Object>(); Class<?> columnType = null; // Extract all values and determine column type for (ReadFunction<?> function : columnFunctions) { Object value = function.readValue(); columnType = validateType(value, columnType, names.get(types.size())); columnValues.add(value); } // If no type is found, the column will be empty. // Default to an array of Strings if (columnType == null) columnType = String.class; // Prepare column array Object data = java.lang.reflect.Array.newInstance(columnType, columnValues.size()); for (int i = 0; i < columnValues.size(); i++) { arrayAdders.get(columnType).addValue(data, i, columnValues.get(i)); } // Done with this column types.add(columnType); values.add(arrayAdders.get(columnType).finalizeData(data)); } return ValueFactory.newVTable(types, names, values); }
@Override public final Object calculate(List<Object> args) { Object arg1 = args.get(0); Object arg2 = args.get(1); if (arg1 == null || arg2 == null) { return null; } Alarm alarm = ValueUtil.highestSeverityOf(args, false); Time time = ValueUtil.latestTimeOf(args); if (time == null) { time = ValueFactory.timeNow(); } return ValueFactory.newVDouble( calculate(((VNumber) args.get(0)).getValue().doubleValue(), ((VNumber) args.get(1)).getValue().doubleValue()) , alarm, time, ValueFactory.displayNone()); }
@Override public VMultiDouble readValue() { Instant reference = electReferenceTimeStamp(collectors); if (reference == null) return null; TimeInterval allowedInterval = TimeInterval.around(tolerance, reference); List<VDouble> values = new ArrayList<VDouble>(collectors.size()); StringBuilder buffer = new StringBuilder(); for (ReadFunction<List<VDouble>> collector : collectors) { List<VDouble> data = collector.readValue(); if (log.isLoggable(Level.FINE)) { buffer.append(data.size()).append(", "); } VDouble value = closestElement(data, allowedInterval, reference); values.add(value); } if (log.isLoggable(Level.FINE)) { log.fine(buffer.toString()); } return ValueFactory.newVMultiDouble(values, ValueFactory.alarmNone(), ValueFactory.newTime(reference), ValueFactory.displayNone()); }
return newVDouble(totalSum / data.size(), newAlarm(statSeverity, "NONE"), newTime(data.get(data.size() / 2).getTimestamp()), data.get(0));
/** * Sample execution of Math services. * * @param args ignored */ public static void main(String[] args) { System.out.println("Locating service method..."); ServiceMethod method = ServiceRegistry.getDefault().findServiceMethod("math/add"); System.out.println("Service method found: " + method); System.out.println("Preparing arguments..."); Map<String, Object> arguments = new HashMap<>(); arguments.put("arg1", ValueFactory.newVDouble(1.0)); arguments.put("arg2", ValueFactory.newVDouble(2.0)); System.out.println("Arguments: " + arguments); System.out.println("Executing service..."); Map<String, Object> result = method.executeSync(arguments); System.out.println("Result: " + result); }
@Override public Object calculate(List<Object> args) { VStringArray stringArray = (VStringArray) args.get(0); if (stringArray == null) { return null; } StringBuffer sb = new StringBuffer(); for (String str : stringArray.getData()) { sb.append(str); } return ValueFactory.newVString(sb.toString(), stringArray, stringArray); }
Display display = displayNone(); if (firstNonNull != null) { if (ValueUtil.displayHasValidDisplayLimits(firstNonNull)) { } else { Statistics stats = StatisticsUtil.statisticsOf(data); display = newDisplay(stats.getRange().getMinimum(), stats.getRange().getMinimum(), stats.getRange().getMinimum(), "", NumberFormats.toStringFormat(), stats.getRange().getMaximum(), stats.getRange().getMaximum(), stats.getRange().getMaximum(), stats.getRange().getMinimum(), stats.getRange().getMaximum()); return ValueFactory.newVNumberArray(data, ValueUtil.highestSeverityOf(args, false), ValueUtil.latestValidTimeOrNowOf(args),