private void processPropertyValues(LogicalComponent<?> component, WebComponentDefinition physical) { for (LogicalProperty property : component.getAllProperties().values()) { Document document = property.getValue(); if (document != null) { String name = property.getName(); boolean many = property.isMany(); PhysicalPropertyDefinition definition = new PhysicalPropertyDefinition(name, document, many); physical.setPropertyDefinition(definition); } } }
protected Map<String, Pair> createProperties(SpringComponentDefinition definition) throws BuilderException { List<PhysicalPropertyDefinition> propertyDefinitions = definition.getPropertyDefinitions(); Map<String, Pair> values = new HashMap<String, Pair>(); for (PhysicalPropertyDefinition propertyDefinition : propertyDefinitions) { String name = propertyDefinition.getName(); Document document = propertyDefinition.getValue(); String value = document.getElementsByTagName("value").item(0).getFirstChild().getNodeValue(); QName type = propertyDefinition.getType(); if (XSD_BOOLEAN.equals(type)) { SingletonObjectFactory<Boolean> factory = new SingletonObjectFactory<Boolean>(Boolean.valueOf(value)); Pair pair = new Pair(Boolean.class, factory); values.put(name, pair); } else if (XSD_INT.equals(type)) { SingletonObjectFactory<Integer> factory = new SingletonObjectFactory<Integer>(Integer.valueOf(value)); Pair pair = new Pair(Integer.class, factory); values.put(name, pair); } else { SingletonObjectFactory<String> factory = new SingletonObjectFactory<String>(value); Pair pair = new Pair(String.class, factory); values.put(name, pair); } } return values; }
protected void createPropertyFactories(PCD definition, ImplementationManagerFactory factory) throws BuilderException { List<PhysicalPropertyDefinition> propertyDefinitions = definition.getPropertyDefinitions(); TypeMapping typeMapping = new TypeMapping(); helper.resolveTypeParameters(factory.getImplementationClass(), typeMapping); for (PhysicalPropertyDefinition propertyDefinition : propertyDefinitions) { String name = propertyDefinition.getName(); Document value = propertyDefinition.getValue(); Injectable source = new Injectable(InjectableType.PROPERTY, name); Type type = factory.getGenericType(source); DataType<?> dataType = getDataType(type, typeMapping); ClassLoader classLoader = classLoaderRegistry.getClassLoader(definition.getClassLoaderId()); boolean many = propertyDefinition.isMany(); ObjectFactory<?> objectFactory = propertyBuilder.createFactory(name, dataType, value, many, classLoader); factory.setObjectFactory(source, objectFactory); } }
public void processPropertyValues(LogicalComponent<?> component, PojoComponentDefinition physical) { for (LogicalProperty property : component.getAllProperties().values()) { Document document = property.getValue(); if (document != null) { String name = property.getName(); boolean many = property.isMany(); PhysicalPropertyDefinition definition = new PhysicalPropertyDefinition(name, document, many); physical.setPropertyDefinition(definition); } } } }
private void processPropertyValues(LogicalComponent<?> component, SpringComponentDefinition physical) { for (LogicalProperty property : component.getAllProperties().values()) { Document document = property.getValue(); if (document != null) { String name = property.getName(); boolean many = property.isMany(); ComponentType componentType = component.getDefinition().getImplementation().getComponentType(); QName type = componentType.getProperties().get(property.getName()).getType(); PhysicalPropertyDefinition definition = new PhysicalPropertyDefinition(name, document, many, type); physical.setPropertyDefinition(definition); } } }