Skip to content
Snippets Groups Projects
Commit cfc793a0 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Use default file service URL if no location is specified

parent 773e1e0d
No related branches found
No related tags found
No related merge requests found
...@@ -15,7 +15,6 @@ import it.inaf.oats.vospace.exception.*; ...@@ -15,7 +15,6 @@ import it.inaf.oats.vospace.exception.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import net.ivoa.xml.vospace.v2.Property; import net.ivoa.xml.vospace.v2.Property;
import java.util.List;
@RestController @RestController
public class CreateNodeController extends BaseNodeController { public class CreateNodeController extends BaseNodeController {
......
...@@ -11,6 +11,7 @@ import it.inaf.oats.vospace.exception.PermissionDeniedException; ...@@ -11,6 +11,7 @@ import it.inaf.oats.vospace.exception.PermissionDeniedException;
import it.inaf.oats.vospace.persistence.LocationDAO; import it.inaf.oats.vospace.persistence.LocationDAO;
import it.inaf.oats.vospace.persistence.NodeDAO; import it.inaf.oats.vospace.persistence.NodeDAO;
import it.inaf.oats.vospace.persistence.model.Location; import it.inaf.oats.vospace.persistence.model.Location;
import it.inaf.oats.vospace.persistence.model.LocationType;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -78,20 +79,18 @@ public class UriService { ...@@ -78,20 +79,18 @@ public class UriService {
Node node = nodeDao.listNode(relativePath).orElseThrow(() -> new NodeNotFoundException(relativePath)); Node node = nodeDao.listNode(relativePath).orElseThrow(() -> new NodeNotFoundException(relativePath));
Location location = locationDAO.getNodeLocation(relativePath).orElseThrow(() Location location = locationDAO.getNodeLocation(relativePath).orElse(null);
-> new InternalFaultException("No registered location found for vos_path " + relativePath));
String endpoint; String endpoint;
switch (location.getType()) {
case PORTAL: if (location != null && location.getType() == LocationType.PORTAL) {
String fileName = nodeDao.getNodeOsName(relativePath); String fileName = nodeDao.getNodeOsName(relativePath);
endpoint = "http://" + location.getSource().getHostname() + location.getSource().getBasePath(); endpoint = "http://" + location.getSource().getHostname() + location.getSource().getBasePath();
if (!endpoint.endsWith("/")) { if (!endpoint.endsWith("/")) {
endpoint += "/"; endpoint += "/";
} }
endpoint += fileName; endpoint += fileName;
break; } else {
default:
endpoint = fileServiceUrl + urlEncodePath(relativePath); endpoint = fileServiceUrl + urlEncodePath(relativePath);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment