From f0490588ce0efccd2a6e177fa5c965b15e336c2e Mon Sep 17 00:00:00 2001 From: Nicola Fulvio Calabria <nicola.calabria@inaf.it> Date: Tue, 28 Mar 2023 22:46:31 +0200 Subject: [PATCH] added collection utilities --- .../datamodel/collections/NodeCollection.java | 2 +- .../collections/NodeCollectionsWrapper.java | 6 +-- .../datamodel/collections/NodeDetails.java | 47 +++++++++++++++++++ .../collections/NodeDetailsWrapper.java | 41 ++++++++++++++++ 4 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetails.java create mode 100644 src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetailsWrapper.java 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 f3bde1c..fd23829 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 @@ -1,5 +1,5 @@ /* - * This file is part of vospace-rest + * This file is part of vospace-datamodel * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java index 6f2b5d0..c450510 100644 --- a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java +++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeCollectionsWrapper.java @@ -1,7 +1,7 @@ /* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. + * This file is part of vospace-datamodel + * Copyright (C) 2021 Istituto Nazionale di Astrofisica + * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace.datamodel.collections; diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetails.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetails.java new file mode 100644 index 0000000..885c3e5 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetails.java @@ -0,0 +1,47 @@ +/* + * This file is part of vospace-datamodel + * Copyright (C) 2021 Istituto Nazionale di Astrofisica + * SPDX-License-Identifier: GPL-3.0-or-later + */ +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-details") +public class NodeDetails { + + @XmlAttribute(name = "node-id", required = true) + private Long nodeId; + + @XmlAttribute(name = "node-vos-path", required = true) + private String nodeVosPath; + + public NodeDetails() { + // no op + } + + public Long getNodeId() { + return nodeId; + } + + public void setNodeId(Long nodeId) { + this.nodeId = nodeId; + } + + public String getNodeVosPath() { + return nodeVosPath; + } + + public void setNodeVosPath(String nodeVosPath) { + this.nodeVosPath = nodeVosPath; + } + +} diff --git a/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetailsWrapper.java b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetailsWrapper.java new file mode 100644 index 0000000..7fa30e6 --- /dev/null +++ b/src/main/java/it/inaf/oats/vospace/datamodel/collections/NodeDetailsWrapper.java @@ -0,0 +1,41 @@ +/* + * This file is part of vospace-datamodel + * Copyright (C) 2021 Istituto Nazionale di Astrofisica + * SPDX-License-Identifier: GPL-3.0-or-later + */ +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> + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlRootElement(name = "node-details-wrapper") +public class NodeDetailsWrapper { + + @XmlElementWrapper(name = "node-details-list", required = true) + @XmlElement(name = "node-details") + private List<NodeDetails> nodeDetails; + + public NodeDetailsWrapper() { + nodeDetails = new ArrayList<NodeDetails>(); + } + + public List<NodeDetails> getNodeDetails() { + return nodeDetails; + } + + public void setNodeDetails(List<NodeDetails> nodeDetails) { + this.nodeDetails = nodeDetails; + } + +} -- GitLab