Skip to content

Commit 3af468e

Browse files
committed
Update TemplateEncoder.
1 parent 1b612f8 commit 3af468e

File tree

2 files changed

+7
-55
lines changed

2 files changed

+7
-55
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
subprojects {
1616
group = 'org.httprpc'
17-
version = '5.2'
17+
version = '5.2.1'
1818

1919
repositories {
2020
mavenCentral()

kilo-client/src/main/java/org/httprpc/kilo/io/TemplateEncoder.java

Lines changed: 6 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import java.io.InputStreamReader;
2121
import java.io.Reader;
2222
import java.io.Writer;
23-
import java.net.URI;
24-
import java.net.URISyntaxException;
2523
import java.text.NumberFormat;
2624
import java.time.Instant;
2725
import java.time.LocalDate;
@@ -276,7 +274,8 @@ public Set<Entry<Object, Object>> entrySet() {
276274
}
277275
}
278276

279-
private URI uri;
277+
private Class<?> type;
278+
private String name;
280279

281280
private Locale locale = Locale.getDefault();
282281
private TimeZone timeZone = TimeZone.getDefault();
@@ -295,25 +294,9 @@ public Set<Entry<Object, Object>> entrySet() {
295294

296295
private static final int EOF = -1;
297296

298-
private static final String JAR_SCHEME = "jar";
299-
300297
private static final String KEY_REFERENCE = "~";
301298
private static final String SELF_REFERENCE = ".";
302299

303-
/**
304-
* Constructs a new template encoder.
305-
*
306-
* @param uri
307-
* The URI of the template.
308-
*/
309-
public TemplateEncoder(URI uri) {
310-
if (uri == null) {
311-
throw new IllegalArgumentException();
312-
}
313-
314-
this.uri = uri;
315-
}
316-
317300
/**
318301
* Constructs a new template encoder.
319302
*
@@ -328,17 +311,8 @@ public TemplateEncoder(Class<?> type, String name) {
328311
throw new IllegalArgumentException();
329312
}
330313

331-
var url = type.getResource(name);
332-
333-
if (url == null) {
334-
throw new IllegalArgumentException("Invalid resource name.");
335-
}
336-
337-
try {
338-
uri = url.toURI();
339-
} catch (URISyntaxException exception) {
340-
throw new IllegalArgumentException(exception);
341-
}
314+
this.type = type;
315+
this.name = name;
342316
}
343317

344318
/**
@@ -458,7 +432,7 @@ public void write(Object value, Writer writer) throws IOException {
458432
}
459433

460434
if (value != null) {
461-
try (var inputStream = uri.toURL().openStream()) {
435+
try (var inputStream = type.getResourceAsStream(name)) {
462436
Reader reader = new PagedReader(new InputStreamReader(inputStream, getCharset()));
463437

464438
writer = new BufferedWriter(writer);
@@ -720,29 +694,7 @@ private void encode(Object root, Writer writer, Reader reader) throws IOExceptio
720694
break;
721695
}
722696

723-
var uri = this.uri;
724-
725-
var jar = uri.getScheme().equals(JAR_SCHEME);
726-
727-
if (jar) {
728-
try {
729-
uri = new URI(uri.toString().substring(JAR_SCHEME.length() + 1));
730-
} catch (URISyntaxException exception) {
731-
throw new IllegalStateException(exception);
732-
}
733-
}
734-
735-
uri = uri.resolve(marker);
736-
737-
if (jar) {
738-
try {
739-
uri = new URI(String.format("%s:%s", JAR_SCHEME, uri));
740-
} catch (URISyntaxException exception) {
741-
throw new IllegalStateException(exception);
742-
}
743-
}
744-
745-
try (var inputStream = uri.toURL().openStream()) {
697+
try (var inputStream = type.getResourceAsStream(marker)) {
746698
encode(dictionary, writer, new PagedReader(new InputStreamReader(inputStream)));
747699
}
748700
}

0 commit comments

Comments
 (0)