Skip to content
Snippets Groups Projects
Verified Commit beee2c54 authored by Martin Weise's avatar Martin Weise
Browse files

Fixed the get_queries function

parent 2c24c821
No related branches found
No related tags found
No related merge requests found
......@@ -100,7 +100,7 @@ public class SubsetEndpoint extends RestEndpoint {
@RequestParam(name = "persisted", required = false) Boolean filterPersisted,
Principal principal)
throws DatabaseUnavailableException, DatabaseNotFoundException, RemoteUnavailableException,
QueryNotFoundException, NotAllowedException, MetadataServiceException {
QueryNotFoundException, NotAllowedException, MetadataServiceException, UserNotFoundException {
log.debug("endpoint find subsets in database, databaseId={}, filterPersisted={}", databaseId, filterPersisted);
final DatabaseDto database = cacheService.getDatabase(databaseId);
if (!database.getIsPublic()) {
......
......@@ -71,7 +71,7 @@ public class SubsetEndpointUnitTest extends BaseTest {
@WithAnonymousUser
public void list_publicDataPrivateSchemaAnonymous_succeeds() throws QueryNotFoundException,
DatabaseNotFoundException, RemoteUnavailableException, SQLException, MetadataServiceException,
DatabaseUnavailableException, NotAllowedException {
DatabaseUnavailableException, NotAllowedException, UserNotFoundException {
/* mock */
when(subsetService.findAll(DATABASE_3_PRIVILEGED_DTO, null))
......@@ -85,7 +85,7 @@ public class SubsetEndpointUnitTest extends BaseTest {
@WithMockUser(username = USER_3_USERNAME)
public void list_publicDataPrivateSchema_succeeds() throws DatabaseUnavailableException, NotAllowedException,
QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException, SQLException,
MetadataServiceException {
MetadataServiceException, UserNotFoundException {
/* mock */
when(cacheService.getAccess(DATABASE_3_ID, USER_3_ID))
......@@ -111,7 +111,7 @@ public class SubsetEndpointUnitTest extends BaseTest {
@Test
@WithMockUser(username = USER_3_USERNAME)
public void list_publicDataAndPrivateSchemaUnavailable_fails() throws SQLException, QueryNotFoundException,
DatabaseNotFoundException, RemoteUnavailableException, MetadataServiceException {
DatabaseNotFoundException, RemoteUnavailableException, MetadataServiceException, UserNotFoundException {
/* mock */
when(cacheService.getDatabase(DATABASE_3_ID))
......@@ -698,7 +698,7 @@ public class SubsetEndpointUnitTest extends BaseTest {
protected List<QueryDto> generic_list(UUID databaseId, DatabaseDto database, Principal principal)
throws NotAllowedException, DatabaseUnavailableException, QueryNotFoundException, DatabaseNotFoundException,
RemoteUnavailableException, MetadataServiceException {
RemoteUnavailableException, MetadataServiceException, UserNotFoundException {
/* mock */
if (database != null) {
......
package at.ac.tuwien.ac.at.ifs.dbrepo.service;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.*;
import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierBriefDto;
import at.ac.tuwien.ac.at.ifs.dbrepo.config.MariaDbConfig;
import at.ac.tuwien.ac.at.ifs.dbrepo.config.MariaDbContainerConfig;
import at.ac.tuwien.ifs.dbrepo.core.exception.*;
import at.ac.tuwien.ac.at.ifs.dbrepo.gateway.MetadataServiceGateway;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.*;
import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierBriefDto;
import at.ac.tuwien.ifs.dbrepo.core.exception.*;
import at.ac.tuwien.ifs.dbrepo.core.test.BaseTest;
import lombok.extern.log4j.Log4j2;
import org.apache.spark.sql.Dataset;
......@@ -66,8 +66,9 @@ public class SubsetServiceIntegrationTest extends BaseTest {
}
@Test
public void findAll_succeeds() throws SQLException, QueryNotFoundException, RemoteUnavailableException,
MetadataServiceException, DatabaseNotFoundException, InterruptedException {
public void findAll_succeeds() throws SQLException, QueryNotFoundException,
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException, InterruptedException,
UserNotFoundException {
/* test */
final List<QueryDto> response = findAll_generic(null);
......@@ -78,7 +79,8 @@ public class SubsetServiceIntegrationTest extends BaseTest {
@Test
public void findAll_onlyPersisted_succeeds() throws SQLException, QueryNotFoundException,
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException, InterruptedException {
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException, InterruptedException,
UserNotFoundException {
/* test */
final List<QueryDto> response = findAll_generic(true);
......@@ -88,7 +90,8 @@ public class SubsetServiceIntegrationTest extends BaseTest {
@Test
public void findAll_onlyNonPersisted_succeeds() throws SQLException, QueryNotFoundException,
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException, InterruptedException {
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException, InterruptedException,
UserNotFoundException {
/* test */
final List<QueryDto> response = findAll_generic(false);
......@@ -303,7 +306,7 @@ public class SubsetServiceIntegrationTest extends BaseTest {
protected List<QueryDto> findAll_generic(Boolean filterPersisted) throws SQLException, QueryNotFoundException,
RemoteUnavailableException, MetadataServiceException, DatabaseNotFoundException,
InterruptedException {
InterruptedException, UserNotFoundException {
/* pre-condition */
Thread.sleep(1000) /* wait for test container some more */;
......
......@@ -4,6 +4,7 @@ import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewColumnDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.ViewDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryTypeDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.table.*;
import at.ac.tuwien.ifs.dbrepo.core.api.database.table.columns.*;
import at.ac.tuwien.ifs.dbrepo.core.api.database.table.constraints.ConstraintsDto;
......@@ -198,6 +199,7 @@ public interface DataMapper {
final QueryDto subset = QueryDto.builder()
.id(UUID.fromString(data.getString(1)))
.query(data.getString(4))
.queryNormalized(data.getString(4))
.queryHash(data.getString(5))
.resultHash(data.getString(6))
.resultNumber(data.getLong(7))
......
......@@ -63,7 +63,8 @@ public interface SubsetService {
* @throws MetadataServiceException The Metadata Service responded unexpected.
*/
List<QueryDto> findAll(DatabaseDto database, Boolean filterPersisted) throws SQLException,
QueryNotFoundException, RemoteUnavailableException, DatabaseNotFoundException, MetadataServiceException;
QueryNotFoundException, RemoteUnavailableException, DatabaseNotFoundException, MetadataServiceException,
UserNotFoundException;
/**
* Executes a subset query without saving it.
......
......@@ -2,6 +2,7 @@ package at.ac.tuwien.ac.at.ifs.dbrepo.service.impl;
import at.ac.tuwien.ifs.dbrepo.core.api.database.DatabaseDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.QueryTypeDto;
import at.ac.tuwien.ifs.dbrepo.core.api.database.query.SubsetDto;
import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierBriefDto;
import at.ac.tuwien.ifs.dbrepo.core.api.identifier.IdentifierTypeDto;
......@@ -86,7 +87,8 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer
@Override
public List<QueryDto> findAll(DatabaseDto database, Boolean filterPersisted) throws SQLException,
QueryNotFoundException, RemoteUnavailableException, DatabaseNotFoundException, MetadataServiceException {
QueryNotFoundException, RemoteUnavailableException, DatabaseNotFoundException, MetadataServiceException,
UserNotFoundException {
final List<IdentifierBriefDto> identifiers = metadataServiceGateway.getIdentifiers(database.getId(), null);
final ComboPooledDataSource dataSource = getDataSource(database);
final Connection connection = dataSource.getConnection();
......@@ -106,6 +108,10 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer
.filter(i -> i.getType().equals(IdentifierTypeDto.SUBSET))
.filter(i -> i.getQueryId().equals(query.getId()))
.toList());
query.setOwner(metadataMapper.userDtoToUserBriefDto(metadataServiceGateway.getUserById(query.getOwner()
.getId())));
query.setType(QueryTypeDto.QUERY);
query.setDatabaseId(database.getId());
queries.add(query);
}
log.info("Find {} queries", queries.size());
......@@ -154,6 +160,7 @@ public class SubsetServiceMariaDbImpl extends DataConnector implements SubsetSer
final QueryDto query = dataMapper.resultSetToQueryDto(resultSet);
query.setOwner(metadataMapper.userDtoToUserBriefDto(metadataServiceGateway.getUserById(query.getOwner()
.getId())));
query.setType(QueryTypeDto.QUERY);
query.setDatabaseId(database.getId());
return query;
} catch (SQLException e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment