diff --git a/fda-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java b/fda-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java index c52f2b6ea311d59e53702ef505d892e1e572d339..4b61ff796349bb570cd8c8f55558f0258a9d6f51 100644 --- a/fda-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java +++ b/fda-query-service/rest-service/src/main/java/at/tuwien/endpoint/QueryEndpoint.java @@ -52,7 +52,8 @@ public class QueryEndpoint { @ApiResponse(code = 409, message = "The container image is not supported."),}) public ResponseEntity<QueryResultDto> execute(@NotNull @PathVariable("id") Long id, @NotNull @PathVariable("databaseId") Long databaseId, - @Valid @RequestBody ExecuteStatementDto data) + @Valid @RequestBody ExecuteStatementDto data, + @RequestParam("page") Long page, @RequestParam("size") Long size) throws DatabaseNotFoundException, ImageNotSupportedException, QueryStoreException, QueryMalformedException, TableNotFoundException, ContainerNotFoundException { /* validation */ @@ -65,7 +66,7 @@ public class QueryEndpoint { throw new QueryMalformedException("Invalid table"); } log.debug("Data for execution: {}", data); - final QueryResultDto result = queryService.execute(id, databaseId, data); + final QueryResultDto result = queryService.execute(id, databaseId, data, page, size); return ResponseEntity.status(HttpStatus.ACCEPTED) .body(result); } @@ -101,12 +102,13 @@ public class QueryEndpoint { @ApiResponse(code = 409, message = "The container image is not supported."),}) public ResponseEntity<QueryResultDto> reExecute(@NotNull @PathVariable("id") Long id, @NotNull @PathVariable("databaseId") Long databaseId, - @NotNull @PathVariable("queryId") Long queryId) + @NotNull @PathVariable("queryId") Long queryId, + @RequestParam("page") Long page, @RequestParam("size") Long size) throws QueryStoreException, QueryNotFoundException, DatabaseNotFoundException, ImageNotSupportedException, TableNotFoundException, QueryMalformedException, ContainerNotFoundException, SQLException, JSQLParserException { final Query query = storeService.findOne(id, databaseId, queryId); log.debug(query.toString()); - final QueryResultDto result = queryService.reExecute(id, databaseId, query); + final QueryResultDto result = queryService.reExecute(id, databaseId, query, page, size); result.setId(queryId); return ResponseEntity.status(HttpStatus.ACCEPTED) .body(result); diff --git a/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointIntegrationTest.java b/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointIntegrationTest.java index 3b3db9900dae537ff17d49cf42191d8727f88409..d5fef7bf9db234baa3e0d0fcd84517e6bbbe6bc9 100644 --- a/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointIntegrationTest.java +++ b/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointIntegrationTest.java @@ -148,8 +148,9 @@ public class QueryEndpointIntegrationTest extends BaseUnitTest { storeService.insert(CONTAINER_1_ID, DATABASE_1_ID, result, statement, execution); /* test */ + //FIXME final ResponseEntity<QueryResultDto> response = queryEndpoint.reExecute(CONTAINER_1_ID, DATABASE_1_ID, - QUERY_1_ID); + QUERY_1_ID,0L,0L); assertEquals(HttpStatus.ACCEPTED, response.getStatusCode()); assertNotNull(response.getBody()); assertEquals(QUERY_1_ID, response.getBody().getId()); diff --git a/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java b/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java index ff3b0fc2809a365472f20db7056557f9a05f3858..2b8bd543cc87fb913b7e67525146bf524f63f9d3 100644 --- a/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java +++ b/fda-query-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java @@ -56,13 +56,15 @@ public class QueryEndpointUnitTest extends BaseUnitTest { final Instant execution = Instant.now(); /* mock */ - when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request)) + //FIXME + when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L)) .thenReturn(result); when(storeService.insert(CONTAINER_1_ID, DATABASE_1_ID, result, request, execution)) .thenReturn(QUERY_1); /* test */ - final ResponseEntity<QueryResultDto> response = queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + final ResponseEntity<QueryResultDto> response = queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request,0L,0L); assertEquals(HttpStatus.ACCEPTED, response.getStatusCode()); assertEquals(result, response.getBody()); } @@ -80,13 +82,15 @@ public class QueryEndpointUnitTest extends BaseUnitTest { final Instant execution = Instant.now(); /* mock */ - when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request)) + //FIXME + when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L)) .thenReturn(result); when(storeService.insert(CONTAINER_1_ID, DATABASE_1_ID, result, request, execution)) .thenReturn(QUERY_1); /* test */ - final ResponseEntity<QueryResultDto> response = queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + final ResponseEntity<QueryResultDto> response = queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request,0L,0L); assertEquals(HttpStatus.ACCEPTED, response.getStatusCode()); assertEquals(result, response.getBody()); } @@ -99,12 +103,14 @@ public class QueryEndpointUnitTest extends BaseUnitTest { .build(); /* mock */ - when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request)) + //FIXME + when(queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L)) .thenThrow(TableNotFoundException.class); /* test */ assertThrows(TableNotFoundException.class, () -> { - queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + queryEndpoint.execute(CONTAINER_1_ID, DATABASE_1_ID, request,0L,0L); }); } diff --git a/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java b/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java index fa5cb52c411f7978867e0da1ba7bfd4cb4d62ca7..0c3ad1d61421c10041e59a19abd9f6b048fed41f 100644 --- a/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java +++ b/fda-query-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java @@ -182,7 +182,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { DockerConfig.startContainer(CONTAINER_1); /* test */ - final QueryResultDto response = queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + final QueryResultDto response = queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L); assertEquals(3, response.getResult().size()); assertEquals(BigInteger.valueOf(1L), response.getResult().get(0).get(COLUMN_1_1_NAME)); assertEquals(toInstant("2008-12-01"), response.getResult().get(0).get(COLUMN_1_2_NAME)); @@ -215,7 +216,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { DockerConfig.startContainer(CONTAINER_1); /* test */ - final QueryResultDto response = queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + final QueryResultDto response = queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L); assertNotNull(response.getResult()); assertEquals(3, response.getResult().size()); } @@ -231,7 +233,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { /* test */ assertThrows(DatabaseNotFoundException.class, () -> { - queryService.execute(CONTAINER_1_ID, 9999L, request); + //FIXME + queryService.execute(CONTAINER_1_ID, 9999L, request, 0L, 0L); }); } @@ -247,7 +250,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { /* test */ assertThrows(PersistenceException.class, () -> { - queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L); }); } @@ -262,7 +266,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { /* test */ assertThrows(PersistenceException.class, () -> { - queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L); }); } @@ -277,7 +282,8 @@ public class QueryServiceIntegrationTest extends BaseUnitTest { /* test */ assertThrows(QueryMalformedException.class, () -> { - queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request); + //FIXME + queryService.execute(CONTAINER_1_ID, DATABASE_1_ID, request, 0L, 0L); }); } diff --git a/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java b/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java index 186d6d0c92f2b8ce8eb93895689feb8b7d9bf2f8..3e1280f0547e07beb04f7e521d4c0f7606aeffa2 100644 --- a/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java +++ b/fda-query-service/services/src/main/java/at/tuwien/service/QueryService.java @@ -22,6 +22,8 @@ public interface QueryService { * * @param databaseId The database id. * @param query The query. + * @param page + * @param size * @return The result. * @throws TableNotFoundException * @throws QueryStoreException @@ -29,7 +31,7 @@ public interface QueryService { * @throws DatabaseNotFoundException * @throws ImageNotSupportedException */ - QueryResultDto execute(Long containerId, Long databaseId, ExecuteStatementDto query) throws TableNotFoundException, + QueryResultDto execute(Long containerId, Long databaseId, ExecuteStatementDto query, Long page, Long size) throws TableNotFoundException, QueryStoreException, QueryMalformedException, DatabaseNotFoundException, ImageNotSupportedException, ContainerNotFoundException; /** @@ -38,6 +40,8 @@ public interface QueryService { * * @param databaseId The database id. * @param query The query. + * @param page + * @param size * @return The result. * @throws TableNotFoundException * @throws QueryStoreException @@ -45,7 +49,7 @@ public interface QueryService { * @throws DatabaseNotFoundException * @throws ImageNotSupportedException */ - QueryResultDto reExecute(Long containerId, Long databaseId, Query query) throws TableNotFoundException, + QueryResultDto reExecute(Long containerId, Long databaseId, Query query, Long page, Long size) throws TableNotFoundException, QueryStoreException, QueryMalformedException, DatabaseNotFoundException, ImageNotSupportedException, ContainerNotFoundException, SQLException, JSQLParserException; diff --git a/fda-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java b/fda-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java index a34ea768462055f1829be98fd14c4bee8525fe11..22a5a66f50ce29bb018b9762b5b6f05b758126ee 100644 --- a/fda-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java +++ b/fda-query-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java @@ -60,7 +60,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService @Override @Transactional - public QueryResultDto execute(Long containerId, Long databaseId, ExecuteStatementDto statement) + public QueryResultDto execute(Long containerId, Long databaseId, ExecuteStatementDto statement, Long page, Long size) throws DatabaseNotFoundException, ImageNotSupportedException, QueryMalformedException, QueryStoreException, ContainerNotFoundException { /* find */ final Database database = databaseService.find(databaseId); @@ -101,7 +101,7 @@ public class QueryServiceImpl extends HibernateConnector implements QueryService } @Override - public QueryResultDto reExecute(Long containerId, Long databaseId, Query query) throws TableNotFoundException, QueryStoreException, QueryMalformedException, DatabaseNotFoundException, ImageNotSupportedException, ContainerNotFoundException, SQLException, JSQLParserException { + public QueryResultDto reExecute(Long containerId, Long databaseId, Query query, Long page, Long size) throws TableNotFoundException, QueryStoreException, QueryMalformedException, DatabaseNotFoundException, ImageNotSupportedException, ContainerNotFoundException, SQLException, JSQLParserException { /* find */ final Database database = databaseService.find(databaseId); if (!database.getContainer().getImage().getRepository().equals("mariadb")) {