From 8ce8d8e571586873a041d96e74fca1b8182ba464 Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Mon, 5 Sep 2016 09:17:15 +0200 Subject: [PATCH 01/23] Fixed DMF sending out wrong message if action on CANCELING Signed-off-by: Kai Zimmermann --- .../rest/resource/DataConversionHelper.java | 25 ++++++++----------- .../ddi/rest/resource/DdiRootController.java | 2 +- .../amqp/AmqpMessageHandlerService.java | 20 ++++++++++----- .../amqp/AmqpMessageHandlerServiceTest.java | 7 +++--- .../repository/ControllerManagement.java | 12 +++++++++ .../repository/jpa/ActionRepository.java | 23 ++++++++++++----- .../jpa/JpaControllerManagement.java | 6 +++++ pom.xml | 2 +- 8 files changed, 65 insertions(+), 32 deletions(-) diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java index d87de67d0..deda60646 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java @@ -14,6 +14,7 @@ import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; import javax.servlet.http.HttpServletResponse; @@ -29,7 +30,6 @@ import org.eclipse.hawkbit.ddi.json.model.DdiControllerBase; import org.eclipse.hawkbit.ddi.json.model.DdiPolling; import org.eclipse.hawkbit.ddi.rest.api.DdiRestConstants; import org.eclipse.hawkbit.repository.model.Action; -import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.LocalArtifact; import org.eclipse.hawkbit.repository.model.Target; import org.eclipse.hawkbit.tenancy.TenantAware; @@ -108,30 +108,25 @@ public final class DataConversionHelper { return file; } - static DdiControllerBase fromTarget(final Target target, final List actions, + static DdiControllerBase fromTarget(final Target target, final Optional action, final String defaultControllerPollTime, final TenantAware tenantAware) { final DdiControllerBase result = new DdiControllerBase( new DdiConfig(new DdiPolling(defaultControllerPollTime))); - boolean addedUpdate = false; - boolean addedCancel = false; - final long countCancelingActions = actions.stream().filter(a -> a.getStatus() == Status.CANCELING).count(); - for (final Action action : actions) { - if (countCancelingActions <= 0 && !action.isCancelingOrCanceled() && !addedUpdate) { + if (action.isPresent()) { + if (action.get().isCancelingOrCanceled()) { + result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) + .getControllerCancelAction(target.getControllerId(), action.get().getId())) + .withRel(DdiRestConstants.CANCEL_ACTION)); + } else { // we need to add the hashcode here of the actionWithStatus // because the action might // have changed from 'soft' to 'forced' type and we need to // change the payload of the // response because of eTags. result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) - .getControllerBasedeploymentAction(target.getControllerId(), action.getId(), - calculateEtag(action))).withRel(DdiRestConstants.DEPLOYMENT_BASE_ACTION)); - addedUpdate = true; - } else if (action.isCancelingOrCanceled() && !addedCancel) { - result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) - .getControllerCancelAction(target.getControllerId(), action.getId())) - .withRel(DdiRestConstants.CANCEL_ACTION)); - addedCancel = true; + .getControllerBasedeploymentAction(target.getControllerId(), action.get().getId(), + calculateEtag(action.get()))).withRel(DdiRestConstants.DEPLOYMENT_BASE_ACTION)); } } diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java index 9dd65d5fc..f1ce7e812 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java @@ -130,7 +130,7 @@ public class DdiRootController implements DdiRootControllerRestApi { } return new ResponseEntity<>( - DataConversionHelper.fromTarget(target, controllerManagement.findActionByTargetAndActive(target), + DataConversionHelper.fromTarget(target, controllerManagement.findOldestActionByTargetAndActive(target), controllerManagement.getPollingTime(), tenantAware), HttpStatus.OK); } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java index dd152bd5a..a8723a63a 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java @@ -13,6 +13,7 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.UUID; import org.apache.commons.lang3.ArrayUtils; @@ -32,6 +33,7 @@ import org.eclipse.hawkbit.dmf.json.model.ArtifactHash; import org.eclipse.hawkbit.dmf.json.model.DownloadResponse; import org.eclipse.hawkbit.dmf.json.model.TenantSecurityToken; import org.eclipse.hawkbit.dmf.json.model.TenantSecurityToken.FileResource; +import org.eclipse.hawkbit.eventbus.event.CancelTargetAssignmentEvent; import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions; import org.eclipse.hawkbit.im.authentication.TenantAwareAuthenticationDetails; import org.eclipse.hawkbit.repository.ArtifactManagement; @@ -344,18 +346,24 @@ public class AmqpMessageHandlerService extends BaseAmqpService { } private void lookIfUpdateAvailable(final Target target) { - final List actions = controllerManagement.findActionByTargetAndActive(target); - if (actions.isEmpty()) { + final Optional action = controllerManagement.findOldestActionByTargetAndActive(target); + if (!action.isPresent()) { return; } - // action are ordered by ASC - final Action action = actions.get(0); - final DistributionSet distributionSet = action.getDistributionSet(); + + if (action.get().isCancelingOrCanceled()) { + amqpMessageDispatcherService.targetCancelAssignmentToDistributionSet( + new CancelTargetAssignmentEvent(target.getOptLockRevision(), target.getTenant(), + target.getControllerId(), action.get().getId(), target.getTargetInfo().getAddress())); + return; + } + + final DistributionSet distributionSet = action.get().getDistributionSet(); final List softwareModuleList = controllerManagement .findSoftwareModulesByDistributionSet(distributionSet); final String targetSecurityToken = systemSecurityContext.runAsSystem(() -> target.getSecurityToken()); amqpMessageDispatcherService.targetAssignDistributionSet(new TargetAssignDistributionSetEvent( - target.getOptLockRevision(), target.getTenant(), target.getControllerId(), action.getId(), + target.getOptLockRevision(), target.getTenant(), target.getControllerId(), action.get().getId(), softwareModuleList, target.getTargetInfo().getAddress(), targetSecurityToken)); } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java index 9ed314ebc..5937d8126 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java @@ -23,6 +23,7 @@ import java.net.URI; import java.net.URL; import java.util.ArrayList; import java.util.List; +import java.util.Optional; import org.eclipse.hawkbit.api.HostnameResolver; import org.eclipse.hawkbit.artifact.repository.ArtifactRepository; @@ -155,6 +156,7 @@ public class AmqpMessageHandlerServiceTest { final ArgumentCaptor uriCaptor = ArgumentCaptor.forClass(URI.class); when(controllerManagementMock.findOrRegisterTargetIfItDoesNotexist(targetIdCaptor.capture(), uriCaptor.capture())).thenReturn(null); + when(controllerManagementMock.findOldestActionByTargetAndActive(Matchers.any())).thenReturn(Optional.empty()); amqpMessageHandlerService.onMessage(message, MessageType.THING_CREATED.name(), TENANT, "vHost"); @@ -362,9 +364,8 @@ public class AmqpMessageHandlerServiceTest { when(controllerManagementMock.addUpdateActionStatus(Matchers.any())).thenReturn(action); when(entityFactoryMock.generateActionStatus()).thenReturn(new JpaActionStatus()); // for the test the same action can be used - final List actionList = new ArrayList<>(); - actionList.add(action); - when(controllerManagementMock.findActionByTargetAndActive(Matchers.any())).thenReturn(actionList); + when(controllerManagementMock.findOldestActionByTargetAndActive(Matchers.any())) + .thenReturn(Optional.of(action)); final List softwareModuleList = createSoftwareModuleList(); when(controllerManagementMock.findSoftwareModulesByDistributionSet(Matchers.any())) diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java index f06621fd4..14780cee6 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java @@ -11,6 +11,7 @@ package org.eclipse.hawkbit.repository; import java.net.URI; import java.util.List; import java.util.Map; +import java.util.Optional; import javax.validation.constraints.NotNull; @@ -113,6 +114,17 @@ public interface ControllerManagement { @PreAuthorize(SpringEvalExpressions.IS_CONTROLLER) List findActionByTargetAndActive(@NotNull Target target); + /** + * Retrieves oldest {@link Action} that is active and assigned to a + * {@link Target}. + * + * @param target + * the target to retrieve the actions from + * @return a list of actions assigned to given target which are active + */ + @PreAuthorize(SpringEvalExpressions.IS_CONTROLLER) + Optional findOldestActionByTargetAndActive(@NotNull Target target); + /** * Get the {@link Action} entity for given actionId with all lazy * attributes. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/ActionRepository.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/ActionRepository.java index 0eebbced1..8989a5a41 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/ActionRepository.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/ActionRepository.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.repository.jpa; import java.util.Collection; import java.util.List; +import java.util.Optional; import org.eclipse.hawkbit.repository.jpa.model.JpaAction; import org.eclipse.hawkbit.repository.jpa.model.JpaDistributionSet; @@ -79,21 +80,31 @@ public interface ActionRepository extends BaseEntityRepository, Slice findByTarget(Pageable pageable, JpaTarget target); /** - * Retrieves all {@link Action}s which are active and referring the given - * {@link Target} in a specified order. Loads also the lazy - * {@link Action#getDistributionSet()} field. + * Retrieves all {@link Action}s which are active and referring to the given + * {@link Target} order by ID ascending. * - * @param pageable - * page parameters * @param target * the target to find assigned actions * @param active * the action active flag * @return the found {@link Action}s */ - @EntityGraph(value = "Action.ds", type = EntityGraphType.LOAD) List findByTargetAndActiveOrderByIdAsc(final JpaTarget target, boolean active); + /** + * Retrieves the oldest {@link Action} that is active and referring to the + * given {@link Target}. + * + * @param target + * the target to find assigned actions + * @param active + * the action active flag + * + * @return the found {@link Action} + */ + @EntityGraph(value = "Action.ds", type = EntityGraphType.LOAD) + Optional findFirstByTargetAndActiveOrderByIdAsc(final JpaTarget target, boolean active); + /** * Retrieves latest {@link UpdateAction} for given target and * {@link SoftwareModule}. diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java index 34160aa37..7d02b3bd8 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java @@ -12,6 +12,7 @@ import java.net.URI; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Optional; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaBuilder; @@ -160,6 +161,11 @@ public class JpaControllerManagement implements ControllerManagement { return actionRepository.findByTargetAndActiveOrderByIdAsc((JpaTarget) target, true); } + @Override + public Optional findOldestActionByTargetAndActive(final Target target) { + return actionRepository.findFirstByTargetAndActiveOrderByIdAsc((JpaTarget) target, true); + } + @Override public List findSoftwareModulesByDistributionSet(final DistributionSet distributionSet) { return new ArrayList<>(softwareModuleRepository.findByAssignedTo((JpaDistributionSet) distributionSet)); diff --git a/pom.xml b/pom.xml index 31a175bd6..4684aa7b9 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ 1.5.4 1.0.2 19.0 - 1.4.3 + 1.5.2 1.50.5 2.2.4 1.1.7 From b317823e8684f2c1aec7cc92025abf1d3255dce7 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Mon, 5 Sep 2016 14:56:28 +0200 Subject: [PATCH 02/23] Fixed entity content validation. Signed-off-by: kaizimmerm --- .../MgmtDistributionSetTypeMapper.java | 33 ++++++++------ .../MgmtDistributionSetResourceTest.java | 14 ++++++ .../MgmtDistributionSetTypeResourceTest.java | 14 ++++++ .../MgmtSoftwareModuleResourceTest.java | 14 ++++++ .../MgmtSoftwareModuleTypeResourceTest.java | 15 +++++++ .../rest/resource/MgmtTargetResourceTest.java | 44 +++++++++++++++++++ .../repository/SoftwareManagement.java | 9 ++-- .../jpa/model/AbstractJpaMetaData.java | 5 +++ .../jpa/model/AbstractJpaNamedEntity.java | 5 +++ .../AbstractJpaNamedVersionedEntity.java | 4 ++ .../repository/jpa/model/AbstractJpaTag.java | 2 + .../AbstractJpaTenantAwareBaseEntity.java | 2 + .../repository/jpa/model/JpaAction.java | 5 ++- .../repository/jpa/model/JpaActionStatus.java | 3 ++ .../jpa/model/JpaDistributionSet.java | 2 + .../jpa/model/JpaDistributionSetType.java | 3 ++ .../jpa/model/JpaExternalArtifact.java | 2 + .../model/JpaExternalArtifactProvider.java | 3 ++ .../jpa/model/JpaLocalArtifact.java | 3 ++ .../repository/jpa/model/JpaRollout.java | 8 +++- .../repository/jpa/model/JpaRolloutGroup.java | 5 +++ .../jpa/model/JpaSoftwareModule.java | 4 ++ .../jpa/model/JpaSoftwareModuleType.java | 5 +++ .../repository/jpa/model/JpaTarget.java | 4 +- .../jpa/model/JpaTargetFilterQuery.java | 10 ++++- .../repository/jpa/model/JpaTargetInfo.java | 6 ++- .../jpa/model/JpaTenantConfiguration.java | 10 ++++- .../jpa/model/JpaTenantMetaData.java | 2 + .../H2/V1_7_1__reduce_length_enums___H2.sql | 5 +++ .../V1_7_1__reduce_length_enums___MYSQL.sql | 5 +++ .../repository/test/util/TestdataFactory.java | 15 +++++++ 31 files changed, 234 insertions(+), 27 deletions(-) create mode 100644 hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/H2/V1_7_1__reduce_length_enums___H2.sql create mode 100644 hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/MYSQL/V1_7_1__reduce_length_enums___MYSQL.sql diff --git a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java index 5c139027c..0daae2f0d 100644 --- a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java +++ b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java @@ -23,6 +23,7 @@ import org.eclipse.hawkbit.repository.SoftwareManagement; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; +import org.springframework.util.CollectionUtils; /** * A mapper which maps repository model to RESTful model representation and @@ -54,26 +55,30 @@ final class MgmtDistributionSetTypeMapper { smsRest.getName(), smsRest.getDescription()); // Add mandatory - smsRest.getMandatorymodules().stream().map(mand -> { - final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(mand.getId()); + if (!CollectionUtils.isEmpty(smsRest.getMandatorymodules())) { + smsRest.getMandatorymodules().stream().map(mand -> { + final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(mand.getId()); - if (smType == null) { - throw new EntityNotFoundException("SoftwareModuleType with ID " + mand.getId() + " not found"); - } + if (smType == null) { + throw new EntityNotFoundException("SoftwareModuleType with ID " + mand.getId() + " not found"); + } - return smType; - }).forEach(result::addMandatoryModuleType); + return smType; + }).forEach(result::addMandatoryModuleType); + } // Add optional - smsRest.getOptionalmodules().stream().map(opt -> { - final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(opt.getId()); + if (!CollectionUtils.isEmpty(smsRest.getOptionalmodules())) { + smsRest.getOptionalmodules().stream().map(opt -> { + final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(opt.getId()); - if (smType == null) { - throw new EntityNotFoundException("SoftwareModuleType with ID " + opt.getId() + " not found"); - } + if (smType == null) { + throw new EntityNotFoundException("SoftwareModuleType with ID " + opt.getId() + " not found"); + } - return smType; - }).forEach(result::addOptionalModuleType); + return smType; + }).forEach(result::addOptionalModuleType); + } return result; } diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java index 8aa035594..725a10538 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetResourceTest.java @@ -27,6 +27,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.model.Action.Status; @@ -633,6 +634,19 @@ public class MgmtDistributionSetResourceTest extends AbstractRestIntegrationTest .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isBadRequest()); + final DistributionSet missingName = testdataFactory.generateDistributionSet("missingName"); + missingName.setName(null); + mvc.perform( + post("/rest/v1/distributionsets").content(JsonBuilder.distributionSets(Lists.newArrayList(missingName))) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()); + + final DistributionSet toLongName = testdataFactory.generateDistributionSet(RandomStringUtils.randomAscii(80)); + mvc.perform( + post("/rest/v1/distributionsets").content(JsonBuilder.distributionSets(Lists.newArrayList(toLongName))) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()); + // unsupported media type mvc.perform(post("/rest/v1/distributionsets").content(JsonBuilder.distributionSets(sets)) .contentType(MediaType.APPLICATION_OCTET_STREAM)).andDo(MockMvcResultPrinter.print()) diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java index eba06c5e6..9d5b0d002 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeResourceTest.java @@ -24,6 +24,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.eclipse.hawkbit.repository.model.SoftwareModule; @@ -553,6 +554,19 @@ public class MgmtDistributionSetTypeResourceTest extends AbstractRestIntegration .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isBadRequest()); + final DistributionSetType missingName = entityFactory.generateDistributionSetType("test123", null, "Desc123"); + mvc.perform(post("/rest/v1/distributionsettypes") + .content(JsonBuilder.distributionSetTypes(Lists.newArrayList(missingName))) + .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) + .andExpect(status().isBadRequest()); + + final DistributionSetType toLongName = entityFactory.generateDistributionSetType("test123", + RandomStringUtils.randomAscii(80), "Desc123"); + mvc.perform(post("/rest/v1/distributionsettypes") + .content(JsonBuilder.distributionSetTypes(Lists.newArrayList(toLongName))) + .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) + .andExpect(status().isBadRequest()); + // not allowed methods mvc.perform(put("/rest/v1/distributionsettypes")).andDo(MockMvcResultPrinter.print()) .andExpect(status().isMethodNotAllowed()); diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java index 1703e5c0e..f5c79fb6c 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleResourceTest.java @@ -58,6 +58,7 @@ import org.springframework.mock.web.MockMultipartFile; import org.springframework.test.web.servlet.MvcResult; import org.springframework.web.bind.annotation.RestController; +import com.google.common.collect.Lists; import com.jayway.jsonpath.JsonPath; import ru.yandex.qatools.allure.annotations.Description; @@ -456,6 +457,19 @@ public class MgmtSoftwareModuleResourceTest extends AbstractRestIntegrationTestW .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isBadRequest()); + final SoftwareModule missingName = entityFactory.generateSoftwareModule(osType, null, "version 1", null, null); + mvc.perform( + post("/rest/v1/softwaremodules").content(JsonBuilder.softwareModules(Lists.newArrayList(missingName))) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()); + + final SoftwareModule toLongName = entityFactory.generateSoftwareModule(osType, + RandomStringUtils.randomAscii(80), "version 1", null, null); + mvc.perform( + post("/rest/v1/softwaremodules").content(JsonBuilder.softwareModules(Lists.newArrayList(toLongName))) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()); + // unsupported media type mvc.perform(post("/rest/v1/softwaremodules").content(JsonBuilder.softwareModules(modules)) .contentType(MediaType.APPLICATION_OCTET_STREAM)).andDo(MockMvcResultPrinter.print()) diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java index 4c7c99bf7..8c60815e3 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleTypeResourceTest.java @@ -24,6 +24,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import java.util.ArrayList; import java.util.List; +import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.model.SoftwareModule; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; @@ -37,6 +38,7 @@ import org.junit.Test; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MvcResult; +import com.google.common.collect.Lists; import com.jayway.jsonpath.JsonPath; import ru.yandex.qatools.allure.annotations.Description; @@ -335,6 +337,19 @@ public class MgmtSoftwareModuleTypeResourceTest extends AbstractRestIntegrationT .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) .andExpect(status().isBadRequest()); + final SoftwareModuleType missingName = entityFactory.generateSoftwareModuleType("test123", null, "Desc123", 5); + mvc.perform(post("/rest/v1/softwaremoduletypes") + .content(JsonBuilder.softwareModuleTypes(Lists.newArrayList(missingName))) + .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) + .andExpect(status().isBadRequest()); + + final SoftwareModuleType toLongName = entityFactory.generateSoftwareModuleType("test123", + RandomStringUtils.randomAscii(80), "Desc123", 5); + mvc.perform(post("/rest/v1/softwaremoduletypes") + .content(JsonBuilder.softwareModuleTypes(Lists.newArrayList(toLongName))) + .contentType(MediaType.APPLICATION_JSON)).andDo(MockMvcResultPrinter.print()) + .andExpect(status().isBadRequest()); + // unsupported media type mvc.perform(post("/rest/v1/softwaremoduletypes").content(JsonBuilder.softwareModuleTypes(types)) .contentType(MediaType.APPLICATION_OCTET_STREAM)).andDo(MockMvcResultPrinter.print()) diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index e804dcb1f..de04a12d1 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -32,10 +32,12 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.apache.commons.lang3.RandomStringUtils; import org.eclipse.hawkbit.exception.SpServerError; import org.eclipse.hawkbit.im.authentication.SpPermission; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.repository.ActionFields; +import org.eclipse.hawkbit.repository.exception.ConstraintViolationException; import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException; import org.eclipse.hawkbit.repository.jpa.model.JpaTarget; import org.eclipse.hawkbit.repository.jpa.model.JpaTargetInfo; @@ -669,6 +671,48 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { assertThat(exceptionInfo.getErrorCode()).isEqualTo(SpServerError.SP_REST_BODY_NOT_READABLE.getKey()); } + @Test + @Description("Verfies that a mandatory properteis of new targets are validated as not null.") + public void createTargetWithMissingMandatoryPropertyBadRequest() throws Exception { + final Target test1 = entityFactory.generateTarget("id1", "token"); + test1.setName(null); + + final MvcResult mvcResult = mvc + .perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING) + .content(JsonBuilder.targets(Lists.newArrayList(test1), true)) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()).andReturn(); + + assertThat(targetManagement.countTargetsAll()).isEqualTo(0); + + // verify response json exception message + final ExceptionInfo exceptionInfo = ResourceUtility + .convertException(mvcResult.getResponse().getContentAsString()); + assertThat(exceptionInfo.getExceptionClass()).isEqualTo(ConstraintViolationException.class.getName()); + assertThat(exceptionInfo.getErrorCode()).isEqualTo(SpServerError.SP_REPO_CONSTRAINT_VIOLATION.getKey()); + } + + @Test + @Description("Verfies that a properties of new targets are validated as in allowed size range.") + public void createTargetWithInvalidPropertyBadRequest() throws Exception { + final Target test1 = entityFactory.generateTarget("id1", "token"); + test1.setName(RandomStringUtils.randomAscii(80)); + + final MvcResult mvcResult = mvc + .perform(post(MgmtRestConstants.TARGET_V1_REQUEST_MAPPING) + .content(JsonBuilder.targets(Lists.newArrayList(test1), true)) + .contentType(MediaType.APPLICATION_JSON)) + .andDo(MockMvcResultPrinter.print()).andExpect(status().isBadRequest()).andReturn(); + + assertThat(targetManagement.countTargetsAll()).isEqualTo(0); + + // verify response json exception message + final ExceptionInfo exceptionInfo = ResourceUtility + .convertException(mvcResult.getResponse().getContentAsString()); + assertThat(exceptionInfo.getExceptionClass()).isEqualTo(ConstraintViolationException.class.getName()); + assertThat(exceptionInfo.getErrorCode()).isEqualTo(SpServerError.SP_REPO_CONSTRAINT_VIOLATION.getKey()); + } + @Test public void createTargetsListReturnsSuccessful() throws Exception { final Target test1 = entityFactory.generateTarget("id1", "token"); diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/SoftwareManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/SoftwareManagement.java index 03027598e..dfe05100e 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/SoftwareManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/SoftwareManagement.java @@ -131,7 +131,7 @@ public interface SoftwareManagement { * @return created {@link Entity} */ @PreAuthorize(SpringEvalExpressions.HAS_AUTH_CREATE_REPOSITORY) - List createSoftwareModuleType(@NotNull final Collection types); + List createSoftwareModuleType(@NotNull Collection types); /** * Creates new {@link SoftwareModuleType}. @@ -483,21 +483,20 @@ public interface SoftwareManagement { */ @PreAuthorize(SpringEvalExpressions.HAS_AUTH_UPDATE_REPOSITORY) SoftwareModuleType updateSoftwareModuleType(@NotNull SoftwareModuleType sm); - + /** * Finds all meta data by the given software module id. * * @param softwareModuleId * the software module id to retrieve the meta data from - + * * * @throws RSQLParameterUnsupportedFieldException * if a field in the RSQL string is used but not provided by the * given {@code fieldNameProvider} * @throws RSQLParameterSyntaxException * if the RSQL syntax is wrong - * @return result of all meta data entries for a given software - * module id. + * @return result of all meta data entries for a given software module id. */ @PreAuthorize(SpringEvalExpressions.HAS_AUTH_READ_REPOSITORY) List findSoftwareModuleMetadataBySoftwareModuleId(Long softwareModuleId); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaMetaData.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaMetaData.java index 5a3f23ac3..a9f93cb86 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaMetaData.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaMetaData.java @@ -12,6 +12,8 @@ import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.MappedSuperclass; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.MetaData; @@ -25,9 +27,12 @@ public abstract class AbstractJpaMetaData implements MetaData { @Id @Column(name = "meta_key", length = 128) + @Size(min = 1, max = 128) + @NotNull private String key; @Column(name = "meta_value", length = 4000) + @Size(max = 4000) @Basic private String value; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedEntity.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedEntity.java index ebf5eac3c..0011cc2da 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedEntity.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedEntity.java @@ -10,6 +10,8 @@ package org.eclipse.hawkbit.repository.jpa.model; import javax.persistence.Column; import javax.persistence.MappedSuperclass; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.NamedEntity; import org.eclipse.hawkbit.repository.model.TenantAwareBaseEntity; @@ -26,9 +28,12 @@ public abstract class AbstractJpaNamedEntity extends AbstractJpaTenantAwareBaseE private static final long serialVersionUID = 1L; @Column(name = "name", nullable = false, length = 64) + @Size(max = 64) + @NotNull private String name; @Column(name = "description", nullable = true, length = 512) + @Size(max = 512) private String description; /** diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedVersionedEntity.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedVersionedEntity.java index ffdb1dfa6..9c78f976c 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedVersionedEntity.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaNamedVersionedEntity.java @@ -10,6 +10,8 @@ package org.eclipse.hawkbit.repository.jpa.model; import javax.persistence.Column; import javax.persistence.MappedSuperclass; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.NamedEntity; import org.eclipse.hawkbit.repository.model.NamedVersionedEntity; @@ -26,6 +28,8 @@ public abstract class AbstractJpaNamedVersionedEntity extends AbstractJpaNamedEn private static final long serialVersionUID = 1L; @Column(name = "version", nullable = false, length = 64) + @Size(max = 64) + @NotNull private String version; /** diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTag.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTag.java index b2e8163da..12aad8d6d 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTag.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTag.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.repository.jpa.model; import javax.persistence.Column; import javax.persistence.MappedSuperclass; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.Tag; @@ -26,6 +27,7 @@ public abstract class AbstractJpaTag extends AbstractJpaNamedEntity implements T private static final long serialVersionUID = 1L; @Column(name = "colour", nullable = true, length = 16) + @Size(max = 16) private String colour; protected AbstractJpaTag() { diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTenantAwareBaseEntity.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTenantAwareBaseEntity.java index ccd4a30b1..09c261b60 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTenantAwareBaseEntity.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/AbstractJpaTenantAwareBaseEntity.java @@ -11,6 +11,7 @@ package org.eclipse.hawkbit.repository.jpa.model; import javax.persistence.Column; import javax.persistence.MappedSuperclass; import javax.persistence.PrePersist; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.exception.TenantNotExistException; import org.eclipse.hawkbit.repository.jpa.model.helper.SystemManagementHolder; @@ -31,6 +32,7 @@ public abstract class AbstractJpaTenantAwareBaseEntity extends AbstractJpaBaseEn private static final long serialVersionUID = 1L; @Column(name = "tenant", nullable = false, insertable = false, updatable = false, length = 40) + @Size(max = 40) private String tenant; /** diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java index 72ef46ba3..ba808ff8a 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaAction.java @@ -27,6 +27,7 @@ import javax.persistence.NamedEntityGraphs; import javax.persistence.NamedSubgraph; import javax.persistence.OneToMany; import javax.persistence.Table; +import javax.validation.constraints.NotNull; import org.eclipse.hawkbit.repository.eventbus.event.ActionCreatedEvent; import org.eclipse.hawkbit.repository.eventbus.event.ActionPropertyChangeEvent; @@ -63,13 +64,15 @@ public class JpaAction extends AbstractJpaTenantAwareBaseEntity implements Actio @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "target", foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_action_target")) + @NotNull private JpaTarget target; @Column(name = "active") private boolean active; - @Column(name = "action_type", nullable = false) + @Column(name = "action_type", nullable = false, length = 16) @Enumerated(EnumType.STRING) + @NotNull private ActionType actionType; @Column(name = "forced_time") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaActionStatus.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaActionStatus.java index e1843eb33..102b25952 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaActionStatus.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaActionStatus.java @@ -25,6 +25,7 @@ import javax.persistence.NamedAttributeNode; import javax.persistence.NamedEntityGraph; import javax.persistence.Table; import javax.persistence.Transient; +import javax.validation.constraints.NotNull; import org.eclipse.hawkbit.repository.jpa.cache.CacheField; import org.eclipse.hawkbit.repository.jpa.cache.CacheKeys; @@ -54,9 +55,11 @@ public class JpaActionStatus extends AbstractJpaTenantAwareBaseEntity implements @ManyToOne(fetch = FetchType.LAZY, optional = false) @JoinColumn(name = "action", nullable = false, foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_act_stat_action")) + @NotNull private JpaAction action; @Column(name = "status") + @NotNull private Status status; @CascadeOnDelete diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSet.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSet.java index 661474668..4545cfaf1 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSet.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSet.java @@ -33,6 +33,7 @@ import javax.persistence.NamedEntityGraph; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.NotNull; import org.eclipse.hawkbit.repository.eventbus.event.AbstractPropertyChangeEvent.PropertyChange; import org.eclipse.hawkbit.repository.eventbus.event.DistributionCreatedEvent; @@ -111,6 +112,7 @@ public class JpaDistributionSet extends AbstractJpaNamedVersionedEntity implemen @ManyToOne(fetch = FetchType.LAZY, targetEntity = JpaDistributionSetType.class) @JoinColumn(name = "ds_id", nullable = false, foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_ds_dstype_ds")) + @NotNull private DistributionSetType type; @Column(name = "complete") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSetType.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSetType.java index 54aed44dd..2a696aac9 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSetType.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaDistributionSetType.java @@ -22,6 +22,7 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.DistributionSet; import org.eclipse.hawkbit.repository.model.DistributionSetType; @@ -50,9 +51,11 @@ public class JpaDistributionSetType extends AbstractJpaNamedEntity implements Di private final Set elements = new HashSet<>(); @Column(name = "type_key", nullable = false, length = 64) + @Size(max = 64) private String key; @Column(name = "colour", nullable = true, length = 16) + @Size(max = 16) private String colour; @Column(name = "deleted") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifact.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifact.java index b8408cdcc..86cd11a26 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifact.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifact.java @@ -20,6 +20,7 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.ExternalArtifact; import org.eclipse.hawkbit.repository.model.ExternalArtifactProvider; @@ -44,6 +45,7 @@ public class JpaExternalArtifact extends AbstractJpaArtifact implements External private JpaExternalArtifactProvider externalArtifactProvider; @Column(name = "url_suffix", length = 512) + @Size(max = 512) private String urlSuffix; // CascadeType.PERSIST as we register ourself at the BSM diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifactProvider.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifactProvider.java index 7a4e2a067..cb07f723a 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifactProvider.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaExternalArtifactProvider.java @@ -12,6 +12,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Index; import javax.persistence.Table; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.ExternalArtifact; import org.eclipse.hawkbit.repository.model.ExternalArtifactProvider; @@ -30,9 +31,11 @@ public class JpaExternalArtifactProvider extends AbstractJpaNamedEntity implemen private static final long serialVersionUID = 1L; @Column(name = "base_url", length = 512, nullable = false) + @Size(max = 512) private String basePath; @Column(name = "default_url_suffix", length = 512, nullable = true) + @Size(max = 512) private String defaultSuffix; /** diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaLocalArtifact.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaLocalArtifact.java index 52cc01b20..46482715d 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaLocalArtifact.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaLocalArtifact.java @@ -18,6 +18,7 @@ import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.LocalArtifact; import org.eclipse.hawkbit.repository.model.SoftwareModule; @@ -40,10 +41,12 @@ public class JpaLocalArtifact extends AbstractJpaArtifact implements LocalArtifa @NotNull @Column(name = "gridfs_file_name", length = 40) + @Size(max = 40) private String gridFsFileName; @NotNull @Column(name = "provided_file_name", length = 256) + @Size(max = 256) private String filename; @ManyToOne(optional = false, cascade = { CascadeType.PERSIST }) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRollout.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRollout.java index 85395e27b..58776b6a2 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRollout.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRollout.java @@ -24,6 +24,8 @@ import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.eventbus.event.RolloutPropertyChangeEvent; import org.eclipse.hawkbit.repository.jpa.cache.CacheField; @@ -57,10 +59,13 @@ public class JpaRollout extends AbstractJpaNamedEntity implements Rollout, Event private List rolloutGroups; @Column(name = "target_filter", length = 1024, nullable = false) + @Size(max = 1024) + @NotNull private String targetFilterQuery; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "distribution_set", foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_rolltout_ds")) + @NotNull private JpaDistributionSet distributionSet; @Column(name = "status") @@ -69,8 +74,9 @@ public class JpaRollout extends AbstractJpaNamedEntity implements Rollout, Event @Column(name = "last_check") private long lastCheck; - @Column(name = "action_type", nullable = false) + @Column(name = "action_type", nullable = false, length = 16) @Enumerated(EnumType.STRING) + @NotNull private ActionType actionType = ActionType.FORCED; @Column(name = "forced_time") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRolloutGroup.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRolloutGroup.java index 9bb8644f4..907fb203b 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRolloutGroup.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaRolloutGroup.java @@ -24,6 +24,7 @@ import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.eventbus.event.RolloutGroupPropertyChangeEvent; import org.eclipse.hawkbit.repository.jpa.model.helper.EntityPropertyChangeHelper; @@ -66,24 +67,28 @@ public class JpaRolloutGroup extends AbstractJpaNamedEntity implements RolloutGr private RolloutGroupSuccessCondition successCondition = RolloutGroupSuccessCondition.THRESHOLD; @Column(name = "success_condition_exp", length = 512, nullable = false) + @Size(max = 512) private String successConditionExp; @Column(name = "success_action", nullable = false) private RolloutGroupSuccessAction successAction = RolloutGroupSuccessAction.NEXTGROUP; @Column(name = "success_action_exp", length = 512, nullable = false) + @Size(max = 512) private String successActionExp; @Column(name = "error_condition") private RolloutGroupErrorCondition errorCondition; @Column(name = "error_condition_exp", length = 512) + @Size(max = 512) private String errorConditionExp; @Column(name = "error_action") private RolloutGroupErrorAction errorAction; @Column(name = "error_action_exp", length = 512) + @Size(max = 512) private String errorActionExp; @Column(name = "total_targets") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModule.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModule.java index 80156edb8..e52857c37 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModule.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModule.java @@ -28,6 +28,8 @@ import javax.persistence.NamedEntityGraph; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.Artifact; import org.eclipse.hawkbit.repository.model.DistributionSet; @@ -58,6 +60,7 @@ public class JpaSoftwareModule extends AbstractJpaNamedVersionedEntity implement @ManyToOne @JoinColumn(name = "module_type", nullable = false, foreignKey = @ForeignKey(value = ConstraintMode.CONSTRAINT, name = "fk_module_type")) + @NotNull private JpaSoftwareModuleType type; @ManyToMany(mappedBy = "modules", targetEntity = JpaDistributionSet.class, fetch = FetchType.LAZY) @@ -67,6 +70,7 @@ public class JpaSoftwareModule extends AbstractJpaNamedVersionedEntity implement private boolean deleted; @Column(name = "vendor", nullable = true, length = 256) + @Size(max = 256) private String vendor; @OneToMany(mappedBy = "softwareModule", cascade = { CascadeType.ALL }, targetEntity = JpaLocalArtifact.class) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModuleType.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModuleType.java index f521922b6..5010ae918 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModuleType.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaSoftwareModuleType.java @@ -14,6 +14,8 @@ import javax.persistence.Index; import javax.persistence.Table; import javax.persistence.UniqueConstraint; import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; @@ -34,6 +36,8 @@ public class JpaSoftwareModuleType extends AbstractJpaNamedEntity implements Sof private static final long serialVersionUID = 1L; @Column(name = "type_key", nullable = false, length = 64) + @Size(max = 64) + @NotNull private String key; @Column(name = "max_ds_assignments", nullable = false) @@ -41,6 +45,7 @@ public class JpaSoftwareModuleType extends AbstractJpaNamedEntity implements Sof private int maxAssignments; @Column(name = "colour", nullable = true, length = 16) + @Size(max = 16) private String colour; @Column(name = "deleted") diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTarget.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTarget.java index c32a5e673..476dea18b 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTarget.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTarget.java @@ -74,7 +74,7 @@ public class JpaTarget extends AbstractJpaNamedEntity implements Persistable, TargetInfo, EventAwareE private JpaTarget target; @Column(name = "address", length = 512) + @Size(max = 512) private String address; @Column(name = "last_target_query") @@ -96,8 +99,9 @@ public class JpaTargetInfo implements Persistable, TargetInfo, EventAwareE @Column(name = "install_date") private Long installationDate; - @Column(name = "update_status", nullable = false, length = 255) + @Column(name = "update_status", nullable = false, length = 16) @Enumerated(EnumType.STRING) + @NotNull private TargetUpdateStatus updateStatus = TargetUpdateStatus.UNKNOWN; @ManyToOne(optional = true, fetch = FetchType.LAZY) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantConfiguration.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantConfiguration.java index d6f9a7a97..315804226 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantConfiguration.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantConfiguration.java @@ -13,6 +13,8 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.TenantConfiguration; @@ -29,11 +31,15 @@ import org.eclipse.hawkbit.repository.model.TenantConfiguration; public class JpaTenantConfiguration extends AbstractJpaTenantAwareBaseEntity implements TenantConfiguration { private static final long serialVersionUID = 1L; - @Column(name = "conf_key", length = 128) + @Column(name = "conf_key", length = 128, nullable = false) + @Size(max = 128) + @NotNull private String key; - @Column(name = "conf_value", length = 512) + @Column(name = "conf_value", length = 512, nullable = false) @Basic + @Size(max = 512) + @NotNull private String value; /** diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantMetaData.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantMetaData.java index 9363a4db8..7fcb3c50e 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantMetaData.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/model/JpaTenantMetaData.java @@ -19,6 +19,7 @@ import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.UniqueConstraint; +import javax.validation.constraints.Size; import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.eclipse.hawkbit.repository.model.TenantAwareBaseEntity; @@ -43,6 +44,7 @@ public class JpaTenantMetaData extends AbstractJpaBaseEntity implements TenantMe private static final long serialVersionUID = 1L; @Column(name = "tenant", nullable = false, length = 40) + @Size(max = 40) private String tenant; @OneToOne(fetch = FetchType.LAZY) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/H2/V1_7_1__reduce_length_enums___H2.sql b/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/H2/V1_7_1__reduce_length_enums___H2.sql new file mode 100644 index 000000000..ae9eef28e --- /dev/null +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/H2/V1_7_1__reduce_length_enums___H2.sql @@ -0,0 +1,5 @@ +ALTER TABLE sp_target_info MODIFY update_status VARCHAR(16) not null; +ALTER TABLE sp_action MODIFY action_type VARCHAR(16) not null; +ALTER TABLE sp_rollout MODIFY action_type VARCHAR(16) not null; +ALTER TABLE sp_tenant_configuration MODIFY conf_key VARCHAR(128) not null; +ALTER TABLE sp_tenant_configuration MODIFY conf_value VARCHAR(512) not null; \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/MYSQL/V1_7_1__reduce_length_enums___MYSQL.sql b/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/MYSQL/V1_7_1__reduce_length_enums___MYSQL.sql new file mode 100644 index 000000000..ae9eef28e --- /dev/null +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/resources/db/migration/MYSQL/V1_7_1__reduce_length_enums___MYSQL.sql @@ -0,0 +1,5 @@ +ALTER TABLE sp_target_info MODIFY update_status VARCHAR(16) not null; +ALTER TABLE sp_action MODIFY action_type VARCHAR(16) not null; +ALTER TABLE sp_rollout MODIFY action_type VARCHAR(16) not null; +ALTER TABLE sp_tenant_configuration MODIFY conf_key VARCHAR(128) not null; +ALTER TABLE sp_tenant_configuration MODIFY conf_value VARCHAR(512) not null; \ No newline at end of file diff --git a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java index 34031639d..9360626c4 100644 --- a/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java +++ b/hawkbit-repository/hawkbit-repository-test/src/main/java/org/eclipse/hawkbit/repository/test/util/TestdataFactory.java @@ -506,6 +506,21 @@ public class TestdataFactory { return distributionSet; } + /** + * builder method for generating a {@link DistributionSet}. + * + * @param name + * {@link DistributionSet#getName()} + * + * @return the generated {@link DistributionSet} + */ + public DistributionSet generateDistributionSet(final String name) { + final DistributionSet distributionSet = entityFactory.generateDistributionSet(name, DEFAULT_VERSION, null, + findOrCreateDefaultTestDsType(), null); + distributionSet.setDescription(LOREM.words(10)); + return distributionSet; + } + /** * Creates {@link DistributionSetTag}s in repository. * From 9ee4a60a89074a0e0e1faa096ec3f27899b3c575 Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Mon, 5 Sep 2016 19:12:06 +0200 Subject: [PATCH 03/23] add new constants, fix typo Signed-off-by: Melanie Retter --- .../CreateUpdateDistSetTypeLayout.java | 5 +- .../filtermanagement/TargetFilterTable.java | 2 +- .../footer/ActionTypeOptionGroupLayout.java | 2 +- .../AuthenticationConfigurationView.java | 3 +- .../ui/utils/SPUIComponentIdProvider.java | 48 +++++++++++++------ 5 files changed, 40 insertions(+), 20 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java index 9bff75ff2..c803148fe 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java @@ -26,6 +26,7 @@ import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent; import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent.DistributionSetTypeEnum; import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; +import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -130,8 +131,8 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout addSMType()); final Button unSelectButton = SPUIComponentProvider.getButton("unselect-dist-type", "", "", "arrow-button", true, FontAwesome.BACKWARD, SPUIButtonStyleSmallNoBorder.class); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java index 5ee3be084..994e8b2e0 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java @@ -94,7 +94,7 @@ public class TargetFilterTable extends Table { populateTableData(); setColumnCollapsingAllowed(true); setColumnProperties(); - setId(SPUIComponentIdProvider.TAEGET_FILTER_TABLE_ID); + setId(SPUIComponentIdProvider.TARGET_FILTER_TABLE_ID); eventBus.subscribe(this); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java index ad61a1f56..24b053d03 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java @@ -113,7 +113,7 @@ public class ActionTypeOptionGroupLayout extends HorizontalLayout { .getItemComponent(ActionTypeOption.AUTO_FORCED); autoForceItem.setStyleName(STYLE_DIST_WINDOW_ACTIONTYPE); // setted Id for Time Forced radio button. - autoForceItem.setId("save.action.radio.timeforced"); + autoForceItem.setId(SPUIComponentIdProvider.ACTION_TYPE_OPTION_GROUP_SAVE_TIMEFORCED); addComponent(autoForceItem); final Label autoForceLabel = new Label(); autoForceLabel.setStyleName("statusIconPending"); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java index 584f28931..eb771a4eb 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java @@ -17,6 +17,7 @@ import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.CertificateAuth import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.GatewaySecurityTokenAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.TargetSecurityTokenAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.utils.I18N; +import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import com.vaadin.data.Property.ValueChangeEvent; @@ -112,7 +113,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView gridLayout.addComponent(gatewaySecurityTokenAuthenticationConfigurationItem, 1, 2); downloadAnonymousCheckBox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, ""); - downloadAnonymousCheckBox.setId("downloadanonymouscheckbox"); + downloadAnonymousCheckBox.setId(SPUIComponentIdProvider.DOWNLOAD_ANONYMOUS_CHECKBOX); downloadAnonymousCheckBox.setValue(anonymousDownloadAuthenticationConfigurationItem.isConfigEnabled()); downloadAnonymousCheckBox.addValueChangeListener(this); anonymousDownloadAuthenticationConfigurationItem.addChangeListener(this); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java index 5c0456c7d..87aa0f075 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java @@ -313,6 +313,11 @@ public final class SPUIComponentIdProvider { */ public static final String ACTION_HISTORY_TABLE_FORCE_QUIT_ID = "action.history.table.action.force.quit"; + /** + * ID for option group save timeforced + */ + public static final String ACTION_TYPE_OPTION_GROUP_SAVE_TIMEFORCED = "save.action.radio.timeforced"; + /** * Target filter wrapper id. */ @@ -734,10 +739,20 @@ public final class SPUIComponentIdProvider { */ public static final String CUSTOM_TARGET_TAG_TABLE_ID = "custom.target.tag.tableId"; + /** + * ID for closing custom filter + */ + public static final String CUSTOM_FILTER_CLOSE = "create.custom.filter.close.Id"; + + /** + * ID for custom filter query text + */ + public static final String CUSTOM_FILTER_QUERY = "custom.query.text.Id"; + /** * Target filter table id. */ - public static final String TAEGET_FILTER_TABLE_ID = "target.query.filter.table.Id"; + public static final String TARGET_FILTER_TABLE_ID = "target.query.filter.table.Id"; /** * create or update target filter query - name label id. @@ -962,17 +977,16 @@ public final class SPUIComponentIdProvider { */ public static final String UPLOAD_STATUS_POPUP_ID = "artifact.upload.status.popup.id"; - /** + /** * Software module table - Manage metadata id. */ public static final String SW_TABLE_MANAGE_METADATA_ID = "swtable.manage.metadata.id"; - - + /** * Metadata key id. */ public static final String METADATA_KEY_FIELD_ID = "metadata.key.id"; - + /** * Metadata value id. */ @@ -981,12 +995,12 @@ public final class SPUIComponentIdProvider { * Metadata save id. */ public static final String METADTA_SAVE_ICON_ID = "metadata.save.icon.id"; - + /** * Metadata discard id. */ public static final String METADTA_DISCARD_ICON_ID = "metadata.discard.icon.id"; - + /** * Metadata add icon id. */ @@ -995,41 +1009,45 @@ public final class SPUIComponentIdProvider { * Metadata table id. */ public static final String METDATA_TABLE_ID = "metadata.table.id"; - + /** * Distribution set table - Manage metadata id. */ public static final String DS_TABLE_MANAGE_METADATA_ID = "dstable.manage.metadata.id"; - - /** + + /** * DistributionSet - Metadata button id. */ public static final String DS_METADATA_DETAIL_LINK = "distributionset.metadata.detail.link"; - + /** * Metadata popup id. */ public static final String METADATA_POPUP_ID = "metadata.popup.id"; - + /** * DistributionSet table details tab id in Distributions . */ public static final String DISTRIBUTIONSET_DETAILS_TABSHEET_ID = "distributionset.details.tabsheet"; - + /** * Software module table details tab id in Distributions . */ public static final String DIST_SW_MODULE_DETAILS_TABSHEET_ID = "dist.sw.module.details.tabsheet"; - + /** * Software Module - Metadata button id. */ public static final String SW_METADATA_DETAIL_LINK = "softwaremodule.metadata.detail.link"; - + /** * Table multiselect for selecting DistType */ public static final String SELECT_DIST_TYPE = "select-dist-type"; + /** + * ID for download anonymous checkbox + */ + public static final String DOWNLOAD_ANONYMOUS_CHECKBOX = "downloadanonymouscheckbox"; /** * /* Private Constructor. From 2ed9f1c08bac68a52edb1197351882721f3c2637 Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Tue, 6 Sep 2016 09:47:38 +0200 Subject: [PATCH 04/23] Add new constant and substitue in classes Signed-off-by: Melanie Retter --- .../dstable/DistributionSetTableHeader.java | 2 +- .../filtermanagement/CreateOrUpdateFilterHeader.java | 5 +++-- .../ui/filtermanagement/TargetFilterHeader.java | 2 +- .../ui/management/dstable/DistributionTableHeader.java | 2 +- .../hawkbit/ui/utils/SPUIComponentIdProvider.java | 10 ++++++++++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableHeader.java index 8f392101f..da0489c09 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTableHeader.java @@ -100,7 +100,7 @@ public class DistributionSetTableHeader extends AbstractTableHeader { @Override protected String getShowFilterButtonLayoutId() { - return "show.dist.tags.icon"; + return SPUIComponentIdProvider.SHOW_DIST_TAG_ICON; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java index b6f186188..84ec0937c 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterHeader.java @@ -444,8 +444,9 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } private SPUIButton createSearchResetIcon() { - final SPUIButton button = (SPUIButton) SPUIComponentProvider.getButton("create.custom.filter.close.Id", "", "", - null, false, FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); + final SPUIButton button = (SPUIButton) SPUIComponentProvider.getButton( + SPUIComponentIdProvider.CUSTOM_FILTER_CLOSE, "", "", null, false, FontAwesome.TIMES, + SPUIButtonStyleSmallNoBorder.class); button.addClickListener(event -> closeFilterLayout()); return button; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java index ada3e600a..aac18334a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java @@ -120,7 +120,7 @@ public class TargetFilterHeader extends VerticalLayout { } private TextField createSearchField() { - final TextField campSearchTextField = new TextFieldBuilder("target.filter.search.text.Id") + final TextField campSearchTextField = new TextFieldBuilder(SPUIComponentIdProvider.TARGET_FILTER_SEARCH_TEXT) .createSearchField(event -> searchBy(event.getText())); campSearchTextField.setWidth(500.0F, Unit.PIXELS); return campSearchTextField; diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableHeader.java index 0e63ddb95..c4da8381f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTableHeader.java @@ -102,7 +102,7 @@ public class DistributionTableHeader extends AbstractTableHeader { @Override protected String getShowFilterButtonLayoutId() { - return "show.dist.tags.icon"; + return SPUIComponentIdProvider.SHOW_DIST_TAG_ICON; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java index 87aa0f075..8c6624230 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java @@ -75,6 +75,11 @@ public final class SPUIComponentIdProvider { */ public static final String TARGET_TEXT_FIELD = "target.search.textfield"; + /** + * ID for target filter search + */ + public static final String TARGET_FILTER_SEARCH_TEXT = "target.filter.search.text.Id"; + /** * ID for add target filter icon */ @@ -184,6 +189,11 @@ public final class SPUIComponentIdProvider { * ID-Dist.PIN. */ public static final String DIST_PIN_BUTTON = "dist.pin.button"; + + /** + * ID for distribution set tag icon + */ + public static final String SHOW_DIST_TAG_ICON = "show.dist.tags.icon"; /** * ID - soft.module.name. */ From 40e1891eb259a86c2f6219462a60c76e50a83eca Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Tue, 6 Sep 2016 10:58:44 +0200 Subject: [PATCH 05/23] Correct constant Signed-off-by: Melanie Retter --- .../eclipse/hawkbit/ui/management/targettable/TargetTable.java | 2 +- .../org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java index 26211f67d..24dff5b91 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java @@ -398,7 +398,7 @@ public class TargetTable extends AbstractTable { pinBtn.setStyleName(pinBtnStyle.toString()); pinBtn.setHeightUndefined(); pinBtn.setData(itemId); - pinBtn.setId(SPUIComponentIdProvider.TARGET_PIN_ICON + "." + itemId); + pinBtn.setId(SPUIComponentIdProvider.TARGET_PIN_ICON + itemId); pinBtn.addClickListener(this::addPinClickListener); if (isPinned(((TargetIdName) itemId).getControllerId())) { pinBtn.addStyleName(TARGET_PINNED); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java index 8c6624230..e2acd2a48 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java @@ -68,7 +68,7 @@ public final class SPUIComponentIdProvider { /** * ID-Targ.PIN. */ - public static final String TARGET_PIN_ICON = "target.pin.icon"; + public static final String TARGET_PIN_ICON = "target.pin.icon."; /** * Target search text id. From bdd56c3b4a63308d49aa0595b57baeb6412c4acd Mon Sep 17 00:00:00 2001 From: Michael Hirsch Date: Tue, 6 Sep 2016 11:26:56 +0200 Subject: [PATCH 06/23] validate the type parameter of softwaremodule Signed-off-by: Michael Hirsch --- .../rest/resource/MgmtSoftwareModuleMapper.java | 4 ++++ .../exception/ConstraintViolationException.java | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleMapper.java b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleMapper.java index adc19df0a..3960fb3c2 100644 --- a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleMapper.java +++ b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtSoftwareModuleMapper.java @@ -24,6 +24,7 @@ import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleRestApi; import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleTypeRestApi; import org.eclipse.hawkbit.repository.EntityFactory; import org.eclipse.hawkbit.repository.SoftwareManagement; +import org.eclipse.hawkbit.repository.exception.ConstraintViolationException; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.model.Artifact; import org.eclipse.hawkbit.repository.model.LocalArtifact; @@ -43,6 +44,9 @@ public final class MgmtSoftwareModuleMapper { private static SoftwareModuleType getSoftwareModuleTypeFromKeyString(final String type, final SoftwareManagement softwareManagement) { + if (type == null) { + throw new ConstraintViolationException("type cannot be null"); + } final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeByKey(type.trim()); diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ConstraintViolationException.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ConstraintViolationException.java index f7a7660cf..021d91526 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ConstraintViolationException.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ConstraintViolationException.java @@ -31,7 +31,18 @@ public class ConstraintViolationException extends AbstractServerRtException { * thrown */ public ConstraintViolationException(final javax.validation.ConstraintViolationException ex) { - super(getExceptionMessage(ex), SpServerError.SP_REPO_CONSTRAINT_VIOLATION); + this(getExceptionMessage(ex)); + } + + /** + * Creates a new {@link ConstraintViolationException} with the error code + * {@link SpServerError#SP_REPO_CONSTRAINT_VIOLATION}. + * + * @param msgText + * the message text for this exception + */ + public ConstraintViolationException(final String msgText) { + super(msgText, SpServerError.SP_REPO_CONSTRAINT_VIOLATION); } /** From e03bca45d525986ccbb656630f57e2b1302ef39c Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Wed, 7 Sep 2016 09:30:48 +0200 Subject: [PATCH 07/23] Allow DMF to be disabled Signed-off-by: Kai Zimmermann --- .../cache/eventbus/EventDistributor.java | 2 + .../hawkbit/eventbus/DeadEventListener.java | 2 + .../hawkbit/eventbus/EventSubscriber.java | 3 - .../EventBusSubscriberProcessorTest.java | 3 + .../hawkbit/amqp/AmqpConfiguration.java | 27 +++++++- ...java => AmqpControllerAuthentication.java} | 64 ++++++++----------- .../amqp/AmqpMessageDispatcherService.java | 26 +++----- .../amqp/AmqpMessageHandlerService.java | 4 +- .../eclipse/hawkbit/amqp/AmqpProperties.java | 54 ++++------------ .../AmqpControllerAuthenticationTest.java | 14 ++-- .../AmqpMessageDispatcherServiceTest.java | 7 +- .../amqp/AmqpMessageHandlerServiceTest.java | 2 +- .../repository/jpa/eventbus/EventMerger.java | 2 + 13 files changed, 94 insertions(+), 116 deletions(-) rename hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/{AmqpControllerAuthentfication.java => AmqpControllerAuthentication.java} (80%) diff --git a/hawkbit-cache-redis/src/main/java/org/eclipse/hawkbit/cache/eventbus/EventDistributor.java b/hawkbit-cache-redis/src/main/java/org/eclipse/hawkbit/cache/eventbus/EventDistributor.java index 973dcb6d6..4640de88d 100644 --- a/hawkbit-cache-redis/src/main/java/org/eclipse/hawkbit/cache/eventbus/EventDistributor.java +++ b/hawkbit-cache-redis/src/main/java/org/eclipse/hawkbit/cache/eventbus/EventDistributor.java @@ -23,6 +23,7 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.listener.PatternTopic; import org.springframework.data.redis.listener.Topic; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; +import org.springframework.stereotype.Service; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; @@ -32,6 +33,7 @@ import com.google.common.eventbus.Subscribe; * */ @EventSubscriber +@Service public class EventDistributor { private static final Logger LOGGER = LoggerFactory.getLogger(EventDistributor.class); diff --git a/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/DeadEventListener.java b/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/DeadEventListener.java index cc717efb3..27e397706 100644 --- a/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/DeadEventListener.java +++ b/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/DeadEventListener.java @@ -10,6 +10,7 @@ package org.eclipse.hawkbit.eventbus; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; import com.google.common.eventbus.DeadEvent; import com.google.common.eventbus.Subscribe; @@ -22,6 +23,7 @@ import com.google.common.eventbus.Subscribe; * */ @EventSubscriber +@Service public class DeadEventListener { private static final Logger LOG = LoggerFactory.getLogger(DeadEventListener.class); diff --git a/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/EventSubscriber.java b/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/EventSubscriber.java index 2a30d32b1..dd2f84074 100644 --- a/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/EventSubscriber.java +++ b/hawkbit-core/src/main/java/org/eclipse/hawkbit/eventbus/EventSubscriber.java @@ -14,8 +14,6 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; -import org.springframework.stereotype.Service; - /** * Marks an class as an event subscriber to listen on event on the event bus * without explicit register this class to the event bus. @@ -36,7 +34,6 @@ import org.springframework.stereotype.Service; */ @Target({ TYPE }) @Retention(RUNTIME) -@Service public @interface EventSubscriber { } diff --git a/hawkbit-core/src/test/java/org/eclipse/hawkbit/eventbus/EventBusSubscriberProcessorTest.java b/hawkbit-core/src/test/java/org/eclipse/hawkbit/eventbus/EventBusSubscriberProcessorTest.java index 548bf7e7e..de85af07b 100644 --- a/hawkbit-core/src/test/java/org/eclipse/hawkbit/eventbus/EventBusSubscriberProcessorTest.java +++ b/hawkbit-core/src/test/java/org/eclipse/hawkbit/eventbus/EventBusSubscriberProcessorTest.java @@ -17,6 +17,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import org.springframework.stereotype.Service; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; @@ -56,6 +57,7 @@ public class EventBusSubscriberProcessorTest { } @EventSubscriber + @Service private class TestEventSubscriberClass { @Subscribe public void subscribe(final String s) { @@ -64,6 +66,7 @@ public class EventBusSubscriberProcessorTest { } @EventSubscriber + @Service private class TestWrongEventSubscriberClass { public void methodWithoutAnnotation(final String s) { diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java index 1cfb0f462..174248011 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java @@ -14,7 +14,13 @@ import java.util.Map; import java.util.concurrent.Executor; import java.util.concurrent.ScheduledExecutorService; +import org.eclipse.hawkbit.api.ArtifactUrlHandler; import org.eclipse.hawkbit.dmf.amqp.api.AmqpSettings; +import org.eclipse.hawkbit.repository.ControllerManagement; +import org.eclipse.hawkbit.repository.TenantConfigurationManagement; +import org.eclipse.hawkbit.security.DdiSecurityProperties; +import org.eclipse.hawkbit.security.SystemSecurityContext; +import org.eclipse.hawkbit.tenancy.TenantAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Binding; @@ -33,6 +39,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.autoconfigure.amqp.RabbitProperties; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -41,11 +48,12 @@ import org.springframework.retry.support.RetryTemplate; import org.springframework.util.ErrorHandler; /** - * The spring AMQP configuration which is enabled by using the profile - * {@code amqp} to use a AMQP for communication with SP enabled devices. + * Spring configuration for AMQP 0.9 based DMF communication for indirect device + * integration. * */ @EnableConfigurationProperties({ AmqpProperties.class, AmqpDeadletterProperties.class }) +@ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled") public class AmqpConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(AmqpConfiguration.class); @@ -61,6 +69,7 @@ public class AmqpConfiguration { @Configuration @ConditionalOnMissingBean(ConnectionFactory.class) + @ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled") protected static class RabbitConnectionFactoryCreator { @Autowired @@ -280,6 +289,20 @@ public class AmqpConfiguration { return new ConfigurableRabbitListenerContainerFactory(amqpProperties, rabbitConnectionFactory, errorHandler); } + @Bean + public AmqpControllerAuthentication amqpControllerAuthentication(final ControllerManagement controllerManagement, + final TenantConfigurationManagement tenantConfigurationManagement, final TenantAware tenantAware, + final DdiSecurityProperties ddiSecruityProperties, final SystemSecurityContext systemSecurityContext) { + return new AmqpControllerAuthentication(controllerManagement, tenantConfigurationManagement, tenantAware, + ddiSecruityProperties, systemSecurityContext); + } + + @Bean + public AmqpMessageDispatcherService amqpMessageDispatcherService(final RabbitTemplate rabbitTemplate, + final AmqpSenderService amqpSenderService, final ArtifactUrlHandler artifactUrlHandler) { + return new AmqpMessageDispatcherService(rabbitTemplate, amqpSenderService, artifactUrlHandler); + } + private static Map getTTLMaxArgsAuthenticationQueue() { final Map args = new HashMap<>(); args.put("x-message-ttl", Duration.ofSeconds(30).toMillis()); diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentfication.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentication.java similarity index 80% rename from hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentfication.java rename to hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentication.java index ccefb01a1..2e604aad1 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentfication.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentication.java @@ -29,44 +29,51 @@ import org.eclipse.hawkbit.security.SystemSecurityContext; import org.eclipse.hawkbit.tenancy.TenantAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.Authentication; import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; -import org.springframework.stereotype.Component; /** * - * A controller which handles the amqp authentfication. + * A controller which handles the DMF AMQP authentication. */ -@Component -public class AmqpControllerAuthentfication { +public class AmqpControllerAuthentication { - private static final Logger LOGGER = LoggerFactory.getLogger(AmqpControllerAuthentfication.class); + private static final Logger LOGGER = LoggerFactory.getLogger(AmqpControllerAuthentication.class); - private final PreAuthTokenSourceTrustAuthenticationProvider preAuthenticatedAuthenticationProvider; + private final PreAuthTokenSourceTrustAuthenticationProvider preAuthenticatedAuthenticationProvider = new PreAuthTokenSourceTrustAuthenticationProvider(); private final List filterChain = new ArrayList<>(); - @Autowired - private ControllerManagement controllerManagement; + private final ControllerManagement controllerManagement; - @Autowired - private TenantConfigurationManagement tenantConfigurationManagement; + private final TenantConfigurationManagement tenantConfigurationManagement; - @Autowired - private TenantAware tenantAware; + private final TenantAware tenantAware; - @Autowired - private DdiSecurityProperties ddiSecruityProperties; + private final DdiSecurityProperties ddiSecruityProperties; - @Autowired - private SystemSecurityContext systemSecurityContext; + private final SystemSecurityContext systemSecurityContext; /** * Constructor. + * + * @param controllerManagement + * @param tenantConfigurationManagement + * @param tenantAware + * current tenant + * @param ddiSecruityProperties + * security configurations + * @param systemSecurityContext + * security context */ - public AmqpControllerAuthentfication() { - preAuthenticatedAuthenticationProvider = new PreAuthTokenSourceTrustAuthenticationProvider(); + public AmqpControllerAuthentication(final ControllerManagement controllerManagement, + final TenantConfigurationManagement tenantConfigurationManagement, final TenantAware tenantAware, + final DdiSecurityProperties ddiSecruityProperties, final SystemSecurityContext systemSecurityContext) { + this.controllerManagement = controllerManagement; + this.tenantConfigurationManagement = tenantConfigurationManagement; + this.tenantAware = tenantAware; + this.ddiSecruityProperties = ddiSecruityProperties; + this.systemSecurityContext = systemSecurityContext; } /** @@ -139,23 +146,4 @@ public class AmqpControllerAuthentfication { return new PreAuthenticatedAuthenticationToken(principal, credentials); } - public void setControllerManagement(final ControllerManagement controllerManagement) { - this.controllerManagement = controllerManagement; - } - - public void setSecruityProperties(final DdiSecurityProperties secruityProperties) { - this.ddiSecruityProperties = secruityProperties; - } - - public void setTenantConfigurationManagement(final TenantConfigurationManagement tenantConfigurationManagement) { - this.tenantConfigurationManagement = tenantConfigurationManagement; - } - - public void setTenantAware(final TenantAware tenantAware) { - this.tenantAware = tenantAware; - } - - void setSystemSecurityContext(final SystemSecurityContext systemSecurityContext) { - this.systemSecurityContext = systemSecurityContext; - } } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java index b643be322..67cd4f593 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java @@ -31,7 +31,6 @@ import org.eclipse.hawkbit.util.IpUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; import com.google.common.eventbus.Subscribe; @@ -46,21 +45,24 @@ import com.google.common.eventbus.Subscribe; @EventSubscriber public class AmqpMessageDispatcherService extends BaseAmqpService { - @Autowired - private ArtifactUrlHandler artifactUrlHandler; - - @Autowired - private AmqpSenderService amqpSenderService; + private final ArtifactUrlHandler artifactUrlHandler; + private final AmqpSenderService amqpSenderService; /** * Constructor. * * @param rabbitTemplate * the rabbitTemplate + * @param amqpSenderService + * so send AMQP message + * @param artifactUrlHandler + * for generating download URLs */ - @Autowired - public AmqpMessageDispatcherService(final RabbitTemplate rabbitTemplate) { + public AmqpMessageDispatcherService(final RabbitTemplate rabbitTemplate, final AmqpSenderService amqpSenderService, + final ArtifactUrlHandler artifactUrlHandler) { super(rabbitTemplate); + this.artifactUrlHandler = artifactUrlHandler; + this.amqpSenderService = amqpSenderService; } /** @@ -178,12 +180,4 @@ public class AmqpMessageDispatcherService extends BaseAmqpService { artifact.setSize(localArtifact.getSize()); return artifact; } - - public void setArtifactUrlHandler(final ArtifactUrlHandler artifactUrlHandler) { - this.artifactUrlHandler = artifactUrlHandler; - } - - public void setAmqpSenderService(final AmqpSenderService amqpSenderService) { - this.amqpSenderService = amqpSenderService; - } } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java index dd152bd5a..e9abd685f 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java @@ -90,7 +90,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { private ControllerManagement controllerManagement; @Autowired - private AmqpControllerAuthentfication authenticationManager; + private AmqpControllerAuthentication authenticationManager; @Autowired private ArtifactManagement artifactManagement; @@ -503,7 +503,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { this.hostnameResolver = hostnameResolver; } - void setAuthenticationManager(final AmqpControllerAuthentfication authenticationManager) { + void setAuthenticationManager(final AmqpControllerAuthentication authenticationManager) { this.authenticationManager = authenticationManager; } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpProperties.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpProperties.java index 56aa37772..b90f8ca46 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpProperties.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpProperties.java @@ -10,7 +10,6 @@ package org.eclipse.hawkbit.amqp; import java.util.concurrent.TimeUnit; -import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; import org.springframework.boot.context.properties.ConfigurationProperties; /** @@ -20,6 +19,12 @@ import org.springframework.boot.context.properties.ConfigurationProperties; */ @ConfigurationProperties("hawkbit.dmf.rabbitmq") public class AmqpProperties { + + /** + * Enable DMF API based on AMQP 0.9 + */ + private boolean enabled = true; + /** * DMF API dead letter queue. */ @@ -76,17 +81,10 @@ public class AmqpProperties { */ private int declarationRetries = 50; - /** - * @return the declarationRetries - */ public int getDeclarationRetries() { return declarationRetries; } - /** - * @param declarationRetries - * the declarationRetries to set - */ public void setDeclarationRetries(final int declarationRetries) { this.declarationRetries = declarationRetries; } @@ -123,59 +121,26 @@ public class AmqpProperties { this.maxConcurrentConsumers = maxConcurrentConsumers; } - /** - * Is missingQueuesFatal enabled - * - * @see SimpleMessageListenerContainer#setMissingQueuesFatal - * @return the missingQueuesFatal enabled disabled - */ public boolean isMissingQueuesFatal() { return missingQueuesFatal; } - /** - * @param missingQueuesFatal - * the missingQueuesFatal to set. - * @see SimpleMessageListenerContainer#setMissingQueuesFatal - */ public void setMissingQueuesFatal(final boolean missingQueuesFatal) { this.missingQueuesFatal = missingQueuesFatal; } - /** - * Returns the dead letter exchange. - * - * @return dead letter exchange - */ public String getDeadLetterExchange() { return deadLetterExchange; } - /** - * Sets the dead letter exchange. - * - * @param deadLetterExchange - * the deadLetterExchange to be set - */ public void setDeadLetterExchange(final String deadLetterExchange) { this.deadLetterExchange = deadLetterExchange; } - /** - * Returns the dead letter queue. - * - * @return the dead letter queue - */ public String getDeadLetterQueue() { return deadLetterQueue; } - /** - * Sets the dead letter queue. - * - * @param deadLetterQueue - * the deadLetterQueue ro be set - */ public void setDeadLetterQueue(final String deadLetterQueue) { this.deadLetterQueue = deadLetterQueue; } @@ -196,4 +161,11 @@ public class AmqpProperties { this.receiverQueue = receiverQueue; } + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(final boolean enabled) { + this.enabled = enabled; + } } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthenticationTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthenticationTest.java index aa2a7c150..9c1265960 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthenticationTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthenticationTest.java @@ -61,7 +61,7 @@ public class AmqpControllerAuthenticationTest { private AmqpMessageHandlerService amqpMessageHandlerService; private MessageConverter messageConverter; private TenantConfigurationManagement tenantConfigurationManagement; - private AmqpControllerAuthentfication authenticationManager; + private AmqpControllerAuthentication authenticationManager; private static final TenantConfigurationValue CONFIG_VALUE_FALSE = TenantConfigurationValue . builder().value(Boolean.FALSE).build(); @@ -77,9 +77,6 @@ public class AmqpControllerAuthenticationTest { amqpMessageHandlerService = new AmqpMessageHandlerService(rabbitTemplate, mock(AmqpMessageDispatcherService.class)); - authenticationManager = new AmqpControllerAuthentfication(); - authenticationManager.setControllerManagement(mock(ControllerManagement.class)); - final DdiSecurityProperties secruityProperties = mock(DdiSecurityProperties.class); final Rp rp = mock(Rp.class); final org.eclipse.hawkbit.security.DdiSecurityProperties.Authentication ddiAuthentication = mock( @@ -90,23 +87,22 @@ public class AmqpControllerAuthenticationTest { when(secruityProperties.getAuthentication()).thenReturn(ddiAuthentication); when(ddiAuthentication.getAnonymous()).thenReturn(anonymous); when(anonymous.isEnabled()).thenReturn(false); - authenticationManager.setSecruityProperties(secruityProperties); tenantConfigurationManagement = mock(TenantConfigurationManagement.class); - authenticationManager.setTenantConfigurationManagement(tenantConfigurationManagement); when(tenantConfigurationManagement.getConfigurationValue(any(), eq(Boolean.class))) .thenReturn(CONFIG_VALUE_FALSE); final ControllerManagement controllerManagement = mock(ControllerManagement.class); when(controllerManagement.getSecurityTokenByControllerId(anyString())).thenReturn(CONTROLLLER_ID); - authenticationManager.setControllerManagement(controllerManagement); amqpMessageHandlerService.setArtifactManagement(mock(ArtifactManagement.class)); final SecurityContextTenantAware tenantAware = new SecurityContextTenantAware(); - authenticationManager.setTenantAware(tenantAware); final SystemSecurityContext systemSecurityContext = new SystemSecurityContext(tenantAware); - authenticationManager.setSystemSecurityContext(systemSecurityContext); + + authenticationManager = new AmqpControllerAuthentication(controllerManagement, tenantConfigurationManagement, + tenantAware, secruityProperties, systemSecurityContext); + authenticationManager.postConstruct(); amqpMessageHandlerService.setAuthenticationManager(authenticationManager); } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java index ee9f2b528..7bfe6f981 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java @@ -79,17 +79,16 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { super.before(); this.rabbitTemplate = Mockito.mock(RabbitTemplate.class); when(rabbitTemplate.getMessageConverter()).thenReturn(new Jackson2JsonMessageConverter()); - amqpMessageDispatcherService = new AmqpMessageDispatcherService(rabbitTemplate); - amqpMessageDispatcherService = spy(amqpMessageDispatcherService); senderService = Mockito.mock(DefaultAmqpSenderService.class); - amqpMessageDispatcherService.setAmqpSenderService(senderService); final ArtifactUrlHandler artifactUrlHandlerMock = Mockito.mock(ArtifactUrlHandler.class); when(artifactUrlHandlerMock.getUrl(anyString(), anyLong(), anyString(), anyString(), anyObject())) .thenReturn("http://mockurl"); - amqpMessageDispatcherService.setArtifactUrlHandler(artifactUrlHandlerMock); + amqpMessageDispatcherService = new AmqpMessageDispatcherService(rabbitTemplate, senderService, + artifactUrlHandlerMock); + amqpMessageDispatcherService = spy(amqpMessageDispatcherService); } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java index 9ed314ebc..3277b4cbb 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java @@ -98,7 +98,7 @@ public class AmqpMessageHandlerServiceTest { private ArtifactManagement artifactManagementMock; @Mock - private AmqpControllerAuthentfication authenticationManagerMock; + private AmqpControllerAuthentication authenticationManagerMock; @Mock private ArtifactRepository artifactRepositoryMock; diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/eventbus/EventMerger.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/eventbus/EventMerger.java index 6a4302c5b..572f64369 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/eventbus/EventMerger.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/eventbus/EventMerger.java @@ -25,6 +25,7 @@ import org.eclipse.hawkbit.repository.model.Rollout; import org.eclipse.hawkbit.repository.model.RolloutGroup; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Service; import com.google.common.eventbus.AllowConcurrentEvents; import com.google.common.eventbus.EventBus; @@ -40,6 +41,7 @@ import com.google.common.eventbus.Subscribe; * */ @EventSubscriber +@Service public class EventMerger { private static final Set rolloutEvents = ConcurrentHashMap.newKeySet(); From be841c6095d51280c7debb1d95f0adbbcb0bcc52 Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Wed, 7 Sep 2016 09:32:18 +0200 Subject: [PATCH 08/23] Fixed feign usage after Spring Boot 1.3 upgrade Signed-off-by: Kai Zimmermann --- .../simulator/SimulationController.java | 2 +- .../hawkbit-example-core-feign-client/pom.xml | 1 - ...leConsumersProducersSpringMvcContract.java | 3 ++ .../hawkbit-example-ddi-feign-client/pom.xml | 12 ------ .../MgmtDistributionSetClientResource.java | 3 +- .../MgmtDistributionSetTagClientResource.java | 3 +- ...MgmtDistributionSetTypeClientResource.java | 3 +- .../MgmtDownloadArtifactClientResource.java | 3 +- .../resource/MgmtDownloadClientResource.java | 3 +- .../resource/MgmtRolloutClientResource.java | 3 +- .../MgmtSoftwareModuleClientResource.java | 3 +- .../MgmtSoftwareModuleTypeClientResource.java | 3 +- .../resource/MgmtSystemClientResource.java | 3 +- .../MgmtSystemManagementClientResource.java | 3 +- .../resource/MgmtTargetClientResource.java | 3 +- .../resource/MgmtTargetTagClientResource.java | 3 +- .../hawkbit-example-mgmt-simulator/pom.xml | 28 ------------- .../hawkbit/mgmt/client/Application.java | 42 +++---------------- .../scenarios/ConfigurableScenario.java | 15 +------ .../CreateStartedRolloutExample.java | 2 - examples/pom.xml | 29 ++++--------- .../rest/api/DdiRootControllerRestApi.java | 7 ++-- .../rest/api/MgmtDistributionSetRestApi.java | 17 ++++---- .../api/MgmtDistributionSetTagRestApi.java | 9 ++-- .../api/MgmtDistributionSetTypeRestApi.java | 9 ++-- .../mgmt/rest/api/MgmtRolloutRestApi.java | 3 +- .../rest/api/MgmtSoftwareModuleRestApi.java | 9 ++-- .../api/MgmtSoftwareModuleTypeRestApi.java | 5 +-- .../mgmt/rest/api/MgmtSystemRestApi.java | 3 +- .../mgmt/rest/api/MgmtTargetRestApi.java | 7 ++-- .../mgmt/rest/api/MgmtTargetTagRestApi.java | 9 ++-- 31 files changed, 66 insertions(+), 182 deletions(-) diff --git a/examples/hawkbit-device-simulator/src/main/java/org/eclipse/hawkbit/simulator/SimulationController.java b/examples/hawkbit-device-simulator/src/main/java/org/eclipse/hawkbit/simulator/SimulationController.java index b100cb28f..2ae8027ca 100644 --- a/examples/hawkbit-device-simulator/src/main/java/org/eclipse/hawkbit/simulator/SimulationController.java +++ b/examples/hawkbit-device-simulator/src/main/java/org/eclipse/hawkbit/simulator/SimulationController.java @@ -93,7 +93,7 @@ public class SimulationController { gatewayToken)); } - return ResponseEntity.ok("Updated " + amount + " DMF connected targets!"); + return ResponseEntity.ok("Updated " + amount + " " + protocol + " connected targets!"); } private boolean isDmfDisabled() { diff --git a/examples/hawkbit-example-core-feign-client/pom.xml b/examples/hawkbit-example-core-feign-client/pom.xml index 5b3df2ef2..4e881d5ac 100644 --- a/examples/hawkbit-example-core-feign-client/pom.xml +++ b/examples/hawkbit-example-core-feign-client/pom.xml @@ -32,7 +32,6 @@ org.springframework.cloud spring-cloud-netflix-core - 1.0.7.RELEASE org.slf4j diff --git a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java index b04143cdf..f7cf14026 100644 --- a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java +++ b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java @@ -10,12 +10,14 @@ package org.eclipse.hawkbit.feign.core.client; import java.lang.annotation.Annotation; import java.lang.reflect.Method; +import java.util.LinkedHashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.netflix.feign.support.SpringMvcContract; import feign.MethodMetadata; +import feign.Param; /** * Own implementation of the {@link SpringMvcContract} which catches the @@ -39,5 +41,6 @@ public class IgnoreMultipleConsumersProducersSpringMvcContract extends SpringMvc // https://github.com/spring-cloud/spring-cloud-netflix/issues/808 LOGGER.trace(e.getMessage(), e); } + data.indexToExpander(new LinkedHashMap()); } } diff --git a/examples/hawkbit-example-ddi-feign-client/pom.xml b/examples/hawkbit-example-ddi-feign-client/pom.xml index 5388544db..3797d609b 100644 --- a/examples/hawkbit-example-ddi-feign-client/pom.xml +++ b/examples/hawkbit-example-ddi-feign-client/pom.xml @@ -20,18 +20,6 @@ hawkBit-example :: DDI Feign Client - - - - org.springframework.cloud - spring-cloud-netflix - 1.0.7.RELEASE - pom - import - - - - org.eclipse.hawkbit diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java index 40eb13b55..b38fc8edc 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java @@ -9,13 +9,12 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.rest.api.MgmtDistributionSetRestApi; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the DistributionSet resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.DISTRIBUTIONSET_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtDistributionSetClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtDistributionSetClientResource extends MgmtDistributionSetRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java index 1070bbd9c..c08894cca 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java @@ -9,12 +9,11 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.rest.api.MgmtDistributionSetTagRestApi; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the DistributionSetTag resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.DISTRIBUTIONSET_TAG_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtDistributionSetTagClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtDistributionSetTagClientResource extends MgmtDistributionSetTagRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java index 451c53942..d7cb509d8 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java @@ -9,14 +9,13 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.rest.api.MgmtDistributionSetTypeRestApi; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the DistributionSetType resource of the management API. * */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.DISTRIBUTIONSETTYPE_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtDistributionSetTypeClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtDistributionSetTypeClientResource extends MgmtDistributionSetTypeRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java index 5c93edce5..831b17a5f 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java @@ -9,14 +9,13 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.rest.api.MgmtDownloadArtifactRestApi; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * A feign-client interface declaration which allows to build a feign-client * stub. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.SOFTWAREMODULE_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtDownloadArtifactClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtDownloadArtifactClientResource extends MgmtDownloadArtifactRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java index 330d3908f..0a4d1f500 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java @@ -9,12 +9,11 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.rest.api.MgmtDownloadRestApi; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.DOWNLOAD_ID_V1_REQUEST_MAPPING_BASE) +@FeignClient(name = "MgmtDownloadClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtDownloadClientResource extends MgmtDownloadRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java index acc00d6fe..0d6856d98 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java @@ -8,13 +8,12 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtRolloutRestApi; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the Rollout resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.ROLLOUT_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtRolloutClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtRolloutClientResource extends MgmtRolloutRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java index 7a2267e24..c5d019e78 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java @@ -9,7 +9,6 @@ package org.eclipse.hawkbit.mgmt.client.resource; import org.eclipse.hawkbit.mgmt.json.model.artifact.MgmtArtifact; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleRestApi; import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.http.ResponseEntity; @@ -24,7 +23,7 @@ import feign.Param; /** * Client binding for the SoftwareModule resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.SOFTWAREMODULE_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtSoftwareModuleClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtSoftwareModuleClientResource extends MgmtSoftwareModuleRestApi { @Override diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java index 603e82f10..582ec1821 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java @@ -8,13 +8,12 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleTypeRestApi; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the SoftwareModuleType resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.SOFTWAREMODULETYPE_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtSoftwareModuleTypeClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtSoftwareModuleTypeClientResource extends MgmtSoftwareModuleTypeRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemClientResource.java index e1bbd909c..9486bc560 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemClientResource.java @@ -8,7 +8,6 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtSystemRestApi; import org.springframework.cloud.netflix.feign.FeignClient; @@ -16,6 +15,6 @@ import org.springframework.cloud.netflix.feign.FeignClient; * Client binding for the {@link MgmtSystemRestApi}. * */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.SYSTEM_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtSystemClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtSystemClientResource extends MgmtSystemRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemManagementClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemManagementClientResource.java index 802194fe8..8cb293ea7 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemManagementClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSystemManagementClientResource.java @@ -8,7 +8,6 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtSystemManagementRestApi; import org.springframework.cloud.netflix.feign.FeignClient; @@ -16,7 +15,7 @@ import org.springframework.cloud.netflix.feign.FeignClient; * Client binding for the {@link MgmtSystemManagementRestApi}. * */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.SYSTEM_ADMIN_MAPPING) +@FeignClient(name = "MgmtSystemManagementClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtSystemManagementClientResource extends MgmtSystemManagementRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java index c0a0193af..a64509340 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java @@ -8,13 +8,12 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetRestApi; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the Target resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.TARGET_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtTargetClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtTargetClientResource extends MgmtTargetRestApi { } diff --git a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java index 3f9264337..b1d264e78 100644 --- a/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java +++ b/examples/hawkbit-example-mgmt-feign-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java @@ -8,13 +8,12 @@ */ package org.eclipse.hawkbit.mgmt.client.resource; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetTagRestApi; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the TargetTag resource of the management API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}" + MgmtRestConstants.TARGET_TAG_V1_REQUEST_MAPPING) +@FeignClient(name = "MgmtTargetTagClient", url = "${hawkbit.url:localhost:8080}") public interface MgmtTargetTagClientResource extends MgmtTargetTagRestApi { } diff --git a/examples/hawkbit-example-mgmt-simulator/pom.xml b/examples/hawkbit-example-mgmt-simulator/pom.xml index 469290dfc..dcf1bc735 100644 --- a/examples/hawkbit-example-mgmt-simulator/pom.xml +++ b/examples/hawkbit-example-mgmt-simulator/pom.xml @@ -42,40 +42,12 @@ - - - - org.springframework.cloud - spring-cloud-netflix - 1.0.7.RELEASE - pom - import - - - - org.eclipse.hawkbit hawkbit-example-mgmt-feign-client ${project.version} - - com.netflix.feign - feign-core - - - com.netflix.feign - feign-jackson - - - com.fasterxml.jackson.core - jackson-databind - - - hibernate-validator - org.hibernate - org.springframework.boot spring-boot-starter diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java index ac65455b5..aae1bf8da 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java @@ -9,37 +9,26 @@ package org.eclipse.hawkbit.mgmt.client; import org.eclipse.hawkbit.feign.core.client.FeignClientConfiguration; -import org.eclipse.hawkbit.feign.core.client.IgnoreMultipleConsumersProducersSpringMvcContract; import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtRolloutClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtTargetClientResource; import org.eclipse.hawkbit.mgmt.client.scenarios.ConfigurableScenario; import org.eclipse.hawkbit.mgmt.client.scenarios.CreateStartedRolloutExample; -import org.eclipse.hawkbit.mgmt.client.scenarios.upload.FeignMultipartEncoder; -import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.Banner.Mode; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.netflix.feign.EnableFeignClients; -import org.springframework.cloud.netflix.feign.support.ResponseEntityDecoder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import org.springframework.hateoas.hal.Jackson2HalModule; -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; - -import feign.Feign; import feign.Logger; import feign.auth.BasicAuthRequestInterceptor; -import feign.jackson.JacksonDecoder; -import feign.slf4j.Slf4jLogger; @SpringBootApplication @EnableFeignClients("org.eclipse.hawkbit.mgmt.client.resource") @@ -49,9 +38,6 @@ import feign.slf4j.Slf4jLogger; @Import(FeignClientConfiguration.class) public class Application implements CommandLineRunner { - @Autowired - private ClientConfigurationProperties configuration; - @Autowired private ConfigurableScenario configuredScenario; @@ -59,7 +45,7 @@ public class Application implements CommandLineRunner { private CreateStartedRolloutExample gettingStartedRolloutScenario; public static void main(final String[] args) { - new SpringApplicationBuilder().showBanner(false).sources(Application.class).run(args); + new SpringApplicationBuilder().bannerMode(Mode.OFF).sources(Application.class).run(args); } @Override @@ -74,18 +60,17 @@ public class Application implements CommandLineRunner { } @Bean - public BasicAuthRequestInterceptor basicAuthRequestInterceptor() { + public BasicAuthRequestInterceptor basicAuthRequestInterceptor(final ClientConfigurationProperties configuration) { return new BasicAuthRequestInterceptor(configuration.getUsername(), configuration.getPassword()); } @Bean public ConfigurableScenario configurableScenario(final MgmtDistributionSetClientResource distributionSetResource, - @Qualifier("mgmtSoftwareModuleClientResource") final MgmtSoftwareModuleClientResource softwareModuleResource, - @Qualifier("uploadSoftwareModule") final MgmtSoftwareModuleClientResource uploadSoftwareModule, + final MgmtSoftwareModuleClientResource softwareModuleResource, final MgmtTargetClientResource targetResource, final MgmtRolloutClientResource rolloutResource, final ClientConfigurationProperties clientConfigurationProperties) { - return new ConfigurableScenario(distributionSetResource, softwareModuleResource, uploadSoftwareModule, - targetResource, rolloutResource, clientConfigurationProperties); + return new ConfigurableScenario(distributionSetResource, softwareModuleResource, targetResource, + rolloutResource, clientConfigurationProperties); } @Bean @@ -98,21 +83,6 @@ public class Application implements CommandLineRunner { return Logger.Level.FULL; } - @Bean - public MgmtSoftwareModuleClientResource uploadSoftwareModule() { - final ObjectMapper mapper = new ObjectMapper() - .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) - .registerModule(new Jackson2HalModule()); - - return Feign.builder().contract(new IgnoreMultipleConsumersProducersSpringMvcContract()) - .requestInterceptor( - new BasicAuthRequestInterceptor(configuration.getUsername(), configuration.getPassword())) - .logger(new Slf4jLogger()).encoder(new FeignMultipartEncoder()) - .decoder(new ResponseEntityDecoder(new JacksonDecoder(mapper))) - .target(MgmtSoftwareModuleClientResource.class, - configuration.getUrl() + MgmtRestConstants.SOFTWAREMODULE_V1_REQUEST_MAPPING); - } - private static boolean containsArg(final String containsArg, final String... args) { for (final String arg : args) { if (arg.equalsIgnoreCase(containsArg)) { diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java index a09459e07..5eae96931 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java @@ -23,7 +23,6 @@ import org.eclipse.hawkbit.mgmt.client.resource.builder.RolloutBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.SoftwareModuleAssigmentBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.SoftwareModuleBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.TargetBuilder; -import org.eclipse.hawkbit.mgmt.client.scenarios.upload.ArtifactFile; import org.eclipse.hawkbit.mgmt.json.model.PagedList; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtDistributionSet; import org.eclipse.hawkbit.mgmt.json.model.rollout.MgmtRolloutResponseBody; @@ -31,7 +30,6 @@ import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModule; import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Qualifier; /** * @@ -50,8 +48,6 @@ public class ConfigurableScenario { private final MgmtSoftwareModuleClientResource softwareModuleResource; - private final MgmtSoftwareModuleClientResource uploadSoftwareModule; - private final MgmtTargetClientResource targetResource; private final MgmtRolloutClientResource rolloutResource; @@ -59,13 +55,11 @@ public class ConfigurableScenario { private final ClientConfigurationProperties clientConfigurationProperties; public ConfigurableScenario(final MgmtDistributionSetClientResource distributionSetResource, - @Qualifier("mgmtSoftwareModuleClientResource") final MgmtSoftwareModuleClientResource softwareModuleResource, - @Qualifier("uploadSoftwareModule") final MgmtSoftwareModuleClientResource uploadSoftwareModule, + final MgmtSoftwareModuleClientResource softwareModuleResource, final MgmtTargetClientResource targetResource, final MgmtRolloutClientResource rolloutResource, final ClientConfigurationProperties clientConfigurationProperties) { this.distributionSetResource = distributionSetResource; this.softwareModuleResource = softwareModuleResource; - this.uploadSoftwareModule = uploadSoftwareModule; this.targetResource = targetResource; this.rolloutResource = rolloutResource; this.clientConfigurationProperties = clientConfigurationProperties; @@ -191,13 +185,6 @@ public class ConfigurableScenario { .type("application").buildAsList(scenario.getAppModulesPerDistributionSet())) .getBody()); - for (int x = 0; x < scenario.getArtifactsPerSM(); x++) { - modules.forEach(module -> { - final ArtifactFile file = new ArtifactFile("dummyfile.dummy", null, "multipart/form-data", artifact); - uploadSoftwareModule.uploadArtifact(module.getModuleId(), file, null, null, null); - }); - } - return modules; } diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java index b450bbde2..913d2eaa4 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java @@ -28,7 +28,6 @@ import org.eclipse.hawkbit.mgmt.json.model.rollout.MgmtRolloutResponseBody; import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModule; import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleType; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; /** * Example for creating and starting a Rollout. @@ -46,7 +45,6 @@ public class CreateStartedRolloutExample { private MgmtDistributionSetClientResource distributionSetResource; @Autowired - @Qualifier("mgmtSoftwareModuleClientResource") private MgmtSoftwareModuleClientResource softwareModuleResource; @Autowired diff --git a/examples/pom.xml b/examples/pom.xml index fb8ef3fc3..85dd70651 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -8,7 +8,8 @@ http://www.eclipse.org/legal/epl-v10.html --> - + 4.0.0 @@ -28,33 +29,21 @@ hawkbit-example-ddi-feign-client hawkbit-example-mgmt-feign-client hawkbit-example-mgmt-simulator - - - - - 8.14.2 - + - com.netflix.feign - feign-core - - - ${feign.version} + org.springframework.cloud + spring-cloud-dependencies + Brixton.SR5 + pom + import com.netflix.feign feign-jackson - - - ${feign.version} - - - com.netflix.feign - feign-slf4j - ${feign.version} + 8.16.2 diff --git a/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java b/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java index 67436c3ca..f4c80c778 100644 --- a/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java +++ b/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java @@ -25,7 +25,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -150,7 +149,7 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.DEPLOYMENT_BASE_ACTION + "/{actionId}/" + DdiRestConstants.FEEDBACK, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity postBasedeploymentActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, + ResponseEntity postBasedeploymentActionFeedback(@Valid final DdiActionFeedback feedback, @PathVariable("targetid") final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId); /** @@ -167,7 +166,7 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.CONFIG_DATA_ACTION, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity putConfigData(@Valid @RequestBody final DdiConfigData configData, + ResponseEntity putConfigData(@Valid final DdiConfigData configData, @PathVariable("targetid") final String targetid); /** @@ -205,7 +204,7 @@ public interface DdiRootControllerRestApi { @RequestMapping(value = "/{targetid}/" + DdiRestConstants.CANCEL_ACTION + "/{actionId}/" + DdiRestConstants.FEEDBACK, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity postCancelActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, + ResponseEntity postCancelActionFeedback(@Valid final DdiActionFeedback feedback, @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId); diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java index c61c9ecd3..0a28c2226 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java @@ -23,7 +23,6 @@ import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -55,8 +54,8 @@ public interface MgmtDistributionSetRestApi { */ @RequestMapping(method = RequestMethod.GET, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> getDistributionSets( - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, + @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET) final int pagingOffsetParam, + @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT) final int pagingLimitParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam); @@ -88,7 +87,7 @@ public interface MgmtDistributionSetRestApi { @RequestMapping(method = RequestMethod.POST, consumes = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> createDistributionSets( - @RequestBody final List sets); + final List sets); /** * Handles the DELETE request for a single DistributionSet . @@ -116,7 +115,7 @@ public interface MgmtDistributionSetRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity updateDistributionSet( @PathVariable("distributionSetId") final Long distributionSetId, - @RequestBody final MgmtDistributionSetRequestBodyPut toUpdate); + final MgmtDistributionSetRequestBodyPut toUpdate); /** * Handles the GET request of retrieving assigned targets to a specific @@ -198,7 +197,7 @@ public interface MgmtDistributionSetRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity createAssignedTarget( @PathVariable("distributionSetId") final Long distributionSetId, - @RequestBody final List targetIds); + final List targetIds); /** * Gets a paged list of meta data for a distribution set. @@ -256,7 +255,7 @@ public interface MgmtDistributionSetRestApi { @RequestMapping(method = RequestMethod.PUT, value = "/{distributionSetId}/metadata/{metadataKey}", produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity updateMetadata(@PathVariable("distributionSetId") final Long distributionSetId, - @PathVariable("metadataKey") final String metadataKey, @RequestBody final MgmtMetadata metadata); + @PathVariable("metadataKey") final String metadataKey, final MgmtMetadata metadata); /** * Deletes a single meta data entry from the distribution set. @@ -285,7 +284,7 @@ public interface MgmtDistributionSetRestApi { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }, produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity> createMetadata(@PathVariable("distributionSetId") final Long distributionSetId, - @RequestBody final List metadataRest); + final List metadataRest); /** * Assigns a list of software modules to a distribution set. @@ -301,7 +300,7 @@ public interface MgmtDistributionSetRestApi { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity assignSoftwareModules(@PathVariable("distributionSetId") final Long distributionSetId, - @RequestBody final List softwareModuleIDs); + final List softwareModuleIDs); /** * Deletes the assignment of the software module form the distribution set. diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTagRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTagRestApi.java index 5a836ef55..2342cff6e 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTagRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTagRestApi.java @@ -19,7 +19,6 @@ import org.eclipse.hawkbit.mgmt.json.model.tag.MgmtTagRequestBodyPut; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -82,7 +81,7 @@ public interface MgmtDistributionSetTagRestApi { */ @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> createDistributionSetTags(@RequestBody final List tags); + ResponseEntity> createDistributionSetTags(final List tags); /** * @@ -99,7 +98,7 @@ public interface MgmtDistributionSetTagRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateDistributionSetTag( @PathVariable("distributionsetTagId") final Long distributionsetTagId, - @RequestBody final MgmtTagRequestBodyPut restDSTagRest); + final MgmtTagRequestBodyPut restDSTagRest); /** * Handles the DELETE request for a single distribution set tag. @@ -142,7 +141,7 @@ public interface MgmtDistributionSetTagRestApi { + "/toggleTagAssignment") ResponseEntity toggleTagAssignment( @PathVariable("distributionsetTagId") final Long distributionsetTagId, - @RequestBody final List assignedDSRequestBodies); + final List assignedDSRequestBodies); /** * Handles the POST request to assign distribution sets to the given tag id. @@ -157,7 +156,7 @@ public interface MgmtDistributionSetTagRestApi { @RequestMapping(method = RequestMethod.POST, value = MgmtRestConstants.DISTRIBUTIONSET_REQUEST_MAPPING) ResponseEntity> assignDistributionSets( @PathVariable("distributionsetTagId") final Long distributionsetTagId, - @RequestBody final List assignedDSRequestBodies); + final List assignedDSRequestBodies); /** * Handles the DELETE request to unassign all distribution set from the diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTypeRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTypeRestApi.java index 25468739e..aeddbe1e7 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTypeRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetTypeRestApi.java @@ -19,7 +19,6 @@ import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModule import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -99,7 +98,7 @@ public interface MgmtDistributionSetTypeRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateDistributionSetType( @PathVariable("distributionSetTypeId") final Long distributionSetTypeId, - @RequestBody final MgmtDistributionSetTypeRequestBodyPut restDistributionSetType); + final MgmtDistributionSetTypeRequestBodyPut restDistributionSetType); /** * Handles the POST request of creating new DistributionSetTypes. The @@ -115,7 +114,7 @@ public interface MgmtDistributionSetTypeRestApi { @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> createDistributionSetTypes( - @RequestBody final List distributionSetTypes); + final List distributionSetTypes); /** * Handles the GET request of retrieving the list of mandatory software @@ -229,7 +228,7 @@ public interface MgmtDistributionSetTypeRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity addMandatoryModule(@PathVariable("distributionSetTypeId") final Long distributionSetTypeId, - @RequestBody final MgmtId smtId); + final MgmtId smtId); /** * Handles the POST request for adding an optional software module type to a @@ -247,6 +246,6 @@ public interface MgmtDistributionSetTypeRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity addOptionalModule(@PathVariable("distributionSetTypeId") final Long distributionSetTypeId, - @RequestBody final MgmtId smtId); + final MgmtId smtId); } diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtRolloutRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtRolloutRestApi.java index 7f93e2ce8..905bbad88 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtRolloutRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtRolloutRestApi.java @@ -16,7 +16,6 @@ import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -77,7 +76,7 @@ public interface MgmtRolloutRestApi { */ @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity create(@RequestBody final MgmtRolloutRestRequestBody rolloutRequestBody); + ResponseEntity create(final MgmtRolloutRestRequestBody rolloutRequestBody); /** * Handles the POST request for starting a rollout. diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleRestApi.java index cdd63ee26..cd40ffc0b 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleRestApi.java @@ -19,7 +19,6 @@ import org.eclipse.hawkbit.mgmt.json.model.softwaremodule.MgmtSoftwareModuleRequ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -162,7 +161,7 @@ public interface MgmtSoftwareModuleRestApi { @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> createSoftwareModules( - @RequestBody final List softwareModules); + final List softwareModules); /** * Handles the PUT request of updating a software module. @@ -177,7 +176,7 @@ public interface MgmtSoftwareModuleRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateSoftwareModule( @PathVariable("softwareModuleId") final Long softwareModuleId, - @RequestBody final MgmtSoftwareModuleRequestBodyPut restSoftwareModule); + final MgmtSoftwareModuleRequestBodyPut restSoftwareModule); /** * Handles the DELETE request for a single software module. @@ -246,7 +245,7 @@ public interface MgmtSoftwareModuleRestApi { @RequestMapping(method = RequestMethod.PUT, value = "/{softwareModuleId}/metadata/{metadataKey}", produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity updateMetadata(@PathVariable("softwareModuleId") final Long softwareModuleId, - @PathVariable("metadataKey") final String metadataKey, @RequestBody final MgmtMetadata metadata); + @PathVariable("metadataKey") final String metadataKey, final MgmtMetadata metadata); /** * Deletes a single meta data entry from the software module. @@ -275,6 +274,6 @@ public interface MgmtSoftwareModuleRestApi { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }, produces = { MediaType.APPLICATION_JSON_VALUE, "application/hal+json" }) ResponseEntity> createMetadata(@PathVariable("softwareModuleId") final Long softwareModuleId, - @RequestBody final List metadataRest); + final List metadataRest); } diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleTypeRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleTypeRestApi.java index 3fe32d9ad..4fd5d2c38 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleTypeRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSoftwareModuleTypeRestApi.java @@ -17,7 +17,6 @@ import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModule import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -94,7 +93,7 @@ public interface MgmtSoftwareModuleTypeRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateSoftwareModuleType( @PathVariable("softwareModuleTypeId") final Long softwareModuleTypeId, - @RequestBody final MgmtSoftwareModuleTypeRequestBodyPut restSoftwareModuleType); + final MgmtSoftwareModuleTypeRequestBodyPut restSoftwareModuleType); /** * Handles the POST request of creating new SoftwareModuleTypes. The request @@ -110,6 +109,6 @@ public interface MgmtSoftwareModuleTypeRestApi { @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> createSoftwareModuleTypes( - @RequestBody final List softwareModuleTypes); + final List softwareModuleTypes); } diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSystemRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSystemRestApi.java index d120759b2..f7da862ee 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSystemRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtSystemRestApi.java @@ -16,7 +16,6 @@ import org.springframework.hateoas.ResourceSupport; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -83,6 +82,6 @@ public interface MgmtSystemRestApi { MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateConfigurationValue( @PathVariable("keyName") final String keyName, - @RequestBody final MgmtSystemTenantConfigurationValueRequest configurationValueRest); + final MgmtSystemTenantConfigurationValueRequest configurationValueRest); } diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java index 97a0eae5c..3ffdaa534 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetRestApi.java @@ -21,7 +21,6 @@ import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetRequestBody; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -84,7 +83,7 @@ public interface MgmtTargetRestApi { */ @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> createTargets(@RequestBody final List targets); + ResponseEntity> createTargets(final List targets); /** * Handles the PUT request of updating a target. The ID is within the URL @@ -103,7 +102,7 @@ public interface MgmtTargetRestApi { @RequestMapping(method = RequestMethod.PUT, value = "/{controllerId}", consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateTarget(@PathVariable("controllerId") final String controllerId, - @RequestBody final MgmtTargetRequestBody targetRest); + final MgmtTargetRequestBody targetRest); /** * Handles the DELETE request of deleting a target. @@ -247,7 +246,7 @@ public interface MgmtTargetRestApi { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity postAssignedDistributionSet(@PathVariable("controllerId") final String controllerId, - @RequestBody final MgmtDistributionSetAssigment dsId); + final MgmtDistributionSetAssigment dsId); /** * Handles the GET request of retrieving the installed distribution set of diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetTagRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetTagRestApi.java index e568e7377..eb2b92af4 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetTagRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtTargetTagRestApi.java @@ -19,7 +19,6 @@ import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTarget; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; @@ -81,7 +80,7 @@ public interface MgmtTargetTagRestApi { */ @RequestMapping(method = RequestMethod.POST, consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity> createTargetTags(@RequestBody final List tags); + ResponseEntity> createTargetTags(final List tags); /** * @@ -96,7 +95,7 @@ public interface MgmtTargetTagRestApi { @RequestMapping(method = RequestMethod.PUT, value = "/{targetTagId}", consumes = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity updateTagretTag(@PathVariable("targetTagId") final Long targetTagId, - @RequestBody final MgmtTagRequestBodyPut restTargetTagRest); + final MgmtTagRequestBodyPut restTargetTagRest); /** * Handles the DELETE request for a single target tag. @@ -136,7 +135,7 @@ public interface MgmtTargetTagRestApi { + "/toggleTagAssignment") ResponseEntity toggleTagAssignment( @PathVariable("targetTagId") final Long targetTagId, - @RequestBody final List assignedTargetRequestBodies); + final List assignedTargetRequestBodies); /** * Handles the POST request to assign targets to the given tag id. @@ -150,7 +149,7 @@ public interface MgmtTargetTagRestApi { */ @RequestMapping(method = RequestMethod.POST, value = MgmtRestConstants.TARGET_TAG_TAGERTS_REQUEST_MAPPING) ResponseEntity> assignTargets(@PathVariable("targetTagId") final Long targetTagId, - @RequestBody final List assignedTargetRequestBodies); + final List assignedTargetRequestBodies); /** * Handles the DELETE request to unassign all targets from the given tag id. From ba3ae4fd4d9025d94ac0fd7b8f330a88a195fb1c Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 7 Sep 2016 11:34:40 +0200 Subject: [PATCH 09/23] DMF enabled by default. Signed-off-by: kaizimmerm --- .../java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java index 174248011..09edd41d3 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java @@ -53,7 +53,7 @@ import org.springframework.util.ErrorHandler; * */ @EnableConfigurationProperties({ AmqpProperties.class, AmqpDeadletterProperties.class }) -@ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled") +@ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled", matchIfMissing = true) public class AmqpConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(AmqpConfiguration.class); @@ -69,7 +69,7 @@ public class AmqpConfiguration { @Configuration @ConditionalOnMissingBean(ConnectionFactory.class) - @ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled") + @ConditionalOnProperty(prefix = "hawkbit.dmf.rabbitmq", name = "enabled", matchIfMissing = true) protected static class RabbitConnectionFactoryCreator { @Autowired @@ -290,6 +290,7 @@ public class AmqpConfiguration { } @Bean + @ConditionalOnMissingBean(AmqpControllerAuthentication.class) public AmqpControllerAuthentication amqpControllerAuthentication(final ControllerManagement controllerManagement, final TenantConfigurationManagement tenantConfigurationManagement, final TenantAware tenantAware, final DdiSecurityProperties ddiSecruityProperties, final SystemSecurityContext systemSecurityContext) { @@ -298,6 +299,7 @@ public class AmqpConfiguration { } @Bean + @ConditionalOnMissingBean(AmqpMessageDispatcherService.class) public AmqpMessageDispatcherService amqpMessageDispatcherService(final RabbitTemplate rabbitTemplate, final AmqpSenderService amqpSenderService, final ArtifactUrlHandler artifactUrlHandler) { return new AmqpMessageDispatcherService(rabbitTemplate, amqpSenderService, artifactUrlHandler); From 525ca8d72c305cd5b22f888d8dfc497016466aec Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 7 Sep 2016 11:58:00 +0200 Subject: [PATCH 10/23] Run only in case of failure Signed-off-by: kaizimmerm --- .../IgnoreMultipleConsumersProducersSpringMvcContract.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java index f7cf14026..2706af4a3 100644 --- a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java +++ b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java @@ -40,7 +40,7 @@ public class IgnoreMultipleConsumersProducersSpringMvcContract extends SpringMvc // multiple consumers and produces, see // https://github.com/spring-cloud/spring-cloud-netflix/issues/808 LOGGER.trace(e.getMessage(), e); + data.indexToExpander(new LinkedHashMap()); } - data.indexToExpander(new LinkedHashMap()); } } From 47e3417f558cbbf74d7f11683388b7cd41f1fff5 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 7 Sep 2016 12:17:50 +0200 Subject: [PATCH 11/23] Improved method naming Signed-off-by: kaizimmerm --- .../eclipse/hawkbit/ddi/rest/resource/DdiRootController.java | 2 +- .../org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java | 2 +- .../eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java | 4 ++-- .../org/eclipse/hawkbit/repository/ControllerManagement.java | 4 ++-- .../hawkbit/repository/jpa/JpaControllerManagement.java | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java index f1ce7e812..9456cd63e 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java @@ -130,7 +130,7 @@ public class DdiRootController implements DdiRootControllerRestApi { } return new ResponseEntity<>( - DataConversionHelper.fromTarget(target, controllerManagement.findOldestActionByTargetAndActive(target), + DataConversionHelper.fromTarget(target, controllerManagement.findOldestActiveActionByTarget(target), controllerManagement.getPollingTime(), tenantAware), HttpStatus.OK); } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java index a8723a63a..ef4f3387f 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java @@ -346,7 +346,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { } private void lookIfUpdateAvailable(final Target target) { - final Optional action = controllerManagement.findOldestActionByTargetAndActive(target); + final Optional action = controllerManagement.findOldestActiveActionByTarget(target); if (!action.isPresent()) { return; } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java index 5937d8126..f8dd4f645 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java @@ -156,7 +156,7 @@ public class AmqpMessageHandlerServiceTest { final ArgumentCaptor uriCaptor = ArgumentCaptor.forClass(URI.class); when(controllerManagementMock.findOrRegisterTargetIfItDoesNotexist(targetIdCaptor.capture(), uriCaptor.capture())).thenReturn(null); - when(controllerManagementMock.findOldestActionByTargetAndActive(Matchers.any())).thenReturn(Optional.empty()); + when(controllerManagementMock.findOldestActiveActionByTarget(Matchers.any())).thenReturn(Optional.empty()); amqpMessageHandlerService.onMessage(message, MessageType.THING_CREATED.name(), TENANT, "vHost"); @@ -364,7 +364,7 @@ public class AmqpMessageHandlerServiceTest { when(controllerManagementMock.addUpdateActionStatus(Matchers.any())).thenReturn(action); when(entityFactoryMock.generateActionStatus()).thenReturn(new JpaActionStatus()); // for the test the same action can be used - when(controllerManagementMock.findOldestActionByTargetAndActive(Matchers.any())) + when(controllerManagementMock.findOldestActiveActionByTarget(Matchers.any())) .thenReturn(Optional.of(action)); final List softwareModuleList = createSoftwareModuleList(); diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java index 14780cee6..1cc752ea7 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java @@ -112,7 +112,7 @@ public interface ControllerManagement { * @return a list of actions assigned to given target which are active */ @PreAuthorize(SpringEvalExpressions.IS_CONTROLLER) - List findActionByTargetAndActive(@NotNull Target target); + List findActiveActionByTarget(@NotNull Target target); /** * Retrieves oldest {@link Action} that is active and assigned to a @@ -123,7 +123,7 @@ public interface ControllerManagement { * @return a list of actions assigned to given target which are active */ @PreAuthorize(SpringEvalExpressions.IS_CONTROLLER) - Optional findOldestActionByTargetAndActive(@NotNull Target target); + Optional findOldestActiveActionByTarget(@NotNull Target target); /** * Get the {@link Action} entity for given actionId with all lazy diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java index 7d02b3bd8..f38eac00f 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java @@ -157,12 +157,12 @@ public class JpaControllerManagement implements ControllerManagement { } @Override - public List findActionByTargetAndActive(final Target target) { + public List findActiveActionByTarget(final Target target) { return actionRepository.findByTargetAndActiveOrderByIdAsc((JpaTarget) target, true); } @Override - public Optional findOldestActionByTargetAndActive(final Target target) { + public Optional findOldestActiveActionByTarget(final Target target) { return actionRepository.findFirstByTargetAndActiveOrderByIdAsc((JpaTarget) target, true); } From d51497669a2585f6f57b691696b14cdf7a14eba7 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 7 Sep 2016 13:37:26 +0200 Subject: [PATCH 12/23] Removed dead code Signed-off-by: kaizimmerm --- .../scenarios/ConfigurableScenario.java | 22 ++----------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java index 5eae96931..1b461b178 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java @@ -9,7 +9,6 @@ package org.eclipse.hawkbit.mgmt.client.scenarios; import java.util.List; -import java.util.Random; import java.util.concurrent.TimeUnit; import org.eclipse.hawkbit.mgmt.client.ClientConfigurationProperties; @@ -159,12 +158,11 @@ public class ConfigurableScenario { private void createDistributionSets(final Scenario scenario) { LOGGER.info("Creating {} distribution sets", scenario.getDistributionSets()); - final byte[] artifact = generateArtifact(scenario); distributionSetResource.createDistributionSets(new DistributionSetBuilder().name(scenario.getDsName()) .type("os_app").version("1.0.").buildAsList(scenario.getDistributionSets())).getBody() .forEach(dsSet -> { - final List modules = addModules(scenario, dsSet, artifact); + final List modules = addModules(scenario, dsSet); final SoftwareModuleAssigmentBuilder assign = new SoftwareModuleAssigmentBuilder(); modules.forEach(module -> assign.id(module.getModuleId())); @@ -174,8 +172,7 @@ public class ConfigurableScenario { LOGGER.info("Creating {} distribution sets -> Done", scenario.getDistributionSets()); } - private List addModules(final Scenario scenario, final MgmtDistributionSet dsSet, - final byte[] artifact) { + private List addModules(final Scenario scenario, final MgmtDistributionSet dsSet) { final List modules = softwareModuleResource .createSoftwareModules(new SoftwareModuleBuilder().name(scenario.getSmFwName() + "-os") .version(dsSet.getVersion()).type("os").build()) @@ -188,21 +185,6 @@ public class ConfigurableScenario { return modules; } - private static byte[] generateArtifact(final Scenario scenario) { - - // Exception squid:S2245 - not used for cryptographic function - @SuppressWarnings("squid:S2245") - final Random random = new Random(); - - // create byte array - final byte[] nbyte = new byte[parseSize(scenario.getArtifactSize())]; - - // put the next byte in the array - random.nextBytes(nbyte); - - return nbyte; - } - private void createTargets(final Scenario scenario) { LOGGER.info("Creating {} targets", scenario.getTargets()); From 9d92e9ddc609566e4186252b778753c7394aaa62 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 7 Sep 2016 17:43:41 +0200 Subject: [PATCH 13/23] Added missing spring cloud dependencies Signed-off-by: kaizimmerm --- examples/hawkbit-example-core-feign-client/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/examples/hawkbit-example-core-feign-client/pom.xml b/examples/hawkbit-example-core-feign-client/pom.xml index 4e881d5ac..c41f7953d 100644 --- a/examples/hawkbit-example-core-feign-client/pom.xml +++ b/examples/hawkbit-example-core-feign-client/pom.xml @@ -32,6 +32,14 @@ org.springframework.cloud spring-cloud-netflix-core + + + org.springframework.cloud + spring-cloud-commons + + + org.springframework.cloud + spring-cloud-context org.slf4j From 1d5d467f16e9e40e06a8615caa5040189c17e182 Mon Sep 17 00:00:00 2001 From: Dominic Schabel Date: Fri, 9 Sep 2016 09:15:26 +0200 Subject: [PATCH 14/23] Typo fixed Signed-off-by: Dominic Schabel --- .../hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java index de04a12d1..efbf747c3 100644 --- a/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java +++ b/hawkbit-mgmt-resource/src/test/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtTargetResourceTest.java @@ -672,7 +672,7 @@ public class MgmtTargetResourceTest extends AbstractRestIntegrationTest { } @Test - @Description("Verfies that a mandatory properteis of new targets are validated as not null.") + @Description("Verfies that a mandatory properties of new targets are validated as not null.") public void createTargetWithMissingMandatoryPropertyBadRequest() throws Exception { final Target test1 = entityFactory.generateTarget("id1", "token"); test1.setName(null); From 7b7b799435853f2189cd579132eb81280b0e9adb Mon Sep 17 00:00:00 2001 From: Dominic Schabel Date: Fri, 9 Sep 2016 09:34:12 +0200 Subject: [PATCH 15/23] Typo fixed Signed-off-by: Dominic Schabel --- .../org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java index 67cd4f593..1d24d5846 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java @@ -54,7 +54,7 @@ public class AmqpMessageDispatcherService extends BaseAmqpService { * @param rabbitTemplate * the rabbitTemplate * @param amqpSenderService - * so send AMQP message + * to send AMQP message * @param artifactUrlHandler * for generating download URLs */ From 0986b9985bede9b3368587d905076efdb425ea57 Mon Sep 17 00:00:00 2001 From: Michael Hirsch Date: Mon, 12 Sep 2016 09:27:43 +0200 Subject: [PATCH 16/23] don't requeue too many status entries ex, fix typo of ex Signed-off-by: Michael Hirsch --- .../eclipse/hawkbit/amqp/AmqpMessageHandlerService.java | 8 ++++---- .../eclipse/hawkbit/repository/ControllerManagement.java | 4 ++-- ...sException.java => TooManyStatusEntriesException.java} | 8 ++++---- .../hawkbit/repository/jpa/JpaControllerManagement.java | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) rename hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/{ToManyStatusEntriesException.java => TooManyStatusEntriesException.java} (81%) diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java index dd152bd5a..1b607f852 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java @@ -41,7 +41,7 @@ import org.eclipse.hawkbit.repository.RepositoryConstants; import org.eclipse.hawkbit.repository.eventbus.event.TargetAssignDistributionSetEvent; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.exception.TenantNotExistException; -import org.eclipse.hawkbit.repository.exception.ToManyStatusEntriesException; +import org.eclipse.hawkbit.repository.exception.TooManyStatusEntriesException; import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.ActionStatus; @@ -155,7 +155,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { return handleAuthentifiactionMessage(message); } catch (final IllegalArgumentException ex) { throw new AmqpRejectAndDontRequeueException("Invalid message!", ex); - } catch (final TenantNotExistException | ToManyStatusEntriesException e) { + } catch (final TenantNotExistException | TooManyStatusEntriesException e) { throw new AmqpRejectAndDontRequeueException(e); } finally { SecurityContextHolder.setContext(oldContext); @@ -196,8 +196,8 @@ public class AmqpMessageHandlerService extends BaseAmqpService { } } catch (final IllegalArgumentException ex) { throw new AmqpRejectAndDontRequeueException("Invalid message!", ex); - } catch (final TenantNotExistException teex) { - throw new AmqpRejectAndDontRequeueException(teex); + } catch (final TenantNotExistException | TooManyStatusEntriesException e) { + throw new AmqpRejectAndDontRequeueException(e); } finally { SecurityContextHolder.setContext(oldContext); } diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java index f06621fd4..401004d65 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.repository.eventbus.event.DownloadProgressEvent; import org.eclipse.hawkbit.repository.exception.EntityAlreadyExistsException; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.exception.ToManyAttributeEntriesException; -import org.eclipse.hawkbit.repository.exception.ToManyStatusEntriesException; +import org.eclipse.hawkbit.repository.exception.TooManyStatusEntriesException; import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action.Status; import org.eclipse.hawkbit.repository.model.ActionStatus; @@ -95,7 +95,7 @@ public interface ControllerManagement { * * @throws EntityAlreadyExistsException * if a given entity already exists - * @throws ToManyStatusEntriesException + * @throws TooManyStatusEntriesException * if more than the allowed number of status entries are * inserted */ diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ToManyStatusEntriesException.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/TooManyStatusEntriesException.java similarity index 81% rename from hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ToManyStatusEntriesException.java rename to hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/TooManyStatusEntriesException.java index 7b8f4a1b0..3f3399a88 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/ToManyStatusEntriesException.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/exception/TooManyStatusEntriesException.java @@ -18,7 +18,7 @@ import org.eclipse.hawkbit.exception.AbstractServerRtException; * * */ -public final class ToManyStatusEntriesException extends AbstractServerRtException { +public final class TooManyStatusEntriesException extends AbstractServerRtException { /** * */ @@ -28,7 +28,7 @@ public final class ToManyStatusEntriesException extends AbstractServerRtExceptio * Creates a new FileUploadFailedException with * {@link SpServerError#SP_REST_BODY_NOT_READABLE} error. */ - public ToManyStatusEntriesException() { + public TooManyStatusEntriesException() { super(SpServerError.SP_ACTION_STATUS_TO_MANY_ENTRIES); } @@ -36,7 +36,7 @@ public final class ToManyStatusEntriesException extends AbstractServerRtExceptio * @param cause * for the exception */ - public ToManyStatusEntriesException(final Throwable cause) { + public TooManyStatusEntriesException(final Throwable cause) { super(SpServerError.SP_ACTION_STATUS_TO_MANY_ENTRIES, cause); } @@ -44,7 +44,7 @@ public final class ToManyStatusEntriesException extends AbstractServerRtExceptio * @param message * of the error */ - public ToManyStatusEntriesException(final String message) { + public TooManyStatusEntriesException(final String message) { super(message, SpServerError.SP_ACTION_STATUS_TO_MANY_ENTRIES); } } diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java index 34160aa37..e0b352e99 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaControllerManagement.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.repository.TargetManagement; import org.eclipse.hawkbit.repository.TenantConfigurationManagement; import org.eclipse.hawkbit.repository.exception.EntityNotFoundException; import org.eclipse.hawkbit.repository.exception.ToManyAttributeEntriesException; -import org.eclipse.hawkbit.repository.exception.ToManyStatusEntriesException; +import org.eclipse.hawkbit.repository.exception.TooManyStatusEntriesException; import org.eclipse.hawkbit.repository.jpa.cache.CacheWriteNotify; import org.eclipse.hawkbit.repository.jpa.model.JpaAction; import org.eclipse.hawkbit.repository.jpa.model.JpaActionStatus; @@ -326,7 +326,7 @@ public class JpaControllerManagement implements ControllerManagement { LOG_DOS.error( "Potential denial of service (DOS) attack identfied. More status entries in the system than permitted ({})!", securityProperties.getDos().getMaxStatusEntriesPerAction()); - throw new ToManyStatusEntriesException( + throw new TooManyStatusEntriesException( String.valueOf(securityProperties.getDos().getMaxStatusEntriesPerAction())); } } From 11aea8ea4da70c3130d5e408d476b6e33990ef63 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Mon, 12 Sep 2016 10:29:07 +0200 Subject: [PATCH 17/23] Added defaults Signed-off-by: kaizimmerm --- .../hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java index 0a28c2226..d3439adc6 100644 --- a/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java +++ b/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/rest/api/MgmtDistributionSetRestApi.java @@ -54,8 +54,8 @@ public interface MgmtDistributionSetRestApi { */ @RequestMapping(method = RequestMethod.GET, produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> getDistributionSets( - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET) final int pagingOffsetParam, - @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT) final int pagingLimitParam, + @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_OFFSET, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_OFFSET) final int pagingOffsetParam, + @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_PAGING_LIMIT, defaultValue = MgmtRestConstants.REQUEST_PARAMETER_PAGING_DEFAULT_LIMIT) final int pagingLimitParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SORTING, required = false) final String sortParam, @RequestParam(value = MgmtRestConstants.REQUEST_PARAMETER_SEARCH, required = false) final String rsqlParam); From 228524dccf830a0fc98e0db8b2a6aea5cc335f14 Mon Sep 17 00:00:00 2001 From: Michael Hirsch Date: Mon, 12 Sep 2016 11:29:04 +0200 Subject: [PATCH 18/23] add dummy artifact upload again Signed-off-by: Michael Hirsch --- .../hawkbit/mgmt/client/Application.java | 28 +++++++++++++-- .../scenarios/ConfigurableScenario.java | 36 +++++++++++++++++-- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java index aae1bf8da..d94519df2 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/Application.java @@ -9,12 +9,14 @@ package org.eclipse.hawkbit.mgmt.client; import org.eclipse.hawkbit.feign.core.client.FeignClientConfiguration; +import org.eclipse.hawkbit.feign.core.client.IgnoreMultipleConsumersProducersSpringMvcContract; import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtRolloutClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleClientResource; import org.eclipse.hawkbit.mgmt.client.resource.MgmtTargetClientResource; import org.eclipse.hawkbit.mgmt.client.scenarios.ConfigurableScenario; import org.eclipse.hawkbit.mgmt.client.scenarios.CreateStartedRolloutExample; +import org.eclipse.hawkbit.mgmt.client.scenarios.upload.FeignMultipartEncoder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.Banner.Mode; import org.springframework.boot.CommandLineRunner; @@ -23,12 +25,20 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.netflix.feign.EnableFeignClients; +import org.springframework.cloud.netflix.feign.support.ResponseEntityDecoder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; +import org.springframework.hateoas.hal.Jackson2HalModule; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; + +import feign.Feign; import feign.Logger; import feign.auth.BasicAuthRequestInterceptor; +import feign.jackson.JacksonDecoder; +import feign.slf4j.Slf4jLogger; @SpringBootApplication @EnableFeignClients("org.eclipse.hawkbit.mgmt.client.resource") @@ -69,8 +79,9 @@ public class Application implements CommandLineRunner { final MgmtSoftwareModuleClientResource softwareModuleResource, final MgmtTargetClientResource targetResource, final MgmtRolloutClientResource rolloutResource, final ClientConfigurationProperties clientConfigurationProperties) { - return new ConfigurableScenario(distributionSetResource, softwareModuleResource, targetResource, - rolloutResource, clientConfigurationProperties); + return new ConfigurableScenario(distributionSetResource, softwareModuleResource, + uploadSoftwareModule(clientConfigurationProperties), targetResource, rolloutResource, + clientConfigurationProperties); } @Bean @@ -78,6 +89,19 @@ public class Application implements CommandLineRunner { return new CreateStartedRolloutExample(); } + @Bean + public MgmtSoftwareModuleClientResource uploadSoftwareModule(final ClientConfigurationProperties configuration) { + final ObjectMapper mapper = new ObjectMapper() + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .registerModule(new Jackson2HalModule()); + return Feign.builder().contract(new IgnoreMultipleConsumersProducersSpringMvcContract()) + .requestInterceptor( + new BasicAuthRequestInterceptor(configuration.getUsername(), configuration.getPassword())) + .logger(new Slf4jLogger()).encoder(new FeignMultipartEncoder()) + .decoder(new ResponseEntityDecoder(new JacksonDecoder(mapper))) + .target(MgmtSoftwareModuleClientResource.class, configuration.getUrl()); + } + @Bean public Logger.Level feignLoggerLevel() { return Logger.Level.FULL; diff --git a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java index 1b461b178..388516897 100644 --- a/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java +++ b/examples/hawkbit-example-mgmt-simulator/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/ConfigurableScenario.java @@ -9,6 +9,7 @@ package org.eclipse.hawkbit.mgmt.client.scenarios; import java.util.List; +import java.util.Random; import java.util.concurrent.TimeUnit; import org.eclipse.hawkbit.mgmt.client.ClientConfigurationProperties; @@ -22,6 +23,7 @@ import org.eclipse.hawkbit.mgmt.client.resource.builder.RolloutBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.SoftwareModuleAssigmentBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.SoftwareModuleBuilder; import org.eclipse.hawkbit.mgmt.client.resource.builder.TargetBuilder; +import org.eclipse.hawkbit.mgmt.client.scenarios.upload.ArtifactFile; import org.eclipse.hawkbit.mgmt.json.model.PagedList; import org.eclipse.hawkbit.mgmt.json.model.distributionset.MgmtDistributionSet; import org.eclipse.hawkbit.mgmt.json.model.rollout.MgmtRolloutResponseBody; @@ -53,12 +55,16 @@ public class ConfigurableScenario { private final ClientConfigurationProperties clientConfigurationProperties; + private final MgmtSoftwareModuleClientResource uploadSoftwareModule; + public ConfigurableScenario(final MgmtDistributionSetClientResource distributionSetResource, final MgmtSoftwareModuleClientResource softwareModuleResource, - final MgmtTargetClientResource targetResource, final MgmtRolloutClientResource rolloutResource, + final MgmtSoftwareModuleClientResource uploadSoftwareModule, final MgmtTargetClientResource targetResource, + final MgmtRolloutClientResource rolloutResource, final ClientConfigurationProperties clientConfigurationProperties) { this.distributionSetResource = distributionSetResource; this.softwareModuleResource = softwareModuleResource; + this.uploadSoftwareModule = uploadSoftwareModule; this.targetResource = targetResource; this.rolloutResource = rolloutResource; this.clientConfigurationProperties = clientConfigurationProperties; @@ -158,11 +164,12 @@ public class ConfigurableScenario { private void createDistributionSets(final Scenario scenario) { LOGGER.info("Creating {} distribution sets", scenario.getDistributionSets()); + final byte[] artifact = generateArtifact(scenario); distributionSetResource.createDistributionSets(new DistributionSetBuilder().name(scenario.getDsName()) .type("os_app").version("1.0.").buildAsList(scenario.getDistributionSets())).getBody() .forEach(dsSet -> { - final List modules = addModules(scenario, dsSet); + final List modules = addModules(scenario, dsSet, artifact); final SoftwareModuleAssigmentBuilder assign = new SoftwareModuleAssigmentBuilder(); modules.forEach(module -> assign.id(module.getModuleId())); @@ -172,7 +179,8 @@ public class ConfigurableScenario { LOGGER.info("Creating {} distribution sets -> Done", scenario.getDistributionSets()); } - private List addModules(final Scenario scenario, final MgmtDistributionSet dsSet) { + private List addModules(final Scenario scenario, final MgmtDistributionSet dsSet, + final byte[] artifact) { final List modules = softwareModuleResource .createSoftwareModules(new SoftwareModuleBuilder().name(scenario.getSmFwName() + "-os") .version(dsSet.getVersion()).type("os").build()) @@ -182,6 +190,13 @@ public class ConfigurableScenario { .type("application").buildAsList(scenario.getAppModulesPerDistributionSet())) .getBody()); + for (int iArtifact = 0; iArtifact < scenario.getArtifactsPerSM(); iArtifact++) { + modules.forEach(module -> { + final ArtifactFile file = new ArtifactFile("dummyfile.dummy", null, "multipart/form-data", artifact); + uploadSoftwareModule.uploadArtifact(module.getModuleId(), file, null, null, null); + }); + } + return modules; } @@ -208,4 +223,19 @@ public class ConfigurableScenario { } return Integer.valueOf(size); } + + private static byte[] generateArtifact(final Scenario scenario) { + + // Exception squid:S2245 - not used for cryptographic function + @SuppressWarnings("squid:S2245") + final Random random = new Random(); + + // create byte array + final byte[] nbyte = new byte[parseSize(scenario.getArtifactSize())]; + + // put the next byte in the array + random.nextBytes(nbyte); + + return nbyte; + } } From 5ed5142429ca819f7153f932c44b5a2ae0960bd9 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Tue, 13 Sep 2016 09:51:10 +0200 Subject: [PATCH 19/23] Improve readability Signed-off-by: kaizimmerm --- .../MgmtDistributionSetTypeMapper.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java index 0daae2f0d..675fe9df0 100644 --- a/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java +++ b/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtDistributionSetTypeMapper.java @@ -54,20 +54,14 @@ final class MgmtDistributionSetTypeMapper { final DistributionSetType result = entityFactory.generateDistributionSetType(smsRest.getKey(), smsRest.getName(), smsRest.getDescription()); - // Add mandatory - if (!CollectionUtils.isEmpty(smsRest.getMandatorymodules())) { - smsRest.getMandatorymodules().stream().map(mand -> { - final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(mand.getId()); + addMandatoryModules(softwareManagement, smsRest, result); + addOptionalModules(softwareManagement, smsRest, result); - if (smType == null) { - throw new EntityNotFoundException("SoftwareModuleType with ID " + mand.getId() + " not found"); - } + return result; + } - return smType; - }).forEach(result::addMandatoryModuleType); - } - - // Add optional + private static void addOptionalModules(final SoftwareManagement softwareManagement, + final MgmtDistributionSetTypeRequestBodyPost smsRest, final DistributionSetType result) { if (!CollectionUtils.isEmpty(smsRest.getOptionalmodules())) { smsRest.getOptionalmodules().stream().map(opt -> { final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(opt.getId()); @@ -79,8 +73,21 @@ final class MgmtDistributionSetTypeMapper { return smType; }).forEach(result::addOptionalModuleType); } + } - return result; + private static void addMandatoryModules(final SoftwareManagement softwareManagement, + final MgmtDistributionSetTypeRequestBodyPost smsRest, final DistributionSetType result) { + if (!CollectionUtils.isEmpty(smsRest.getMandatorymodules())) { + smsRest.getMandatorymodules().stream().map(mand -> { + final SoftwareModuleType smType = softwareManagement.findSoftwareModuleTypeById(mand.getId()); + + if (smType == null) { + throw new EntityNotFoundException("SoftwareModuleType with ID " + mand.getId() + " not found"); + } + + return smType; + }).forEach(result::addMandatoryModuleType); + } } static List toTypesResponse(final List types) { From 59dd97e851473564b0447395aeb1fef3bf6fcbe0 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Tue, 13 Sep 2016 09:55:44 +0200 Subject: [PATCH 20/23] Removed unnecessary spy Signed-off-by: kaizimmerm --- .../eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java index 7bfe6f981..62bd8e9b7 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java @@ -17,7 +17,6 @@ import static org.mockito.Matchers.anyLong; import static org.mockito.Matchers.anyObject; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import java.net.URI; @@ -88,8 +87,6 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest { amqpMessageDispatcherService = new AmqpMessageDispatcherService(rabbitTemplate, senderService, artifactUrlHandlerMock); - amqpMessageDispatcherService = spy(amqpMessageDispatcherService); - } @Test From 17e4415b26d6f23ab0176c25101f043c9b2f7414 Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Tue, 13 Sep 2016 10:07:24 +0200 Subject: [PATCH 21/23] Comment on indexToExpander line Signed-off-by: kaizimmerm --- .../IgnoreMultipleConsumersProducersSpringMvcContract.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java index 2706af4a3..e2ca27077 100644 --- a/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java +++ b/examples/hawkbit-example-core-feign-client/src/main/java/org/eclipse/hawkbit/feign/core/client/IgnoreMultipleConsumersProducersSpringMvcContract.java @@ -40,6 +40,9 @@ public class IgnoreMultipleConsumersProducersSpringMvcContract extends SpringMvc // multiple consumers and produces, see // https://github.com/spring-cloud/spring-cloud-netflix/issues/808 LOGGER.trace(e.getMessage(), e); + + // This line from super is mandatory to avoid that access to the + // expander causes a nullpointer. data.indexToExpander(new LinkedHashMap()); } } From 929399b68ee3e9875034cb9b894a994c864bcc77 Mon Sep 17 00:00:00 2001 From: Melanie Retter Date: Tue, 13 Sep 2016 15:54:00 +0200 Subject: [PATCH 22/23] Rename SPUIComponentIdProvider. Remove SP Prefix Signed-off-by: Melanie Retter --- .../details/ArtifactDetailsLayout.java | 8 +++--- .../event/UploadViewAcceptCriteria.java | 14 +++++----- .../footer/SMDeleteActionsLayout.java | 8 +++--- .../UploadViewConfirmationWindowLayout.java | 6 ++--- .../SoftwareModuleAddUpdateWindow.java | 12 ++++----- .../smtable/SoftwareModuleDetails.java | 12 ++++----- .../smtable/SoftwareModuleTable.java | 6 ++--- .../smtable/SoftwareModuleTableHeader.java | 10 +++---- .../artifacts/smtype/SMTypeFilterButtons.java | 8 +++--- .../artifacts/smtype/SMTypeFilterHeader.java | 4 +-- .../upload/UploadConfirmationWindow.java | 18 ++++++------- .../ui/artifacts/upload/UploadLayout.java | 10 +++---- .../artifacts/upload/UploadResultWindow.java | 12 ++++----- .../upload/UploadStatusInfoWindow.java | 10 +++---- .../ui/colorpicker/ColorPickerLayout.java | 6 ++--- .../common/AbstractMetadataPopupLayout.java | 12 ++++----- .../hawkbit/ui/common/CommonDialogWindow.java | 6 ++--- .../hawkbit/ui/common/ConfirmationDialog.java | 6 ++--- .../AbstractConfirmationWindowLayout.java | 4 +-- .../AbstractTableDetailsLayout.java | 4 +-- .../DistributionSetMetadatadetailslayout.java | 4 +-- .../SoftwareModuleMetadatadetailslayout.java | 4 +-- .../footer/AbstractDeleteActionsLayout.java | 8 +++--- .../ui/common/grid/AbstractGridLayout.java | 4 +-- .../client/renderers/HtmlButtonRenderer.java | 4 +-- .../CreateUpdateDistSetTypeLayout.java | 4 +-- .../disttype/DSTypeFilterButtons.java | 6 ++--- .../dstable/DistributionSetDetails.java | 10 +++---- .../dstable/DistributionSetTable.java | 8 +++--- .../dstable/DistributionSetTableHeader.java | 12 ++++----- .../DistributionsViewAcceptCriteria.java | 16 ++++++------ .../footer/DSDeleteActionsLayout.java | 8 +++--- ...DistributionsConfirmationWindowLayout.java | 18 ++++++------- .../smtable/SwModuleDetails.java | 14 +++++----- .../distributions/smtable/SwModuleTable.java | 8 +++--- .../smtable/SwModuleTableHeader.java | 10 +++---- .../smtype/DistSMTypeFilterButtons.java | 6 ++--- .../smtype/DistSMTypeFilterHeader.java | 4 +-- .../CreateOrUpdateFilterHeader.java | 18 ++++++------- .../CreateOrUpdateFilterTable.java | 4 +-- .../filtermanagement/TargetFilterHeader.java | 8 +++--- .../filtermanagement/TargetFilterTable.java | 8 +++--- .../footer/TargetFilterCountMessageLabel.java | 4 +-- .../AbstractCreateUpdateTagLayout.java | 8 +++--- .../ui/layouts/CreateUpdateTypeLayout.java | 4 +-- .../eclipse/hawkbit/ui/login/LoginView.java | 10 +++---- .../actionhistory/ActionHistoryTable.java | 10 +++---- .../DistributionAddUpdateWindowLayout.java | 12 ++++----- .../dstable/DistributionDetails.java | 10 +++---- .../management/dstable/DistributionTable.java | 10 +++---- .../dstable/DistributionTableHeader.java | 12 ++++----- .../dstag/DistributionTagButtons.java | 4 +-- .../dstag/DistributionTagHeader.java | 4 +-- .../event/DistributionTagDropEvent.java | 6 ++--- .../event/ManagementViewAcceptCriteria.java | 26 +++++++++---------- .../footer/ActionTypeOptionGroupLayout.java | 6 ++--- .../management/footer/CountMessageLabel.java | 4 +-- .../footer/DeleteActionsLayout.java | 4 +-- .../footer/DeleteActionsLayoutHelper.java | 6 ++--- .../ManangementConfirmationWindowLayout.java | 10 +++---- .../management/tag/SpColorPickerPreview.java | 4 +-- .../TargetAddUpdateWindowLayout.java | 8 +++--- .../TargetBulkUpdateWindowLayout.java | 14 +++++----- .../management/targettable/TargetDetails.java | 16 ++++++------ .../management/targettable/TargetTable.java | 8 +++--- .../targettable/TargetTableHeader.java | 22 ++++++++-------- .../targettag/FilterByStatusLayout.java | 12 ++++----- .../targettag/MultipleTargetFilter.java | 4 +-- .../targettag/TargetFilterQueryButtons.java | 4 +-- .../targettag/TargetTagFilterButtons.java | 8 +++--- .../targettag/TargetTagFilterHeader.java | 4 +-- .../hawkbit/ui/menu/DashboardMenu.java | 8 +++--- .../rollout/AddUpdateRolloutWindowLayout.java | 22 ++++++++-------- .../ui/rollout/rollout/RolloutListGrid.java | 6 ++--- .../ui/rollout/rollout/RolloutListHeader.java | 8 +++--- .../rolloutgroup/RolloutGroupListGrid.java | 6 ++--- .../rolloutgroup/RolloutGroupsListHeader.java | 6 ++--- .../RolloutGroupTargetsCountLabelMessage.java | 4 +-- .../RolloutGroupTargetsListGrid.java | 4 +-- .../RolloutGroupTargetsListHeader.java | 4 +-- .../AuthenticationConfigurationView.java | 4 +-- .../DefaultDistributionSetTypeLayout.java | 4 +-- .../TenantConfigurationDashboardView.java | 6 ++--- ...ovider.java => UIComponentIdProvider.java} | 9 ++----- 84 files changed, 351 insertions(+), 356 deletions(-) rename hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/{SPUIComponentIdProvider.java => UIComponentIdProvider.java} (99%) diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/details/ArtifactDetailsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/details/ArtifactDetailsLayout.java index 8408f7c74..7a4138a2f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/details/ArtifactDetailsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/details/ArtifactDetailsLayout.java @@ -32,7 +32,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SpringContextHelper; @@ -261,7 +261,7 @@ public class ArtifactDetailsLayout extends VerticalLayout { final String fileName = (String) table.getContainerDataSource().getItem(itemId) .getItemProperty(PROVIDED_FILE_NAME).getValue(); final Button deleteIcon = SPUIComponentProvider.getButton( - fileName + "-" + SPUIComponentIdProvider.UPLOAD_FILE_DELETE_ICON, "", + fileName + "-" + UIComponentIdProvider.UPLOAD_FILE_DELETE_ICON, "", SPUILabelDefinitions.DISCARD, ValoTheme.BUTTON_TINY + " " + "redicon", true, FontAwesome.TRASH_O, SPUIButtonStyleSmallNoBorder.class); deleteIcon.setData(itemId); @@ -345,7 +345,7 @@ public class ArtifactDetailsLayout extends VerticalLayout { detailsTable.setImmediate(true); detailsTable.setSizeFull(); - detailsTable.setId(SPUIComponentIdProvider.UPLOAD_ARTIFACT_DETAILS_TABLE); + detailsTable.setId(UIComponentIdProvider.UPLOAD_ARTIFACT_DETAILS_TABLE); detailsTable.addStyleName(ValoTheme.TABLE_NO_VERTICAL_LINES); detailsTable.addStyleName(ValoTheme.TABLE_SMALL); return detailsTable; @@ -386,7 +386,7 @@ public class ArtifactDetailsLayout extends VerticalLayout { */ public void createMaxArtifactDetailsTable() { maxArtifactDetailsTable = createArtifactDetailsTable(); - maxArtifactDetailsTable.setId(SPUIComponentIdProvider.UPLOAD_ARTIFACT_DETAILS_TABLE_MAX); + maxArtifactDetailsTable.setId(UIComponentIdProvider.UPLOAD_ARTIFACT_DETAILS_TABLE_MAX); maxArtifactDetailsTable.setContainerDataSource(artifactDetailsTable.getContainerDataSource()); addGeneratedColumn(maxArtifactDetailsTable); if (!readOnly) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/event/UploadViewAcceptCriteria.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/event/UploadViewAcceptCriteria.java index 8cfeaea81..280d2ab43 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/event/UploadViewAcceptCriteria.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/event/UploadViewAcceptCriteria.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import org.eclipse.hawkbit.ui.common.AbstractAcceptCriteria; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.ViewScope; @@ -37,8 +37,8 @@ public class UploadViewAcceptCriteria extends AbstractAcceptCriteria { @Override protected String getComponentId(final Component component) { String id = component.getId(); - if (id != null && id.startsWith(SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)) { - id = SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX; + if (id != null && id.startsWith(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)) { + id = UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX; } return id; } @@ -56,16 +56,16 @@ public class UploadViewAcceptCriteria extends AbstractAcceptCriteria { private static Map> createDropConfigurations() { final Map> config = new HashMap<>(); // Delete drop area droppable components - config.put(SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, Arrays.asList( - SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)); + config.put(UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, Arrays.asList( + UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)); return config; } private static Map createDropHintConfigurations() { final Map config = new HashMap<>(); - config.put(SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX, UploadArtifactUIEvent.SOFTWARE_TYPE_DRAG_START); - config.put(SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, UploadArtifactUIEvent.SOFTWARE_DRAG_START); + config.put(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX, UploadArtifactUIEvent.SOFTWARE_TYPE_DRAG_START); + config.put(UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, UploadArtifactUIEvent.SOFTWARE_DRAG_START); return config; } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java index 49f232bd0..42c90b645 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/SMDeleteActionsLayout.java @@ -16,7 +16,7 @@ import org.eclipse.hawkbit.ui.artifacts.state.ArtifactUploadState; import org.eclipse.hawkbit.ui.common.footer.AbstractDeleteActionsLayout; import org.eclipse.hawkbit.ui.common.table.AbstractTable; import org.eclipse.hawkbit.ui.management.event.DragEvent; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; @@ -114,7 +114,7 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout { @Override protected String getDeleteAreaId() { - return SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; + return UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; } @Override @@ -130,10 +130,10 @@ public class SMDeleteActionsLayout extends AbstractDeleteActionsLayout { addToDeleteList(sourceTable, (TableTransferable) event.getTransferable()); updateSWActionCount(); } - if (sourceComponent.getId().startsWith(SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)) { + if (sourceComponent.getId().startsWith(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX)) { final String swModuleTypeName = sourceComponent.getId() - .replace(SPUIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX, ""); + .replace(UIComponentIdProvider.UPLOAD_TYPE_BUTTON_PREFIX, ""); if (artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType().isPresent() && artifactUploadState.getSoftwareModuleFilters().getSoftwareModuleType().get().getName() .equalsIgnoreCase(swModuleTypeName)) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/UploadViewConfirmationWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/UploadViewConfirmationWindowLayout.java index 49b271b6b..afb1591a4 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/UploadViewConfirmationWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/footer/UploadViewConfirmationWindowLayout.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.ui.artifacts.state.CustomFile; import org.eclipse.hawkbit.ui.common.confirmwindow.layout.AbstractConfirmationWindowLayout; import org.eclipse.hawkbit.ui.common.confirmwindow.layout.ConfirmationTab; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -77,7 +77,7 @@ public class UploadViewConfirmationWindowLayout extends AbstractConfirmationWind private ConfirmationTab createSMDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.SW_DELETE_ALL); + tab.getConfirmAll().setId(UIComponentIdProvider.SW_DELETE_ALL); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get("button.delete.all")); tab.getConfirmAll().addClickListener(event -> deleteSMAll(tab)); @@ -181,7 +181,7 @@ public class UploadViewConfirmationWindowLayout extends AbstractConfirmationWind private ConfirmationTab createSMtypeDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.SAVE_DELETE_SW_MODULE_TYPE); + tab.getConfirmAll().setId(UIComponentIdProvider.SAVE_DELETE_SW_MODULE_TYPE); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get("button.delete.all")); tab.getConfirmAll().addClickListener(event -> deleteSMtypeAll(tab)); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java index 7dbcdeb89..beaf91059 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleAddUpdateWindow.java @@ -24,7 +24,7 @@ import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SpringContextHelper; @@ -140,20 +140,20 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent { private void createRequiredComponents() { - nameTextField = createTextField("textfield.name", SPUIComponentIdProvider.SOFT_MODULE_NAME); + nameTextField = createTextField("textfield.name", UIComponentIdProvider.SOFT_MODULE_NAME); - versionTextField = createTextField("textfield.version", SPUIComponentIdProvider.SOFT_MODULE_VERSION); + versionTextField = createTextField("textfield.version", UIComponentIdProvider.SOFT_MODULE_VERSION); - vendorTextField = createTextField("textfield.vendor", SPUIComponentIdProvider.SOFT_MODULE_VENDOR); + vendorTextField = createTextField("textfield.vendor", UIComponentIdProvider.SOFT_MODULE_VENDOR); vendorTextField.setRequired(false); descTextArea = new TextAreaBuilder().caption(i18n.get("textfield.description")).style("text-area-style") - .prompt(i18n.get("textfield.description")).id(SPUIComponentIdProvider.ADD_SW_MODULE_DESCRIPTION) + .prompt(i18n.get("textfield.description")).id(UIComponentIdProvider.ADD_SW_MODULE_DESCRIPTION) .buildTextComponent(); typeComboBox = SPUIComponentProvider.getComboBox(i18n.get("upload.swmodule.type"), "", null, null, true, null, i18n.get("upload.swmodule.type")); - typeComboBox.setId(SPUIComponentIdProvider.SW_MODULE_TYPE); + typeComboBox.setId(UIComponentIdProvider.SW_MODULE_TYPE); typeComboBox.setStyleName(SPUIDefinitions.COMBO_BOX_SPECIFIC_STYLE + " " + ValoTheme.COMBOBOX_TINY); typeComboBox.setNewItemsAllowed(Boolean.FALSE); typeComboBox.setImmediate(Boolean.TRUE); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleDetails.java index bbab490ab..0e6b27690 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleDetails.java @@ -20,7 +20,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.distributions.event.MetadataEvent; import org.eclipse.hawkbit.ui.distributions.smtable.SwMetadataPopupLayout; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; import org.vaadin.spring.events.annotation.EventBusListenerMethod; @@ -91,7 +91,7 @@ public class SoftwareModuleDetails extends AbstractNamedVersionedEntityTableDeta @Override protected String getEditButtonId() { - return SPUIComponentIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON; + return UIComponentIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON; } @Override @@ -137,19 +137,19 @@ public class SoftwareModuleDetails extends AbstractNamedVersionedEntityTableDeta final Label vendorLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.vendor"), HawkbitCommonUtil.trimAndNullIfEmpty(vendor) == null ? "" : vendor); - vendorLabel.setId(SPUIComponentIdProvider.DETAILS_VENDOR_LABEL_ID); + vendorLabel.setId(UIComponentIdProvider.DETAILS_VENDOR_LABEL_ID); detailsTabLayout.addComponent(vendorLabel); if (type != null) { final Label typeLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.type"), type); - typeLabel.setId(SPUIComponentIdProvider.DETAILS_TYPE_LABEL_ID); + typeLabel.setId(UIComponentIdProvider.DETAILS_TYPE_LABEL_ID); detailsTabLayout.addComponent(typeLabel); } final Label assignLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.assigned.type"), HawkbitCommonUtil.trimAndNullIfEmpty(maxAssign) == null ? "" : maxAssign); - assignLabel.setId(SPUIComponentIdProvider.SWM_DTLS_MAX_ASSIGN); + assignLabel.setId(UIComponentIdProvider.SWM_DTLS_MAX_ASSIGN); detailsTabLayout.addComponent(assignLabel); } @@ -186,7 +186,7 @@ public class SoftwareModuleDetails extends AbstractNamedVersionedEntityTableDeta @Override protected String getDetailsHeaderCaptionId() { - return SPUIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; + return UIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleTable.java index 98e309396..3c4430326 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtable/SoftwareModuleTable.java @@ -25,7 +25,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.distributions.smtable.SwMetadataPopupLayout; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -83,7 +83,7 @@ public class SoftwareModuleTable extends AbstractNamedVersionTable minimizeWindow()); @@ -433,7 +433,7 @@ public class UploadStatusInfoWindow extends Window { private Button getResizeButton() { final Button resizeBtn = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.UPLOAD_STATUS_POPUP_RESIZE_BUTTON_ID, "", "", "", true, FontAwesome.EXPAND, + UIComponentIdProvider.UPLOAD_STATUS_POPUP_RESIZE_BUTTON_ID, "", "", "", true, FontAwesome.EXPAND, SPUIButtonStyleSmallNoBorder.class); resizeBtn.addStyleName(ValoTheme.BUTTON_BORDERLESS); resizeBtn.addClickListener(event -> resizeWindow(event)); @@ -467,7 +467,7 @@ public class UploadStatusInfoWindow extends Window { private Button getCloseButton() { final Button closeBtn = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.UPLOAD_STATUS_POPUP_CLOSE_BUTTON_ID, "", "", "", true, FontAwesome.TIMES, + UIComponentIdProvider.UPLOAD_STATUS_POPUP_CLOSE_BUTTON_ID, "", "", "", true, FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); closeBtn.addStyleName(ValoTheme.BUTTON_BORDERLESS); closeBtn.addClickListener(event -> onClose()); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/colorpicker/ColorPickerLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/colorpicker/ColorPickerLayout.java index 2c6191bc8..e748a4072 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/colorpicker/ColorPickerLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/colorpicker/ColorPickerLayout.java @@ -13,7 +13,7 @@ import java.util.Set; import org.eclipse.hawkbit.ui.common.CoordinatesToColor; import org.eclipse.hawkbit.ui.management.tag.SpColorPickerPreview; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import com.vaadin.shared.ui.colorpicker.Color; import com.vaadin.ui.AbstractColorPicker.Coordinates2Color; @@ -48,7 +48,7 @@ public class ColorPickerLayout extends GridLayout { setColumns(2); setRows(4); - setId(SPUIComponentIdProvider.COLOR_PICKER_LAYOUT); + setId(UIComponentIdProvider.COLOR_PICKER_LAYOUT); init(); @@ -73,7 +73,7 @@ public class ColorPickerLayout extends GridLayout { colorSelect.setWidth("220px"); redSlider = createRGBSlider("", "red"); - redSlider.setId(SPUIComponentIdProvider.COLOR_PICKER_RED_SLIDER); + redSlider.setId(UIComponentIdProvider.COLOR_PICKER_RED_SLIDER); greenSlider = createRGBSlider("", "green"); blueSlider = createRGBSlider("", "blue"); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/AbstractMetadataPopupLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/AbstractMetadataPopupLayout.java index 7a1b52a7c..2d101695c 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/AbstractMetadataPopupLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/AbstractMetadataPopupLayout.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.ui.customrenderers.renderers.HtmlButtonRenderer; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; @@ -141,7 +141,7 @@ public abstract class AbstractMetadataPopupLayout onCancel()) - .id(SPUIComponentIdProvider.METADATA_POPUP_ID).layout(mainLayout).i18n(i18n) + .id(UIComponentIdProvider.METADATA_POPUP_ID).layout(mainLayout).i18n(i18n) .saveDialogCloseListener(new SaveOnDialogCloseListener()).buildCommonDialogWindow(); metadataWindow.setHeight(550, Unit.PIXELS); @@ -230,7 +230,7 @@ public abstract class AbstractMetadataPopupLayout onKeyChange(event)); keyField.setTextChangeEventMode(TextChangeEventMode.EAGER); @@ -240,7 +240,7 @@ public abstract class AbstractMetadataPopupLayout onAdd()); return addIcon; diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java index ba9de4539..418944582 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java @@ -28,7 +28,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleNoBorderWithIcon; import org.eclipse.hawkbit.ui.layouts.AbstractCreateUpdateTagLayout; import org.eclipse.hawkbit.ui.management.targettable.TargetAddUpdateWindowLayout; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroupItemComponent; @@ -439,7 +439,7 @@ public class CommonDialogWindow extends Window { } private void createCancelButton() { - cancelButton = SPUIComponentProvider.getButton(SPUIComponentIdProvider.CANCEL_BUTTON, "Cancel", "", "", true, + cancelButton = SPUIComponentProvider.getButton(UIComponentIdProvider.CANCEL_BUTTON, "Cancel", "", "", true, FontAwesome.TIMES, SPUIButtonStyleNoBorderWithIcon.class); cancelButton.setSizeUndefined(); cancelButton.addStyleName("default-color"); @@ -454,7 +454,7 @@ public class CommonDialogWindow extends Window { } private void createSaveButton() { - saveButton = SPUIComponentProvider.getButton(SPUIComponentIdProvider.SAVE_BUTTON, "Save", "", "", true, + saveButton = SPUIComponentProvider.getButton(UIComponentIdProvider.SAVE_BUTTON, "Save", "", "", true, FontAwesome.SAVE, SPUIButtonStyleNoBorderWithIcon.class); saveButton.setSizeUndefined(); saveButton.addStyleName("default-color"); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/ConfirmationDialog.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/ConfirmationDialog.java index bd1f4cb9e..c846808c5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/ConfirmationDialog.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/ConfirmationDialog.java @@ -10,7 +10,7 @@ package org.eclipse.hawkbit.ui.common; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleTiny; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import com.vaadin.server.Resource; @@ -82,14 +82,14 @@ public class ConfirmationDialog implements Button.ClickListener { window.setIcon(icon); } - okButton = SPUIComponentProvider.getButton(SPUIComponentIdProvider.OK_BUTTON, okLabel, "", + okButton = SPUIComponentProvider.getButton(UIComponentIdProvider.OK_BUTTON, okLabel, "", ValoTheme.BUTTON_PRIMARY, false, null, SPUIButtonStyleTiny.class); okButton.addClickListener(this); final Button cancelButton = SPUIComponentProvider.getButton(null, cancelLabel, "", null, false, null, SPUIButtonStyleTiny.class); cancelButton.addClickListener(this); - cancelButton.setId(SPUIComponentIdProvider.CANCEL_BUTTON); + cancelButton.setId(UIComponentIdProvider.CANCEL_BUTTON); window.setModal(true); window.addStyleName(SPUIStyleDefinitions.CONFIRMBOX_WINDOW_SYLE); if (this.callback == null) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/confirmwindow/layout/AbstractConfirmationWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/confirmwindow/layout/AbstractConfirmationWindowLayout.java index 45e7620c9..b9c0e1365 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/confirmwindow/layout/AbstractConfirmationWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/confirmwindow/layout/AbstractConfirmationWindowLayout.java @@ -17,7 +17,7 @@ import org.eclipse.hawkbit.ui.common.builder.LabelBuilder; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -69,7 +69,7 @@ public abstract class AbstractConfirmationWindowLayout extends VerticalLayout { } private void createActionMessgaeLabel() { - actionMessage = new LabelBuilder().name("").id(SPUIComponentIdProvider.ACTION_LABEL).visible(false) + actionMessage = new LabelBuilder().name("").id(UIComponentIdProvider.ACTION_LABEL).visible(false) .buildLabel(); actionMessage.addStyleName(SPUIStyleDefinitions.CONFIRM_WINDOW_INFO_BOX); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/AbstractTableDetailsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/AbstractTableDetailsLayout.java index c7a5cb823..94df7430e 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/AbstractTableDetailsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/AbstractTableDetailsLayout.java @@ -25,7 +25,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; @@ -251,7 +251,7 @@ public abstract class AbstractTableDetailsLayout extends * it as we need full description. */ descLabel.removeStyleName("label-style"); - descLabel.setId(SPUIComponentIdProvider.DETAILS_DESCRIPTION_LABEL_ID); + descLabel.setId(UIComponentIdProvider.DETAILS_DESCRIPTION_LABEL_ID); descriptionLayout.addComponent(descLabel); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/DistributionSetMetadatadetailslayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/DistributionSetMetadatadetailslayout.java index bcac6033b..2c158f2a9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/DistributionSetMetadatadetailslayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/DistributionSetMetadatadetailslayout.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.distributions.dstable.DsMetadataPopupLayout; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import com.vaadin.data.Item; @@ -153,7 +153,7 @@ public class DistributionSetMetadatadetailslayout extends Table { } private static String getDetailLinkId(final String name) { - return new StringBuilder(SPUIComponentIdProvider.DS_METADATA_DETAIL_LINK).append('.').append(name).toString(); + return new StringBuilder(UIComponentIdProvider.DS_METADATA_DETAIL_LINK).append('.').append(name).toString(); } private void showMetadataDetails(final Long selectedDistSetId, final String metadataKey) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleMetadatadetailslayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleMetadatadetailslayout.java index fd5c1d59f..5b7c0e779 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleMetadatadetailslayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/detailslayout/SoftwareModuleMetadatadetailslayout.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.distributions.smtable.SwMetadataPopupLayout; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import com.vaadin.data.Item; @@ -170,7 +170,7 @@ public class SoftwareModuleMetadatadetailslayout extends Table { } private static String getDetailLinkId(final String name) { - return new StringBuilder(SPUIComponentIdProvider.SW_METADATA_DETAIL_LINK).append('.').append(name).toString(); + return new StringBuilder(UIComponentIdProvider.SW_METADATA_DETAIL_LINK).append('.').append(name).toString(); } private void showMetadataDetails(final Long selectedSWModuleId, final String metadataKey) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java index a0d6e108a..5b77cfe1d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/footer/AbstractDeleteActionsLayout.java @@ -17,7 +17,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmall; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; @@ -155,7 +155,7 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme } private Button createActionsButton() { - final Button button = SPUIComponentProvider.getButton(SPUIComponentIdProvider.PENDING_ACTION_BUTTON, + final Button button = SPUIComponentProvider.getButton(UIComponentIdProvider.PENDING_ACTION_BUTTON, getNoActionsButtonLabel(), "", "", false, FontAwesome.BELL, SPUIButtonStyleSmall.class); button.setStyleName(SPUIStyleDefinitions.ACTION_BUTTON); button.addStyleName("del-action-button"); @@ -166,7 +166,7 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme } private Button createBulkUploadStatusButton() { - final Button button = SPUIComponentProvider.getButton(SPUIComponentIdProvider.BULK_UPLOAD_STATUS_BUTTON, "", "", + final Button button = SPUIComponentProvider.getButton(UIComponentIdProvider.BULK_UPLOAD_STATUS_BUTTON, "", "", "", false, null, SPUIButtonStyleSmall.class); button.setStyleName(SPUIStyleDefinitions.ACTION_BUTTON); button.addStyleName(SPUIStyleDefinitions.UPLOAD_PROGRESS_INDICATOR_STYLE); @@ -217,7 +217,7 @@ public abstract class AbstractDeleteActionsLayout extends VerticalLayout impleme return; } unsavedActionsWindow = new WindowBuilder(SPUIDefinitions.CONFIRMATION_WINDOW) - .caption(getUnsavedActionsWindowCaption()).id(SPUIComponentIdProvider.CONFIRMATION_POPUP_ID) + .caption(getUnsavedActionsWindowCaption()).id(UIComponentIdProvider.CONFIRMATION_POPUP_ID) .content(getUnsavedActionsWindowContent()).buildWindow(); unsavedActionsWindow.addCloseListener(event -> unsavedActionsWindowClosed()); UI.getCurrent().addWindow(unsavedActionsWindow); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/grid/AbstractGridLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/grid/AbstractGridLayout.java index b07b927f0..db754d2fa 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/grid/AbstractGridLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/grid/AbstractGridLayout.java @@ -8,7 +8,7 @@ */ package org.eclipse.hawkbit.ui.common.grid; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import com.vaadin.ui.Alignment; @@ -71,7 +71,7 @@ public abstract class AbstractGridLayout extends VerticalLayout { private HorizontalLayout createCountMessageComponent() { final HorizontalLayout rolloutGroupTargetsCountLayout = new HorizontalLayout(); final Label countMessageLabel = getCountMessageLabel(); - countMessageLabel.setId(SPUIComponentIdProvider.ROLLOUT_GROUP_TARGET_LABEL); + countMessageLabel.setId(UIComponentIdProvider.ROLLOUT_GROUP_TARGET_LABEL); rolloutGroupTargetsCountLayout.addComponent(getCountMessageLabel()); rolloutGroupTargetsCountLayout.setStyleName(SPUIStyleDefinitions.FOOTER_LAYOUT); rolloutGroupTargetsCountLayout.setWidth("100%"); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/customrenderers/client/renderers/HtmlButtonRenderer.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/customrenderers/client/renderers/HtmlButtonRenderer.java index b9e75efed..b1d824052 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/customrenderers/client/renderers/HtmlButtonRenderer.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/customrenderers/client/renderers/HtmlButtonRenderer.java @@ -8,7 +8,7 @@ */ package org.eclipse.hawkbit.ui.customrenderers.client.renderers; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import com.google.gwt.user.client.ui.Button; import com.vaadin.client.renderers.ButtonRenderer; @@ -31,7 +31,7 @@ public class HtmlButtonRenderer extends ButtonRenderer { applystyles(button, buttonEnable); // this is to allow the button to disappear, if the text is null button.setVisible(text != null); - button.getElement().setId(SPUIComponentIdProvider.ROLLOUT_ACTION_ID + "." + cell.getColumnIndex()); + button.getElement().setId(UIComponentIdProvider.ROLLOUT_ACTION_ID + "." + cell.getColumnIndex()); button.setEnabled(buttonEnable); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java index c803148fe..796d49e22 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/CreateUpdateDistSetTypeLayout.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent; import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent.DistributionSetTypeEnum; import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -131,7 +131,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout addSMType()); final Button unSelectButton = SPUIComponentProvider.getButton("unselect-dist-type", "", "", "arrow-button", diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/DSTypeFilterButtons.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/DSTypeFilterButtons.java index fb7285764..bc84809dc 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/DSTypeFilterButtons.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/disttype/DSTypeFilterButtons.java @@ -15,7 +15,7 @@ import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteri import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory; @@ -47,7 +47,7 @@ public class DSTypeFilterButtons extends AbstractFilterButtons { @Override protected String getButtonsTableId() { - return SPUIComponentIdProvider.DISTRIBUTION_SET_TYPE_TABLE_ID; + return UIComponentIdProvider.DISTRIBUTION_SET_TYPE_TABLE_ID; } @Override @@ -65,7 +65,7 @@ public class DSTypeFilterButtons extends AbstractFilterButtons { @Override protected String createButtonId(final String name) { - return SPUIComponentIdProvider.DS_TYPE_FILTER_BTN_ID + name; + return UIComponentIdProvider.DS_TYPE_FILTER_BTN_ID + name; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java index 06b23c51b..a2ded014d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetDetails.java @@ -34,7 +34,7 @@ import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.management.dstable.DistributionAddUpdateWindowLayout; import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; import org.vaadin.spring.events.annotation.EventBusListenerMethod; @@ -275,7 +275,7 @@ public class DistributionSetDetails extends AbstractNamedVersionedEntityTableDet if (type != null) { final Label typeLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.type"), type); - typeLabel.setId(SPUIComponentIdProvider.DETAILS_TYPE_LABEL_ID); + typeLabel.setId(UIComponentIdProvider.DETAILS_TYPE_LABEL_ID); detailsTabLayout.addComponent(typeLabel); } @@ -296,7 +296,7 @@ public class DistributionSetDetails extends AbstractNamedVersionedEntityTableDet @Override protected String getEditButtonId() { - return SPUIComponentIdProvider.DS_EDIT_BUTTON; + return UIComponentIdProvider.DS_EDIT_BUTTON; } @Override @@ -382,12 +382,12 @@ public class DistributionSetDetails extends AbstractNamedVersionedEntityTableDet @Override protected String getTabSheetId() { - return SPUIComponentIdProvider.DISTRIBUTIONSET_DETAILS_TABSHEET_ID; + return UIComponentIdProvider.DISTRIBUTIONSET_DETAILS_TABSHEET_ID; } @Override protected String getDetailsHeaderCaptionId() { - return SPUIComponentIdProvider.DISTRIBUTION_DETAILS_HEADER_LABEL_ID; + return UIComponentIdProvider.DISTRIBUTION_DETAILS_HEADER_LABEL_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTable.java index 94bc6690e..2a860c9b8 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/dstable/DistributionSetTable.java @@ -43,7 +43,7 @@ import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.management.event.DistributionTableFilterEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -151,7 +151,7 @@ public class DistributionSetTable extends AbstractNamedVersionTable> config = new HashMap<>(); // Delete drop area droppable components - config.put(SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, - Arrays.asList(SPUIDefinitions.DISTRIBUTION_TYPE_ID_PREFIXS, SPUIComponentIdProvider.DIST_TABLE_ID, - SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, + config.put(UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, + Arrays.asList(SPUIDefinitions.DISTRIBUTION_TYPE_ID_PREFIXS, UIComponentIdProvider.DIST_TABLE_ID, + UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, SPUIDefinitions.SOFTWARE_MODULE_TAG_ID_PREFIXS)); // Distribution table drop components - config.put(SPUIComponentIdProvider.DIST_TABLE_ID, - Arrays.asList(SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE)); + config.put(UIComponentIdProvider.DIST_TABLE_ID, + Arrays.asList(UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE)); return config; } @@ -84,8 +84,8 @@ public class DistributionsViewAcceptCriteria extends AbstractAcceptCriteria { private static Map createDropHintConfigurations() { final Map config = new HashMap<>(); config.put(SPUIDefinitions.DISTRIBUTION_TYPE_ID_PREFIXS, DragEvent.DISTRIBUTION_TYPE_DRAG); - config.put(SPUIComponentIdProvider.DIST_TABLE_ID, DragEvent.DISTRIBUTION_DRAG); - config.put(SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, DragEvent.SOFTWAREMODULE_DRAG); + config.put(UIComponentIdProvider.DIST_TABLE_ID, DragEvent.DISTRIBUTION_DRAG); + config.put(UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE, DragEvent.SOFTWAREMODULE_DRAG); config.put(SPUIDefinitions.SOFTWARE_MODULE_TAG_ID_PREFIXS, DragEvent.SOFTWAREMODULE_TYPE_DRAG); return config; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java index 128712ce5..010ce36fa 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DSDeleteActionsLayout.java @@ -27,7 +27,7 @@ import org.eclipse.hawkbit.ui.distributions.event.DragEvent; import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -115,7 +115,7 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout { @Override protected String getDeleteAreaId() { - return SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; + return UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; } @Override @@ -262,11 +262,11 @@ public class DSDeleteActionsLayout extends AbstractDeleteActionsLayout { } private boolean isDistributionTable(final Component source) { - return SPUIComponentIdProvider.DIST_TABLE_ID.equals(source.getId()); + return UIComponentIdProvider.DIST_TABLE_ID.equals(source.getId()); } private boolean isSoftwareModuleTable(final Component source) { - return SPUIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE.equals(source.getId()); + return UIComponentIdProvider.UPLOAD_SOFTWARE_MODULE_TABLE.equals(source.getId()); } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DistributionsConfirmationWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DistributionsConfirmationWindowLayout.java index 290d2ff54..c629d6a23 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DistributionsConfirmationWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/footer/DistributionsConfirmationWindowLayout.java @@ -29,7 +29,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -124,7 +124,7 @@ public class DistributionsConfirmationWindowLayout extends AbstractConfirmationW private ConfirmationTab createSMDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.SW_DELETE_ALL); + tab.getConfirmAll().setId(UIComponentIdProvider.SW_DELETE_ALL); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteSMAll(tab)); @@ -232,13 +232,13 @@ public class DistributionsConfirmationWindowLayout extends AbstractConfirmationW private ConfirmationTab createSMtypeDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.SAVE_DELETE_SW_MODULE_TYPE); + tab.getConfirmAll().setId(UIComponentIdProvider.SAVE_DELETE_SW_MODULE_TYPE); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteSMtypeAll(tab)); tab.getDiscardAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DISCARD_ALL)); - tab.getDiscardAll().setId(SPUIComponentIdProvider.DISCARD_SW_MODULE_TYPE); + tab.getDiscardAll().setId(UIComponentIdProvider.DISCARD_SW_MODULE_TYPE); tab.getDiscardAll().addClickListener(event -> discardSMtypeAll(tab)); // Add items container to the table. @@ -324,7 +324,7 @@ public class DistributionsConfirmationWindowLayout extends AbstractConfirmationW private ConfirmationTab createDistDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.DIST_DELETE_ALL); + tab.getConfirmAll().setId(UIComponentIdProvider.DIST_DELETE_ALL); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteDistAll(tab)); @@ -423,13 +423,13 @@ public class DistributionsConfirmationWindowLayout extends AbstractConfirmationW private ConfirmationTab createDistSetTypeDeleteConfirmationTab() { final ConfirmationTab tab = new ConfirmationTab(); - tab.getConfirmAll().setId(SPUIComponentIdProvider.SAVE_DELETE_DIST_SET_TYPE); + tab.getConfirmAll().setId(UIComponentIdProvider.SAVE_DELETE_DIST_SET_TYPE); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteDistSetTypeAll(tab)); tab.getDiscardAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DISCARD_ALL)); - tab.getDiscardAll().setId(SPUIComponentIdProvider.DISCARD_DIST_SET_TYPE); + tab.getDiscardAll().setId(UIComponentIdProvider.DISCARD_DIST_SET_TYPE); tab.getDiscardAll().addClickListener(event -> discardDistSetTypeAll(tab)); // Add items container to the table. @@ -511,13 +511,13 @@ public class DistributionsConfirmationWindowLayout extends AbstractConfirmationW assignmnetTab = new ConfirmationTab(); - assignmnetTab.getConfirmAll().setId(SPUIComponentIdProvider.SAVE_ASSIGNMENT); + assignmnetTab.getConfirmAll().setId(UIComponentIdProvider.SAVE_ASSIGNMENT); assignmnetTab.getConfirmAll().setIcon(FontAwesome.SAVE); assignmnetTab.getConfirmAll().setCaption(i18n.get("button.assign.all")); assignmnetTab.getConfirmAll().addClickListener(event -> saveAllAssignments(assignmnetTab)); assignmnetTab.getDiscardAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DISCARD_ALL)); - assignmnetTab.getDiscardAll().setId(SPUIComponentIdProvider.DISCARD_ASSIGNMENT); + assignmnetTab.getDiscardAll().setId(UIComponentIdProvider.DISCARD_ASSIGNMENT); assignmnetTab.getDiscardAll().addClickListener(event -> discardAllSWAssignments(assignmnetTab)); // Add items container to the table. diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleDetails.java index adf444b46..160abc438 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleDetails.java @@ -20,7 +20,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.distributions.event.MetadataEvent; import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; import org.vaadin.spring.events.annotation.EventBusListenerMethod; @@ -111,7 +111,7 @@ public class SwModuleDetails extends AbstractNamedVersionedEntityTableDetailsLay @Override protected String getEditButtonId() { - return SPUIComponentIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON; + return UIComponentIdProvider.UPLOAD_SW_MODULE_EDIT_BUTTON; } @Override @@ -144,7 +144,7 @@ public class SwModuleDetails extends AbstractNamedVersionedEntityTableDetailsLay @Override protected String getTabSheetId() { - return SPUIComponentIdProvider.DIST_SW_MODULE_DETAILS_TABSHEET_ID; + return UIComponentIdProvider.DIST_SW_MODULE_DETAILS_TABSHEET_ID; } private void populateDetails() { @@ -170,19 +170,19 @@ public class SwModuleDetails extends AbstractNamedVersionedEntityTableDetailsLay final Label vendorLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.vendor"), HawkbitCommonUtil.trimAndNullIfEmpty(vendor) == null ? "" : vendor); - vendorLabel.setId(SPUIComponentIdProvider.DETAILS_VENDOR_LABEL_ID); + vendorLabel.setId(UIComponentIdProvider.DETAILS_VENDOR_LABEL_ID); detailsTabLayout.addComponent(vendorLabel); if (type != null) { final Label typeLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.type"), type); - typeLabel.setId(SPUIComponentIdProvider.DETAILS_TYPE_LABEL_ID); + typeLabel.setId(UIComponentIdProvider.DETAILS_TYPE_LABEL_ID); detailsTabLayout.addComponent(typeLabel); } final Label assignLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.assigned.type"), HawkbitCommonUtil.trimAndNullIfEmpty(maxAssign) == null ? "" : maxAssign); - assignLabel.setId(SPUIComponentIdProvider.SWM_DTLS_MAX_ASSIGN); + assignLabel.setId(UIComponentIdProvider.SWM_DTLS_MAX_ASSIGN); detailsTabLayout.addComponent(assignLabel); } @@ -195,7 +195,7 @@ public class SwModuleDetails extends AbstractNamedVersionedEntityTableDetailsLay @Override protected String getDetailsHeaderCaptionId() { - return SPUIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; + return UIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleTable.java index 9af813788..d7186de6b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/distributions/smtable/SwModuleTable.java @@ -28,7 +28,7 @@ import org.eclipse.hawkbit.ui.distributions.event.DistributionsViewAcceptCriteri import org.eclipse.hawkbit.ui.distributions.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.distributions.state.ManageDistUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -129,7 +129,7 @@ public class SwModuleTable extends AbstractNamedVersionTable closeFilterLayout()); return button; @@ -472,8 +472,8 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button } private Button createSaveButton() { - saveButton = SPUIComponentProvider.getButton(SPUIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON, - SPUIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON, "Save", null, false, FontAwesome.SAVE, + saveButton = SPUIComponentProvider.getButton(UIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON, + UIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON, "Save", null, false, FontAwesome.SAVE, SPUIButtonStyleSmallNoBorder.class); saveButton.addClickListener(this); saveButton.setEnabled(false); @@ -488,7 +488,7 @@ public class CreateOrUpdateFilterHeader extends VerticalLayout implements Button */ @Override public void buttonClick(final ClickEvent event) { - if (SPUIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON.equals(event.getComponent().getId()) + if (UIComponentIdProvider.CUSTOM_FILTER_SAVE_ICON.equals(event.getComponent().getId()) && manadatoryFieldsPresent()) { if (filterManagementUIState.isCreateFilterViewDisplayed() && !doesAlreadyExists()) { createTargetFilterQuery(); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java index e447a257a..49117fb31 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/CreateOrUpdateFilterTable.java @@ -24,7 +24,7 @@ import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; import org.eclipse.hawkbit.ui.utils.AssignInstalledDSTooltipGenerator; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.TableColumn; @@ -90,7 +90,7 @@ public class CreateOrUpdateFilterTable extends Table { addCustomGeneratedColumns(); restoreOnLoad(); populateTableData(); - setId(SPUIComponentIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID); + setId(UIComponentIdProvider.CUSTOM_FILTER_TARGET_TABLE_ID); setSelectable(false); eventBus.subscribe(this); setItemDescriptionGenerator(new AssignInstalledDSTooltipGenerator()); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java index aac18334a..f23e21e2a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterHeader.java @@ -18,7 +18,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -107,7 +107,7 @@ public class TargetFilterHeader extends VerticalLayout { } private Button createAddButton() { - final Button button = SPUIComponentProvider.getButton(SPUIComponentIdProvider.TARGET_FILTER_ADD_ICON_ID, "", "", + final Button button = SPUIComponentProvider.getButton(UIComponentIdProvider.TARGET_FILTER_ADD_ICON_ID, "", "", null, false, FontAwesome.PLUS, SPUIButtonStyleSmallNoBorder.class); button.addClickListener(event -> addNewFilter()); return button; @@ -120,7 +120,7 @@ public class TargetFilterHeader extends VerticalLayout { } private TextField createSearchField() { - final TextField campSearchTextField = new TextFieldBuilder(SPUIComponentIdProvider.TARGET_FILTER_SEARCH_TEXT) + final TextField campSearchTextField = new TextFieldBuilder(UIComponentIdProvider.TARGET_FILTER_SEARCH_TEXT) .createSearchField(event -> searchBy(event.getText())); campSearchTextField.setWidth(500.0F, Unit.PIXELS); return campSearchTextField; @@ -169,7 +169,7 @@ public class TargetFilterHeader extends VerticalLayout { } private String getSearchRestIconId() { - return SPUIComponentIdProvider.TARGET_FILTER_TBL_SEARCH_RESET_ID; + return UIComponentIdProvider.TARGET_FILTER_TBL_SEARCH_RESET_ID; } protected void resetSearchText() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java index 994e8b2e0..40c28a40e 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/TargetFilterTable.java @@ -25,7 +25,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.TableColumn; @@ -94,7 +94,7 @@ public class TargetFilterTable extends Table { populateTableData(); setColumnCollapsingAllowed(true); setColumnProperties(); - setId(SPUIComponentIdProvider.TARGET_FILTER_TABLE_ID); + setId(UIComponentIdProvider.TARGET_FILTER_TABLE_ID); eventBus.subscribe(this); } @@ -172,7 +172,7 @@ public class TargetFilterTable extends Table { } private String getDeleteIconId(final String targetFilterName) { - return new StringBuilder(SPUIComponentIdProvider.CUSTOM_FILTER_DELETE_ICON).append('.').append(targetFilterName) + return new StringBuilder(UIComponentIdProvider.CUSTOM_FILTER_DELETE_ICON).append('.').append(targetFilterName) .toString(); } @@ -241,7 +241,7 @@ public class TargetFilterTable extends Table { } private static String getDetailLinkId(final String filterName) { - return new StringBuilder(SPUIComponentIdProvider.CUSTOM_FILTER_DETAIL_LINK).append('.').append(filterName) + return new StringBuilder(UIComponentIdProvider.CUSTOM_FILTER_DETAIL_LINK).append('.').append(filterName) .toString(); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java index c82467425..1a297c94c 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/footer/TargetFilterCountMessageLabel.java @@ -15,7 +15,7 @@ import org.eclipse.hawkbit.ui.filtermanagement.event.CustomFilterUIEvent; import org.eclipse.hawkbit.ui.filtermanagement.state.FilterManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -79,7 +79,7 @@ public class TargetFilterCountMessageLabel extends Label { private void applyStyle() { addStyleName(SPUILabelDefinitions.SP_LABEL_MESSAGE_STYLE); setContentMode(ContentMode.HTML); - setId(SPUIComponentIdProvider.COUNT_LABEL); + setId(UIComponentIdProvider.COUNT_LABEL); } private void displayTargetFilterMessage() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/AbstractCreateUpdateTagLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/AbstractCreateUpdateTagLayout.java index 755d378ea..8dec5c168 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/AbstractCreateUpdateTagLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/AbstractCreateUpdateTagLayout.java @@ -28,7 +28,7 @@ import org.eclipse.hawkbit.ui.common.builder.WindowBuilder; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; import org.springframework.beans.factory.annotation.Autowired; @@ -193,10 +193,10 @@ public abstract class AbstractCreateUpdateTagLayout exten i18n.get("label.combobox.tag")); tagNameComboBox.addStyleName(SPUIDefinitions.FILTER_TYPE_COMBO_STYLE); tagNameComboBox.setImmediate(true); - tagNameComboBox.setId(SPUIComponentIdProvider.DIST_TAG_COMBO); + tagNameComboBox.setId(UIComponentIdProvider.DIST_TAG_COMBO); tagColorPreviewBtn = new Button(); - tagColorPreviewBtn.setId(SPUIComponentIdProvider.TAG_COLOR_PREVIEW_ID); + tagColorPreviewBtn.setId(UIComponentIdProvider.TAG_COLOR_PREVIEW_ID); getPreviewButtonColor(ColorPickerConstants.DEFAULT_COLOR); tagColorPreviewBtn.setStyleName(TAG_DYNAMIC_STYLE); } @@ -455,7 +455,7 @@ public abstract class AbstractCreateUpdateTagLayout exten protected void createOptionGroup(final boolean hasCreatePermission, final boolean hasUpdatePermission) { optiongroup = new OptionGroup("Select Action"); - optiongroup.setId(SPUIComponentIdProvider.OPTION_GROUP); + optiongroup.setId(UIComponentIdProvider.OPTION_GROUP); optiongroup.addStyleName(ValoTheme.OPTIONGROUP_SMALL); optiongroup.addStyleName("custom-option-group"); optiongroup.setNullSelectionAllowed(false); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java index b464a87c0..a23a9e7c3 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/layouts/CreateUpdateTypeLayout.java @@ -14,7 +14,7 @@ import org.eclipse.hawkbit.ui.colorpicker.ColorPickerHelper; import org.eclipse.hawkbit.ui.common.builder.LabelBuilder; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import com.vaadin.data.Property.ValueChangeEvent; @@ -62,7 +62,7 @@ public abstract class CreateUpdateTypeLayout extends Abst tagNameComboBox.setPageLength(SPUIDefinitions.DIST_TYPE_SIZE); tagColorPreviewBtn = new Button(); - tagColorPreviewBtn.setId(SPUIComponentIdProvider.TAG_COLOR_PREVIEW_ID); + tagColorPreviewBtn.setId(UIComponentIdProvider.TAG_COLOR_PREVIEW_ID); getPreviewButtonColor(ColorPickerConstants.DEFAULT_COLOR); tagColorPreviewBtn.setStyleName(TAG_DYNAMIC_STYLE); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/login/LoginView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/login/LoginView.java index 6e5ea9238..abc0e7d73 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/login/LoginView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/login/LoginView.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.im.authentication.TenantUserPasswordAuthenticationTok import org.eclipse.hawkbit.ui.UiProperties; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -264,7 +264,7 @@ public class LoginView extends VerticalLayout implements View { final String linkStyle = "v-link"; if (!uiProperties.getLinks().getDocumentation().getRoot().isEmpty()) { - final Link docuLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_DOCUMENTATION, + final Link docuLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_DOCUMENTATION, i18n.get("link.documentation.name"), uiProperties.getLinks().getDocumentation().getRoot(), FontAwesome.QUESTION_CIRCLE, "_blank", linkStyle); links.addComponent(docuLink); @@ -272,14 +272,14 @@ public class LoginView extends VerticalLayout implements View { } if (!uiProperties.getDemo().getUser().isEmpty()) { - final Link demoLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_DEMO, + final Link demoLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_DEMO, i18n.get("link.demo.name"), "?demo", FontAwesome.DESKTOP, "_top", linkStyle); links.addComponent(demoLink); demoLink.addStyleName(ValoTheme.LINK_SMALL); } if (!uiProperties.getLinks().getRequestAccount().isEmpty()) { - final Link requestAccountLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_REQUESTACCOUNT, + final Link requestAccountLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_REQUESTACCOUNT, i18n.get("link.requestaccount.name"), uiProperties.getLinks().getRequestAccount(), FontAwesome.SHOPPING_CART, "", linkStyle); links.addComponent(requestAccountLink); @@ -287,7 +287,7 @@ public class LoginView extends VerticalLayout implements View { } if (!uiProperties.getLinks().getUserManagement().isEmpty()) { - final Link userManagementLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_USERMANAGEMENT, + final Link userManagementLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_USERMANAGEMENT, i18n.get("link.usermanagement.name"), uiProperties.getLinks().getUserManagement(), FontAwesome.USERS, "_blank", linkStyle); links.addComponent(userManagementLink); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/actionhistory/ActionHistoryTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/actionhistory/ActionHistoryTable.java index 357ef04dc..59c0aa59a 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/actionhistory/ActionHistoryTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/actionhistory/ActionHistoryTable.java @@ -35,7 +35,7 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; import org.slf4j.Logger; @@ -153,7 +153,7 @@ public class ActionHistoryTable extends TreeTable { private void initializeTableSettings() { - setId(SPUIComponentIdProvider.ACTION_HISTORY_TABLE_ID); + setId(UIComponentIdProvider.ACTION_HISTORY_TABLE_ID); setSelectable(false); setMultiSelect(false); setSortEnabled(true); @@ -406,20 +406,20 @@ public class ActionHistoryTable extends TreeTable { final boolean isActionActive = target != null && SPUIDefinitions.ACTIVE.equals(activeValue); final Button actionCancel = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.ACTION_HISTORY_TABLE_CANCEL_ID, "", i18n.get("message.cancel.action"), + UIComponentIdProvider.ACTION_HISTORY_TABLE_CANCEL_ID, "", i18n.get("message.cancel.action"), ValoTheme.BUTTON_TINY, true, FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); actionCancel.setEnabled(isActionActive && !actionWithActiveStatus.isCancelingOrCanceled()); actionCancel.addClickListener(event -> confirmAndCancelAction(actionId)); final Button actionForce = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.ACTION_HISTORY_TABLE_FORCE_ID, "", i18n.get("message.force.action"), + UIComponentIdProvider.ACTION_HISTORY_TABLE_FORCE_ID, "", i18n.get("message.force.action"), ValoTheme.BUTTON_TINY, true, FontAwesome.BOLT, SPUIButtonStyleSmallNoBorder.class); actionForce.setEnabled( isActionActive && !actionWithActiveStatus.isForce() && !actionWithActiveStatus.isCancelingOrCanceled()); actionForce.addClickListener(event -> confirmAndForceAction(actionId)); final Button actionForceQuit = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.ACTION_HISTORY_TABLE_FORCE_QUIT_ID, "", i18n.get("message.forcequit.action"), + UIComponentIdProvider.ACTION_HISTORY_TABLE_FORCE_QUIT_ID, "", i18n.get("message.forcequit.action"), ValoTheme.BUTTON_TINY + " redicon", true, FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); actionForceQuit.setEnabled(isActionActive && actionWithActiveStatus.isCancelingOrCanceled()); actionForceQuit.addClickListener(event -> confirmAndForceQuitAction(actionId)); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java index e0bf9b1df..d0bcc7dab 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionAddUpdateWindowLayout.java @@ -35,7 +35,7 @@ import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -144,25 +144,25 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent { * Create required UI components. */ private void createRequiredComponents() { - distNameTextField = createTextField("textfield.name", SPUIComponentIdProvider.DIST_ADD_NAME); - distVersionTextField = createTextField("textfield.version", SPUIComponentIdProvider.DIST_ADD_VERSION); + distNameTextField = createTextField("textfield.name", UIComponentIdProvider.DIST_ADD_NAME); + distVersionTextField = createTextField("textfield.version", UIComponentIdProvider.DIST_ADD_VERSION); distsetTypeNameComboBox = SPUIComponentProvider.getComboBox(i18n.get("label.combobox.type"), "", null, "", false, "", i18n.get("label.combobox.type")); distsetTypeNameComboBox.setImmediate(true); distsetTypeNameComboBox.setNullSelectionAllowed(false); - distsetTypeNameComboBox.setId(SPUIComponentIdProvider.DIST_ADD_DISTSETTYPE); + distsetTypeNameComboBox.setId(UIComponentIdProvider.DIST_ADD_DISTSETTYPE); populateDistSetTypeNameCombo(); descTextArea = new TextAreaBuilder().caption(i18n.get("textfield.description")).style("text-area-style") - .prompt(i18n.get("textfield.description")).immediate(true).id(SPUIComponentIdProvider.DIST_ADD_DESC) + .prompt(i18n.get("textfield.description")).immediate(true).id(UIComponentIdProvider.DIST_ADD_DESC) .buildTextComponent(); descTextArea.setNullRepresentation(""); reqMigStepCheckbox = SPUIComponentProvider.getCheckBox(i18n.get("checkbox.dist.required.migration.step"), "dist-checkbox-style", null, false, ""); reqMigStepCheckbox.addStyleName(ValoTheme.CHECKBOX_SMALL); - reqMigStepCheckbox.setId(SPUIComponentIdProvider.DIST_ADD_MIGRATION_CHECK); + reqMigStepCheckbox.setId(UIComponentIdProvider.DIST_ADD_MIGRATION_CHECK); } private TextField createTextField(final String in18Key, final String id) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java index 9992b09e2..19075898b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionDetails.java @@ -20,7 +20,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.distributions.dstable.DsMetadataPopupLayout; import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; import org.vaadin.spring.events.annotation.EventBusListenerMethod; @@ -107,7 +107,7 @@ public class DistributionDetails extends AbstractNamedVersionedEntityTableDetail @Override protected String getEditButtonId() { - return SPUIComponentIdProvider.DS_EDIT_BUTTON; + return UIComponentIdProvider.DS_EDIT_BUTTON; } @Override @@ -128,7 +128,7 @@ public class DistributionDetails extends AbstractNamedVersionedEntityTableDetail @Override protected String getTabSheetId() { - return SPUIComponentIdProvider.DISTRIBUTION_DETAILS_TABSHEET; + return UIComponentIdProvider.DISTRIBUTION_DETAILS_TABSHEET; } @Override @@ -159,7 +159,7 @@ public class DistributionDetails extends AbstractNamedVersionedEntityTableDetail if (type != null) { final Label typeLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.dist.details.type"), type); - typeLabel.setId(SPUIComponentIdProvider.DETAILS_TYPE_LABEL_ID); + typeLabel.setId(UIComponentIdProvider.DETAILS_TYPE_LABEL_ID); detailsTabLayout.addComponent(typeLabel); } @@ -185,7 +185,7 @@ public class DistributionDetails extends AbstractNamedVersionedEntityTableDetail @Override protected String getDetailsHeaderCaptionId() { - return SPUIComponentIdProvider.DISTRIBUTION_DETAILS_HEADER_LABEL_ID; + return UIComponentIdProvider.DISTRIBUTION_DETAILS_HEADER_LABEL_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTable.java index 3bf60df52..97da2be3b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/dstable/DistributionTable.java @@ -43,7 +43,7 @@ import org.eclipse.hawkbit.ui.management.event.PinUnpinEvent; import org.eclipse.hawkbit.ui.management.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -224,7 +224,7 @@ public class DistributionTable extends AbstractNamedVersionTable> config = new HashMap<>(); // Delete drop area acceptable components - config.put(SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, - Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, SPUIComponentIdProvider.TARGET_TABLE_ID, - SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS, SPUIComponentIdProvider.DIST_TABLE_ID)); + config.put(UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID, + Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, UIComponentIdProvider.TARGET_TABLE_ID, + SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS, UIComponentIdProvider.DIST_TABLE_ID)); // Target Tag acceptable components - config.put(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, Arrays.asList(SPUIComponentIdProvider.TARGET_TABLE_ID)); + config.put(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, Arrays.asList(UIComponentIdProvider.TARGET_TABLE_ID)); // Target table acceptable components - config.put(SPUIComponentIdProvider.TARGET_TABLE_ID, - Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, SPUIComponentIdProvider.DIST_TABLE_ID)); + config.put(UIComponentIdProvider.TARGET_TABLE_ID, + Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, UIComponentIdProvider.DIST_TABLE_ID)); // Target table header acceptable components - config.put(SPUIComponentIdProvider.TARGET_DROP_FILTER_ICON, Arrays.asList(SPUIComponentIdProvider.DIST_TABLE_ID)); + config.put(UIComponentIdProvider.TARGET_DROP_FILTER_ICON, Arrays.asList(UIComponentIdProvider.DIST_TABLE_ID)); // Distribution table acceptable components - config.put(SPUIComponentIdProvider.DIST_TABLE_ID, Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, - SPUIComponentIdProvider.TARGET_TABLE_ID, SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS)); + config.put(UIComponentIdProvider.DIST_TABLE_ID, Arrays.asList(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, + UIComponentIdProvider.TARGET_TABLE_ID, SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS)); // Distribution tag acceptable components. - config.put(SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS, Arrays.asList(SPUIComponentIdProvider.DIST_TABLE_ID)); + config.put(SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS, Arrays.asList(UIComponentIdProvider.DIST_TABLE_ID)); return config; } private static Map createDropHintConfigurations() { final Map config = new HashMap<>(); config.put(SPUIDefinitions.TARGET_TAG_ID_PREFIXS, DragEvent.TARGET_TAG_DRAG); - config.put(SPUIComponentIdProvider.TARGET_TABLE_ID, DragEvent.TARGET_DRAG); - config.put(SPUIComponentIdProvider.DIST_TABLE_ID, DragEvent.DISTRIBUTION_DRAG); + config.put(UIComponentIdProvider.TARGET_TABLE_ID, DragEvent.TARGET_DRAG); + config.put(UIComponentIdProvider.DIST_TABLE_ID, DragEvent.DISTRIBUTION_DRAG); config.put(SPUIDefinitions.DISTRIBUTION_TAG_ID_PREFIXS, DragEvent.DISTRIBUTION_TAG_DRAG); return config; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java index 24b053d03..fb5d37557 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ActionTypeOptionGroupLayout.java @@ -17,7 +17,7 @@ import javax.annotation.PostConstruct; import org.eclipse.hawkbit.repository.model.Action.ActionType; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroup; import org.vaadin.hene.flexibleoptiongroup.FlexibleOptionGroupItemComponent; @@ -99,7 +99,7 @@ public class ActionTypeOptionGroupLayout extends HorizontalLayout { addComponent(forceLabel); final FlexibleOptionGroupItemComponent softItem = actionTypeOptionGroup.getItemComponent(ActionTypeOption.SOFT); - softItem.setId(SPUIComponentIdProvider.ACTION_DETAILS_SOFT_ID); + softItem.setId(UIComponentIdProvider.ACTION_DETAILS_SOFT_ID); softItem.setStyleName(STYLE_DIST_WINDOW_ACTIONTYPE); addComponent(softItem); final Label softLabel = new Label(); @@ -113,7 +113,7 @@ public class ActionTypeOptionGroupLayout extends HorizontalLayout { .getItemComponent(ActionTypeOption.AUTO_FORCED); autoForceItem.setStyleName(STYLE_DIST_WINDOW_ACTIONTYPE); // setted Id for Time Forced radio button. - autoForceItem.setId(SPUIComponentIdProvider.ACTION_TYPE_OPTION_GROUP_SAVE_TIMEFORCED); + autoForceItem.setId(UIComponentIdProvider.ACTION_TYPE_OPTION_GROUP_SAVE_TIMEFORCED); addComponent(autoForceItem); final Label autoForceLabel = new Label(); autoForceLabel.setStyleName("statusIconPending"); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/CountMessageLabel.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/CountMessageLabel.java index 0efe7d743..70ed995a6 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/CountMessageLabel.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/CountMessageLabel.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.ui.management.state.TargetTableFilters; import org.eclipse.hawkbit.ui.management.targettable.TargetTable; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -126,7 +126,7 @@ public class CountMessageLabel extends Label { /* Create label for Targets count message displaying below the table */ addStyleName(SPUILabelDefinitions.SP_LABEL_MESSAGE_STYLE); setContentMode(ContentMode.HTML); - setId(SPUIComponentIdProvider.COUNT_LABEL); + setId(UIComponentIdProvider.COUNT_LABEL); } private void displayTargetCountStatus() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java index 6c3149109..e94494c56 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayout.java @@ -24,7 +24,7 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; @@ -152,7 +152,7 @@ public class DeleteActionsLayout extends AbstractDeleteActionsLayout { @Override protected String getDeleteAreaId() { - return SPUIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; + return UIComponentIdProvider.DELETE_BUTTON_WRAPPER_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayoutHelper.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayoutHelper.java index 02d4c5a80..b2ed25222 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayoutHelper.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/DeleteActionsLayoutHelper.java @@ -8,7 +8,7 @@ */ package org.eclipse.hawkbit.ui.management.footer; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import com.vaadin.ui.Component; @@ -68,7 +68,7 @@ public final class DeleteActionsLayoutHelper { * @return true if it component is target table */ public static boolean isTargetTable(final Component source) { - return SPUIComponentIdProvider.TARGET_TABLE_ID.equalsIgnoreCase(source.getId()); + return UIComponentIdProvider.TARGET_TABLE_ID.equalsIgnoreCase(source.getId()); } /** @@ -79,7 +79,7 @@ public final class DeleteActionsLayoutHelper { * @return true if it component is distribution table */ public static boolean isDistributionTable(final Component source) { - return SPUIComponentIdProvider.DIST_TABLE_ID.equalsIgnoreCase(source.getId()); + return UIComponentIdProvider.DIST_TABLE_ID.equalsIgnoreCase(source.getId()); } /** diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ManangementConfirmationWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ManangementConfirmationWindowLayout.java index e4c56b165..7182087c9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ManangementConfirmationWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/footer/ManangementConfirmationWindowLayout.java @@ -34,7 +34,7 @@ import org.eclipse.hawkbit.ui.management.event.SaveActionWindowEvent; import org.eclipse.hawkbit.ui.management.footer.ActionTypeOptionGroupLayout.ActionTypeOption; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -105,13 +105,13 @@ public class ManangementConfirmationWindowLayout extends AbstractConfirmationWin private ConfirmationTab createAssignmentTab() { assignmnetTab = new ConfirmationTab(); - assignmnetTab.getConfirmAll().setId(SPUIComponentIdProvider.SAVE_ASSIGNMENT); + assignmnetTab.getConfirmAll().setId(UIComponentIdProvider.SAVE_ASSIGNMENT); assignmnetTab.getConfirmAll().setIcon(FontAwesome.SAVE); assignmnetTab.getConfirmAll().setCaption(i18n.get("button.assign.all")); assignmnetTab.getConfirmAll().addClickListener(event -> saveAllAssignments(assignmnetTab)); assignmnetTab.getDiscardAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DISCARD_ALL)); - assignmnetTab.getDiscardAll().setId(SPUIComponentIdProvider.DISCARD_ASSIGNMENT); + assignmnetTab.getDiscardAll().setId(UIComponentIdProvider.DISCARD_ASSIGNMENT); assignmnetTab.getDiscardAll().addClickListener(event -> discardAllAssignments(assignmnetTab)); // Add items container to the table. @@ -275,7 +275,7 @@ public class ManangementConfirmationWindowLayout extends AbstractConfirmationWin final ConfirmationTab tab = new ConfirmationTab(); // TobeDone ? y to set caption every time?? - tab.getConfirmAll().setId(SPUIComponentIdProvider.TARGET_DELETE_ALL); + tab.getConfirmAll().setId(UIComponentIdProvider.TARGET_DELETE_ALL); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteAllTargets(tab)); @@ -308,7 +308,7 @@ public class ManangementConfirmationWindowLayout extends AbstractConfirmationWin final ConfirmationTab tab = new ConfirmationTab(); // TobeDone ? y to set caption every time?? - tab.getConfirmAll().setId(SPUIComponentIdProvider.DIST_DELETE_ALL); + tab.getConfirmAll().setId(UIComponentIdProvider.DIST_DELETE_ALL); tab.getConfirmAll().setIcon(FontAwesome.TRASH_O); tab.getConfirmAll().setCaption(i18n.get(SPUILabelDefinitions.BUTTON_DELETE_ALL)); tab.getConfirmAll().addClickListener(event -> deleteAllDistributions(tab)); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/tag/SpColorPickerPreview.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/tag/SpColorPickerPreview.java index afbed85a6..0628ce9bd 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/tag/SpColorPickerPreview.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/tag/SpColorPickerPreview.java @@ -10,7 +10,7 @@ package org.eclipse.hawkbit.ui.management.tag; import java.lang.reflect.Field; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import com.google.common.base.Throwables; import com.vaadin.data.Property; @@ -46,7 +46,7 @@ public final class SpColorPickerPreview extends ColorPickerPreview implements Te try { final Field textField = ColorPickerPreview.class.getDeclaredField("field"); textField.setAccessible(true); - ((TextField) textField.get(this)).setId(SPUIComponentIdProvider.COLOR_PREVIEW_FIELD); + ((TextField) textField.get(this)).setId(UIComponentIdProvider.COLOR_PREVIEW_FIELD); ((TextField) textField.get(this)).addTextChangeListener(this); } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | SecurityException e) { Throwables.propagate(e); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java index 25693dbcb..ae90ddc54 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetAddUpdateWindowLayout.java @@ -25,7 +25,7 @@ import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.eclipse.hawkbit.ui.utils.SpringContextHelper; @@ -103,12 +103,12 @@ public class TargetAddUpdateWindowLayout extends CustomComponent { } private void createRequiredComponents() { - controllerIDTextField = createTextField("prompt.target.id", SPUIComponentIdProvider.TARGET_ADD_CONTROLLER_ID); - nameTextField = createTextField("textfield.name", SPUIComponentIdProvider.TARGET_ADD_NAME); + controllerIDTextField = createTextField("prompt.target.id", UIComponentIdProvider.TARGET_ADD_CONTROLLER_ID); + nameTextField = createTextField("textfield.name", UIComponentIdProvider.TARGET_ADD_NAME); nameTextField.setRequired(false); descTextArea = new TextAreaBuilder().caption(i18n.get("textfield.description")).style("text-area-style") - .prompt(i18n.get("textfield.description")).immediate(true).id(SPUIComponentIdProvider.TARGET_ADD_DESC) + .prompt(i18n.get("textfield.description")).immediate(true).id(UIComponentIdProvider.TARGET_ADD_DESC) .buildTextComponent(); descTextArea.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetBulkUpdateWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetBulkUpdateWindowLayout.java index 0e77e9037..644b135fa 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetBulkUpdateWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetBulkUpdateWindowLayout.java @@ -29,7 +29,7 @@ import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.management.state.TargetBulkUpload; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -158,7 +158,7 @@ public class TargetBulkUpdateWindowLayout extends CustomComponent { } private Button getCloseButton() { - final Button closeBtn = SPUIComponentProvider.getButton(SPUIComponentIdProvider.BULK_UPLOAD_CLOSE_BUTTON_ID, "", + final Button closeBtn = SPUIComponentProvider.getButton(UIComponentIdProvider.BULK_UPLOAD_CLOSE_BUTTON_ID, "", "", "", true, FontAwesome.TIMES, SPUIButtonStyleSmallNoBorder.class); closeBtn.addStyleName(ValoTheme.BUTTON_BORDERLESS); closeBtn.addClickListener(event -> closePopup()); @@ -167,7 +167,7 @@ public class TargetBulkUpdateWindowLayout extends CustomComponent { private Button getMinimizeButton() { final Button minimizeBtn = SPUIComponentProvider.getButton( - SPUIComponentIdProvider.BULK_UPLOAD_MINIMIZE_BUTTON_ID, "", "", "", true, FontAwesome.MINUS, + UIComponentIdProvider.BULK_UPLOAD_MINIMIZE_BUTTON_ID, "", "", "", true, FontAwesome.MINUS, SPUIButtonStyleSmallNoBorder.class); minimizeBtn.addStyleName(ValoTheme.BUTTON_BORDERLESS); minimizeBtn.addClickListener(event -> minimizeWindow()); @@ -189,14 +189,14 @@ public class TargetBulkUpdateWindowLayout extends CustomComponent { countLabel.addStyleName("bulk-upload-label"); countLabel.setVisible(false); countLabel.setCaptionAsHtml(true); - countLabel.setId(SPUIComponentIdProvider.BULK_UPLOAD_COUNT); + countLabel.setId(UIComponentIdProvider.BULK_UPLOAD_COUNT); return countLabel; } private TextArea getDescriptionTextArea() { final TextArea description = new TextAreaBuilder().caption(i18n.get("textfield.description")) .style("text-area-style").prompt(i18n.get("textfield.description")).immediate(true) - .id(SPUIComponentIdProvider.BULK_UPLOAD_DESC).buildTextComponent(); + .id(UIComponentIdProvider.BULK_UPLOAD_DESC).buildTextComponent(); description.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY); description.setWidth("100%"); return description; @@ -213,7 +213,7 @@ public class TargetBulkUpdateWindowLayout extends CustomComponent { dsComboBox.setPageLength(7); dsComboBox.setContainerDataSource(container); dsComboBox.setItemCaptionPropertyId(SPUILabelDefinitions.VAR_NAME_VERSION); - dsComboBox.setId(SPUIComponentIdProvider.BULK_UPLOAD_DS_COMBO); + dsComboBox.setId(UIComponentIdProvider.BULK_UPLOAD_DS_COMBO); dsComboBox.setWidth("100%"); return dsComboBox; } @@ -227,7 +227,7 @@ public class TargetBulkUpdateWindowLayout extends CustomComponent { tokenLayout.setMargin(false); tokenLayout.setSizeFull(); tokenLayout.setHeight("100px"); - tokenLayout.setId(SPUIComponentIdProvider.BULK_UPLOAD_TAG); + tokenLayout.setId(UIComponentIdProvider.BULK_UPLOAD_TAG); return tokenLayout; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java index f398c460c..d342d0ef7 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetDetails.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventScope; @@ -119,7 +119,7 @@ public class TargetDetails extends AbstractTableDetailsLayout { @Override protected String getEditButtonId() { - return SPUIComponentIdProvider.TARGET_EDIT_ICON; + return UIComponentIdProvider.TARGET_EDIT_ICON; } @Override @@ -161,23 +161,23 @@ public class TargetDetails extends AbstractTableDetailsLayout { final Label controllerLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.target.id"), HawkbitCommonUtil.trimAndNullIfEmpty(controllerId) == null ? "" : controllerId); - controllerLabel.setId(SPUIComponentIdProvider.TARGET_CONTROLLER_ID); + controllerLabel.setId(UIComponentIdProvider.TARGET_CONTROLLER_ID); detailsTabLayout.addComponent(controllerLabel); final Label lastPollDtLabel = SPUIComponentProvider.createNameValueLabel( getI18n().get("label.target.lastpolldate"), HawkbitCommonUtil.trimAndNullIfEmpty(lastQueryDate) == null ? "" : lastQueryDate); - lastPollDtLabel.setId(SPUIComponentIdProvider.TARGET_LAST_QUERY_DT); + lastPollDtLabel.setId(UIComponentIdProvider.TARGET_LAST_QUERY_DT); detailsTabLayout.addComponent(lastPollDtLabel); final Label typeLabel = SPUIComponentProvider.createNameValueLabel(getI18n().get("label.ip"), address == null ? StringUtils.EMPTY : address.toString()); - typeLabel.setId(SPUIComponentIdProvider.TARGET_IP_ADDRESS); + typeLabel.setId(UIComponentIdProvider.TARGET_IP_ADDRESS); detailsTabLayout.addComponent(typeLabel); if (securityToken != null) { final HorizontalLayout securityTokenLayout = getSecurityTokenLayout(securityToken); - controllerLabel.setId(SPUIComponentIdProvider.TARGET_SECURITY_TOKEN); + controllerLabel.setId(UIComponentIdProvider.TARGET_SECURITY_TOKEN); detailsTabLayout.addComponent(securityTokenLayout); } } @@ -244,12 +244,12 @@ public class TargetDetails extends AbstractTableDetailsLayout { @Override protected String getTabSheetId() { - return SPUIComponentIdProvider.TARGET_DETAILS_TABSHEET; + return UIComponentIdProvider.TARGET_DETAILS_TABSHEET; } @Override protected String getDetailsHeaderCaptionId() { - return SPUIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; + return UIComponentIdProvider.TARGET_DETAILS_HEADER_LABEL_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java index 24dff5b91..cc4ad98bc 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTable.java @@ -63,7 +63,7 @@ import org.eclipse.hawkbit.ui.management.state.TargetTableFilters; import org.eclipse.hawkbit.ui.utils.AssignInstalledDSTooltipGenerator; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -218,7 +218,7 @@ public class TargetTable extends AbstractTable { @Override protected String getTableId() { - return SPUIComponentIdProvider.TARGET_TABLE_ID; + return UIComponentIdProvider.TARGET_TABLE_ID; } @Override @@ -398,7 +398,7 @@ public class TargetTable extends AbstractTable { pinBtn.setStyleName(pinBtnStyle.toString()); pinBtn.setHeightUndefined(); pinBtn.setData(itemId); - pinBtn.setId(SPUIComponentIdProvider.TARGET_PIN_ICON + itemId); + pinBtn.setId(UIComponentIdProvider.TARGET_PIN_ICON + itemId); pinBtn.addClickListener(this::addPinClickListener); if (isPinned(((TargetIdName) itemId).getControllerId())) { pinBtn.addStyleName(TARGET_PINNED); @@ -552,7 +552,7 @@ public class TargetTable extends AbstractTable { @Override protected String getDropTableId() { - return SPUIComponentIdProvider.DIST_TABLE_ID; + return UIComponentIdProvider.DIST_TABLE_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java index 16dc584ed..9db7c90b8 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettable/TargetTableHeader.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.management.event.TargetTableEvent.TargetComponentEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUITargetDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; import org.springframework.beans.factory.annotation.Autowired; @@ -172,22 +172,22 @@ public class TargetTableHeader extends AbstractTableHeader { @Override protected String getSearchBoxId() { - return SPUIComponentIdProvider.TARGET_TEXT_FIELD; + return UIComponentIdProvider.TARGET_TEXT_FIELD; } @Override protected String getSearchRestIconId() { - return SPUIComponentIdProvider.TARGET_TBL_SEARCH_RESET_ID; + return UIComponentIdProvider.TARGET_TBL_SEARCH_RESET_ID; } @Override protected String getAddIconId() { - return SPUIComponentIdProvider.TARGET_TBL_ADD_ICON_ID; + return UIComponentIdProvider.TARGET_TBL_ADD_ICON_ID; } @Override protected String getBulkUploadIconId() { - return SPUIComponentIdProvider.TARGET_TBL_BULK_UPLOAD_ICON_ID; + return UIComponentIdProvider.TARGET_TBL_BULK_UPLOAD_ICON_ID; } @Override @@ -197,12 +197,12 @@ public class TargetTableHeader extends AbstractTableHeader { @Override protected String getDropFilterId() { - return SPUIComponentIdProvider.TARGET_DROP_FILTER_ICON; + return UIComponentIdProvider.TARGET_DROP_FILTER_ICON; } @Override protected String getDropFilterWrapperId() { - return SPUIComponentIdProvider.TARGET_FILTER_WRAPPER_ID; + return UIComponentIdProvider.TARGET_FILTER_WRAPPER_ID; } @Override @@ -222,7 +222,7 @@ public class TargetTableHeader extends AbstractTableHeader { @Override protected String getShowFilterButtonLayoutId() { - return SPUIComponentIdProvider.SHOW_TARGET_TAGS; + return UIComponentIdProvider.SHOW_TARGET_TAGS; } @Override @@ -246,7 +246,7 @@ public class TargetTableHeader extends AbstractTableHeader { @Override protected String getMaxMinIconId() { - return SPUIComponentIdProvider.TARGET_MAX_MIN_TABLE_ICON; + return UIComponentIdProvider.TARGET_MAX_MIN_TABLE_ICON; } @Override @@ -334,7 +334,7 @@ public class TargetTableHeader extends AbstractTableHeader { if (doValidations(event)) { final TableTransferable tableTransferable = (TableTransferable) event.getTransferable(); final Table source = tableTransferable.getSourceComponent(); - if (source.getId().equals(SPUIComponentIdProvider.DIST_TABLE_ID)) { + if (source.getId().equals(UIComponentIdProvider.DIST_TABLE_ID)) { final Set distributionIdSet = getDropppedDistributionDetails(tableTransferable); if (distributionIdSet != null && !distributionIdSet.isEmpty()) { final DistributionSetIdName distributionSetIdName = distributionIdSet.iterator().next(); @@ -358,7 +358,7 @@ public class TargetTableHeader extends AbstractTableHeader { final TableTransferable transferable = (TableTransferable) dragEvent.getTransferable(); final Table source = transferable.getSourceComponent(); - if (!source.getId().equals(SPUIComponentIdProvider.DIST_TABLE_ID)) { + if (!source.getId().equals(UIComponentIdProvider.DIST_TABLE_ID)) { notification.displayValidationError(i18n.get("message.action.not.allowed")); isValid = Boolean.FALSE; } else { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/FilterByStatusLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/FilterByStatusLayout.java index 67f74d064..d2be86aa1 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/FilterByStatusLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/FilterByStatusLayout.java @@ -20,7 +20,7 @@ import org.eclipse.hawkbit.ui.management.event.TargetFilterEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPUIButtonDefinitions; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; import org.vaadin.spring.events.EventScope; @@ -135,19 +135,19 @@ public class FilterByStatusLayout extends VerticalLayout implements Button.Click * Get - status of FILTER. */ private void getTargetFilterStatuses() { - unknown = SPUIComponentProvider.getButton(SPUIComponentIdProvider.UNKNOWN_STATUS_ICON, + unknown = SPUIComponentProvider.getButton(UIComponentIdProvider.UNKNOWN_STATUS_ICON, TargetUpdateStatus.UNKNOWN.toString(), i18n.get("tooltip.status.unknown"), SPUIButtonDefinitions.SP_BUTTON_STATUS_STYLE, false, FontAwesome.SQUARE, SPUIButtonStyleSmall.class); - inSync = SPUIComponentProvider.getButton(SPUIComponentIdProvider.INSYNCH_STATUS_ICON, + inSync = SPUIComponentProvider.getButton(UIComponentIdProvider.INSYNCH_STATUS_ICON, TargetUpdateStatus.IN_SYNC.toString(), i18n.get("tooltip.status.insync"), SPUIButtonDefinitions.SP_BUTTON_STATUS_STYLE, false, FontAwesome.SQUARE, SPUIButtonStyleSmall.class); - pending = SPUIComponentProvider.getButton(SPUIComponentIdProvider.PENDING_STATUS_ICON, + pending = SPUIComponentProvider.getButton(UIComponentIdProvider.PENDING_STATUS_ICON, TargetUpdateStatus.PENDING.toString(), i18n.get("tooltip.status.pending"), SPUIButtonDefinitions.SP_BUTTON_STATUS_STYLE, false, FontAwesome.SQUARE, SPUIButtonStyleSmall.class); - error = SPUIComponentProvider.getButton(SPUIComponentIdProvider.ERROR_STATUS_ICON, + error = SPUIComponentProvider.getButton(UIComponentIdProvider.ERROR_STATUS_ICON, TargetUpdateStatus.ERROR.toString(), i18n.get("tooltip.status.error"), SPUIButtonDefinitions.SP_BUTTON_STATUS_STYLE, false, FontAwesome.SQUARE, SPUIButtonStyleSmall.class); - registered = SPUIComponentProvider.getButton(SPUIComponentIdProvider.REGISTERED_STATUS_ICON, + registered = SPUIComponentProvider.getButton(UIComponentIdProvider.REGISTERED_STATUS_ICON, TargetUpdateStatus.REGISTERED.toString(), i18n.get("tooltip.status.registered"), SPUIButtonDefinitions.SP_BUTTON_STATUS_STYLE, false, FontAwesome.SQUARE, SPUIButtonStyleSmall.class); applyStatusBtnStyle(); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/MultipleTargetFilter.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/MultipleTargetFilter.java index 6f42e9ff6..2c654652d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/MultipleTargetFilter.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/MultipleTargetFilter.java @@ -16,7 +16,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; @@ -90,7 +90,7 @@ public class MultipleTargetFilter extends Accordion implements SelectedTabChange filterByButtons.addStyleName(SPUIStyleDefinitions.NO_TOP_BORDER); targetFilterQueryButtonsTab.init(customTargetTagFilterButtonClick); if (permChecker.hasCreateTargetPermission() || permChecker.hasUpdateTargetPermission()) { - config = SPUIComponentProvider.getButton(SPUIComponentIdProvider.ADD_TARGET_TAG, "", "", "", true, + config = SPUIComponentProvider.getButton(UIComponentIdProvider.ADD_TARGET_TAG, "", "", "", true, FontAwesome.COG, SPUIButtonStyleSmallNoBorder.class); config.addClickListener(event -> settingsIconClicked()); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetFilterQueryButtons.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetFilterQueryButtons.java index 571656c64..cca0a1abc 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetFilterQueryButtons.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetFilterQueryButtons.java @@ -21,7 +21,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUITagButtonStyle; import org.eclipse.hawkbit.ui.filtermanagement.TargetFilterBeanQuery; import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.addons.lazyquerycontainer.BeanQueryFactory; @@ -88,7 +88,7 @@ public class TargetFilterQueryButtons extends Table { } protected String getButtonsTableId() { - return SPUIComponentIdProvider.CUSTOM_TARGET_TAG_TABLE_ID; + return UIComponentIdProvider.CUSTOM_TARGET_TAG_TABLE_ID; } private void setStyle() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterButtons.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterButtons.java index 91af8d7f5..fe63ae725 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterButtons.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterButtons.java @@ -30,7 +30,7 @@ import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.management.tag.TagIdName; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.UINotification; @@ -115,7 +115,7 @@ public class TargetTagFilterButtons extends AbstractFilterButtons { @Override protected String getButtonsTableId() { - return SPUIComponentIdProvider.TARGET_TAG_TABLE_ID; + return UIComponentIdProvider.TARGET_TAG_TABLE_ID; } @Override @@ -158,7 +158,7 @@ public class TargetTagFilterButtons extends AbstractFilterButtons { if (validate(event) && isNoTagAssigned(event)) { final TableTransferable tbl = (TableTransferable) event.getTransferable(); final Table source = tbl.getSourceComponent(); - if (source.getId().equals(SPUIComponentIdProvider.TARGET_TABLE_ID)) { + if (source.getId().equals(UIComponentIdProvider.TARGET_TABLE_ID)) { UI.getCurrent().access(() -> processTargetDrop(event)); } } @@ -270,7 +270,7 @@ public class TargetTagFilterButtons extends AbstractFilterButtons { } private boolean validateIfSourceisTargetTable(final Table source) { - if (!source.getId().equals(SPUIComponentIdProvider.TARGET_TABLE_ID)) { + if (!source.getId().equals(UIComponentIdProvider.TARGET_TABLE_ID)) { notification.displayValidationError(i18n.get(SPUILabelDefinitions.ACTION_NOT_ALLOWED)); return false; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterHeader.java index 4f3faf8eb..f2bcf5b63 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/management/targettag/TargetTagFilterHeader.java @@ -14,7 +14,7 @@ import org.eclipse.hawkbit.ui.common.filterlayout.AbstractFilterHeader; import org.eclipse.hawkbit.ui.management.event.ManagementUIEvent; import org.eclipse.hawkbit.ui.management.state.ManagementUIState; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import com.vaadin.spring.annotation.SpringComponent; @@ -50,7 +50,7 @@ public class TargetTagFilterHeader extends AbstractFilterHeader { @Override protected String getHideButtonId() { - return SPUIComponentIdProvider.HIDE_TARGET_TAGS; + return UIComponentIdProvider.HIDE_TARGET_TAGS; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/menu/DashboardMenu.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/menu/DashboardMenu.java index 0e9df74df..fb3dc6c9f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/menu/DashboardMenu.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/menu/DashboardMenu.java @@ -26,7 +26,7 @@ import org.eclipse.hawkbit.ui.common.UserDetailsFormatter; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.menu.DashboardEvent.PostViewChangeEvent; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import com.vaadin.server.FontAwesome; @@ -146,7 +146,7 @@ public final class DashboardMenu extends CustomComponent { final String linkStyle = "v-link"; if (!uiProperties.getLinks().getDocumentation().getRoot().isEmpty()) { - final Link docuLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_DOCUMENTATION, + final Link docuLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_DOCUMENTATION, i18n.get("link.documentation.name"), uiProperties.getLinks().getDocumentation().getRoot(), FontAwesome.QUESTION_CIRCLE, "_blank", linkStyle); docuLink.setDescription(i18n.get("link.documentation.name")); @@ -156,7 +156,7 @@ public final class DashboardMenu extends CustomComponent { } if (!uiProperties.getLinks().getUserManagement().isEmpty()) { - final Link userManagementLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_USERMANAGEMENT, + final Link userManagementLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_USERMANAGEMENT, i18n.get("link.usermanagement.name"), uiProperties.getLinks().getUserManagement(), FontAwesome.USERS, "_blank", linkStyle); userManagementLink.setDescription(i18n.get("link.usermanagement.name")); @@ -166,7 +166,7 @@ public final class DashboardMenu extends CustomComponent { } if (!uiProperties.getLinks().getSupport().isEmpty()) { - final Link supportLink = SPUIComponentProvider.getLink(SPUIComponentIdProvider.LINK_SUPPORT, + final Link supportLink = SPUIComponentProvider.getLink(UIComponentIdProvider.LINK_SUPPORT, i18n.get("link.support.name"), uiProperties.getLinks().getSupport(), FontAwesome.ENVELOPE_O, "", linkStyle); supportLink.setDescription(i18n.get("link.support.name")); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java index e90e70ea6..fd551a9b1 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/AddUpdateRolloutWindowLayout.java @@ -43,7 +43,7 @@ import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.SPDateTimeUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -340,10 +340,10 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { private static TextArea createTargetFilterQuery() { final TextArea filterField = new TextAreaBuilder().style("text-area-style") - .id(SPUIComponentIdProvider.ROLLOUT_TARGET_FILTER_QUERY_FIELD) + .id(UIComponentIdProvider.ROLLOUT_TARGET_FILTER_QUERY_FIELD) .maxLengthAllowed(SPUILabelDefinitions.TARGET_FILTER_QUERY_TEXT_FIELD_LENGTH).buildTextComponent(); - filterField.setId(SPUIComponentIdProvider.ROLLOUT_TARGET_FILTER_QUERY_FIELD); + filterField.setId(UIComponentIdProvider.ROLLOUT_TARGET_FILTER_QUERY_FIELD); filterField.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY); filterField.setEnabled(false); filterField.setSizeUndefined(); @@ -355,7 +355,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { for (final ERRORTHRESOLDOPTIONS option : ERRORTHRESOLDOPTIONS.values()) { errorThresoldOptions.addItem(option.getValue()); } - errorThresoldOptions.setId(SPUIComponentIdProvider.ROLLOUT_ERROR_THRESOLD_OPTION_ID); + errorThresoldOptions.setId(UIComponentIdProvider.ROLLOUT_ERROR_THRESOLD_OPTION_ID); errorThresoldOptions.addStyleName(ValoTheme.OPTIONGROUP_HORIZONTAL); errorThresoldOptions.addStyleName(SPUIStyleDefinitions.ROLLOUT_OPTION_GROUP); errorThresoldOptions.setSizeUndefined(); @@ -380,7 +380,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { targetFilter.setImmediate(true); targetFilter.setPageLength(7); targetFilter.setItemCaptionPropertyId(SPUILabelDefinitions.VAR_NAME); - targetFilter.setId(SPUIComponentIdProvider.ROLLOUT_TARGET_FILTER_COMBO_ID); + targetFilter.setId(UIComponentIdProvider.ROLLOUT_TARGET_FILTER_COMBO_ID); targetFilter.setSizeUndefined(); targetFilter.addValueChangeListener(this::onTargetFilterChange); return targetFilter; @@ -530,7 +530,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { private TextArea createDescription() { final TextArea descriptionField = new TextAreaBuilder().style("text-area-style") - .prompt(i18n.get("textfield.description")).id(SPUIComponentIdProvider.ROLLOUT_DESCRIPTION_ID) + .prompt(i18n.get("textfield.description")).id(UIComponentIdProvider.ROLLOUT_DESCRIPTION_ID) .buildTextComponent(); descriptionField.setNullRepresentation(HawkbitCommonUtil.SP_STRING_EMPTY); descriptionField.setSizeUndefined(); @@ -539,7 +539,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { private TextField createErrorThreshold() { final TextField errorField = createIntegerTextField("prompt.error.threshold", - SPUIComponentIdProvider.ROLLOUT_ERROR_THRESOLD_ID); + UIComponentIdProvider.ROLLOUT_ERROR_THRESOLD_ID); errorField.addValidator(new ThresholdFieldValidator()); errorField.setMaxLength(7); return errorField; @@ -547,14 +547,14 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { private TextField createTriggerThreshold() { final TextField thresholdField = createIntegerTextField("prompt.tigger.threshold", - SPUIComponentIdProvider.ROLLOUT_TRIGGER_THRESOLD_ID); + UIComponentIdProvider.ROLLOUT_TRIGGER_THRESOLD_ID); thresholdField.addValidator(new ThresholdFieldValidator()); return thresholdField; } private TextField createNoOfGroupsField() { final TextField noOfGroupsField = createIntegerTextField("prompt.number.of.groups", - SPUIComponentIdProvider.ROLLOUT_NO_OF_GROUPS_ID); + UIComponentIdProvider.ROLLOUT_NO_OF_GROUPS_ID); noOfGroupsField.addValidator(new GroupNumberValidator()); noOfGroupsField.setMaxLength(3); noOfGroupsField.addValueChangeListener(this::onGroupNumberChange); @@ -576,7 +576,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { dsSet.setImmediate(true); dsSet.setPageLength(7); dsSet.setItemCaptionPropertyId(SPUILabelDefinitions.VAR_NAME); - dsSet.setId(SPUIComponentIdProvider.ROLLOUT_DS_ID); + dsSet.setId(UIComponentIdProvider.ROLLOUT_DS_ID); dsSet.setSizeUndefined(); return dsSet; } @@ -596,7 +596,7 @@ public class AddUpdateRolloutWindowLayout extends GridLayout { private TextField createRolloutNameField() { final TextField rolloutNameField = createTextField("textfield.name", - SPUIComponentIdProvider.ROLLOUT_NAME_FIELD_ID); + UIComponentIdProvider.ROLLOUT_NAME_FIELD_ID); rolloutNameField.setSizeUndefined(); return rolloutNameField; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListGrid.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListGrid.java index be7339324..bbbc96d09 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListGrid.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListGrid.java @@ -45,7 +45,7 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -271,7 +271,7 @@ public class RolloutListGrid extends AbstractGrid { @Override protected String getGridId() { - return SPUIComponentIdProvider.ROLLOUT_LIST_GRID_ID; + return UIComponentIdProvider.ROLLOUT_LIST_GRID_ID; } @Override @@ -590,7 +590,7 @@ public class RolloutListGrid extends AbstractGrid { final StatusFontIcon statusFontIcon = statusIconMap.get(value); final String codePoint = HawkbitCommonUtil.getCodePoint(statusFontIcon); return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(), - SPUIComponentIdProvider.ROLLOUT_STATUS_LABEL_ID); + UIComponentIdProvider.ROLLOUT_STATUS_LABEL_ID); } } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListHeader.java index f0f14432b..480dd6ed9 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rollout/RolloutListHeader.java @@ -15,7 +15,7 @@ import org.eclipse.hawkbit.ui.common.builder.LabelBuilder; import org.eclipse.hawkbit.ui.common.grid.AbstractGridHeader; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; @@ -69,12 +69,12 @@ public class RolloutListHeader extends AbstractGridHeader { @Override protected String getSearchBoxId() { - return SPUIComponentIdProvider.ROLLOUT_LIST_SEARCH_BOX_ID; + return UIComponentIdProvider.ROLLOUT_LIST_SEARCH_BOX_ID; } @Override protected String getSearchRestIconId() { - return SPUIComponentIdProvider.ROLLOUT_LIST_SEARCH_RESET_ICON_ID; + return UIComponentIdProvider.ROLLOUT_LIST_SEARCH_RESET_ICON_ID; } @Override @@ -85,7 +85,7 @@ public class RolloutListHeader extends AbstractGridHeader { @Override protected String getAddIconId() { - return SPUIComponentIdProvider.ROLLOUT_ADD_ICON_ID; + return UIComponentIdProvider.ROLLOUT_ADD_ICON_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupListGrid.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupListGrid.java index 1e66d1977..4a5fd1d19 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupListGrid.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupListGrid.java @@ -31,7 +31,7 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -208,7 +208,7 @@ public class RolloutGroupListGrid extends AbstractGrid { @Override protected String getGridId() { - return SPUIComponentIdProvider.ROLLOUT_GROUP_LIST_GRID_ID; + return UIComponentIdProvider.ROLLOUT_GROUP_LIST_GRID_ID; } @Override @@ -382,7 +382,7 @@ public class RolloutGroupListGrid extends AbstractGrid { final StatusFontIcon statusFontIcon = statusIconMap.get(value); final String codePoint = HawkbitCommonUtil.getCodePoint(statusFontIcon); return HawkbitCommonUtil.getStatusLabelDetailsInString(codePoint, statusFontIcon.getStyle(), - SPUIComponentIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID); + UIComponentIdProvider.ROLLOUT_GROUP_STATUS_LABEL_ID); } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupsListHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupsListHeader.java index 2549db85b..c5aa3848d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupsListHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgroup/RolloutGroupsListHeader.java @@ -18,7 +18,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; import org.vaadin.spring.events.EventScope; @@ -124,7 +124,7 @@ public class RolloutGroupsListHeader extends AbstractGridHeader { @Override protected String getCloseButtonId() { - return SPUIComponentIdProvider.ROLLOUT_GROUP_CLOSE; + return UIComponentIdProvider.ROLLOUT_GROUP_CLOSE; } @Override @@ -149,7 +149,7 @@ public class RolloutGroupsListHeader extends AbstractGridHeader { @Override protected HorizontalLayout getHeaderCaptionLayout() { - headerCaption = new LabelBuilder().id(SPUIComponentIdProvider.ROLLOUT_GROUP_HEADER_CAPTION).name("") + headerCaption = new LabelBuilder().id(UIComponentIdProvider.ROLLOUT_GROUP_HEADER_CAPTION).name("") .buildCaptionLabel(); final Button rolloutsListViewLink = SPUIComponentProvider.getButton(null, "", "", null, false, null, SPUIButtonStyleSmallNoBorder.class); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsCountLabelMessage.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsCountLabelMessage.java index e5c716e83..d9c554845 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsCountLabelMessage.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsCountLabelMessage.java @@ -15,7 +15,7 @@ import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.springframework.beans.factory.annotation.Autowired; @@ -85,7 +85,7 @@ public class RolloutGroupTargetsCountLabelMessage extends Label { /* Create label for Targets count message displaying below the table */ addStyleName(SPUILabelDefinitions.SP_LABEL_MESSAGE_STYLE); setContentMode(ContentMode.HTML); - setId(SPUIComponentIdProvider.COUNT_LABEL); + setId(UIComponentIdProvider.COUNT_LABEL); } private void displayRolloutGroupTargetMessage() { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListGrid.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListGrid.java index 07399bdb0..8afad8a61 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListGrid.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListGrid.java @@ -23,7 +23,7 @@ import org.eclipse.hawkbit.ui.rollout.StatusFontIcon; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIStyleDefinitions; @@ -130,7 +130,7 @@ public class RolloutGroupTargetsListGrid extends AbstractGrid { @Override protected String getGridId() { - return SPUIComponentIdProvider.ROLLOUT_GROUP_TARGETS_LIST_GRID_ID; + return UIComponentIdProvider.ROLLOUT_GROUP_TARGETS_LIST_GRID_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListHeader.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListHeader.java index 965e1e9b2..62c6142a3 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListHeader.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/rollout/rolloutgrouptargets/RolloutGroupTargetsListHeader.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.rollout.event.RolloutEvent; import org.eclipse.hawkbit.ui.rollout.state.RolloutUIState; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.vaadin.spring.events.EventBus; import org.vaadin.spring.events.EventScope; @@ -135,7 +135,7 @@ public class RolloutGroupTargetsListHeader extends AbstractGridHeader { @Override protected String getCloseButtonId() { - return SPUIComponentIdProvider.ROLLOUT_TARGET_VIEW_CLOSE_BUTTON_ID; + return UIComponentIdProvider.ROLLOUT_TARGET_VIEW_CLOSE_BUTTON_ID; } @Override diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java index eb771a4eb..55bb526b5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/AuthenticationConfigurationView.java @@ -17,7 +17,7 @@ import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.CertificateAuth import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.GatewaySecurityTokenAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.tenantconfiguration.authentication.TargetSecurityTokenAuthenticationConfigurationItem; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import com.vaadin.data.Property.ValueChangeEvent; @@ -113,7 +113,7 @@ public class AuthenticationConfigurationView extends BaseConfigurationView gridLayout.addComponent(gatewaySecurityTokenAuthenticationConfigurationItem, 1, 2); downloadAnonymousCheckBox = SPUIComponentProvider.getCheckBox("", DIST_CHECKBOX_STYLE, null, false, ""); - downloadAnonymousCheckBox.setId(SPUIComponentIdProvider.DOWNLOAD_ANONYMOUS_CHECKBOX); + downloadAnonymousCheckBox.setId(UIComponentIdProvider.DOWNLOAD_ANONYMOUS_CHECKBOX); downloadAnonymousCheckBox.setValue(anonymousDownloadAuthenticationConfigurationItem.isConfigEnabled()); downloadAnonymousCheckBox.addValueChangeListener(this); anonymousDownloadAuthenticationConfigurationItem.addChangeListener(this); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/DefaultDistributionSetTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/DefaultDistributionSetTypeLayout.java index c7bdc83a8..2751d1fe7 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/DefaultDistributionSetTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/DefaultDistributionSetTypeLayout.java @@ -16,7 +16,7 @@ import org.eclipse.hawkbit.repository.model.DistributionSetType; import org.eclipse.hawkbit.repository.model.TenantMetaData; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; @@ -92,7 +92,7 @@ public class DefaultDistributionSetTypeLayout extends BaseConfigurationView impl .findDistributionSetTypesAll(pageReq); combobox = SPUIComponentProvider.getComboBox(null, "330", null, null, false, "", "label.combobox.tag"); - combobox.setId(SPUIComponentIdProvider.SYSTEM_CONFIGURATION_DEFAULTDIS_COMBOBOX); + combobox.setId(UIComponentIdProvider.SYSTEM_CONFIGURATION_DEFAULTDIS_COMBOBOX); combobox.setNullSelectionAllowed(false); for (final DistributionSetType distributionSetType : distributionSetTypeCollection) { combobox.addItem(distributionSetType.getId()); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java index 2b0e4496b..696672288 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/tenantconfiguration/TenantConfigurationDashboardView.java @@ -19,7 +19,7 @@ import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder; import org.eclipse.hawkbit.ui.tenantconfiguration.ConfigurationItem.ConfigurationItemChangeListener; import org.eclipse.hawkbit.ui.utils.I18N; -import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; +import org.eclipse.hawkbit.ui.utils.UIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.UINotification; import org.springframework.beans.factory.annotation.Autowired; @@ -105,14 +105,14 @@ public class TenantConfigurationDashboardView extends CustomComponent implements final HorizontalLayout hlayout = new HorizontalLayout(); hlayout.setSpacing(true); - saveConfigurationBtn = SPUIComponentProvider.getButton(SPUIComponentIdProvider.SYSTEM_CONFIGURATION_SAVE, "", + saveConfigurationBtn = SPUIComponentProvider.getButton(UIComponentIdProvider.SYSTEM_CONFIGURATION_SAVE, "", "", "", true, FontAwesome.SAVE, SPUIButtonStyleSmallNoBorder.class); saveConfigurationBtn.setEnabled(false); saveConfigurationBtn.setDescription(i18n.get("configuration.savebutton.tooltip")); saveConfigurationBtn.addClickListener(event -> saveConfiguration()); hlayout.addComponent(saveConfigurationBtn); - undoConfigurationBtn = SPUIComponentProvider.getButton(SPUIComponentIdProvider.SYSTEM_CONFIGURATION_CANCEL, "", + undoConfigurationBtn = SPUIComponentProvider.getButton(UIComponentIdProvider.SYSTEM_CONFIGURATION_CANCEL, "", "", "", true, FontAwesome.UNDO, SPUIButtonStyleSmallNoBorder.class); undoConfigurationBtn.setEnabled(false); undoConfigurationBtn.setDescription(i18n.get("configuration.cancellbutton.tooltip")); diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/UIComponentIdProvider.java similarity index 99% rename from hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java rename to hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/UIComponentIdProvider.java index d06a76e4d..e3475d20d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/UIComponentIdProvider.java @@ -10,13 +10,8 @@ package org.eclipse.hawkbit.ui.utils; /** * Interface to provide the unchanged constants. - * - * - * - * - * */ -public final class SPUIComponentIdProvider { +public final class UIComponentIdProvider { /** * ID-Target. */ @@ -885,7 +880,7 @@ public final class SPUIComponentIdProvider { /** * /* Private Constructor. */ - private SPUIComponentIdProvider() { + private UIComponentIdProvider() { } } From ca5b11b5a12f42cd3c740118cde5099c37b0e62f Mon Sep 17 00:00:00 2001 From: kaizimmerm Date: Wed, 14 Sep 2016 10:56:27 +0200 Subject: [PATCH 23/23] Adapt DDI interfaces to feign changes Signed-off-by: kaizimmerm --- ...ArtifactStoreControllerResourceClient.java | 3 +- .../RootControllerResourceClient.java | 3 +- .../rest/api/DdiRootControllerRestApi.java | 29 +++++++++++-------- .../DdiDlArtifactStoreControllerRestApi.java | 7 +++-- .../rest/resource/DataConversionHelper.java | 17 ++++++----- .../resource/DdiArtifactStoreController.java | 7 +++-- .../ddi/rest/resource/DdiRootController.java | 28 +++++++++++------- 7 files changed, 54 insertions(+), 40 deletions(-) diff --git a/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/DdiDlArtifactStoreControllerResourceClient.java b/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/DdiDlArtifactStoreControllerResourceClient.java index c37602d7a..16eb56b0a 100644 --- a/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/DdiDlArtifactStoreControllerResourceClient.java +++ b/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/DdiDlArtifactStoreControllerResourceClient.java @@ -9,13 +9,12 @@ package org.eclipse.hawkbit.ddi.client.resource; import org.eclipse.hawkbit.ddi.dl.rest.api.DdiDlArtifactStoreControllerRestApi; -import org.eclipse.hawkbit.ddi.dl.rest.api.DdiDlRestConstants; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the artifact store controller resource of the DDI-DL API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}/" + DdiDlRestConstants.ARTIFACTS_V1_REQUEST_MAPPING) +@FeignClient(name = "DdiDlArtifactStoreControllerClient", url = "${hawkbit.url:localhost:8080}") public interface DdiDlArtifactStoreControllerResourceClient extends DdiDlArtifactStoreControllerRestApi { } diff --git a/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/RootControllerResourceClient.java b/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/RootControllerResourceClient.java index 389f65da7..ab060d2cc 100644 --- a/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/RootControllerResourceClient.java +++ b/examples/hawkbit-example-ddi-feign-client/src/main/java/org/eclipse/hawkbit/ddi/client/resource/RootControllerResourceClient.java @@ -8,14 +8,13 @@ */ package org.eclipse.hawkbit.ddi.client.resource; -import org.eclipse.hawkbit.ddi.rest.api.DdiRestConstants; import org.eclipse.hawkbit.ddi.rest.api.DdiRootControllerRestApi; import org.springframework.cloud.netflix.feign.FeignClient; /** * Client binding for the Rootcontroller resource of the DDI API. */ -@FeignClient(url = "${hawkbit.url:localhost:8080}/" + DdiRestConstants.BASE_V1_REQUEST_MAPPING) +@FeignClient(name = "RootControllerClient", url = "${hawkbit.url:localhost:8080}") public interface RootControllerResourceClient extends DdiRootControllerRestApi { } diff --git a/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java b/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java index f4c80c778..f67e0591b 100644 --- a/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java +++ b/hawkbit-ddi-api/src/main/java/org/eclipse/hawkbit/ddi/rest/api/DdiRootControllerRestApi.java @@ -47,7 +47,7 @@ public interface DdiRootControllerRestApi { @RequestMapping(method = RequestMethod.GET, value = "/{targetid}/softwaremodules/{softwareModuleId}/artifacts", produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) ResponseEntity> getSoftwareModulesArtifacts( - @PathVariable("targetid") final String targetid, + @PathVariable("tenant") final String tenant, @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId); /** @@ -61,7 +61,8 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(method = RequestMethod.GET, value = "/{targetid}", produces = { "application/hal+json", MediaType.APPLICATION_JSON_VALUE }) - ResponseEntity getControllerBase(@PathVariable("targetid") final String targetid); + ResponseEntity getControllerBase(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid); /** * Handles GET {@link DdiArtifact} download request. This could be full or @@ -83,7 +84,8 @@ public interface DdiRootControllerRestApi { * {@link HttpStatus#PARTIAL_CONTENT}. */ @RequestMapping(method = RequestMethod.GET, value = "/{targetid}/softwaremodules/{softwareModuleId}/artifacts/{fileName}") - ResponseEntity downloadArtifact(@PathVariable("targetid") final String targetid, + ResponseEntity downloadArtifact(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId, @PathVariable("fileName") final String fileName); @@ -106,7 +108,8 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(method = RequestMethod.GET, value = "/{targetid}/softwaremodules/{softwareModuleId}/artifacts/{fileName}" + DdiRestConstants.ARTIFACT_MD5_DWNL_SUFFIX, produces = MediaType.TEXT_PLAIN_VALUE) - ResponseEntity downloadArtifactMd5(@PathVariable("targetid") final String targetid, + ResponseEntity downloadArtifactMd5(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId, @PathVariable("fileName") final String fileName); @@ -128,7 +131,7 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.DEPLOYMENT_BASE_ACTION + "/{actionId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity getControllerBasedeploymentAction( + ResponseEntity getControllerBasedeploymentAction(@PathVariable("tenant") final String tenant, @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId, @RequestParam(value = "c", required = false, defaultValue = "-1") final int resource); @@ -149,8 +152,9 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.DEPLOYMENT_BASE_ACTION + "/{actionId}/" + DdiRestConstants.FEEDBACK, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity postBasedeploymentActionFeedback(@Valid final DdiActionFeedback feedback, - @PathVariable("targetid") final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId); + ResponseEntity postBasedeploymentActionFeedback(@PathVariable("tenant") final String tenant, + @Valid final DdiActionFeedback feedback, @PathVariable("targetid") final String targetid, + @PathVariable("actionId") @NotEmpty final Long actionId); /** * This is the feedback channel for the config data action. @@ -166,8 +170,8 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.CONFIG_DATA_ACTION, method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity putConfigData(@Valid final DdiConfigData configData, - @PathVariable("targetid") final String targetid); + ResponseEntity putConfigData(@PathVariable("tenant") final String tenant, + @Valid final DdiConfigData configData, @PathVariable("targetid") final String targetid); /** * RequestMethod.GET method for the {@link DdiCancel} action. @@ -183,7 +187,8 @@ public interface DdiRootControllerRestApi { */ @RequestMapping(value = "/{targetid}/" + DdiRestConstants.CANCEL_ACTION + "/{actionId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity getControllerCancelAction(@PathVariable("targetid") @NotEmpty final String targetid, + ResponseEntity getControllerCancelAction(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId); /** @@ -204,8 +209,8 @@ public interface DdiRootControllerRestApi { @RequestMapping(value = "/{targetid}/" + DdiRestConstants.CANCEL_ACTION + "/{actionId}/" + DdiRestConstants.FEEDBACK, method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) - ResponseEntity postCancelActionFeedback(@Valid final DdiActionFeedback feedback, - @PathVariable("targetid") @NotEmpty final String targetid, + ResponseEntity postCancelActionFeedback(@PathVariable("tenant") final String tenant, + @Valid final DdiActionFeedback feedback, @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId); } diff --git a/hawkbit-ddi-dl-api/src/main/java/org/eclipse/hawkbit/ddi/dl/rest/api/DdiDlArtifactStoreControllerRestApi.java b/hawkbit-ddi-dl-api/src/main/java/org/eclipse/hawkbit/ddi/dl/rest/api/DdiDlArtifactStoreControllerRestApi.java index 53d5940fe..726f5de57 100644 --- a/hawkbit-ddi-dl-api/src/main/java/org/eclipse/hawkbit/ddi/dl/rest/api/DdiDlArtifactStoreControllerRestApi.java +++ b/hawkbit-ddi-dl-api/src/main/java/org/eclipse/hawkbit/ddi/dl/rest/api/DdiDlArtifactStoreControllerRestApi.java @@ -40,8 +40,8 @@ public interface DdiDlArtifactStoreControllerRestApi { @RequestMapping(method = RequestMethod.GET, value = DdiDlRestConstants.ARTIFACT_DOWNLOAD_BY_FILENAME + "/{fileName}") @ResponseBody - public ResponseEntity downloadArtifactByFilename(@PathVariable("fileName") final String fileName, - @AuthenticationPrincipal final String targetid); + public ResponseEntity downloadArtifactByFilename(@PathVariable("tenant") final String tenant, + @PathVariable("fileName") final String fileName, @AuthenticationPrincipal final String targetid); /** * Handles GET MD5 checksum file download request. @@ -54,6 +54,7 @@ public interface DdiDlArtifactStoreControllerRestApi { @RequestMapping(method = RequestMethod.GET, value = DdiDlRestConstants.ARTIFACT_DOWNLOAD_BY_FILENAME + "/{fileName}" + DdiDlRestConstants.ARTIFACT_MD5_DWNL_SUFFIX) @ResponseBody - public ResponseEntity downloadArtifactMD5ByFilename(@PathVariable("fileName") final String fileName); + public ResponseEntity downloadArtifactMD5ByFilename(@PathVariable("tenant") final String tenant, + @PathVariable("fileName") final String fileName); } diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java index d87de67d0..c3be2bea7 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DataConversionHelper.java @@ -124,20 +124,23 @@ public final class DataConversionHelper { // change the payload of the // response because of eTags. result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) - .getControllerBasedeploymentAction(target.getControllerId(), action.getId(), - calculateEtag(action))).withRel(DdiRestConstants.DEPLOYMENT_BASE_ACTION)); + .getControllerBasedeploymentAction(tenantAware.getCurrentTenant(), target.getControllerId(), + action.getId(), calculateEtag(action))) + .withRel(DdiRestConstants.DEPLOYMENT_BASE_ACTION)); addedUpdate = true; } else if (action.isCancelingOrCanceled() && !addedCancel) { - result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) - .getControllerCancelAction(target.getControllerId(), action.getId())) - .withRel(DdiRestConstants.CANCEL_ACTION)); + result.add(linkTo( + methodOn(DdiRootController.class, tenantAware.getCurrentTenant()).getControllerCancelAction( + tenantAware.getCurrentTenant(), target.getControllerId(), action.getId())) + .withRel(DdiRestConstants.CANCEL_ACTION)); addedCancel = true; } } if (target.getTargetInfo().isRequestControllerAttributes()) { - result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()).putConfigData(null, - target.getControllerId())).withRel(DdiRestConstants.CONFIG_DATA_ACTION)); + result.add(linkTo(methodOn(DdiRootController.class, tenantAware.getCurrentTenant()) + .putConfigData(tenantAware.getCurrentTenant(), null, target.getControllerId())) + .withRel(DdiRestConstants.CONFIG_DATA_ACTION)); } return result; } diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java index e2af0a873..3feb3068f 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiArtifactStoreController.java @@ -69,8 +69,8 @@ public class DdiArtifactStoreController implements DdiDlArtifactStoreControllerR private EntityFactory entityFactory; @Override - public ResponseEntity downloadArtifactByFilename(@PathVariable("fileName") final String fileName, - @AuthenticationPrincipal final String targetid) { + public ResponseEntity downloadArtifactByFilename(@PathVariable("tenant") final String tenant, + @PathVariable("fileName") final String fileName, @AuthenticationPrincipal final String targetid) { final List foundArtifacts = artifactManagement.findLocalArtifactByFilename(fileName); if (foundArtifacts.isEmpty()) { @@ -110,7 +110,8 @@ public class DdiArtifactStoreController implements DdiDlArtifactStoreControllerR } @Override - public ResponseEntity downloadArtifactMD5ByFilename(@PathVariable("fileName") final String fileName) { + public ResponseEntity downloadArtifactMD5ByFilename(@PathVariable("tenant") final String tenant, + @PathVariable("fileName") final String fileName) { final List foundArtifacts = artifactManagement.findLocalArtifactByFilename(fileName); if (foundArtifacts.isEmpty()) { diff --git a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java index 9dd65d5fc..2367b38fc 100644 --- a/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java +++ b/hawkbit-ddi-resource/src/main/java/org/eclipse/hawkbit/ddi/rest/resource/DdiRootController.java @@ -99,7 +99,7 @@ public class DdiRootController implements DdiRootControllerRestApi { @Override public ResponseEntity> getSoftwareModulesArtifacts( - @PathVariable("targetid") final String targetid, + @PathVariable("tenant") final String tenant, @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId) { LOG.debug("getSoftwareModulesArtifacts({})", targetid); @@ -116,7 +116,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity getControllerBase(@PathVariable("targetid") final String targetid) { + public ResponseEntity getControllerBase(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid) { LOG.debug("getControllerBase({})", targetid); final Target target = controllerManagement.findOrRegisterTargetIfItDoesNotexist(targetid, IpUtil @@ -136,7 +137,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity downloadArtifact(@PathVariable("targetid") final String targetid, + public ResponseEntity downloadArtifact(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId, @PathVariable("fileName") final String fileName) { ResponseEntity result; @@ -194,7 +196,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity downloadArtifactMd5(@PathVariable("targetid") final String targetid, + public ResponseEntity downloadArtifactMd5(@PathVariable("tenant") final String tenant, + @PathVariable("targetid") final String targetid, @PathVariable("softwareModuleId") final Long softwareModuleId, @PathVariable("fileName") final String fileName) { controllerManagement.updateLastTargetQuery(targetid, IpUtil @@ -220,7 +223,8 @@ public class DdiRootController implements DdiRootControllerRestApi { @Override public ResponseEntity getControllerBasedeploymentAction( - @PathVariable("targetid") final String targetid, @PathVariable("actionId") final Long actionId, + @PathVariable("tenant") final String tenant, @PathVariable("targetid") final String targetid, + @PathVariable("actionId") final Long actionId, @RequestParam(value = "c", required = false, defaultValue = "-1") final int resource) { LOG.debug("getControllerBasedeploymentAction({},{})", targetid, resource); @@ -254,8 +258,9 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity postBasedeploymentActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, - @PathVariable("targetid") final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId) { + public ResponseEntity postBasedeploymentActionFeedback(@PathVariable("tenant") final String tenant, + @Valid @RequestBody final DdiActionFeedback feedback, @PathVariable("targetid") final String targetid, + @PathVariable("actionId") @NotEmpty final Long actionId) { LOG.debug("provideBasedeploymentActionFeedback for target [{},{}]: {}", targetid, actionId, feedback); final Target target = controllerManagement.updateLastTargetQuery(targetid, IpUtil @@ -349,8 +354,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity putConfigData(@Valid @RequestBody final DdiConfigData configData, - @PathVariable("targetid") final String targetid) { + public ResponseEntity putConfigData(@PathVariable("tenant") final String tenant, + @Valid @RequestBody final DdiConfigData configData, @PathVariable("targetid") final String targetid) { controllerManagement.updateLastTargetQuery(targetid, IpUtil .getClientIpFromRequest(requestResponseContextHolder.getHttpServletRequest(), securityProperties)); @@ -360,7 +365,7 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity getControllerCancelAction( + public ResponseEntity getControllerCancelAction(@PathVariable("tenant") final String tenant, @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId) { LOG.debug("getControllerCancelAction({})", targetid); @@ -390,7 +395,8 @@ public class DdiRootController implements DdiRootControllerRestApi { } @Override - public ResponseEntity postCancelActionFeedback(@Valid @RequestBody final DdiActionFeedback feedback, + public ResponseEntity postCancelActionFeedback(@PathVariable("tenant") final String tenant, + @Valid @RequestBody final DdiActionFeedback feedback, @PathVariable("targetid") @NotEmpty final String targetid, @PathVariable("actionId") @NotEmpty final Long actionId) { LOG.debug("provideCancelActionFeedback for target [{}]: {}", targetid, feedback);