Use javax annotation for validation

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
This commit is contained in:
SirWayne
2016-02-10 16:51:45 +01:00
parent f78bd68c03
commit 46a71c1b3a
3 changed files with 12 additions and 8 deletions

View File

@@ -27,10 +27,8 @@ import javax.persistence.criteria.JoinType;
import javax.persistence.criteria.Order; import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import javax.validation.ConstraintViolationException;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.hawkbit.Constants; import org.eclipse.hawkbit.Constants;
import org.eclipse.hawkbit.eventbus.event.TargetTagAssigmentResultEvent; import org.eclipse.hawkbit.eventbus.event.TargetTagAssigmentResultEvent;
import org.eclipse.hawkbit.executor.AfterTransactionCommitExecutor; import org.eclipse.hawkbit.executor.AfterTransactionCommitExecutor;
@@ -933,11 +931,6 @@ public class TargetManagement {
public Target createTarget(@NotNull final Target target, @NotNull final TargetUpdateStatus status, public Target createTarget(@NotNull final Target target, @NotNull final TargetUpdateStatus status,
final Long lastTargetQuery, final URI address) { final Long lastTargetQuery, final URI address) {
if (StringUtils.isEmpty(target.getControllerId())) {
throw new ConstraintViolationException("Empty string for controller id not allowed",
Collections.emptySet());
}
if (targetRepository.findByControllerId(target.getControllerId()) != null) { if (targetRepository.findByControllerId(target.getControllerId()) != null) {
throw new EntityAlreadyExistsException(target.getControllerId()); throw new EntityAlreadyExistsException(target.getControllerId());
} }

View File

@@ -32,6 +32,8 @@ import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import javax.persistence.UniqueConstraint; import javax.persistence.UniqueConstraint;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.eclipse.hawkbit.im.authentication.SpPermission; import org.eclipse.hawkbit.im.authentication.SpPermission;
import org.eclipse.hawkbit.repository.model.helper.SecurityChecker; import org.eclipse.hawkbit.repository.model.helper.SecurityChecker;
@@ -74,6 +76,8 @@ public class Target extends NamedEntity implements Persistable<Long> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Column(name = "controller_id", length = 64) @Column(name = "controller_id", length = 64)
@Size(min = 1)
@NotNull
private String controllerId; private String controllerId;
@Transient @Transient

View File

@@ -68,13 +68,20 @@ public class TargetManagementTest extends AbstractIntegrationTest {
@Test @Test
@Description("Verify that a target with empty controller id cannot be created") @Description("Verify that a target with empty controller id cannot be created")
public void createTarget() { public void createTargetWithNoControllerId() {
try { try {
targetManagement.createTarget(new Target("")); targetManagement.createTarget(new Target(""));
fail("target with empty controller id should not be created"); fail("target with empty controller id should not be created");
} catch (final ConstraintViolationException e) { } catch (final ConstraintViolationException e) {
// ok // ok
} }
try {
targetManagement.createTarget(new Target(null));
fail("target with empty controller id should not be created");
} catch (final ConstraintViolationException e) {
// ok
}
} }
@Test @Test