1 package org.apache.maven.wrapper;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23 import java.io.FileInputStream;
24 import java.io.IOException;
25 import java.util.HashMap;
26 import java.util.Map;
27 import java.util.Properties;
28 import java.util.regex.Matcher;
29 import java.util.regex.Pattern;
30
31
32
33
34 public class SystemPropertiesHandler
35 {
36
37 public static Map<String, String> getSystemProperties( File propertiesFile )
38 {
39 Map<String, String> propertyMap = new HashMap<String, String>();
40 if ( !propertiesFile.isFile() )
41 {
42 return propertyMap;
43 }
44 Properties properties = new Properties();
45 try
46 {
47 FileInputStream inStream = new FileInputStream( propertiesFile );
48 try
49 {
50 properties.load( inStream );
51 }
52 finally
53 {
54 inStream.close();
55 }
56 }
57 catch ( IOException e )
58 {
59 throw new RuntimeException( "Error when loading properties file=" + propertiesFile, e );
60 }
61
62 Pattern pattern = Pattern.compile( "systemProp\\.(.*)" );
63 for ( Object argument : properties.keySet() )
64 {
65 Matcher matcher = pattern.matcher( argument.toString() );
66 if ( matcher.find() )
67 {
68 String key = matcher.group( 1 );
69 if ( key.length() > 0 )
70 {
71 propertyMap.put( key, properties.get( argument ).toString() );
72 }
73 }
74 }
75 return propertyMap;
76 }
77 }