1 package org.apache.maven.plugins.resources;
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.io.InputStream;
26 import java.nio.file.Files;
27 import java.util.Enumeration;
28 import java.util.Properties;
29
30 import org.apache.maven.plugin.testing.AbstractMojoTestCase;
31 import org.codehaus.plexus.util.IOUtil;
32
33
34
35
36 public abstract class AbstractPropertyUtilsTest
37 extends AbstractMojoTestCase
38 {
39 protected File propertyFile;
40
41 protected File validationFile;
42
43 protected Properties validationProp;
44
45 protected abstract File getPropertyFile();
46
47 protected abstract File getValidationFile();
48
49 protected void setUp()
50 throws Exception
51 {
52 super.setUp();
53
54
55 propertyFile = getPropertyFile();
56 assertNotNull( propertyFile );
57
58 validationFile = getValidationFile();
59 assertNotNull( validationFile );
60
61 loadValidationProperties( validationFile );
62 }
63
64 protected boolean validateProperties( Properties prop )
65 {
66 boolean bRetVal = false;
67
68 Enumeration<?> propKeys = prop.keys();
69 String key;
70
71 while ( propKeys.hasMoreElements() )
72 {
73 key = (String) propKeys.nextElement();
74 bRetVal = prop.getProperty( key ).equals( validationProp.getProperty( key ) );
75 if ( !bRetVal )
76 {
77 break;
78 }
79 }
80
81 return bRetVal;
82 }
83
84
85
86
87
88
89
90 private void loadValidationProperties( File validationPropFile )
91 {
92 validationProp = new Properties();
93 InputStream in = null;
94
95 try
96 {
97 in = Files.newInputStream( validationPropFile.toPath() );
98 validationProp.load( in );
99 in.close();
100 in = null;
101 }
102 catch ( IOException ex )
103 {
104
105 }
106 finally
107 {
108 IOUtil.close( in );
109 }
110 }
111 }