((MutablePropertyValues) pvs).getPropertyValueList() : Arrays.asList(pvs.getPropertyValues())); for (PropertyValue pv : propertyValues) { try {
BeanDefinition beanDefinition = beanRegistry.getBeanDefinition(beanName); MutablePropertyValues mutablePropertyValues = beanDefinition.getPropertyValues(); List<PropertyValue> propertyValues = mutablePropertyValues.getPropertyValueList(); for (PropertyValue propertyValue : propertyValues) { Object value = propertyValue.getValue();
((MutablePropertyValues) pvs).getPropertyValueList() : Arrays.asList(pvs.getPropertyValues())); for (PropertyValue pv : propertyValues) { try {
Iterator<PropertyValue> iterVals = def.getPropertyValues().getPropertyValueList().iterator();
original = mpvs.getPropertyValueList();
private void modifyProperties(MutablePropertyValues mpvs, Object target) { List<PropertyValue> list = mpvs.getPropertyValueList(); BeanWrapperImpl bw = new BeanWrapperImpl(target);
original = mpvs.getPropertyValueList();
((MutablePropertyValues) pvs).getPropertyValueList() : Arrays.asList(pvs.getPropertyValues())); for (PropertyValue pv : propertyValues) { try {
private void updateBeanDefinitionRootContainerName(String rootContainerName, BeanDefinition beanDefinition) { Class<?> beanClass = null; try { beanClass = currentThread().getContextClassLoader().loadClass(beanDefinition.getBeanClassName()); } catch (ClassNotFoundException e) { // Nothing to do, spring will break because of this eventually } if (beanClass == null || Component.class.isAssignableFrom(beanClass)) { updateAnnotationValue(ROOT_CONTAINER_NAME_KEY, rootContainerName, beanDefinition); } for (PropertyValue propertyValue : beanDefinition.getPropertyValues().getPropertyValueList()) { Object value = propertyValue.getValue(); processBeanValue(rootContainerName, value); } for (ConstructorArgumentValues.ValueHolder valueHolder : beanDefinition.getConstructorArgumentValues() .getGenericArgumentValues()) { processBeanValue(rootContainerName, valueHolder.getValue()); } }
original = mpvs.getPropertyValueList();
/** * Generates declarations for properties of given bean definition. */ private void generateProperties(final BeanDefinition beanDefinition, final ElementBuilder builder) { MutablePropertyValues properties = beanDefinition.getPropertyValues(); @SuppressWarnings({"unchecked"}) List<PropertyValue> list = properties.getPropertyValueList(); for (PropertyValue property : list) { generatePropertyElement(beanDefinition, builder, property); } }
/** * Generates declarations for properties of given bean definition. */ private void generateProperties(final BeanDefinition beanDefinition, final ElementBuilder builder) { MutablePropertyValues properties = beanDefinition.getPropertyValues(); @SuppressWarnings({"unchecked"}) List<PropertyValue> list = properties.getPropertyValueList(); for (PropertyValue property : list) { generatePropertyElement(beanDefinition, builder, property); } }
@Override public PropertyValues postProcessPropertyValues( PropertyValues pvs, PropertyDescriptor[] pds, Object bean, String beanName) throws BeansException { if (pvs instanceof MutablePropertyValues && bean.getClass().getName().equals(MyComponent.class.getName())) { System.out.println("myComponent postProcessPropertyValues..."); Stream.of(pds).forEach(p -> { if (SPECIAL_PROPERTY_NAME.equals(p.getName())) { ((MutablePropertyValues) pvs).getPropertyValueList().add(new PropertyValue(SPECIAL_PROPERTY_NAME, "system")); } }); } return pvs; }
static List<BeanProperty> getBeanProperties(BeanDefinition definition) { List<BeanProperty> temp; List<PropertyValue> pvs = definition.getPropertyValues().getPropertyValueList(); if (pvs.isEmpty()) { return Collections.<BeanProperty> emptyList(); } else { temp = new ArrayList<BeanProperty>(pvs.size()); } for (PropertyValue propertyValue : pvs) { temp.add(new SimpleBeanProperty(propertyValue)); } return Collections.unmodifiableList(temp); } }
private List<String> getSortedPropertyNames(MutablePropertyValues propertyValues) { List<String> names = new LinkedList<>(); for (PropertyValue propertyValue : propertyValues.getPropertyValueList()) { names.add(propertyValue.getName()); } sortPropertyNames(names); return names; }
private void overwriteBeanDefinition(BeanDefinition target, BeanDefinition source) { log.debug("Replacing bean [" + ref + "] with a [" + source.getBeanClassName() + "]"); target.setBeanClassName(source.getBeanClassName()); ConstructorArgumentValues cas = target.getConstructorArgumentValues(); cas.clear(); cas.addArgumentValues(source.getConstructorArgumentValues()); MutablePropertyValues pvs = target.getPropertyValues(); if (!merge) { pvs.getPropertyValueList().clear(); } pvs.addPropertyValues(source.getPropertyValues()); }
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (String beanName : beanFactory.getBeanDefinitionNames()) { BeanDefinition def = beanFactory.getBeanDefinition(beanName); if (def.getBeanClassName() != null) { try { Class.forName(def.getBeanClassName()); } catch (ClassNotFoundException ignored) { ((BeanDefinitionRegistry)beanFactory).removeBeanDefinition(beanName); continue; } } MutablePropertyValues vals = def.getPropertyValues(); for (PropertyValue val : new ArrayList<>(vals.getPropertyValueList())) { for (String excludedProp : excludedProps) { if (val.getName().equals(excludedProp)) vals.removePropertyValue(val); } } } } };
protected void insertDefinitionAsMap(String oldName) { BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(MapCombiner.class); Map map = new ManagedMap(); for (Iterator pvs = getBean().getBeanDefinition().getPropertyValues().getPropertyValueList().iterator(); pvs.hasNext();) { PropertyValue pv = (PropertyValue) pvs.next(); map.put(pv.getName(), pv.getValue()); } List list = new ManagedList(); list.add(map); builder.addPropertyValue(MapCombiner.LIST, list); setBean(builder); super.insertBeanInTarget(oldName); }
private void updateBeanDefinitionRootContainerName(String rootContainerName, BeanDefinition beanDefinition) { Class<?> beanClass = null; try { beanClass = currentThread().getContextClassLoader().loadClass(beanDefinition.getBeanClassName()); } catch (ClassNotFoundException e) { // Nothing to do, spring will break because of this eventually } if (beanClass == null || Component.class.isAssignableFrom(beanClass)) { updateAnnotationValue(ROOT_CONTAINER_NAME_KEY, rootContainerName, beanDefinition); } for (PropertyValue propertyValue : beanDefinition.getPropertyValues().getPropertyValueList()) { Object value = propertyValue.getValue(); processBeanValue(rootContainerName, value); } for (ConstructorArgumentValues.ValueHolder valueHolder : beanDefinition.getConstructorArgumentValues() .getGenericArgumentValues()) { processBeanValue(rootContainerName, valueHolder.getValue()); } }
public static Collection<String> getBeanDependencies(BeanDefinition beanDefinition) { Set<String> dependencies = new HashSet<String>(); if (beanDefinition.getDependsOn() != null) dependencies.addAll(Arrays.asList(beanDefinition.getDependsOn())); for (ValueHolder value : beanDefinition.getConstructorArgumentValues().getGenericArgumentValues()) { if (value.getValue() instanceof BeanReference) dependencies.add(((BeanReference) value.getValue()).getBeanName()); } for (ValueHolder value : beanDefinition.getConstructorArgumentValues().getIndexedArgumentValues().values()) { if (value.getValue() instanceof BeanReference) dependencies.add(((BeanReference) value.getValue()).getBeanName()); } for (PropertyValue value : beanDefinition.getPropertyValues().getPropertyValueList()) { if (value.getValue() instanceof BeanReference) dependencies.add(((BeanReference) value.getValue()).getBeanName()); } return dependencies; }