Commit f70c909f authored by Sara Bertocco's avatar Sara Bertocco
Browse files
parents 969406ac f7856c4a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ import it.inaf.oats.vospace.exception.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.ivoa.xml.vospace.v2.Property;
import java.util.List;

@RestController
public class CreateNodeController extends BaseNodeController {
+12 −13
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ import it.inaf.oats.vospace.exception.PermissionDeniedException;
import it.inaf.oats.vospace.persistence.LocationDAO;
import it.inaf.oats.vospace.persistence.NodeDAO;
import it.inaf.oats.vospace.persistence.model.Location;
import it.inaf.oats.vospace.persistence.model.LocationType;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -78,20 +79,18 @@ public class UriService {

        Node node = nodeDao.listNode(relativePath).orElseThrow(() -> new NodeNotFoundException(relativePath));

        Location location = locationDAO.getNodeLocation(relativePath).orElseThrow(()
                -> new InternalFaultException("No registered location found for vos_path " + relativePath));
        Location location = locationDAO.getNodeLocation(relativePath).orElse(null);

        String endpoint;
        switch (location.getType()) {
            case PORTAL:

        if (location != null && location.getType() == LocationType.PORTAL) {
            String fileName = nodeDao.getNodeOsName(relativePath);
            endpoint = "http://" + location.getSource().getHostname() + location.getSource().getBasePath();
            if (!endpoint.endsWith("/")) {
                endpoint += "/";
            }
            endpoint += fileName;
                break;
            default:
        } else {
            endpoint = fileServiceUrl + urlEncodePath(relativePath);
        }

+6 −1
Original line number Diff line number Diff line
package it.inaf.oats.vospace.exception;

import java.nio.charset.StandardCharsets;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -23,7 +24,11 @@ public class ErrorController extends AbstractErrorController {
    public void errorText(HttpServletRequest request, HttpServletResponse response) throws Exception {
        Map<String, Object> errors = super.getErrorAttributes(request, true);
        response.setContentType("text/plain;charset=UTF-8");
        response.getOutputStream().print((String) errors.get("message"));
        response.setCharacterEncoding("UTF-8");
        String errorMessage = (String) errors.get("message");
        if (errorMessage != null) {
            response.getOutputStream().write(errorMessage.getBytes(StandardCharsets.UTF_8));
        }
    }

    @Override