You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/12/15 15:18:28 UTC
(camel) branch main updated (b47910bf00f -> 7381d932865)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
from b47910bf00f Fixed test after changes in camel-core tests
new 2726fe92a37 CAMEL-20241: camel-jbang - Pretty print xml body should not have noisy empty lines
new 7381d932865 Regen
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../camel/processor/converter/ConvertBodyTest.java | 8 ++--
.../processor/converter/ConvertHeaderTest.java | 8 ++--
.../org/apache/camel/support/AbstractExchange.java | 2 +-
.../camel/util/xml/pretty/XmlPrettyPrinter.java | 45 ++++++++++++++--------
.../util/xml/pretty/XmlPrettyPrinterTest.java | 36 +++++++++++++++++
5 files changed, 73 insertions(+), 26 deletions(-)
(camel) 02/02: Regen
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 7381d932865dfd3abafd081e1a72a9f106ebf856
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 15 16:18:16 2023 +0100
Regen
---
.../org/apache/camel/processor/converter/ConvertBodyTest.java | 8 ++++----
.../org/apache/camel/processor/converter/ConvertHeaderTest.java | 8 ++++----
.../src/main/java/org/apache/camel/support/AbstractExchange.java | 2 +-
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertBodyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertBodyTest.java
index f15a90ce1ba..af5f8745510 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertBodyTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertBodyTest.java
@@ -16,6 +16,10 @@
*/
package org.apache.camel.processor.converter;
+import java.io.ByteArrayInputStream;
+import java.nio.charset.UnsupportedCharsetException;
+import java.util.Date;
+
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.InvalidPayloadException;
@@ -29,10 +33,6 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
-import java.io.ByteArrayInputStream;
-import java.nio.charset.UnsupportedCharsetException;
-import java.util.Date;
-
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertHeaderTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertHeaderTest.java
index fb4ba79353c..c3a5be38fcc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertHeaderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/converter/ConvertHeaderTest.java
@@ -16,6 +16,10 @@
*/
package org.apache.camel.processor.converter;
+import java.io.ByteArrayInputStream;
+import java.nio.charset.UnsupportedCharsetException;
+import java.util.Date;
+
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.NoTypeConversionAvailableException;
@@ -27,10 +31,6 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledOnOs;
import org.junit.jupiter.api.condition.OS;
-import java.io.ByteArrayInputStream;
-import java.nio.charset.UnsupportedCharsetException;
-import java.util.Date;
-
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
index 6863605f176..ce3acd09507 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java
@@ -66,7 +66,7 @@ abstract class AbstractExchange implements Exchange {
private RedeliveryTraitPayload externalRedelivered = RedeliveryTraitPayload.UNDEFINED_REDELIVERY;
protected AbstractExchange(CamelContext context, EnumMap<ExchangePropertyKey, Object> internalProperties,
- Map<String, Object> properties) {
+ Map<String, Object> properties) {
this.context = context;
this.internalProperties = new EnumMap<>(internalProperties);
this.privateExtension = new ExtendedExchangeExtension(this);
(camel) 01/02: CAMEL-20241: camel-jbang - Pretty print xml body should not have noisy empty lines
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2726fe92a378508d11ad6e4d53511988f6478b68
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Dec 15 16:03:28 2023 +0100
CAMEL-20241: camel-jbang - Pretty print xml body should not have noisy empty lines
---
.../camel/util/xml/pretty/XmlPrettyPrinter.java | 45 ++++++++++++++--------
.../util/xml/pretty/XmlPrettyPrinterTest.java | 36 +++++++++++++++++
2 files changed, 64 insertions(+), 17 deletions(-)
diff --git a/core/camel-xml-jaxp-util/src/main/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinter.java b/core/camel-xml-jaxp-util/src/main/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinter.java
index 4e5789e0e67..2d004d3192b 100644
--- a/core/camel-xml-jaxp-util/src/main/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinter.java
+++ b/core/camel-xml-jaxp-util/src/main/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinter.java
@@ -107,6 +107,7 @@ public final class XmlPrettyPrinter {
final StringBuilder sb = new StringBuilder();
final DefaultHandler handler = new DefaultHandler() {
int indent;
+ boolean inElement;
@Override
public void declaration(String version, String encoding, String standalone) throws SAXException {
@@ -132,26 +133,33 @@ public final class XmlPrettyPrinter {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+ inElement = true;
sb.append(XmlPrettyPrinter.padString(indent, blanks));
StringBuilder lb = new StringBuilder();
lb.append("<");
lb.append(qName);
+
+ boolean empty = attributes.getLength() == 0;
+ if (empty) {
+ lb.append(">");
+ }
String value = color.color(ColorPrintElement.ELEMENT, lb.toString());
sb.append(value);
- lb.setLength(0);
- for (int i = 0; i < attributes.getLength(); i++) {
- String k = color.color(ColorPrintElement.ATTRIBUTE_KEY, attributes.getQName(i));
- String v = color.color(ColorPrintElement.ATTRIBUTE_VALUE, attributes.getValue(i));
- String eq = color.color(ColorPrintElement.ATTRIBUTE_EQUAL, "=");
- String quote = color.color(ColorPrintElement.ATTRIBUTE_QUOTE, "\"");
- lb.append(" ").append(k).append(eq).append(quote).append(v).append(quote);
+ if (!empty) {
+ lb.setLength(0);
+ for (int i = 0; i < attributes.getLength(); i++) {
+ String k = color.color(ColorPrintElement.ATTRIBUTE_KEY, attributes.getQName(i));
+ String v = color.color(ColorPrintElement.ATTRIBUTE_VALUE, attributes.getValue(i));
+ String eq = color.color(ColorPrintElement.ATTRIBUTE_EQUAL, "=");
+ String quote = color.color(ColorPrintElement.ATTRIBUTE_QUOTE, "\"");
+ lb.append(" ").append(k).append(eq).append(quote).append(v).append(quote);
+ }
+ sb.append(lb);
+ value = color.color(ColorPrintElement.ELEMENT, ">");
+ sb.append(value);
}
- sb.append(lb);
-
- value = color.color(ColorPrintElement.ELEMENT, ">");
- sb.append(value);
sb.append("\n");
indent++;
@@ -159,6 +167,7 @@ public final class XmlPrettyPrinter {
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
+ inElement = false;
--indent;
StringBuilder lb = new StringBuilder();
@@ -176,13 +185,15 @@ public final class XmlPrettyPrinter {
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
- char[] chars = new char[length];
- System.arraycopy(ch, start, chars, 0, length);
- String value = color.color(ColorPrintElement.VALUE, new String(chars));
+ if (inElement && indent > 1) {
+ char[] chars = new char[length];
+ System.arraycopy(ch, start, chars, 0, length);
+ String value = color.color(ColorPrintElement.VALUE, new String(chars));
- sb.append(XmlPrettyPrinter.padString(indent, blanks));
- sb.append(value);
- sb.append("\n");
+ sb.append(XmlPrettyPrinter.padString(indent, blanks));
+ sb.append(value);
+ sb.append("\n");
+ }
}
};
diff --git a/core/camel-xml-jaxp-util/src/test/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinterTest.java b/core/camel-xml-jaxp-util/src/test/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinterTest.java
index 1740e3929df..0eb71cf9b61 100644
--- a/core/camel-xml-jaxp-util/src/test/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinterTest.java
+++ b/core/camel-xml-jaxp-util/src/test/java/org/apache/camel/util/xml/pretty/XmlPrettyPrinterTest.java
@@ -50,4 +50,40 @@ public class XmlPrettyPrinterTest {
Assertions.assertEquals(expected, pretty);
}
+ @Test
+ public void testPrettyPrintColor() throws Exception {
+ String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><root><tag><nested>hello</nested></tag></root>";
+ String expected = "*<?xml version=\"1.0\" encoding=\"UTF-8\"?>*\n"
+ + "*<root>*\n"
+ + " *<tag>*\n"
+ + " *<nested>*\n"
+ + " *hello*\n"
+ + " *</nested>*\n"
+ + " *</tag>*\n"
+ + "*</root>*";
+ String pretty = XmlPrettyPrinter.colorPrint(xml, 2, true, new XmlPrettyPrinter.ColorPrintElement() {
+ @Override
+ public String color(int type, String value) {
+ return "*" + value + "*";
+ }
+ });
+ Assertions.assertEquals(expected, pretty);
+ }
+
+ @Test
+ public void testPrettyPrintBeer() throws Exception {
+ String xml = "<beer alc=\"4.4%\"> <kind>Fosters</kind> <name>Bell Expedition</name> </beer>";
+ String expected = """
+ <beer alc="4.4%">
+ <kind>
+ Fosters
+ </kind>
+ <name>
+ Bell Expedition
+ </name>
+ </beer>""";
+ String pretty = XmlPrettyPrinter.pettyPrint(xml, 2, false);
+ Assertions.assertEquals(expected, pretty);
+ }
+
}