You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2024/08/23 08:00:54 UTC
(camel) branch main updated: (chores) avoid using StringWriter if possible
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 29dc80d3c87 (chores) avoid using StringWriter if possible
29dc80d3c87 is described below
commit 29dc80d3c87f77b96abe94aa7e513ca377d872c4
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 22 15:49:56 2024 +0200
(chores) avoid using StringWriter if possible
---
.../java/org/apache/camel/maven/GenerateMojo.java | 7 +++----
.../test/spring/junit5/CamelSpringTestSupport.java | 23 ++++++++++++----------
.../packaging/AbstractGenerateConfigurerMojo.java | 21 ++++++++------------
.../packaging/EndpointSchemaGeneratorMojo.java | 14 +++++--------
4 files changed, 29 insertions(+), 36 deletions(-)
diff --git a/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java b/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
index 269f5fbe7d8..43313e8a5db 100644
--- a/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
+++ b/catalog/camel-csimple-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
@@ -21,7 +21,6 @@ import java.io.FileInputStream;
import java.io.IOError;
import java.io.IOException;
import java.io.InputStream;
-import java.io.StringWriter;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.HashMap;
@@ -166,9 +165,9 @@ public class GenerateMojo extends AbstractExecMojo {
}
private void generatePropertiesFile(List<CSimpleGeneratedCode> classes) {
- StringWriter w = new StringWriter();
- w.append("# " + GENERATED_MSG + "\n");
- classes.forEach(c -> w.write(c.getFqn() + "\n"));
+ StringBuilder w = new StringBuilder(4096);
+ w.append("# ").append(GENERATED_MSG).append("\n");
+ classes.forEach(c -> w.append(c.getFqn()).append("\n"));
String fileName = RESOURCE_FILE;
outputResourceDir.mkdirs();
boolean saved = updateResource(outputResourceDir.toPath().resolve(fileName), w.toString());
diff --git a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
index 50e2bffcf6a..34e6130a745 100644
--- a/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
+++ b/components/camel-test/camel-test-spring-junit5/src/main/java/org/apache/camel/test/spring/junit5/CamelSpringTestSupport.java
@@ -20,7 +20,6 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -311,15 +310,7 @@ public abstract class CamelSpringTestSupport extends CamelTestSupport {
@Override
public InputStream getInputStream() throws IOException {
if (!properties.isEmpty()) {
- StringWriter sw = new StringWriter();
- try (InputStreamReader r = new InputStreamReader(delegate.getInputStream(), StandardCharsets.UTF_8)) {
- char[] buf = new char[32768];
- int l;
- while ((l = r.read(buf)) > 0) {
- sw.write(buf, 0, l);
- }
- }
- String before = sw.toString();
+ final String before = readBefore();
String p = properties.keySet().stream().map(Pattern::quote)
.collect(Collectors.joining("|", Pattern.quote("{{") + "(", ")" + Pattern.quote("}}")));
Matcher m = Pattern.compile(p).matcher(before);
@@ -334,5 +325,17 @@ public abstract class CamelSpringTestSupport extends CamelTestSupport {
return delegate.getInputStream();
}
}
+
+ private String readBefore() throws IOException {
+ StringBuilder sb = new StringBuilder();
+ try (InputStreamReader r = new InputStreamReader(delegate.getInputStream(), StandardCharsets.UTF_8)) {
+ char[] buf = new char[32768];
+ int l;
+ while ((l = r.read(buf)) > 0) {
+ sb.append(buf, 0, l);
+ }
+ }
+ return sb.toString();
+ }
}
}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
index f76a3e6fc3c..a8714a9c184 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java
@@ -17,9 +17,6 @@
package org.apache.camel.maven.packaging;
import java.io.File;
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -489,16 +486,14 @@ public abstract class AbstractGenerateConfigurerMojo extends AbstractGeneratorMo
int pos = targetFqn.lastIndexOf('.');
String pn = targetFqn.substring(0, pos);
String en = targetFqn.substring(pos + 1);
- try (Writer w = new StringWriter()) {
- w.append("# ").append(GENERATED_MSG).append("\n");
- w.append("class=").append(pn).append(".").append(en).append("Configurer").append("\n");
- String fileName = "META-INF/services/org/apache/camel/configurer/" + fqn;
- boolean updated = updateResource(buildContext, resourcesOutputDir.toPath().resolve(fileName), w.toString());
- if (updated) {
- getLog().info("Updated " + fileName);
- }
- } catch (IOException e) {
- throw new RuntimeException(e);
+
+ StringBuilder w = new StringBuilder();
+ w.append("# ").append(GENERATED_MSG).append("\n");
+ w.append("class=").append(pn).append(".").append(en).append("Configurer").append("\n");
+ String fileName = "META-INF/services/org/apache/camel/configurer/" + fqn;
+ boolean updated = updateResource(buildContext, resourcesOutputDir.toPath().resolve(fileName), w.toString());
+ if (updated) {
+ getLog().info("Updated " + fileName);
}
}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
index 0ec0c208c74..47d9b8b22f1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/EndpointSchemaGeneratorMojo.java
@@ -20,8 +20,6 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.io.StringWriter;
-import java.io.Writer;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
@@ -1682,13 +1680,11 @@ public class EndpointSchemaGeneratorMojo extends AbstractGeneratorMojo {
}
protected void generateMetaInfConfigurer(String name, String fqn) {
- try (Writer w = new StringWriter()) {
- w.append("# " + GENERATED_MSG + "\n");
- w.append("class=").append(fqn).append("\n");
- updateResource(resourcesOutputDir.toPath(), "META-INF/services/org/apache/camel/configurer/" + name, w.toString());
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
+ StringBuilder w = new StringBuilder();
+
+ w.append("# ").append(GENERATED_MSG).append("\n");
+ w.append("class=").append(fqn).append("\n");
+ updateResource(resourcesOutputDir.toPath(), "META-INF/services/org/apache/camel/configurer/" + name, w.toString());
}
private IndexView getIndex() {