@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("(").append(getClass().getSimpleName()); sb.append(", Name: ").append(getName()); sb.append(", Type: ").append(getTypeDetails().getDatatype().getDisplayString()).append(")"); if (!getEventDetails().isSendEvents()) { sb.append(" (No Events)"); } if (getTypeDetails().getDefaultValue() != null) { sb.append(" Default Value: ").append("'").append(getTypeDetails().getDefaultValue()).append("'"); } if (getTypeDetails().getAllowedValues() != null) { sb.append(" Allowed Values: "); for (String s : getTypeDetails().getAllowedValues()) { sb.append(s).append("|"); } } return sb.toString(); } }
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int columns) { ActionArgumentValuesTableModel model = (ActionArgumentValuesTableModel)table.getModel(); ActionArgumentValue argumentValue = model.getValues()[row]; ActionArgument argument = model.getValueAt(row); switch (argument.getDatatype().getBuiltin()) { case BOOLEAN: return new BooleanArgumentValueCellComponent(argumentValue, editable); default: String argumentStringValue = null; if (argumentValue != null && argumentValue.toString().length() == 0) { argumentStringValue = "<<NULL>>"; } else if (argumentValue != null && argumentValue.toString().length() > 0) { argumentStringValue = argumentValue.toString(); } else if (argumentValue == null) { argumentStringValue = "Click to edit..."; } return super.getTableCellRendererComponent( table, argumentStringValue, isSelected, hasFocus, row, columns ); } }
@Override public String toString() { List<String> stringValues = new ArrayList<>(); for (T t : this) { stringValues.add(datatype.getDatatype().getString(t)); } return ModelUtil.toCommaSeparatedList(stringValues.toArray(new Object[stringValues.size()])); } }
protected void validateType(StateVariable stateVariable, Class type) throws LocalServiceBindingException { // Validate datatype as good as we can // (for enums and other convertible types, the state variable type should be STRING) Datatype.Default expectedDefaultMapping = ModelUtil.isStringConvertibleType(getStringConvertibleTypes(), type) ? Datatype.Default.STRING : Datatype.Default.getByJavaType(type); log.finer("Expecting '" + stateVariable + "' to match default mapping: " + expectedDefaultMapping); if (expectedDefaultMapping != null && !stateVariable.getTypeDetails().getDatatype().isHandlingJavaType(expectedDefaultMapping.getJavaType())) { // TODO: Consider custom types?! throw new LocalServiceBindingException( "State variable '" + stateVariable + "' datatype can't handle action " + "argument's Java type (change one): " + expectedDefaultMapping.getJavaType() ); } else if (expectedDefaultMapping == null && stateVariable.getTypeDetails().getDatatype().getBuiltin() != null) { throw new LocalServiceBindingException( "State variable '" + stateVariable + "' should be custom datatype " + "(action argument type is unknown Java type): " + type.getSimpleName() ); } log.finer("State variable matches required argument datatype (or can't be validated because it is custom)"); }
protected V valueOf(String s) throws InvalidValueException { return (V)getDatatype().valueOf(s); }
protected List parseString(String s) throws InvalidValueException { String[] strings = ModelUtil.fromCommaSeparatedList(s); List values = new ArrayList<>(); for (String string : strings) { values.add(datatype.getDatatype().valueOf(string)); } return values; }
protected void validateType(StateVariable stateVariable, Class type) throws LocalServiceBindingException { // Validate datatype as good as we can // (for enums and other convertible types, the state variable type should be STRING) Datatype.Default expectedDefaultMapping = ModelUtil.isStringConvertibleType(getStringConvertibleTypes(), type) ? Datatype.Default.STRING : Datatype.Default.getByJavaType(type); log.finer("Expecting '" + stateVariable + "' to match default mapping: " + expectedDefaultMapping); if (expectedDefaultMapping != null && !stateVariable.getTypeDetails().getDatatype().isHandlingJavaType(expectedDefaultMapping.getJavaType())) { // TODO: Consider custom types?! throw new LocalServiceBindingException( "State variable '" + stateVariable + "' datatype can't handle action " + "argument's Java type (change one): " + expectedDefaultMapping.getJavaType() ); } else if (expectedDefaultMapping == null && stateVariable.getTypeDetails().getDatatype().getBuiltin() != null) { throw new LocalServiceBindingException( "State variable '" + stateVariable + "' should be custom datatype " + "(action argument type is unknown Java type): " + type.getSimpleName() ); } log.finer("State variable matches required argument datatype (or can't be validated because it is custom)"); }
@Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int columns) { StateVariableValuesTableModel model = (StateVariableValuesTableModel)table.getModel(); StateVariableValue stateVariableValue = model.getValueAt(row); StateVariable stateVariable = stateVariableValue.getStateVariable(); switch (stateVariable.getTypeDetails().getDatatype().getBuiltin()) { case BOOLEAN: return new BooleanArgumentValueCellComponent(stateVariableValue); default: String stringValue; if (stateVariableValue != null && stateVariableValue.toString().length() > 0) { stringValue = stateVariableValue.toString(); } else { stringValue = "<<NULL>>"; } return super.getTableCellRendererComponent( table, stringValue, isSelected, hasFocus, row, columns ); } }
protected Container createContainer(Attributes attributes) { Container container = new Container(); container.setId(attributes.getValue("id")); container.setParentID(attributes.getValue("parentID")); if ((attributes.getValue("childCount") != null)) container.setChildCount(Integer.valueOf(attributes.getValue("childCount"))); try { Boolean value = (Boolean) Datatype.Builtin.BOOLEAN.getDatatype().valueOf( attributes.getValue("restricted") ); if (value != null) container.setRestricted(value); value = (Boolean) Datatype.Builtin.BOOLEAN.getDatatype().valueOf( attributes.getValue("searchable") ); if (value != null) container.setSearchable(value); } catch (Exception ex) { // Ignore } return container; }
setIcon(Application.createImageIcon(Workbench.class, "img/24/argument_out.png")); setToolTipText(nodeActionArgument.getRelatedStateVariableName() + ", " + nodeActionArgument.getDatatype().getDisplayString()); setText(nodeActionArgument.getName()); setToolTipText(nodeStateVariable.getTypeDetails().getDatatype().getDisplayString()); setText(nodeStateVariable.getName() + (nodeStateVariable.getEventDetails().isSendEvents() ? " (Sends Events)" : ""));
@Override public String toString() { return getDatatype().getString(getValue()); }
protected void validateType(StateVariable stateVariable, Class type) throws LocalServiceBindingException { // Validate datatype as good as we can // (for enums and other convertible types, the state variable type should be STRING) Datatype.Default expectedDefaultMapping = ModelUtil.isStringConvertibleType(getStringConvertibleTypes(), type) ? Datatype.Default.STRING : Datatype.Default.getByJavaType(type); log.finer("Expecting '" + stateVariable + "' to match default mapping: " + expectedDefaultMapping); if (expectedDefaultMapping != null && !stateVariable.getTypeDetails().getDatatype().isHandlingJavaType(expectedDefaultMapping.getJavaType())) { // TODO: Consider custom types?! throw new LocalServiceBindingException( "State variable '" + stateVariable + "' datatype can't handle action " + "argument's Java type (change one): " + expectedDefaultMapping.getJavaType() ); } else if (expectedDefaultMapping == null && stateVariable.getTypeDetails().getDatatype().getBuiltin() != null) { throw new LocalServiceBindingException( "State variable '" + stateVariable + "' should be custom datatype " + "(action argument type is unknown Java type): " + type.getSimpleName() ); } log.finer("State variable matches required argument datatype (or can't be validated because it is custom)"); }
public boolean isModeratedNumericType() { return Datatype.Builtin.isNumeric( getTypeDetails().getDatatype().getBuiltin() ) && getEventDetails().getEventMinimumDelta() > 0; }
protected Item createItem(Attributes attributes) { Item item = new Item(); item.setId(attributes.getValue("id")); item.setParentID(attributes.getValue("parentID")); try { Boolean value = (Boolean)Datatype.Builtin.BOOLEAN.getDatatype().valueOf( attributes.getValue("restricted") ); if (value != null) item.setRestricted(value); } catch (Exception ex) { // Ignore } if ((attributes.getValue("refID") != null)) item.setRefID(attributes.getValue("refID")); return item; }
addIfNotNull(actionArgumentNode, "Datatype: ", actionArgument.getDatatype().getDisplayString()); serviceNode.add(stateVariableNode); addIfNotNull(stateVariableNode, "Datatype: ", stateVariable.getTypeDetails().getDatatype().getDisplayString()); addIfNotNull(stateVariableNode, "Default Value: ", stateVariable.getTypeDetails().getDefaultValue());
@Override public String toString() { return getDatatype().getString(getValue()); }
if (!Datatype.Builtin.STRING.equals(getDatatype().getBuiltin())) { errors.add(new ValidationError( getClass(),