This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch pr/CAMEL-24698-source-checks in repository https://gitbox.apache.org/repos/asf/camel.git
commit 8924c8f0f6c937d8acbcb353afb771ea19461c01 Author: Claus Ibsen <[email protected]> AuthorDate: Sun Sep 13 15:09:09 2026 +0200 CAMEL-24698: camel-tooling-model - PojoBeanModel carries interfaceType so tools can find beans by the interface they implement Squash of the 1 commits on fix/CAMEL-24698-bean-interface-type (the run-by-run history is on bench/after-run). camel-tooling-model - PojoBeanModel carries the interfaceType the catalog JSON already has Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01Bp3538HRBPMQkb5ta9xRaj --- .../main/java/org/apache/camel/tooling/model/JsonMapper.java | 4 ++++ .../java/org/apache/camel/tooling/model/PojoBeanModel.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java index 721329bc2afc..0a2a1aa7d733 100644 --- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java +++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java @@ -337,6 +337,7 @@ public final class JsonMapper { PojoBeanModel model = new PojoBeanModel(); parseModel(mobj, model); parseArtifact(mobj, model); + model.setInterfaceType(mobj.getString("interfaceType")); JsonObject mprp = (JsonObject) mobj.get("properties"); if (mprp != null) { for (Map.Entry<String, Object> entry : mprp.entrySet()) { @@ -378,6 +379,9 @@ public final class JsonMapper { public static JsonObject asJsonObject(PojoBeanModel model) { JsonObject obj = new JsonObject(); baseToJson(model, obj); + if (model.getInterfaceType() != null) { + obj.put("interfaceType", model.getInterfaceType()); + } artifactToJson(model, obj); obj.entrySet().removeIf(e -> e.getValue() == null); JsonObject wrapper = new JsonObject(); diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/PojoBeanModel.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/PojoBeanModel.java index f5610f6d22fd..36eb4dde29fe 100644 --- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/PojoBeanModel.java +++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/PojoBeanModel.java @@ -21,6 +21,17 @@ import java.util.List; public class PojoBeanModel extends ArtifactModel<PojoBeanModel.PojoBeanOptionModel> { + private String interfaceType; + + /** The interface the bean implements (org.apache.camel.AggregationStrategy), when it is a known Camel interface. */ + public String getInterfaceType() { + return interfaceType; + } + + public void setInterfaceType(String interfaceType) { + this.interfaceType = interfaceType; + } + protected final List<PojoBeanModel.PojoBeanOptionModel> options = new ArrayList<>(); public PojoBeanModel() {
