This is an automated email from the ASF dual-hosted git repository. github-bot pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 3d39f189db5bf562314cea19b666ad656e5b2cfa Author: JiriOndrusek <ondrusek.j...@gmail.com> AuthorDate: Wed Jul 19 11:09:35 2023 +0200 Fixed Atom --- .../component/atom/deployment/AtomProcessor.java | 8 ------ .../quarkus/component/atom/it/AtomResource.java | 33 +++++++++------------- .../src/main/resources/META-INF/resources/atom.xml | 6 ++-- .../camel/quarkus/component/atom/it/AtomTest.java | 10 ++----- 4 files changed, 19 insertions(+), 38 deletions(-) diff --git a/extensions/atom/deployment/src/main/java/org/apache/camel/quarkus/component/atom/deployment/AtomProcessor.java b/extensions/atom/deployment/src/main/java/org/apache/camel/quarkus/component/atom/deployment/AtomProcessor.java index 2956932b33..681b68246a 100644 --- a/extensions/atom/deployment/src/main/java/org/apache/camel/quarkus/component/atom/deployment/AtomProcessor.java +++ b/extensions/atom/deployment/src/main/java/org/apache/camel/quarkus/component/atom/deployment/AtomProcessor.java @@ -18,9 +18,6 @@ package org.apache.camel.quarkus.component.atom.deployment; import io.quarkus.deployment.annotations.BuildStep; import io.quarkus.deployment.builditem.FeatureBuildItem; -import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; -import org.apache.abdera.parser.stax.FOMFactory; -import org.apache.abdera.parser.stax.FOMParser; class AtomProcessor { @@ -30,9 +27,4 @@ class AtomProcessor { FeatureBuildItem feature() { return new FeatureBuildItem(FEATURE); } - - @BuildStep - ReflectiveClassBuildItem registerForReflection() { - return ReflectiveClassBuildItem.builder(FOMParser.class, FOMFactory.class).build(); - } } diff --git a/integration-tests/syndication/src/main/java/org/apache/camel/quarkus/component/atom/it/AtomResource.java b/integration-tests/syndication/src/main/java/org/apache/camel/quarkus/component/atom/it/AtomResource.java index 5a0e5a4995..46039e9de8 100644 --- a/integration-tests/syndication/src/main/java/org/apache/camel/quarkus/component/atom/it/AtomResource.java +++ b/integration-tests/syndication/src/main/java/org/apache/camel/quarkus/component/atom/it/AtomResource.java @@ -16,6 +16,9 @@ */ package org.apache.camel.quarkus.component.atom.it; +import java.util.List; + +import com.apptasticsoftware.rssreader.Item; import jakarta.inject.Inject; import jakarta.json.Json; import jakarta.json.JsonArrayBuilder; @@ -26,8 +29,6 @@ import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.core.MediaType; -import org.apache.abdera.model.Entry; -import org.apache.abdera.model.Feed; import org.apache.camel.ConsumerTemplate; import org.apache.camel.Exchange; import org.apache.camel.component.atom.AtomConstants; @@ -43,27 +44,19 @@ public class AtomResource { @Produces(MediaType.APPLICATION_JSON) public JsonObject consumeAtomFeed(@QueryParam("test-port") int port) throws Exception { Exchange exchange = consumerTemplate.receive("atom://http://localhost:" + port + "/atom.xml?splitEntries=false"); - Feed feed = exchange.getMessage().getHeader(AtomConstants.ATOM_FEED, Feed.class); - - JsonObjectBuilder atom = Json.createObjectBuilder(); - atom.add("title", feed.getTitle()); - atom.add("subtitle", feed.getSubtitle()); - atom.add("link", feed.getLinks().get(0).getHref().toASCIIString()); + List<Item> feed = exchange.getIn().getHeader(AtomConstants.ATOM_FEED, List.class); + JsonArrayBuilder atom = Json.createArrayBuilder(); - JsonArrayBuilder entries = Json.createArrayBuilder(); - - for (Entry entry : feed.getEntries()) { + for (Item entry : feed) { JsonObjectBuilder atomEntry = Json.createObjectBuilder(); - atomEntry.add("title", entry.getTitle()); - atomEntry.add("link", entry.getLinks().get(0).getHref().toASCIIString()); - atomEntry.add("summary", entry.getSummary()); - atomEntry.add("content", entry.getContent()); - atomEntry.add("author", entry.getAuthor().getName()); - entries.add(atomEntry); + atomEntry.add("title", entry.getTitle().get()); + atomEntry.add("link", entry.getLink().get()); + atomEntry.add("comments", entry.getComments().get()); + atomEntry.add("description", entry.getDescription().get()); + atomEntry.add("author", entry.getAuthor().get()); + atom.add(atomEntry); } - atom.add("entries", entries.build()); - - return atom.build(); + return Json.createObjectBuilder().add("entries", atom.build()).build(); } } diff --git a/integration-tests/syndication/src/main/resources/META-INF/resources/atom.xml b/integration-tests/syndication/src/main/resources/META-INF/resources/atom.xml index 7a53044d32..b8e2c6e395 100644 --- a/integration-tests/syndication/src/main/resources/META-INF/resources/atom.xml +++ b/integration-tests/syndication/src/main/resources/META-INF/resources/atom.xml @@ -25,7 +25,7 @@ <title>Test entry title 1</title> <link href="https://camel.apache.org/test-entry-1"/> <updated>2020-09-01T00:00:00Z</updated> - <summary>Test entry summary 1</summary> + <comments>Test entry comments 1</comments> <content type="text">Test entry content 1</content> <author> <name>Apache Camel</name> @@ -35,7 +35,7 @@ <title>Test entry title 2</title> <link href="https://camel.apache.org/test-entry-2"/> <updated>2020-09-02T00:00:00Z</updated> - <summary>Test entry summary 2</summary> + <comments>Test entry comments 2</comments> <content type="text">Test entry content 2</content> <author> <name>Apache Camel</name> @@ -45,7 +45,7 @@ <title>Test entry title 3</title> <link href="https://camel.apache.org/test-entry-3"/> <updated>2020-09-03T00:00:00Z</updated> - <summary>Test entry summary 3</summary> + <comments>Test entry comments 3</comments> <content type="text">Test entry content 3</content> <author> <name>Apache Camel</name> diff --git a/integration-tests/syndication/src/test/java/org/apache/camel/quarkus/component/atom/it/AtomTest.java b/integration-tests/syndication/src/test/java/org/apache/camel/quarkus/component/atom/it/AtomTest.java index dbe33a0865..ca94e0c009 100644 --- a/integration-tests/syndication/src/test/java/org/apache/camel/quarkus/component/atom/it/AtomTest.java +++ b/integration-tests/syndication/src/test/java/org/apache/camel/quarkus/component/atom/it/AtomTest.java @@ -40,20 +40,16 @@ class AtomTest { .body() .jsonPath(); - assertEquals("Camel Quarkus Test Feed Title", json.getString("title")); - assertEquals("Camel Quarkus Test Feed Subtitle", json.getString("subtitle")); - assertEquals("https://camel.apache.org", json.getString("link")); - List<LinkedHashMap<String, String>> entries = json.getList("entries"); assertEquals(3, entries.size()); for (int i = 0; i < entries.size(); i++) { LinkedHashMap<String, String> entry = entries.get(i); - int index = i + 1; + int index = 3 - i; assertEquals("Test entry title " + index, entry.get("title")); assertEquals("https://camel.apache.org/test-entry-" + index, entry.get("link")); - assertEquals("Test entry summary " + index, entry.get("summary")); - assertEquals("Test entry content " + index, entry.get("content")); + assertEquals("Test entry comments " + index, entry.get("comments")); + assertEquals("Test entry content " + index, entry.get("description")); assertEquals("Apache Camel", entry.get("author")); } }