34
34
import java .io .BufferedInputStream ;
35
35
import java .io .IOException ;
36
36
import java .io .InputStream ;
37
- import java .net .MalformedURLException ;
38
37
import java .net .URL ;
39
38
import java .net .URLClassLoader ;
40
39
import java .text .ParseException ;
@@ -165,11 +164,6 @@ class SynthParser extends DefaultHandler {
165
164
*/
166
165
private Map <String ,Object > _mapping ;
167
166
168
- /**
169
- * Based URL used to resolve paths.
170
- */
171
- private URL _urlResourceBase ;
172
-
173
167
/**
174
168
* Based class used to resolve paths.
175
169
*/
@@ -213,26 +207,21 @@ class SynthParser extends DefaultHandler {
213
207
*
214
208
* @param inputStream XML document containing the styles to read
215
209
* @param factory DefaultSynthStyleFactory that new styles are added to
216
- * @param urlResourceBase the URL used to resolve any resources, such as Images
217
210
* @param classResourceBase the Class used to resolve any resources, such as Images
218
211
* @param defaultsMap Map that UIDefaults properties are placed in
219
212
*/
220
213
public void parse (InputStream inputStream ,
221
214
DefaultSynthStyleFactory factory ,
222
- URL urlResourceBase , Class <?> classResourceBase ,
215
+ Class <?> classResourceBase ,
223
216
Map <String , Object > defaultsMap )
224
217
throws ParseException , IllegalArgumentException {
225
- if (inputStream == null || factory == null ||
226
- (urlResourceBase == null && classResourceBase == null )) {
218
+ if (inputStream == null || factory == null || classResourceBase == null ) {
227
219
throw new IllegalArgumentException (
228
- "You must supply an InputStream, StyleFactory and Class or URL " );
220
+ "You must supply an InputStream, StyleFactory and Class" );
229
221
}
230
222
231
- assert (!(urlResourceBase != null && classResourceBase != null ));
232
-
233
223
_factory = factory ;
234
224
_classResourceBase = classResourceBase ;
235
- _urlResourceBase = urlResourceBase ;
236
225
_defaultsMap = defaultsMap ;
237
226
try {
238
227
try {
@@ -255,17 +244,7 @@ public void parse(InputStream inputStream,
255
244
* Returns the path to a resource.
256
245
*/
257
246
private URL getResource (String path ) {
258
- if (_classResourceBase != null ) {
259
- return _classResourceBase .getResource (path );
260
- } else {
261
- try {
262
- @ SuppressWarnings ("deprecation" )
263
- var result = new URL (_urlResourceBase , path );
264
- return result ;
265
- } catch (MalformedURLException mue ) {
266
- return null ;
267
- }
268
- }
247
+ return _classResourceBase .getResource (path );
269
248
}
270
249
271
250
/**
@@ -294,20 +273,7 @@ private boolean isForwarding() {
294
273
private DocumentHandler getHandler () {
295
274
if (_handler == null ) {
296
275
_handler = new DocumentHandler ();
297
- if (_urlResourceBase != null ) {
298
- // getHandler() is never called before parse() so it is safe
299
- // to create a URLClassLoader with _resourceBase.
300
- //
301
- // getResource(".") is called to ensure we have the directory
302
- // containing the resources in the case the resource base is a
303
- // .class file.
304
- URL [] urls = new URL [] { getResource ("." ) };
305
- ClassLoader parent = Thread .currentThread ().getContextClassLoader ();
306
- ClassLoader urlLoader = new URLClassLoader (urls , parent );
307
- _handler .setClassLoader (urlLoader );
308
- } else {
309
- _handler .setClassLoader (_classResourceBase .getClassLoader ());
310
- }
276
+ _handler .setClassLoader (_classResourceBase .getClassLoader ());
311
277
312
278
for (String key : _mapping .keySet ()) {
313
279
_handler .setVariable (key , _mapping .get (key ));
0 commit comments