Loading src/main/java/it/inaf/oats/vospace/CollectionsController.java 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace; import it.inaf.ia2.aa.data.User; import it.inaf.oats.vospace.datamodel.collections.NodeCollectionsList; import it.inaf.oats.vospace.persistence.CollectionsDAO; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ @RestController public class CollectionsController { private static final Logger LOG = LoggerFactory.getLogger(CollectionsController.class); @Autowired private CollectionsService collectionsService; // list collections owned by user @GetMapping(value = "/collections") public ResponseEntity<NodeCollectionsList> listCollections( HttpServletRequest request, User principal) { LOG.debug("listCollections called for user {}", principal.getName()); NodeCollectionsList ncl = new NodeCollectionsList(); ncl.setNodeCollections( collectionsService.listCollections(principal.getName())); return ResponseEntity.ok(ncl); } // create a new collection with specified title // delete collection by id } src/main/java/it/inaf/oats/vospace/CollectionsService.java 0 → 100644 +46 −0 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace; import it.inaf.oats.vospace.persistence.CollectionsDAO; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ @Service @EnableTransactionManagement public class CollectionsService { @Autowired private CollectionsDAO collectionsDAO; public List<NodeCollection> listCollections(String userId) { List<NodeCollection> result = new ArrayList<>(); // If user is not authenticated simply return an empty list if (isUserAuthenticated(userId)) { result.addAll( collectionsDAO.getUserNodeCollections(userId)); } return result; } private boolean isUserAuthenticated(String userId) { return userId != null && !userId.equals("anonymous"); } } src/main/java/it/inaf/oats/vospace/persistence/CollectionsDAO.java +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ */ package it.inaf.oats.vospace.persistence; import it.inaf.oats.vospace.persistence.model.NodeCollection; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; Loading src/main/java/it/inaf/oats/vospace/persistence/model/NodeCollection.javadeleted 100644 → 0 +0 −49 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace.persistence.model; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ public class NodeCollection { private Long id; private String title; private String ownerId; public NodeCollection(Long id, String title, String ownerId) { this.id = id; this.title = title; this.ownerId = ownerId; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getOwnerId() { return ownerId; } public void setOwnerId(String ownerId) { this.ownerId = ownerId; } } src/test/java/it/inaf/oats/vospace/persistence/CollectionsDAOTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ */ package it.inaf.oats.vospace.persistence; import it.inaf.oats.vospace.persistence.model.NodeCollection; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.util.List; import javax.sql.DataSource; import static org.junit.jupiter.api.Assertions.assertEquals; Loading Loading
src/main/java/it/inaf/oats/vospace/CollectionsController.java 0 → 100644 +54 −0 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace; import it.inaf.ia2.aa.data.User; import it.inaf.oats.vospace.datamodel.collections.NodeCollectionsList; import it.inaf.oats.vospace.persistence.CollectionsDAO; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ @RestController public class CollectionsController { private static final Logger LOG = LoggerFactory.getLogger(CollectionsController.class); @Autowired private CollectionsService collectionsService; // list collections owned by user @GetMapping(value = "/collections") public ResponseEntity<NodeCollectionsList> listCollections( HttpServletRequest request, User principal) { LOG.debug("listCollections called for user {}", principal.getName()); NodeCollectionsList ncl = new NodeCollectionsList(); ncl.setNodeCollections( collectionsService.listCollections(principal.getName())); return ResponseEntity.ok(ncl); } // create a new collection with specified title // delete collection by id }
src/main/java/it/inaf/oats/vospace/CollectionsService.java 0 → 100644 +46 −0 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace; import it.inaf.oats.vospace.persistence.CollectionsDAO; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ @Service @EnableTransactionManagement public class CollectionsService { @Autowired private CollectionsDAO collectionsDAO; public List<NodeCollection> listCollections(String userId) { List<NodeCollection> result = new ArrayList<>(); // If user is not authenticated simply return an empty list if (isUserAuthenticated(userId)) { result.addAll( collectionsDAO.getUserNodeCollections(userId)); } return result; } private boolean isUserAuthenticated(String userId) { return userId != null && !userId.equals("anonymous"); } }
src/main/java/it/inaf/oats/vospace/persistence/CollectionsDAO.java +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ */ package it.inaf.oats.vospace.persistence; import it.inaf.oats.vospace.persistence.model.NodeCollection; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; Loading
src/main/java/it/inaf/oats/vospace/persistence/model/NodeCollection.javadeleted 100644 → 0 +0 −49 Original line number Diff line number Diff line /* * This file is part of vospace-rest * Copyright (C) 2021 Istituto Nazionale di Astrofisica * SPDX-License-Identifier: GPL-3.0-or-later */ package it.inaf.oats.vospace.persistence.model; /** * * @author Nicola Fulvio Calabria <nicola.calabria at inaf.it> */ public class NodeCollection { private Long id; private String title; private String ownerId; public NodeCollection(Long id, String title, String ownerId) { this.id = id; this.title = title; this.ownerId = ownerId; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getOwnerId() { return ownerId; } public void setOwnerId(String ownerId) { this.ownerId = ownerId; } }
src/test/java/it/inaf/oats/vospace/persistence/CollectionsDAOTest.java +1 −1 Original line number Diff line number Diff line Loading @@ -5,7 +5,7 @@ */ package it.inaf.oats.vospace.persistence; import it.inaf.oats.vospace.persistence.model.NodeCollection; import it.inaf.oats.vospace.datamodel.collections.NodeCollection; import java.util.List; import javax.sql.DataSource; import static org.junit.jupiter.api.Assertions.assertEquals; Loading