public Widget updateProperty(int deviceId, short pin, WidgetProperty widgetProperty, String propertyValue) { Widget widget = null; for (Widget dashWidget : widgets) { if (dashWidget.isSame(deviceId, pin, PinType.VIRTUAL)) { if (dashWidget.setProperty(widgetProperty, propertyValue)) { widget = dashWidget; } } } return widget; }
public int getPrice() { int sum = 0; for (Widget widget : widgets) { sum += widget.getPrice(); } return sum; }
public String buildPMMessage(int deviceId) { StringBuilder sb = new StringBuilder("pm"); for (Widget widget : widgets) { widget.append(sb, deviceId); } if (sb.length() == 2) { return null; } return sb.toString(); }
public void eraseWidgetValuesForDevice(int deviceId) { for (Widget widget : widgets) { if (widget.isAssignedToDevice(deviceId)) { widget.erase(); } if (widget instanceof DeviceCleaner) { ((DeviceCleaner) widget).deleteDevice(deviceId); } } }
private static Widget[] copyWidgetsAndPreservePrevValues(Widget[] oldWidgets, Widget[] newWidgets) { ArrayList<Widget> copy = new ArrayList<>(newWidgets.length); for (Widget newWidget : newWidgets) { Widget oldWidget = getWidgetById(oldWidgets, newWidget.id); Widget copyWidget = newWidget.copy(); //for now erasing only for this types, not sure about DeviceTiles if (copyWidget instanceof OnePinWidget || copyWidget instanceof MultiPinWidget || copyWidget instanceof ReportingWidget) { copyWidget.erase(); } if (oldWidget != null) { copyWidget.updateValue(oldWidget); } copy.add(copyWidget); } return copy.toArray(new Widget[newWidgets.length]); }
@Override public boolean setProperty(WidgetProperty property, String propertyValue) { switch (property) { case MIN : //accepting floats as valid, but using int for min/max due to back compatibility this.min = Float.parseFloat(propertyValue); return true; case MAX : //accepting floats as valid, but using int for min/max due to back compatibility this.max = Float.parseFloat(propertyValue); return true; default: return super.setProperty(property, propertyValue); } }
public Widget findWidgetByPin(int deviceId, short pin, PinType pinType) { for (Widget widget : widgets) { if (widget.isSame(deviceId, pin, pinType)) { return widget; } } return null; }
newDeviceTiles.templates = prevDeviceTiles.templates; } else { newWidget.updateValue(prevWidget);
public void erase() { if (dataStream != null) { dataStream.value = null; } this.deviceIds = EMPTY_INTS; for (Widget widget : widgets) { widget.erase(); } }
protected void append(StringBuilder sb, short pin, PinType pinType) { if (pin != DataStream.NO_PIN && pinType != PinType.VIRTUAL) { PinMode pinMode = getModeType(); if (pinMode != null) { sb.append(BODY_SEPARATOR) .append(pin) .append(BODY_SEPARATOR) .append(pinMode); } } }
return ok(widget.getJsonValue());
if (!widget.setProperty(widgetProperty, propertyValue)) { log.debug("Property {} with value {} not supported.", property, propertyValue); ctx.writeAndFlush(illegalCommandBody(message.id), ctx.voidPromise());
public void eraseWidgetValues() { for (Widget widget : widgets) { widget.erase(); } }
if (dashWidget.isSame(deviceId, pin, pinType)) { if (!dashWidget.setProperty(property, value)) { log.debug("Property {} with value {} not supported.", property, value); return badRequest("Error setting widget property.");
public int energySum() { //means this is app preview project so do no manipulation with energy if (parentId != IS_PARENT_DASH) { return 0; } int sum = 0; for (Widget widget : widgets) { sum += widget.getPrice(); } return sum; }
/** * Removes all widgets with tabId greater than lastTabIndex */ static Widget[] deleteTabs(TimerWorker timerWorker, User user, UserKey userKey, int dashId, long deviceTilesId, long templateId, Widget[] widgets, int lastTabIndex) { ArrayList<Widget> zeroTabWidgets = new ArrayList<>(); int removedWidgetPrice = 0; for (Widget widgetToDelete : widgets) { if (widgetToDelete.tabId > lastTabIndex) { removedWidgetPrice += widgetToDelete.getPrice(); if (widgetToDelete instanceof Timer) { timerWorker.delete(userKey, (Timer) widgetToDelete, dashId, deviceTilesId, templateId); } else if (widgetToDelete instanceof Eventor) { timerWorker.delete(userKey, (Eventor) widgetToDelete, dashId); } } else { zeroTabWidgets.add(widgetToDelete); } } user.addEnergy(removedWidgetPrice); return zeroTabWidgets.toArray(new Widget[0]); }
int price = newWidget.getPrice(); if (user.notEnoughEnergy(price)) { log.debug("Not enough energy.");
user.addEnergy(widgetToDelete.getPrice()); TimerWorker timerWorker = holder.timerWorker; if (deviceTilesId != -1) {