private void resolveList(ObjectNode schema, Property property) { String className = property.getType(); schema.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.TYPE_ARRAY); ObjectNode items = JsonNodeFactory.instance.objectNode(); schema.set(JsonSchemaConstants.TAG_ITEMS, items); if (property instanceof EnumListProperty) { resolveEnum(items, property); } else { items.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.getTypeMapping().get(getListInnerClassName(className))); } }
private ObjectNode processTProperty(Property property) { ObjectNode schema = JsonNodeFactory.instance.objectNode(); schema.put(JsonSchemaConstants.TAG_TITLE, property.getDisplayName()); if (!property.getPossibleValues().isEmpty()) { if (property instanceof EnumProperty) { resolveEnum(schema, property); } else if (property instanceof EnumListProperty) { resolveList(schema, property); } else { resolveDefault(schema, property); } } else if (isListClass(property.getType())) { resolveList(schema, property); } else { schema.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.getTypeMapping().get(property.getType())); if (Date.class.getName().equals(property.getType())) { schema.put(JsonSchemaConstants.TAG_FORMAT, "date-time");// Do not support other format for date till // Property // support it } } return schema; }
Constructor<? extends NamedThing> c = otherClass.getDeclaredConstructor(String.class, String.class); c.setAccessible(true); thisProp = c.newInstance(otherPy.getType(), otherPy.getName()); } else if (Properties.class.isAssignableFrom(otherClass)) {
protected <T extends Enum<T>> Property<T> checkForInvalidStoredEnumProperty(Property<T> property, Class<T> fixEnum) { String name = property.getName(); if (property.getStoredValue() instanceof Enum && fixEnum.getCanonicalName().equals(property.getType())) { return property; } String value = getEnumStoredValue(property.getStoredValue()); if (value == null) { LOG.warn("[checkForInvalidStoredEnumProperty] Cannot determine value for enum {} stored value: {} ({}).", name, property.getStoredValue(), property.getStoredValue().getClass().getCanonicalName()); // don't break everything for that... return property; } try { LOG.warn("[checkForInvalidStoredEnumProperty] Fixing enum {} value: {}", name, value); property = newEnum(name, fixEnum); property.setValue(Enum.valueOf(fixEnum, value)); property.setStoredValue(Enum.valueOf(fixEnum, value)); property.setPossibleValues(fixEnum.getEnumConstants()); } catch (Exception e) { LOG.error("[checkForInvalidStoredEnumProperty] Error during {} fix: {}.", name, e); } return property; }
private Object getTPropertyValue(ClassLoader classLoader, Property property, JsonNode dataNode) { String javaType = property.getType(); if (dataNode == null || dataNode.isNull()) { return null; } else if (isListClass(javaType)) { Class type = findClass(classLoader, getListInnerClassName(javaType)); ArrayNode arrayNode = ((ArrayNode) dataNode); List values = new ArrayList(); for (int i = 0; i < arrayNode.size(); i++) { values.add(getValue(arrayNode.get(i), type)); } return values; } else { return getValue(dataNode, findClass(classLoader, javaType)); } }
protected <T extends Enum<T>> Property<T> checkForInvalidStoredEnumProperty(Property<T> property, Class<T> fixEnum) { String name = property.getName(); if (property.getStoredValue() instanceof Enum && fixEnum.getCanonicalName().equals(property.getType())) { return property; } String value = getEnumStoredValue(property.getStoredValue()); if (value == null) { LOG.warn("[checkForInvalidStoredEnumProperty] Cannot determine value for enum {} stored value: {} ({}).", name, property.getStoredValue(), property.getStoredValue().getClass().getCanonicalName()); // don't break everything for that... return property; } try { LOG.warn("[checkForInvalidStoredEnumProperty] Fixing enum {} value: {}", name, value); property = newEnum(name, fixEnum); property.setValue(Enum.valueOf(fixEnum, value)); property.setStoredValue(Enum.valueOf(fixEnum, value)); property.setPossibleValues(fixEnum.getEnumConstants()); } catch (Exception e) { LOG.error("[checkForInvalidStoredEnumProperty] Error during {} fix: {}.", name, e); } return property; }
private void resolveDefault(ObjectNode schema, Property property) { final ArrayNode enumList; final ArrayNode enumNames; if (isListClass(property.getType())) { schema.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.getTypeMapping().get(getListType())); ObjectNode items = schema.putObject(JsonSchemaConstants.TAG_ITEMS); items.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.getTypeMapping().get(getListInnerClassName(property.getType()))); enumList = items.putArray(JsonSchemaConstants.TAG_ENUM); enumNames = items.putArray(JsonSchemaConstants.TAG_ENUM_NAMES); } else { schema.put(JsonSchemaConstants.TAG_TYPE, JsonSchemaConstants.getTypeMapping().get(property.getType())); enumList = schema.putArray(JsonSchemaConstants.TAG_ENUM); enumNames = schema.putArray(JsonSchemaConstants.TAG_ENUM_NAMES); } addEnumsToProperty(enumList, enumNames, property); // Set default value if one is stored at the property level if (property.getDefaultValue() != null) { schema.put(JsonSchemaConstants.TAG_DEFAULT, property.getStringDefaultValue()); } }
private ObjectNode processTPropertyValue(Form form, ClassLoader classLoader, Property property, ObjectNode node) { // If the widget has a placeholder and the property has a null or empty value, then do not include it in the // generated data. The placeholder will be used, but is stored in the UISchema. Widget widget = form != null ? form.getWidget(property.getName()) : null; if (widget != null) { String placeholder = (String) widget.getConfigurationValue(Widget.PLACEHOLDER_WIDGET_CONF); if (placeholder != null && (property.getValue() == null || property.getValue().equals(""))) return node; } String javaType = property.getType(); String pName = property.getName(); Object pValue = property.getValue(); if (pValue == null) { // unset if the value is null // node.set(pName, node.nullNode()); } else if (isListClass(javaType)) { Class type = findClass(classLoader, getListInnerClassName(javaType)); ArrayNode arrayNode = node.putArray(pName); for (Object value : ((List) pValue)) { fillValue(form, arrayNode, type, value); } } else { fillValue(node, findClass(classLoader, javaType), pName, pValue); } return node; }
assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); assertEquals("totalRecordCount", result[1].getName()); assertEquals(null, result[1].getValue()); assertEquals("java.lang.Integer", result[1].getType()); assertEquals("query", result[2].getName()); assertEquals(null, result[2].getValue()); assertEquals("java.lang.String", result[2].getType());
/** * Run the Property[] getReturnProperties() method test. * * @throws Exception * * @generatedBy CodePro at 17-6-20 PM3:14 */ @Test public void testGetReturnProperties() throws Exception { TJDBCRowDefinition fixture = new TJDBCRowDefinition(); Property[] result = fixture.getReturnProperties(); assertNotNull(result); assertEquals(2, result.length); assertNotNull(result[0]); assertEquals("Error Message", result[0].getDisplayName()); assertEquals("Property: errorMessage", result[0].toString()); assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); assertNotNull(result[1]); assertEquals("Query", result[1].getDisplayName()); assertEquals("Property: query", result[1].toString()); assertEquals("query", result[1].getName()); assertEquals(null, result[1].getValue()); assertEquals("java.lang.String", result[1].getType()); }
/** * Run the Property[] getReturnProperties() method test. * * @throws Exception * * @generatedBy CodePro at 17-6-20 PM3:13 */ @Test public void testGetReturnProperties() throws Exception { TJDBCCommitDefinition fixture = new TJDBCCommitDefinition(); Property[] result = fixture.getReturnProperties(); assertNotNull(result); assertEquals(1, result.length); assertNotNull(result[0]); assertEquals("Error Message", result[0].getDisplayName()); assertEquals("Property: errorMessage", result[0].toString()); assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); }
/** * Run the Property[] getReturnProperties() method test. * * @throws Exception * * @generatedBy CodePro at 17-6-20 PM3:14 */ @Test public void testGetReturnProperties() throws Exception { TJDBCRollbackDefinition fixture = new TJDBCRollbackDefinition(); Property[] result = fixture.getReturnProperties(); // add additional test code here assertNotNull(result); assertEquals(1, result.length); assertNotNull(result[0]); assertEquals("Error Message", result[0].getDisplayName()); assertEquals("Property: errorMessage", result[0].toString()); assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); }
/** * Run the Property[] getReturnProperties() method test. * * @throws Exception * * @generatedBy CodePro at 17-6-20 PM3:16 */ @Test public void testGetReturnProperties() throws Exception { TJDBCConnectionDefinition fixture = new TJDBCConnectionDefinition(); Property[] result = fixture.getReturnProperties(); assertNotNull(result); assertEquals(1, result.length); assertNotNull(result[0]); assertEquals("Error Message", result[0].getDisplayName()); assertEquals("Property: errorMessage", result[0].toString()); assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); }
/** * Run the Property[] getReturnProperties() method test. * * @throws Exception * * @generatedBy CodePro at 17-6-20 PM3:13 */ @Test public void testGetReturnProperties() throws Exception { TJDBCCloseDefinition fixture = new TJDBCCloseDefinition(); Property[] result = fixture.getReturnProperties(); assertNotNull(result); assertEquals(1, result.length); assertNotNull(result[0]); assertEquals("Error Message", result[0].getDisplayName()); assertEquals("Property: errorMessage", result[0].toString()); assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); }
assertEquals("errorMessage", result[0].getName()); assertEquals(null, result[0].getValue()); assertEquals("java.lang.String", result[0].getType()); assertEquals("totalRecordCount", result[1].getName()); assertEquals(null, result[1].getValue()); assertEquals("java.lang.Integer", result[1].getType()); assertEquals("nbLineInserted", result[2].getName()); assertEquals(null, result[2].getValue()); assertEquals("java.lang.Integer", result[2].getType()); assertEquals("nbLineUpdated", result[3].getName()); assertEquals(null, result[3].getValue()); assertEquals("java.lang.Integer", result[3].getType()); assertEquals("nbLineDeleted", result[4].getName()); assertEquals(null, result[4].getValue()); assertEquals("java.lang.Integer", result[4].getType()); assertEquals("nbLineRejected", result[5].getName()); assertEquals(null, result[5].getValue()); assertEquals("java.lang.Integer", result[5].getType()); assertEquals("query", result[6].getName()); assertEquals(null, result[6].getValue()); assertEquals("java.lang.String", result[6].getType());