|
1 |
| package com.agical.rdoc.core.target.impl; |
|
2 |
| |
|
3 |
| import java.io.File; |
|
4 |
| |
|
5 |
| import com.agical.rdoc.core.resourcemanager.ResourceRoot; |
|
6 |
| import com.agical.rdoc.core.resourcemanager.impl.BasedirProvider; |
|
7 |
| import com.agical.rdoc.core.resourcemanager.impl.PropertiesResourceProvider; |
|
8 |
| import com.agical.rdoc.core.target.TargetException; |
|
9 |
| |
|
10 |
| |
|
11 |
| |
|
12 |
| |
|
13 |
| |
|
14 |
| |
|
15 |
| public class PropertiesTargetProvider extends AbstractTargetProvider { |
|
16 |
| |
|
17 |
| private PropertiesResourceProvider propertiesResourceProvider; |
|
18 |
| private File target; |
|
19 |
| private BasedirProvider basedirProvider; |
|
20 |
| |
|
21 |
4
| public PropertiesTargetProvider(BasedirProvider basedirProvider) {
|
|
22 |
4
| super();
|
|
23 |
4
| this.basedirProvider = basedirProvider;
|
|
24 |
| } |
|
25 |
| |
|
26 |
4
| public void setTargetPropertiesFile(String fileName) {
|
|
27 |
4
| propertiesResourceProvider = new PropertiesResourceProvider(fileName, basedirProvider);
|
|
28 |
4
| ResourceRoot[] resourceRoots = propertiesResourceProvider.getRoots();
|
|
29 |
4
| if( resourceRoots.length == 0 || resourceRoots.length > 1) {
|
|
30 |
0
| throw new TargetException( "You must have the file " + fileName + " in you source " +
|
|
31 |
| "tree and it must contain exactly one property like e.g. targetroot=target/rmock" ); |
|
32 |
| } |
|
33 |
4
| target = new File( resourceRoots[0].getUrl().getFile() );
|
|
34 |
| |
|
35 |
| } |
|
36 |
| |
|
37 |
15
| public File getTarget() {
|
|
38 |
15
| return target;
|
|
39 |
| } |
|
40 |
| } |