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/21 11:51:28 UTC
[camel-quarkus] 15/21: 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
commit a628accd9957e807cccb328ee9c29e43e1f147c0
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"));
}
}