You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/07/19 09:15:55 UTC

[camel-quarkus] branch camel-main updated: Fixed Atom

This is an automated email from the ASF dual-hosted git repository.

jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/camel-main by this push:
     new 0d393d2ee2 Fixed Atom
0d393d2ee2 is described below

commit 0d393d2ee20bd13bbeb01ddb68d40e9fa2309df3
Author: JiriOndrusek <on...@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"));
         }
     }