Code quality impovements, additional tests to find target filter queries

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
This commit is contained in:
Dominik Herbst
2016-09-30 14:26:20 +02:00
parent 78e9705886
commit 38bd54fe6e
10 changed files with 105 additions and 73 deletions

View File

@@ -10,14 +10,14 @@ package org.eclipse.hawkbit.mgmt.json.model.targetfilter;
import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity; import org.eclipse.hawkbit.mgmt.json.model.MgmtBaseEntity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
/** /**
* A json annotated rest model for Target to RESTful API representation. * A json annotated rest model for Target Filter Queries to RESTful API
* representation.
* *
*/ */
@JsonInclude(Include.ALWAYS) @JsonInclude(Include.ALWAYS)
@@ -36,48 +36,26 @@ public class MgmtTargetFilterQuery extends MgmtBaseEntity {
@JsonProperty @JsonProperty
private Long autoAssignDistributionSet; private Long autoAssignDistributionSet;
/**
* @return the filterId
*/
public Long getFilterId() { public Long getFilterId() {
return filterId; return filterId;
} }
/**
* @param filterId
* the filterId to set
*/
public void setFilterId(final Long filterId) { public void setFilterId(final Long filterId) {
this.filterId = filterId; this.filterId = filterId;
} }
/**
* @return the name
*/
public String getName() { public String getName() {
return name; return name;
} }
/**
* @param name
* the name to set
*/
public void setName(final String name) { public void setName(final String name) {
this.name = name; this.name = name;
} }
/**
* @return the query
*/
public String getQuery() { public String getQuery() {
return query; return query;
} }
/**
* @param query
* the query to set
*/
@JsonIgnore
public void setQuery(final String query) { public void setQuery(final String query) {
this.query = query; this.query = query;
} }
@@ -86,7 +64,6 @@ public class MgmtTargetFilterQuery extends MgmtBaseEntity {
return autoAssignDistributionSet; return autoAssignDistributionSet;
} }
@JsonIgnore
public void setAutoAssignDistributionSet(final Long autoAssignDistributionSet) { public void setAutoAssignDistributionSet(final Long autoAssignDistributionSet) {
this.autoAssignDistributionSet = autoAssignDistributionSet; this.autoAssignDistributionSet = autoAssignDistributionSet;
} }

View File

@@ -32,9 +32,8 @@ public class MgmtTargetFilterQueryRequestBody {
* @param name * @param name
* the name to set * the name to set
*/ */
public MgmtTargetFilterQueryRequestBody setName(final String name) { public void setName(final String name) {
this.name = name; this.name = name;
return this;
} }
/** /**

View File

@@ -236,8 +236,6 @@ public class MgmtDistributionSetResource implements MgmtDistributionSetRestApi {
@RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) int pagingLimitParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) int pagingLimitParam,
@RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) String sortParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) String sortParam,
@RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) String rsqlParam) { @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) String rsqlParam) {
// check if distribution set exists otherwise throw exception
// immediately
DistributionSet distributionSet = findDistributionSetWithExceptionIfNotFound(distributionSetId); DistributionSet distributionSet = findDistributionSetWithExceptionIfNotFound(distributionSetId);
final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam); final int sanitizedOffsetParam = PagingUtility.sanitizeOffsetParam(pagingOffsetParam);
@@ -247,10 +245,10 @@ public class MgmtDistributionSetResource implements MgmtDistributionSetRestApi {
final Pageable pageable = new OffsetBasedPageRequest(sanitizedOffsetParam, sanitizedLimitParam, sorting); final Pageable pageable = new OffsetBasedPageRequest(sanitizedOffsetParam, sanitizedLimitParam, sorting);
final Page<TargetFilterQuery> targetFilterQueries; final Page<TargetFilterQuery> targetFilterQueries;
if (rsqlParam != null) { if (rsqlParam != null) {
targetFilterQueries = this.targetFilterQueryManagement.findTargetFilterQueryByAutoAssignDS(pageable, targetFilterQueries = targetFilterQueryManagement.findTargetFilterQueryByAutoAssignDS(pageable,
distributionSet, rsqlParam); distributionSet, rsqlParam);
} else { } else {
targetFilterQueries = this.targetFilterQueryManagement.findTargetFilterQueryByAutoAssignDS(pageable, targetFilterQueries = targetFilterQueryManagement.findTargetFilterQueryByAutoAssignDS(pageable,
distributionSet); distributionSet);
} }

View File

@@ -11,8 +11,9 @@ package org.eclipse.hawkbit.mgmt.rest.resource;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo; import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn; import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;
import java.util.ArrayList; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import org.eclipse.hawkbit.mgmt.json.model.targetfilter.MgmtTargetFilterQuery; import org.eclipse.hawkbit.mgmt.json.model.targetfilter.MgmtTargetFilterQuery;
import org.eclipse.hawkbit.mgmt.json.model.targetfilter.MgmtTargetFilterQueryRequestBody; import org.eclipse.hawkbit.mgmt.json.model.targetfilter.MgmtTargetFilterQueryRequestBody;
@@ -20,6 +21,7 @@ import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetFilterQueryRestApi;
import org.eclipse.hawkbit.repository.EntityFactory; import org.eclipse.hawkbit.repository.EntityFactory;
import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSet;
import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.model.TargetFilterQuery;
import org.springframework.util.CollectionUtils;
/** /**
* A mapper which maps repository model to RESTful model representation and * A mapper which maps repository model to RESTful model representation and
@@ -33,34 +35,27 @@ public final class MgmtTargetFilterQueryMapper {
} }
/** /**
* Create a response for targets. * Create a response for target filter queries.
* *
* @param filters * @param filters
* list of targets * list of targets
* @return the response * @return the response
*/ */
public static List<MgmtTargetFilterQuery> toResponse(final Iterable<TargetFilterQuery> filters) { public static List<MgmtTargetFilterQuery> toResponse(final List<TargetFilterQuery> filters) {
final List<MgmtTargetFilterQuery> mappedList = new ArrayList<>(); if (CollectionUtils.isEmpty(filters)) {
if (filters != null) { return Collections.emptyList();
for (final TargetFilterQuery filter : filters) {
final MgmtTargetFilterQuery response = toResponse(filter);
mappedList.add(response);
}
} }
return mappedList; return filters.stream().map(MgmtTargetFilterQueryMapper::toResponse).collect(Collectors.toList());
} }
/** /**
* Create a response for target. * Create a response for target filter query.
* *
* @param filter * @param filter
* the target * the target
* @return the response * @return the response
*/ */
public static MgmtTargetFilterQuery toResponse(final TargetFilterQuery filter) { public static MgmtTargetFilterQuery toResponse(final TargetFilterQuery filter) {
if (filter == null) {
return null;
}
final MgmtTargetFilterQuery targetRest = new MgmtTargetFilterQuery(); final MgmtTargetFilterQuery targetRest = new MgmtTargetFilterQuery();
targetRest.setFilterId(filter.getId()); targetRest.setFilterId(filter.getId());
targetRest.setName(filter.getName()); targetRest.setName(filter.getName());
@@ -78,7 +73,9 @@ public final class MgmtTargetFilterQueryMapper {
} }
targetRest.add(linkTo(methodOn(MgmtTargetFilterQueryRestApi.class).getFilter(filter.getId())).withRel("self")); targetRest.add(linkTo(methodOn(MgmtTargetFilterQueryRestApi.class).getFilter(filter.getId())).withRel("self"));
targetRest.add(linkTo(methodOn(MgmtTargetFilterQueryRestApi.class).postAssignedDistributionSet(filter.getId(),null)).withRel("autoAssignDS")); targetRest.add(
linkTo(methodOn(MgmtTargetFilterQueryRestApi.class).postAssignedDistributionSet(filter.getId(), null))
.withRel("autoAssignDS"));
return targetRest; return targetRest;
} }

View File

@@ -78,13 +78,13 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
final Slice<TargetFilterQuery> findTargetFiltersAll; final Slice<TargetFilterQuery> findTargetFiltersAll;
final Long countTargetsAll; final Long countTargetsAll;
if (rsqlParam != null) { if (rsqlParam != null) {
final Page<TargetFilterQuery> findFilterPage = this.filterManagement final Page<TargetFilterQuery> findFilterPage = filterManagement
.findTargetFilterQueryByFilter(pageable, rsqlParam); .findTargetFilterQueryByFilter(pageable, rsqlParam);
countTargetsAll = findFilterPage.getTotalElements(); countTargetsAll = findFilterPage.getTotalElements();
findTargetFiltersAll = findFilterPage; findTargetFiltersAll = findFilterPage;
} else { } else {
findTargetFiltersAll = this.filterManagement.findAllTargetFilterQuery(pageable); findTargetFiltersAll = filterManagement.findAllTargetFilterQuery(pageable);
countTargetsAll = this.filterManagement.countAllTargetFilterQuery(); countTargetsAll = filterManagement.countAllTargetFilterQuery();
} }
final List<MgmtTargetFilterQuery> rest = MgmtTargetFilterQueryMapper final List<MgmtTargetFilterQuery> rest = MgmtTargetFilterQueryMapper
@@ -94,7 +94,7 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
@Override @Override
public ResponseEntity<MgmtTargetFilterQuery> createFilter(@RequestBody MgmtTargetFilterQueryRequestBody filter) { public ResponseEntity<MgmtTargetFilterQuery> createFilter(@RequestBody MgmtTargetFilterQueryRequestBody filter) {
final TargetFilterQuery createdTarget = this.filterManagement final TargetFilterQuery createdTarget = filterManagement
.createTargetFilterQuery(MgmtTargetFilterQueryMapper.fromRequest(entityFactory, filter)); .createTargetFilterQuery(MgmtTargetFilterQueryMapper.fromRequest(entityFactory, filter));
return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(createdTarget), HttpStatus.CREATED); return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(createdTarget), HttpStatus.CREATED);
@@ -113,7 +113,7 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
existingFilter.setQuery(targetFilterRest.getQuery()); existingFilter.setQuery(targetFilterRest.getQuery());
} }
final TargetFilterQuery updateFilter = this.filterManagement.updateTargetFilterQuery(existingFilter); final TargetFilterQuery updateFilter = filterManagement.updateTargetFilterQuery(existingFilter);
return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(updateFilter), HttpStatus.OK); return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(updateFilter), HttpStatus.OK);
} }
@@ -121,7 +121,7 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
@Override @Override
public ResponseEntity<Void> deleteFilter(@PathVariable("filterId") Long filterId) { public ResponseEntity<Void> deleteFilter(@PathVariable("filterId") Long filterId) {
final TargetFilterQuery filter = findFilterWithExceptionIfNotFound(filterId); final TargetFilterQuery filter = findFilterWithExceptionIfNotFound(filterId);
this.filterManagement.deleteTargetFilterQuery(filter.getId()); filterManagement.deleteTargetFilterQuery(filter.getId());
LOG.debug("{} target filter query deleted, return status {}", filterId, HttpStatus.OK); LOG.debug("{} target filter query deleted, return status {}", filterId, HttpStatus.OK);
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@@ -139,7 +139,7 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
filter.setAutoAssignDistributionSet(distributionSet); filter.setAutoAssignDistributionSet(distributionSet);
final TargetFilterQuery updateFilter = this.filterManagement.updateTargetFilterQuery(filter); final TargetFilterQuery updateFilter = filterManagement.updateTargetFilterQuery(filter);
return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(updateFilter), HttpStatus.OK); return new ResponseEntity<>(MgmtTargetFilterQueryMapper.toResponse(updateFilter), HttpStatus.OK);
} }
@@ -149,12 +149,7 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
final TargetFilterQuery filter = findFilterWithExceptionIfNotFound(filterId); final TargetFilterQuery filter = findFilterWithExceptionIfNotFound(filterId);
DistributionSet autoAssignDistributionSet = filter.getAutoAssignDistributionSet(); DistributionSet autoAssignDistributionSet = filter.getAutoAssignDistributionSet();
MgmtDistributionSet distributionSetRest = MgmtDistributionSetMapper.toResponse(autoAssignDistributionSet); MgmtDistributionSet distributionSetRest = MgmtDistributionSetMapper.toResponse(autoAssignDistributionSet);
final HttpStatus retStatus; final HttpStatus retStatus = distributionSetRest == null ? HttpStatus.NO_CONTENT : HttpStatus.OK;
if (distributionSetRest == null) {
retStatus = HttpStatus.NO_CONTENT;
} else {
retStatus = HttpStatus.OK;
}
return new ResponseEntity<>(distributionSetRest, retStatus); return new ResponseEntity<>(distributionSetRest, retStatus);
} }
@@ -164,13 +159,13 @@ public class MgmtTargetFilterQueryResource implements MgmtTargetFilterQueryRestA
filter.setAutoAssignDistributionSet(null); filter.setAutoAssignDistributionSet(null);
this.filterManagement.updateTargetFilterQuery(filter); filterManagement.updateTargetFilterQuery(filter);
return new ResponseEntity<>(HttpStatus.NO_CONTENT); return new ResponseEntity<>(HttpStatus.NO_CONTENT);
} }
private TargetFilterQuery findFilterWithExceptionIfNotFound(final Long filterId) { private TargetFilterQuery findFilterWithExceptionIfNotFound(final Long filterId) {
final TargetFilterQuery filter = this.filterManagement.findTargetFilterQueryById(filterId); final TargetFilterQuery filter = filterManagement.findTargetFilterQueryById(filterId);
if (filter == null) { if (filter == null) {
throw new EntityNotFoundException("TargetFilterQuery with Id {" + filterId + "} does not exist"); throw new EntityNotFoundException("TargetFilterQuery with Id {" + filterId + "} does not exist");
} }

View File

@@ -302,9 +302,9 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest
final Set<DistributionSet> createDistributionSetsAlphabetical = createDistributionSetsAlphabetical(1); final Set<DistributionSet> createDistributionSetsAlphabetical = createDistributionSetsAlphabetical(1);
final DistributionSet createdDs = createDistributionSetsAlphabetical.iterator().next(); final DistributionSet createdDs = createDistributionSetsAlphabetical.iterator().next();
final TargetFilterQuery tfq = targetFilterQueryManagement targetFilterQueryManagement
.createTargetFilterQuery(entityFactory.generateTargetFilterQuery(knownFilterName, "x==y", createdDs)); .createTargetFilterQuery(entityFactory.generateTargetFilterQuery(knownFilterName, "x==y", createdDs));
// create some dummy targets which are not assigned or installed // create some dummy target filter queries
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("b", "x==y")); targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("b", "x==y"));
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("c", "x==y")); targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("c", "x==y"));
@@ -313,6 +313,65 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest
.andExpect(jsonPath("$.content[0].name", equalTo(knownFilterName))); .andExpect(jsonPath("$.content[0].name", equalTo(knownFilterName)));
} }
@Test
@Description("Ensures that an error is returned when the query is invalid.")
public void getAutoAssignTargetFiltersOfDSWithInvalidFilter() throws Exception {
// prepare distribution set
final Set<DistributionSet> createDistributionSetsAlphabetical = createDistributionSetsAlphabetical(1);
final DistributionSet createdDs = createDistributionSetsAlphabetical.iterator().next();
final String invalidQuery = "unknownField=le=42";
mvc.perform(get(MgmtRestConstants.DISTRIBUTIONSET_V1_REQUEST_MAPPING + "/" + createdDs.getId()
+ "/autoAssignTargetFilters").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, invalidQuery))
.andExpect(status().isBadRequest());
}
@Test
@Description("Ensures that target filters with auto assign DS are returned according to the query.")
public void getMultipleAutoAssignTargetFiltersOfDistributionSet() throws Exception {
final String filterNamePrefix = "filter-";
final Set<DistributionSet> createDistributionSetsAlphabetical = createDistributionSetsAlphabetical(1);
final DistributionSet createdDs = createDistributionSetsAlphabetical.iterator().next();
final String query = "name==" + filterNamePrefix + "*";
// create target filter queries that should be found
targetFilterQueryManagement.createTargetFilterQuery(
entityFactory.generateTargetFilterQuery(filterNamePrefix + "1", "x==y", createdDs));
targetFilterQueryManagement.createTargetFilterQuery(
entityFactory.generateTargetFilterQuery(filterNamePrefix + "2", "x==z", createdDs));
// create some dummy target filter queries
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("b", "x==y"));
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("c", "x==y"));
mvc.perform(get(MgmtRestConstants.DISTRIBUTIONSET_V1_REQUEST_MAPPING + "/" + createdDs.getId()
+ "/autoAssignTargetFilters").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, query))
.andExpect(status().isOk()).andExpect(jsonPath("$.size", equalTo(2)))
.andExpect(jsonPath("$.content[0].name", equalTo(filterNamePrefix + "1")))
.andExpect(jsonPath("$.content[1].name", equalTo(filterNamePrefix + "2")));
}
@Test
@Description("Ensures that no target filters are returned according to the non matching query.")
public void getEmptyAutoAssignTargetFiltersOfDistributionSet() throws Exception {
final String filterNamePrefix = "filter-";
final Set<DistributionSet> createDistributionSetsAlphabetical = createDistributionSetsAlphabetical(1);
final DistributionSet createdDs = createDistributionSetsAlphabetical.iterator().next();
final String query = "name==doesNotExist";
// create target filter queries that should be found
targetFilterQueryManagement.createTargetFilterQuery(
entityFactory.generateTargetFilterQuery(filterNamePrefix + "1", "x==y", createdDs));
targetFilterQueryManagement.createTargetFilterQuery(
entityFactory.generateTargetFilterQuery(filterNamePrefix + "2", "x==z", createdDs));
// create some dummy target filter queries
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("b", "x==y"));
targetFilterQueryManagement.createTargetFilterQuery(entityFactory.generateTargetFilterQuery("c", "x==y"));
mvc.perform(get(MgmtRestConstants.DISTRIBUTIONSET_V1_REQUEST_MAPPING + "/" + createdDs.getId()
+ "/autoAssignTargetFilters").param(MgmtRestConstants.REQUEST_PARAMETER_SEARCH, query))
.andExpect(status().isOk()).andExpect(jsonPath("$.size", equalTo(0)));
}
@Test @Test
@Description("Ensures that DS in repository are listed with proper paging properties.") @Description("Ensures that DS in repository are listed with proper paging properties.")
public void getDistributionSetsWithoutAddtionalRequestParameters() throws Exception { public void getDistributionSetsWithoutAddtionalRequestParameters() throws Exception {

View File

@@ -10,6 +10,7 @@ package org.eclipse.hawkbit.repository.jpa;
import org.eclipse.hawkbit.repository.TargetFilterQueryManagement; import org.eclipse.hawkbit.repository.TargetFilterQueryManagement;
import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException; import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException;
import org.eclipse.hawkbit.repository.exception.RSQLParameterUnsupportedFieldException;
import org.eclipse.hawkbit.repository.jpa.model.JpaDistributionSet; import org.eclipse.hawkbit.repository.jpa.model.JpaDistributionSet;
import org.eclipse.hawkbit.repository.jpa.model.JpaTargetFilterQuery; import org.eclipse.hawkbit.repository.jpa.model.JpaTargetFilterQuery;
import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSet;
@@ -35,7 +36,7 @@ import static org.junit.Assert.*;
*/ */
@Features("Component Tests - Repository") @Features("Component Tests - Repository")
@Stories("Target Filter Query Management") @Stories("Target Filter Query Management")
public class TargetFilterQueryManagenmentTest extends AbstractJpaIntegrationTest { public class TargetFilterQueryManagementTest extends AbstractJpaIntegrationTest {
@Test @Test
@Description("Test creation of target filter query.") @Description("Test creation of target filter query.")
@@ -63,6 +64,15 @@ public class TargetFilterQueryManagenmentTest extends AbstractJpaIntegrationTest
assertEquals("Retrieved newly created custom target filter", targetFilterQuery, results.get(0)); assertEquals("Retrieved newly created custom target filter", targetFilterQuery, results.get(0));
} }
@Test(expected = RSQLParameterUnsupportedFieldException.class)
@Description("Test searching a target filter query with an invalid filter.")
public void searchTargetFilterQueryInvalidField() {
// Should throw an exception
targetFilterQueryManagement.findTargetFilterQueryByFilter(new PageRequest(0, 10), "unknownField==testValue")
.getContent();
}
@Test @Test
@Description("Checks if the EntityAlreadyExistsException is thrown if a targetfilterquery with the same name are created more than once.") @Description("Checks if the EntityAlreadyExistsException is thrown if a targetfilterquery with the same name are created more than once.")
public void createDuplicateTargetFilterQuery() { public void createDuplicateTargetFilterQuery() {

View File

@@ -10,19 +10,16 @@ package org.eclipse.hawkbit.repository.jpa.autoassign;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest; import org.eclipse.hawkbit.repository.jpa.AbstractJpaIntegrationTest;
import org.eclipse.hawkbit.repository.jpa.model.JpaDistributionSet; import org.eclipse.hawkbit.repository.jpa.model.JpaDistributionSet;
import org.eclipse.hawkbit.repository.jpa.model.JpaTargetFilterQuery; import org.eclipse.hawkbit.repository.jpa.model.JpaTargetFilterQuery;
import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSet;
import org.eclipse.hawkbit.repository.model.DistributionSetType;
import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.repository.model.Target;
import org.eclipse.hawkbit.repository.model.TargetFilterQuery; import org.eclipse.hawkbit.repository.model.TargetFilterQuery;
import org.junit.Test; import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Slice; import org.springframework.data.domain.Slice;
import ru.yandex.qatools.allure.annotations.Description; import ru.yandex.qatools.allure.annotations.Description;
@@ -154,4 +151,4 @@ public class AutoAssignCheckerTest extends AbstractJpaIntegrationTest {
} }
} }

View File

@@ -56,7 +56,7 @@ public class TargetFilterQueryDetailsTable extends Table {
*/ */
public void populateTableByDistributionSet(final DistributionSet distributionSet) { public void populateTableByDistributionSet(final DistributionSet distributionSet) {
removeAllItems(); removeAllItems();
if (null == distributionSet) { if (distributionSet == null) {
return; return;
} }

View File

@@ -41,12 +41,12 @@ public class ManageDistBeanQuery extends AbstractBeanQuery<ProxyDistribution> {
private static final long serialVersionUID = 5176481314404662215L; private static final long serialVersionUID = 5176481314404662215L;
private Sort sort = new Sort(Direction.ASC, "createdAt"); private Sort sort = new Sort(Direction.ASC, "createdAt");
private String searchText = null; private String searchText;
private transient DistributionSetManagement distributionSetManagement; private transient DistributionSetManagement distributionSetManagement;
private transient Page<DistributionSet> firstPageDistributionSets = null; private transient Page<DistributionSet> firstPageDistributionSets;
private DistributionSetType distributionSetType = null; private DistributionSetType distributionSetType;
private Boolean dsComplete = null; private Boolean dsComplete;
/** /**
* *