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

Use default file service URL if no location is specified

parent 65764bfb
No related branches found
No related tags found
No related merge requests found
Pipeline #1042 passed
...@@ -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