private <B> void validateTypes(ComponentProperty property, Class<B> type) { // JAXB seems to do some strange things with conversions, so // we can't rely on the databinding conversion from Node->Java to catch // incompatible types. DataType prop1 = property.getProperty().getDataType(); if ( (prop1 != null) && (type.isAssignableFrom(prop1.getPhysical())) ) { return; } else if ( simpleTypeMapper.getXMLType(type) != null ) { if ( simpleTypeMapper.getXMLType(type).getQName().equals(property.getXSDType())) return; } else if ( isSimpleType(property) ) { if ( type.isAssignableFrom(simpleTypeMapper.getJavaType(property.getXSDType()))) return; } throw new IllegalArgumentException("Property type " + prop1.getPhysical().getName() + " is not compatible with " + type.getName()); }
private void reconcileComponentPropertyWithComponentType(Component component, ComponentProperty componentProperty, Monitor monitor) { Property componentTypeProperty = componentProperty.getProperty(); if (componentTypeProperty != null) {
private void reconcileComponentPropertyWithComponentType(Component component, ComponentProperty componentProperty, Monitor monitor) { Property componentTypeProperty = componentProperty.getProperty(); if (componentTypeProperty != null) {