1 package org.apache.maven.configuration.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
23 import org.codehaus.plexus.component.configurator.converters.ConfigurationConverter;
24 import org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter;
25 import org.codehaus.plexus.component.configurator.converters.lookup.ConverterLookup;
26 import org.codehaus.plexus.component.configurator.converters.lookup.DefaultConverterLookup;
27
28 class EnhancedConverterLookup implements ConverterLookup
29 {
30 private final ConverterLookup delegate = new DefaultConverterLookup();
31
32 EnhancedConverterLookup()
33 {
34 registerConverter( new DefaultBeanConfigurator.PathConverter() );
35 }
36
37 @Override
38 public void registerConverter( ConfigurationConverter converter )
39 {
40 delegate.registerConverter( converter );
41 }
42
43 @Override
44 public ConfigurationConverter lookupConverterForType( Class<?> type ) throws ComponentConfigurationException
45 {
46 ConfigurationConverter converter = delegate.lookupConverterForType( type );
47 return converter.getClass().equals( ObjectWithFieldsConverter.class )
48 ? new EnhancedConfigurationConverter() : converter;
49 }
50 }