Commit 3388d413 authored by Nicola Fulvio Calabria's avatar Nicola Fulvio Calabria
Browse files

Merge commit

parent 2a291dd2
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@
package it.inaf.ia2.transfer.controller;
package it.inaf.ia2.transfer.controller;


import it.inaf.ia2.transfer.auth.TokenPrincipal;
import it.inaf.ia2.transfer.auth.TokenPrincipal;
import it.inaf.ia2.transfer.exception.PermissionDeniedException;
import it.inaf.oats.vospace.exception.PermissionDeniedException;


public abstract class AuthenticatedFileController extends FileController {
public abstract class AuthenticatedFileController extends FileController {


+4 −6
Original line number Original line Diff line number Diff line
@@ -6,11 +6,11 @@
package it.inaf.ia2.transfer.service;
package it.inaf.ia2.transfer.service;


import it.inaf.ia2.transfer.auth.TokenPrincipal;
import it.inaf.ia2.transfer.auth.TokenPrincipal;
import it.inaf.ia2.transfer.exception.JobException;
import it.inaf.ia2.transfer.exception.JobException.Type;
import it.inaf.ia2.transfer.persistence.FileDAO;
import it.inaf.ia2.transfer.persistence.FileDAO;
import it.inaf.ia2.transfer.persistence.LocationDAO;
import it.inaf.ia2.transfer.persistence.LocationDAO;
import it.inaf.ia2.transfer.persistence.model.FileInfo;
import it.inaf.ia2.transfer.persistence.model.FileInfo;
import it.inaf.oats.vospace.exception.InternalFaultException;
import it.inaf.oats.vospace.exception.PermissionDeniedException;
import java.io.File;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.IOException;
@@ -160,8 +160,7 @@ public class FileCopyService {


        if (baseUrl == null) {
        if (baseUrl == null) {
            LOG.error("Location URL not found for location " + sourceFile.getLocationId());
            LOG.error("Location URL not found for location " + sourceFile.getLocationId());
            throw new JobException(Type.FATAL, "Internal Fault")
            throw new InternalFaultException("Unable to retrieve location of file " + sourceFile.getVirtualPath());
                    .setErrorDetail("InternalFault: Unable to retrieve location of file " + sourceFile.getVirtualPath());
        }
        }


        String url = baseUrl + "/" + sourceFile.getVirtualName();
        String url = baseUrl + "/" + sourceFile.getVirtualName();
@@ -191,8 +190,7 @@ public class FileCopyService {
    private void copyLocalFile(FileInfo sourceFileInfo,
    private void copyLocalFile(FileInfo sourceFileInfo,
            FileInfo destinationFileInfo, TokenPrincipal tokenPrincipal) {
            FileInfo destinationFileInfo, TokenPrincipal tokenPrincipal) {
        if (!authorizationService.isDownloadable(sourceFileInfo, tokenPrincipal)) {
        if (!authorizationService.isDownloadable(sourceFileInfo, tokenPrincipal)) {
            throw new JobException(Type.FATAL, "Permission Denied")
            throw PermissionDeniedException.forPath(sourceFileInfo.getVirtualPath());
                    .setErrorDetail("PermissionDenied: " + sourceFileInfo.getVirtualPath());
        }
        }


        File file = new File(sourceFileInfo.getOsPath());
        File file = new File(sourceFileInfo.getOsPath());