List of usage examples for org.springframework.beans.factory.support ManagedMap getSource
@Override
@Nullable
public Object getSource()
From source file:de.acosix.alfresco.utility.common.spring.PropertyAlteringBeanFactoryPostProcessor.java
protected Object handleMapValues(final PropertyValue configuredValue) { final Object value; LOGGER.debug(/*from w ww . j a v a 2 s.co m*/ "[{}] Map of values / bean reference names has been configured - treating property {} of {} as <map>", this.beanName, this.propertyName, this.targetBeanName); final ManagedMap<Object, Object> map = new ManagedMap<>(); if (this.merge && configuredValue != null) { final Object configuredValueDefinition = configuredValue.getValue(); if (configuredValueDefinition instanceof ManagedMap<?, ?>) { final ManagedMap<?, ?> oldMap = (ManagedMap<?, ?>) configuredValueDefinition; map.setKeyTypeName(oldMap.getKeyTypeName()); map.setValueTypeName(oldMap.getValueTypeName()); map.setMergeEnabled(oldMap.isMergeEnabled()); map.setSource(oldMap.getSource()); map.putAll(oldMap); LOGGER.debug("[{}] Merged existing map values: {}", this.beanName, oldMap); } } Map<Object, Object> valuesToMap; if (this.valueMap != null) { LOGGER.debug("[{}] Map of configured values for {} of {}: ", this.beanName, this.propertyName, this.targetBeanName, this.valueMap); valuesToMap = this.valueMap; } else { LOGGER.debug("[{}] Map of configured bean reference names for {} of {}: ", this.beanName, this.propertyName, this.targetBeanName, this.beanReferenceNameMap); valuesToMap = new HashMap<>(); for (final Entry<Object, String> beanReferenceEntry : this.beanReferenceNameMap.entrySet()) { valuesToMap.put(beanReferenceEntry.getKey(), new RuntimeBeanReference(beanReferenceEntry.getValue())); } } LOGGER.debug("[{}] Putting new entries into map for {} of {}", this.beanName, this.propertyName, this.targetBeanName); map.putAll(valuesToMap); if (!map.isMergeEnabled() && this.mergeParent) { LOGGER.debug("[{}] Enabling \"merge\" for <map> on {} of {}", this.beanName, this.propertyName, this.targetBeanName); } map.setMergeEnabled(map.isMergeEnabled() || this.mergeParent); value = map; return value; }