Revision 1991 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/resourcesstorage/FilesResourcesStorage.java
FilesResourcesStorage.java | ||
---|---|---|
8 | 8 |
import java.io.OutputStream; |
9 | 9 |
import java.net.MalformedURLException; |
10 | 10 |
import java.net.URL; |
11 |
import java.util.ArrayList; |
|
12 |
import java.util.List; |
|
11 | 13 |
import org.apache.commons.io.IOUtils; |
12 | 14 |
import org.gvsig.tools.util.HasAFile; |
13 | 15 |
|
... | ... | |
115 | 117 |
|
116 | 118 |
} |
117 | 119 |
|
118 |
private final String fullPathName;
|
|
120 |
private final List<String> resourcesPaths;
|
|
119 | 121 |
|
120 | 122 |
public FilesResourcesStorage(String fullPathName) { |
121 |
this.fullPathName = fullPathName; |
|
123 |
this.resourcesPaths = new ArrayList<>(); |
|
124 |
this.resourcesPaths.add(fullPathName); |
|
122 | 125 |
} |
123 | 126 |
|
124 | 127 |
@Override |
128 |
public String getSeparator() { |
|
129 |
return "."; |
|
130 |
} |
|
131 |
|
|
132 |
@Override |
|
125 | 133 |
public Resource getResource(String resourceName) { |
126 |
File folder = new File(this.fullPathName); |
|
127 |
if( folder.isDirectory() ) { |
|
128 |
File fres = new File(folder,resourceName); |
|
129 |
return new FileResource(fres); |
|
134 |
File fres; |
|
135 |
for (String pathName : resourcesPaths) { |
|
136 |
File folder = new File(pathName); |
|
137 |
if( folder.isDirectory() ) { |
|
138 |
fres = new File(folder,resourceName); |
|
139 |
} else { |
|
140 |
fres = new File(pathName + this.getSeparator() + resourceName); |
|
141 |
} |
|
142 |
if( fres.exists() ) { |
|
143 |
return new FileResource(fres); |
|
144 |
} |
|
130 | 145 |
} |
131 |
return new FileResource(new File(fullPathName + "." + resourceName)); |
|
146 |
String pathName = this.resourcesPaths.get(0); |
|
147 |
fres = new File(pathName + this.getSeparator() + resourceName); |
|
148 |
return new FileResource(fres); |
|
132 | 149 |
} |
133 | 150 |
|
151 |
public List<String> getPaths() { |
|
152 |
return this.resourcesPaths; |
|
153 |
} |
|
134 | 154 |
} |
Also available in: Unified diff