1 package org.apache.maven.wrapper.cli;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25
26
27
28 public abstract class AbstractPropertiesCommandLineConverter
29 extends AbstractCommandLineConverter<Map<String, String>>
30 {
31 protected abstract String getPropertyOption();
32
33 protected abstract String getPropertyOptionDetailed();
34
35 protected abstract String getPropertyOptionDescription();
36
37 public void configure( CommandLineParser parser )
38 {
39 CommandLineOption option = parser.option( getPropertyOption(), getPropertyOptionDetailed() );
40 option = option.hasArguments();
41 option.hasDescription( getPropertyOptionDescription() );
42 }
43
44 protected Map<String, String> newInstance()
45 {
46 return new HashMap<String, String>();
47 }
48
49 public Map<String, String> convert( ParsedCommandLine options, Map<String, String> properties )
50 throws CommandLineArgumentException
51 {
52 for ( String keyValueExpression : options.option( getPropertyOption() ).getValues() )
53 {
54 int pos = keyValueExpression.indexOf( "=" );
55 if ( pos < 0 )
56 {
57 properties.put( keyValueExpression, "" );
58 }
59 else
60 {
61 properties.put( keyValueExpression.substring( 0, pos ), keyValueExpression.substring( pos + 1 ) );
62 }
63 }
64 return properties;
65 }
66 }