|
15 | 15 | import java.io.InputStream;
|
16 | 16 | import java.io.InputStreamReader;
|
17 | 17 | import java.io.Reader;
|
18 |
| -import java.lang.reflect.Constructor; |
19 | 18 | import java.net.HttpURLConnection;
|
20 | 19 | import java.net.URL;
|
21 | 20 | import java.net.URLConnection;
|
@@ -79,7 +78,7 @@ public class DefaultEntityResolver implements EntityResolver2 {
|
79 | 78 |
|
80 | 79 | private final HashMap<String, String> systemIdToPublicId = new HashMap<>(14);
|
81 | 80 |
|
82 |
| - private static final DTDLoader dtdLoader = createDTDLoader(); |
| 81 | + private static final DTDLoader dtdLoader = new SimpleDTDLoader(); |
83 | 82 |
|
84 | 83 | private ClassLoader loader = null;
|
85 | 84 |
|
@@ -743,35 +742,23 @@ public void setClassLoader(ClassLoader loader) {
|
743 | 742 | this.loader = loader;
|
744 | 743 | }
|
745 | 744 |
|
746 |
| - private static DTDLoader createDTDLoader() { |
747 |
| - DTDLoader loader; |
748 |
| - try { |
749 |
| - Class<?> cl = Class.forName("io.sf.carte.doc.xml.dtd.SMDTDLoader"); |
750 |
| - Constructor<?> ctor = cl.getConstructor(); |
751 |
| - loader = (DTDLoader) ctor.newInstance(); |
752 |
| - } catch (Exception e) { |
753 |
| - loader = new SimpleDTDLoader(); |
754 |
| - } |
755 |
| - return loader; |
756 |
| - } |
757 |
| - |
758 |
| - abstract static class DTDLoader { |
| 745 | + interface DTDLoader { |
759 | 746 | abstract void connect(URLConnection con) throws IOException;
|
760 | 747 | abstract Reader loadDTDfromClasspath(ClassLoader loader, String dtdFilename);
|
761 | 748 | }
|
762 | 749 |
|
763 | 750 | /**
|
764 | 751 | * Load DTDs without a Security Manager.
|
765 | 752 | */
|
766 |
| - private static class SimpleDTDLoader extends DTDLoader { |
| 753 | + private static class SimpleDTDLoader implements DTDLoader { |
767 | 754 |
|
768 | 755 | @Override
|
769 |
| - void connect(final URLConnection con) throws IOException { |
| 756 | + public void connect(final URLConnection con) throws IOException { |
770 | 757 | con.connect();
|
771 | 758 | }
|
772 | 759 |
|
773 | 760 | @Override
|
774 |
| - Reader loadDTDfromClasspath(final ClassLoader loader, final String dtdFilename) { |
| 761 | + public Reader loadDTDfromClasspath(final ClassLoader loader, final String dtdFilename) { |
775 | 762 | InputStream is;
|
776 | 763 | if (loader != null) {
|
777 | 764 | is = loader.getResourceAsStream(dtdFilename);
|
|
0 commit comments