diff --git a/src/main/java/it/inaf/oats/vospace/JobService.java b/src/main/java/it/inaf/oats/vospace/JobService.java index 852b05fb1dc58529a3f1874b9ca792eb88392cab..7e7e537c81780ffa5b5f4f12633bbb75f8de75ab 100644 --- a/src/main/java/it/inaf/oats/vospace/JobService.java +++ b/src/main/java/it/inaf/oats/vospace/JobService.java @@ -151,26 +151,10 @@ public class JobService { if (isAsyncRecall(transfer)) { asyncTransfService.startJob(job); return transfer; + } else { + throw new InvalidArgumentException("Unsupported pullToVoSpace transfer"); } - for (Protocol protocol : transfer.getProtocols()) { - switch (protocol.getUri()) { - case "ivo://ivoa.net/vospace/core#httpget": - String nodeUri = transfer.getTarget(); - String contentUri = protocol.getEndpoint(); - uriService.setNodeRemoteLocation(nodeUri, contentUri); - Transfer negotiatedTransfer = uriService.getNegotiatedTransfer(job, transfer); - setJobResults(job, transfer); - // Special case: import of a node from a portal file server - // doesn't imply file transfer, so it can be set to completed - job.setPhase(ExecutionPhase.COMPLETED); - return negotiatedTransfer; - default: - throw new InvalidArgumentException("Unsupported pullToVoSpace protocol: " + protocol.getUri()); - } - } - - throw new InvalidArgumentException("Transfer contains no protocols"); } private boolean isAsyncRecall(Transfer transfer) { diff --git a/src/main/java/it/inaf/oats/vospace/UriService.java b/src/main/java/it/inaf/oats/vospace/UriService.java index 41ce695889ed0b96aa7cea5556fe4db5b8639bd6..1dad3e5a4e662a18d05a49766ac17faecb569505 100644 --- a/src/main/java/it/inaf/oats/vospace/UriService.java +++ b/src/main/java/it/inaf/oats/vospace/UriService.java @@ -282,25 +282,6 @@ public class UriService { return rapClient.exchangeToken(exchangeRequest, servletRequest); } - public void setNodeRemoteLocation(String nodeUri, String contentUri) { - - URL url; - try { - url = new URL(contentUri); - } catch (MalformedURLException ex) { - throw new InternalFaultException(ex); - } - - Location location = locationDAO.findPortalLocation(url.getHost()).orElseThrow(() - -> new InternalFaultException("No registered location found for host " + url.getHost())); - - String vosPath = URIUtils.returnVosPathFromNodeURI(nodeUri, authority); - - // String fileName = url.getPath().substring(url.getPath().lastIndexOf("/") + 1); - - nodeDao.setNodeLocation(vosPath, location.getId()); - } - public Transfer getTransfer(JobSummary job) { List<Object> jobPayload = job.getJobInfo().getAny(); diff --git a/src/main/java/it/inaf/oats/vospace/persistence/LocationDAO.java b/src/main/java/it/inaf/oats/vospace/persistence/LocationDAO.java index 6ad10aa03c42a2908bd536278653981c5e3861fb..71d86f37ee6dace04a5d44e4c0889080b4c66fa7 100644 --- a/src/main/java/it/inaf/oats/vospace/persistence/LocationDAO.java +++ b/src/main/java/it/inaf/oats/vospace/persistence/LocationDAO.java @@ -32,21 +32,6 @@ public class LocationDAO { jdbcTemplate = new JdbcTemplate(dataSource); } - public Optional<Location> findPortalLocation(String host) { - - String sql = "SELECT location_id, location_type, storage_src_id, storage_dest_id,\n" - + "storage_id, storage_type, base_path, base_url, hostname\n" - + "FROM location l\n" - + "JOIN storage s ON l.storage_src_id = s.storage_id OR l.storage_dest_id = s.storage_id\n" - + "WHERE hostname = ?"; - - return jdbcTemplate.query(sql, ps -> { - ps.setString(1, host); - }, rs -> { - return getLocation(rs, () -> new IllegalStateException("Found multiple locations for the same hostname")); - }); - } - public Optional<Location> getNodeLocation(String vosPath) { String sql = "SELECT l.location_id, location_type, storage_src_id, storage_dest_id,\n" diff --git a/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java b/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java index f38085bb40bf613bd3c64ac5d34a6613999696a3..d2dc0862b243e0a060687816173adc1c4e248248 100644 --- a/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java +++ b/src/test/java/it/inaf/oats/vospace/TransferControllerTest.java @@ -99,8 +99,7 @@ public class TransferControllerTest { portalStorage.setHostname("archive.lbto.org"); portalStorage.setBaseUrl("/files"); portalLocation.setSource(portalStorage); - when(locationDao.getNodeLocation(eq("/portalnode"))).thenReturn(Optional.of(portalLocation)); - when(locationDao.findPortalLocation(any())).thenReturn(Optional.of(portalLocation)); + when(locationDao.getNodeLocation(eq("/portalnode"))).thenReturn(Optional.of(portalLocation)); } @Test diff --git a/src/test/java/it/inaf/oats/vospace/UriServiceTest.java b/src/test/java/it/inaf/oats/vospace/UriServiceTest.java index 88a778efca89acb61b1b1b7bc9d1132b07f197f8..10066cdb40309c270dc2bba38dfcbca532e3fc15 100644 --- a/src/test/java/it/inaf/oats/vospace/UriServiceTest.java +++ b/src/test/java/it/inaf/oats/vospace/UriServiceTest.java @@ -399,22 +399,6 @@ public class UriServiceTest { uriService.getNegotiatedTransfer(job, tr); }); } - - @Test - public void setNodeRemoteLocationTest() { - - String nodeUri = "vos://example.com!vospace/test/f1/lbtfile.fits"; - String contentUri = "http://archive.lbto.org/files/lbtfile.fits"; - - Location location = new Location(); - location.setId(5); - - when(locationDAO.findPortalLocation(eq("archive.lbto.org"))).thenReturn(Optional.of(location)); - - uriService.setNodeRemoteLocation(nodeUri, contentUri); - - verify(nodeDAO).setNodeLocation(eq("/test/f1/lbtfile.fits"), eq(5)); - } @Test public void testSetSyncTransferEndpointsPullFromVoSpace() { diff --git a/src/test/java/it/inaf/oats/vospace/persistence/LocationDAOTest.java b/src/test/java/it/inaf/oats/vospace/persistence/LocationDAOTest.java index 2e4cea4d99549973c2ff6b908e06a4b194c531b8..1fb822a4c6cf76c2b40d1988c6dcc1679959d2e3 100644 --- a/src/test/java/it/inaf/oats/vospace/persistence/LocationDAOTest.java +++ b/src/test/java/it/inaf/oats/vospace/persistence/LocationDAOTest.java @@ -34,26 +34,6 @@ public class LocationDAOTest { dao = new LocationDAO(dataSource); } - @Test - public void testGetPortalLocation() { - - String hostname = "archive.lbto.org"; - - Optional<Location> optLocation = dao.findPortalLocation(hostname); - assertTrue(optLocation.isPresent()); - - Location location = optLocation.get(); - - assertEquals(hostname, location.getSource().getHostname()); - assertNotNull(location.getSource().getBaseUrl()); - assertNull(location.getSource().getBasePath()); - } - - @Test - public void testInexistentLocation() { - assertTrue(dao.findPortalLocation("foo").isEmpty()); - } - @Test public void testGetRootLocation() { dao.getNodeLocation("/");