You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by sg...@apache.org on 2020/04/05 22:03:51 UTC
[freemarker-generator] 02/11: FREEMARKER-140 freemarker-cli: Expose
DataSources directly in the data model
This is an automated email from the ASF dual-hosted git repository.
sgoeschl pushed a commit to branch feature/FREEMARKER-140
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git
commit ebe599460d557494685683085a5cd7a894378e9f
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Sun Apr 5 20:36:45 2020 +0200
FREEMARKER-140 freemarker-cli: Expose DataSources directly in the data model
---
.../generator/base/datasource/DataSource.java | 42 +++++++++++++---------
1 file changed, 25 insertions(+), 17 deletions(-)
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
index 9f2ee51..d757b5a 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/datasource/DataSource.java
@@ -131,9 +131,8 @@ public class DataSource implements Closeable {
* Get an input stream which is closed together with this data source.
*
* @return InputStream
- * @throws IOException Operation failed
*/
- public InputStream getInputStream() throws IOException {
+ public InputStream getInputStream() {
return closables.add(getUnsafeInputStream());
}
@@ -141,21 +140,26 @@ public class DataSource implements Closeable {
* Get an input stream which needs to be closed by the caller.
*
* @return InputStream
- * @throws IOException Operation failed
*/
- public InputStream getUnsafeInputStream() throws IOException {
- return dataSource.getInputStream();
+ public InputStream getUnsafeInputStream() {
+ try {
+ return dataSource.getInputStream();
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to get input stream: " + toString(), e);
+ }
}
- public String getText() throws IOException {
+ public String getText() {
return getText(getCharset().name());
}
- public String getText(String charsetName) throws IOException {
+ public String getText(String charsetName) {
final StringWriter writer = new StringWriter();
try (InputStream is = getUnsafeInputStream()) {
IOUtils.copy(is, writer, forName(charsetName));
return writer.toString();
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to get text: " + toString(), e);
}
}
@@ -164,9 +168,8 @@ public class DataSource implements Closeable {
* one entry per line, using the specified character encoding.
*
* @return the list of Strings, never null
- * @throws IOException if an I/O error occurs
*/
- public List<String> getLines() throws IOException {
+ public List<String> getLines() {
return getLines(getCharset().name());
}
@@ -176,11 +179,12 @@ public class DataSource implements Closeable {
*
* @param charsetName The name of the requested charset
* @return the list of Strings, never null
- * @throws IOException if an I/O error occurs
*/
- public List<String> getLines(String charsetName) throws IOException {
+ public List<String> getLines(String charsetName) {
try (InputStream inputStream = getUnsafeInputStream()) {
return IOUtils.readLines(inputStream, charsetName);
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to get lines: " + toString(), e);
}
}
@@ -190,9 +194,8 @@ public class DataSource implements Closeable {
* the line iterator.
*
* @return line iterator
- * @throws IOException if an I/O error occurs
*/
- public LineIterator getLineIterator() throws IOException {
+ public LineIterator getLineIterator() {
return getLineIterator(getCharset().name());
}
@@ -202,15 +205,20 @@ public class DataSource implements Closeable {
*
* @param charsetName The name of the requested charset
* @return line iterator
- * @throws IOException if an I/O error occurs
*/
- public LineIterator getLineIterator(String charsetName) throws IOException {
- return closables.add(lineIterator(getUnsafeInputStream(), forName(charsetName)));
+ public LineIterator getLineIterator(String charsetName) {
+ try {
+ return closables.add(lineIterator(getUnsafeInputStream(), forName(charsetName)));
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to create line iterator: " + toString(), e);
+ }
}
- public byte[] getBytes() throws IOException {
+ public byte[] getBytes() {
try (InputStream inputStream = getUnsafeInputStream()) {
return IOUtils.toByteArray(inputStream);
+ } catch (IOException e) {
+ throw new RuntimeException("Failed to get bytes: " + toString(), e);
}
}