fix exception mapping

This commit is contained in:
Olivier Lamy 2015-02-10 22:10:09 +11:00
parent 8753e05338
commit 29faf4ed88
2 changed files with 11 additions and 6 deletions

View File

@ -45,13 +45,13 @@ public class ArchivaRestServiceExceptionMapper
@Override
public int getStatusCode()
{
return Response.Status.INTERNAL_SERVER_ERROR.getStatusCode();
return e.getHttpErrorCode();
}
@Override
public Response.Status.Family getFamily()
{
return Response.Status.Family.SERVER_ERROR;
return Response.Status.Family.familyOf( e.getHttpErrorCode() );
}
@Override
@ -59,7 +59,9 @@ public class ArchivaRestServiceExceptionMapper
{
return e.getMessage();
}
} ).build();
} )//
.entity( restError ) //
.build();
return response;
}

View File

@ -31,7 +31,9 @@ import org.apache.archiva.rest.api.services.RepositoriesService;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.ForbiddenException;
import javax.ws.rs.core.Response;
import java.io.File;
import java.util.List;
@ -105,7 +107,7 @@ public class RepositoriesServiceTest
}
}
@Test( expected = ForbiddenException.class )
@Test( expected = BadRequestException.class )
public void deleteWithRepoNull()
throws Exception
{
@ -122,9 +124,10 @@ public class RepositoriesServiceTest
repositoriesService.deleteArtifact( artifact );
}
catch ( ForbiddenException e )
catch ( BadRequestException e )
{
assertEquals( "not http 400 status", 400, e.getResponse().getStatus() );
assertEquals( "not http " + Response.Status.BAD_REQUEST.getStatusCode() + " status",
Response.Status.BAD_REQUEST.getStatusCode(), e.getResponse().getStatus() );
throw e;
}
}