From a776864ba7c968069193f24211fc68517a2cba5d Mon Sep 17 00:00:00 2001 From: Nicola Fulvio Calabria <nicola.calabria@inaf.it> Date: Wed, 16 Nov 2022 17:03:21 +0100 Subject: [PATCH] added annotations to node collection classes --- .../datamodel/collections/NodeCollection.java | 16 ++++++++++++++++ ...ionsList.java => NodeCollectionsWrapper.java} | 13 +++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) rename src/main/java/it/inaf/oats/vospace/datamodel/collections/{NodeCollectionsList.java => NodeCollectionsWrapper.java} (58%) diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java index 43b3598..f3bde1c 100644 --- a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java +++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollection.java @@ -5,15 +5,31 @@ */ package it.inaf.oats.vospace.datamodel.collections; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "node-collection") public class NodeCollection { + @XmlAttribute(name = "id", required = true) private Long id; + + @XmlAttribute(name = "title", required = true) private String title; + + @XmlAttribute(name = "owner-id", required = true) private String ownerId; + + public NodeCollection() { + // no op + } public NodeCollection(Long id, String title, String ownerId) { this.id = id; diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java similarity index 58% rename from src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java rename to src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java index 09a9d22..6f2b5d0 100644 --- a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsList.java +++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java @@ -7,17 +7,26 @@ package it.inaf.oats.vospace.datamodel.collections; import java.util.ArrayList; import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; /** * Wrapper class for REST GET * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ -public class NodeCollectionsList { +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "node-collections-wrapper") +public class NodeCollectionsWrapper { + @XmlElementWrapper(name = "node-collections-list", required = true) + @XmlElement(name = "node-collection") private List<NodeCollection> nodeCollections; - public NodeCollectionsList() { + public NodeCollectionsWrapper() { this.nodeCollections = new ArrayList<>(); } -- GitLab