/** * Merges the given configuration and requirements with the current metadata, without overwriting existing entries. * * @param extraConfiguration The extra configuration * @param extraRequirements The extra requirements */ void merge( final Map<String, Configuration> extraConfiguration, final Map<String, Requirement> extraRequirements ) { configurationMap = addIfMissing( configurationMap, extraConfiguration ); requirementMap = addIfMissing( requirementMap, extraRequirements ); }
PlexusXmlMetadata( final Map<String, Configuration> configurationMap, final Map<String, Requirement> requirementMap ) { merge( configurationMap, requirementMap ); }
/** * Updates the shared Plexus bean metadata with the given local information. * * @param implementation The component implementation * @param configurationMap The field -> @{@link Configuration} map * @param requirementMap The field -> @{@link Requirement} map */ private void updatePlexusBeanMetadata( final String implementation, final Map<String, Configuration> configurationMap, final Map<String, Requirement> requirementMap ) { if ( null != metadata && ( !configurationMap.isEmpty() || !requirementMap.isEmpty() ) ) { final PlexusXmlMetadata beanMetadata = (PlexusXmlMetadata) metadata.get( implementation ); if ( beanMetadata != null ) { beanMetadata.merge( configurationMap, requirementMap ); } else { metadata.put( implementation, new PlexusXmlMetadata( configurationMap, requirementMap ) ); } } }