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 2021/12/14 13:25:24 UTC
[camel] 03/07: CAMEL-17331: include sourceLineNumber in xml dump if possible
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 283ac91f4925457e4d252dd02408d8561d37419d
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Dec 14 13:43:05 2021 +0100
CAMEL-17331: include sourceLineNumber in xml dump if possible
---
.../apache/camel/api/management/mbean/ManagedProcessorMBean.java | 3 +++
.../java/org/apache/camel/management/mbean/ManagedProcessor.java | 6 ++++++
.../main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java | 4 ++++
3 files changed, 13 insertions(+)
diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
index 037ef98..f5016a0 100644
--- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
+++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedProcessorMBean.java
@@ -42,6 +42,9 @@ public interface ManagedProcessorMBean extends ManagedPerformanceCounterMBean {
@ManagedAttribute(description = "Processor Index")
Integer getIndex();
+ @ManagedAttribute(description = "Line number of this node in the source file (when loaded from a line number aware parser)")
+ Integer getSourceLineNumber();
+
@ManagedAttribute(description = "Whether this processor supports extended JMX information")
Boolean getSupportExtendedInformation();
diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
index c9efc82..59359b9 100644
--- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
+++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
@@ -95,6 +95,12 @@ public class ManagedProcessor extends ManagedPerformanceCounter implements Manag
}
@Override
+ public Integer getSourceLineNumber() {
+ int line = definition.getLineNumber();
+ return line >= 0 ? line : null;
+ }
+
+ @Override
public Boolean getSupportExtendedInformation() {
return false;
}
diff --git a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
index 21b650d..ed813cd 100644
--- a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
+++ b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbModelToXMLDumper.java
@@ -116,6 +116,10 @@ public class JaxbModelToXMLDumper implements ModelToXMLDumper {
String prefix = nsPrefix.equals("xmlns") ? nsPrefix : "xmlns:" + nsPrefix;
documentElement.setAttribute(prefix, entry.getValue());
}
+ // enrich line number
+ if (definition.getLineNumber() >= 0) {
+ documentElement.setAttribute("sourceLineNumber", "" + definition.getLineNumber());
+ }
// We invoke the type converter directly because we need to pass some
// custom XML output options