antlr / stringtemplate4

StringTemplate 4
http://www.stringtemplate.org
Other
955 stars 231 forks source link

Issue with template loading STGroupFile via URL #200

Open alexcase52 opened 6 years ago

alexcase52 commented 6 years ago

I have the URL to resource like jar:file://path/to/myjar.jar!/main/main.jar!/com/some/dao/Dao.sql.stg - I've got this using single jar app loader. I pass this URL to corresponding costructor of STGroupFile then internally in load() I see

loadGroupFile("", url.toString());

So url is converted to String via toString() and then internally in loadGroupFile result is passed to new URL(..):

URL f = new URL(fileName);
ANTLRInputStream fs = new ANTLRInputStream(f.openStream(), encoding);

In my case this new URL is of incorrect format and opening stream leads to an exception. I think the issue is in calling URL.toString() -> 'new URL()' instead of obtaining stream directrly from URL via

resource.openConnection().getInputStream()

Thanks

parrt commented 6 years ago

Hi @alexcase52 is this fixed by https://github.com/antlr/stringtemplate4/pull/207 ?