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..c41f7953d 100644 --- a/examples/hawkbit-example-core-feign-client/pom.xml +++ b/examples/hawkbit-example-core-feign-client/pom.xml @@ -32,7 +32,14 @@ org.springframework.cloud spring-cloud-netflix-core - 1.0.7.RELEASE + + + org.springframework.cloud + spring-cloud-commons + + + org.springframework.cloud + spring-cloud-context 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..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 @@ -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 @@ -38,6 +40,10 @@ 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()); } } } 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-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/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..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 @@ -17,9 +17,8 @@ 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; @@ -49,9 +48,6 @@ import feign.slf4j.Slf4jLogger; @Import(FeignClientConfiguration.class) public class Application implements CommandLineRunner { - @Autowired - private ClientConfigurationProperties configuration; - @Autowired private ConfigurableScenario configuredScenario; @@ -59,7 +55,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 +70,18 @@ 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, + uploadSoftwareModule(clientConfigurationProperties), targetResource, rolloutResource, + clientConfigurationProperties); } @Bean @@ -94,23 +90,21 @@ public class Application implements CommandLineRunner { } @Bean - public Logger.Level feignLoggerLevel() { - return Logger.Level.FULL; - } - - @Bean - public MgmtSoftwareModuleClientResource uploadSoftwareModule() { + 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() + MgmtRestConstants.SOFTWAREMODULE_V1_REQUEST_MAPPING); + .target(MgmtSoftwareModuleClientResource.class, configuration.getUrl()); + } + + @Bean + public Logger.Level feignLoggerLevel() { + return Logger.Level.FULL; } private static boolean containsArg(final String containsArg, final String... args) { 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..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 @@ -31,7 +31,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,18 +49,18 @@ public class ConfigurableScenario { private final MgmtSoftwareModuleClientResource softwareModuleResource; - private final MgmtSoftwareModuleClientResource uploadSoftwareModule; - private final MgmtTargetClientResource targetResource; private final MgmtRolloutClientResource rolloutResource; private final ClientConfigurationProperties clientConfigurationProperties; + private final MgmtSoftwareModuleClientResource uploadSoftwareModule; + public ConfigurableScenario(final MgmtDistributionSetClientResource distributionSetResource, - @Qualifier("mgmtSoftwareModuleClientResource") final MgmtSoftwareModuleClientResource softwareModuleResource, - @Qualifier("uploadSoftwareModule") final MgmtSoftwareModuleClientResource uploadSoftwareModule, - final MgmtTargetClientResource targetResource, final MgmtRolloutClientResource rolloutResource, + final MgmtSoftwareModuleClientResource softwareModuleResource, + final MgmtSoftwareModuleClientResource uploadSoftwareModule, final MgmtTargetClientResource targetResource, + final MgmtRolloutClientResource rolloutResource, final ClientConfigurationProperties clientConfigurationProperties) { this.distributionSetResource = distributionSetResource; this.softwareModuleResource = softwareModuleResource; @@ -191,7 +190,7 @@ public class ConfigurableScenario { .type("application").buildAsList(scenario.getAppModulesPerDistributionSet())) .getBody()); - for (int x = 0; x < scenario.getArtifactsPerSM(); x++) { + 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); @@ -201,21 +200,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()); @@ -239,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; + } } 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-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-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..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 @@ -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; @@ -48,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); /** @@ -62,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 @@ -84,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); @@ -107,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); @@ -129,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); @@ -150,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 @RequestBody 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. @@ -167,8 +170,8 @@ 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, - @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. @@ -184,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); /** @@ -205,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 @RequestBody 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..55be6f58a 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,36 +108,34 @@ 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( + tenantAware.getCurrentTenant(), 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(tenantAware.getCurrentTenant(), target.getControllerId(), + action.get().getId(), calculateEtag(action.get()))) + .withRel(DdiRestConstants.DEPLOYMENT_BASE_ACTION)); } } 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..33d7daf69 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 @@ -130,13 +131,14 @@ public class DdiRootController implements DdiRootControllerRestApi { } return new ResponseEntity<>( - DataConversionHelper.fromTarget(target, controllerManagement.findActionByTargetAndActive(target), + DataConversionHelper.fromTarget(target, controllerManagement.findOldestActiveActionByTarget(target), controllerManagement.getPollingTime(), tenantAware), HttpStatus.OK); } @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); 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..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 @@ -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", matchIfMissing = true) 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", matchIfMissing = true) protected static class RabbitConnectionFactoryCreator { @Autowired @@ -280,6 +289,22 @@ public class AmqpConfiguration { return new ConfigurableRabbitListenerContainerFactory(amqpProperties, rabbitConnectionFactory, errorHandler); } + @Bean + @ConditionalOnMissingBean(AmqpControllerAuthentication.class) + 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 + @ConditionalOnMissingBean(AmqpMessageDispatcherService.class) + 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..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 @@ -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 + * to 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..e8387e0c2 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; @@ -41,7 +43,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; @@ -90,7 +92,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { private ControllerManagement controllerManagement; @Autowired - private AmqpControllerAuthentfication authenticationManager; + private AmqpControllerAuthentication authenticationManager; @Autowired private ArtifactManagement artifactManagement; @@ -155,7 +157,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 +198,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); } @@ -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.findOldestActiveActionByTarget(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)); } @@ -503,7 +511,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..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; @@ -79,18 +78,15 @@ 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); } @Test 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..a1591c07c 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; @@ -98,7 +99,7 @@ public class AmqpMessageHandlerServiceTest { private ArtifactManagement artifactManagementMock; @Mock - private AmqpControllerAuthentfication authenticationManagerMock; + private AmqpControllerAuthentication authenticationManagerMock; @Mock private ArtifactRepository artifactRepositoryMock; @@ -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.findOldestActiveActionByTarget(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.findOldestActiveActionByTarget(Matchers.any())) + .thenReturn(Optional.of(action)); final List softwareModuleList = createSoftwareModuleList(); when(controllerManagementMock.findSoftwareModulesByDistributionSet(Matchers.any())) 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..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 @@ -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; @@ -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. 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..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 @@ -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 @@ -53,31 +54,42 @@ final class MgmtDistributionSetTypeMapper { final DistributionSetType result = entityFactory.generateDistributionSetType(smsRest.getKey(), smsRest.getName(), smsRest.getDescription()); - // Add mandatory - 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); - - // Add optional - 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"); - } - - return smType; - }).forEach(result::addOptionalModuleType); + addMandatoryModules(softwareManagement, smsRest, result); + addOptionalModules(softwareManagement, smsRest, result); return result; } + 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()); + + if (smType == null) { + throw new EntityNotFoundException("SoftwareModuleType with ID " + opt.getId() + " not found"); + } + + return smType; + }).forEach(result::addOptionalModuleType); + } + } + + 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) { final List response = new ArrayList<>(); for (final DistributionSetType dsType : types) { 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-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..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 @@ -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 properties 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/ControllerManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ControllerManagement.java index f06621fd4..f93b42e48 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; @@ -19,7 +20,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 +96,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 */ @@ -111,7 +112,18 @@ 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 + * {@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 findOldestActiveActionByTarget(@NotNull Target target); /** * Get the {@link Action} entity for given actionId with all lazy 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-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); } /** 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/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..41ad6f179 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; @@ -26,7 +27,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; @@ -156,10 +157,15 @@ 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 findOldestActiveActionByTarget(final Target target) { + return actionRepository.findFirstByTargetAndActiveOrderByIdAsc((JpaTarget) target, true); + } + @Override public List findSoftwareModulesByDistributionSet(final DistributionSet distributionSet) { return new ArrayList<>(softwareModuleRepository.findByAssignedTo((JpaDistributionSet) distributionSet)); @@ -326,7 +332,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())); } } 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(); 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 42184c8b0..4b5b6567e 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 6f7d05f60..9fc27f1e8 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; @@ -109,6 +110,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 570158240..6d720a75d 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 0c43bf2da..750e61185 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. * 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 9bff75ff2..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,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.UIComponentIdProvider; 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/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; } @@ -354,8 +355,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); @@ -370,7 +371,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 a58b40a98..2d32f12aa 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; @@ -121,7 +121,7 @@ public class TargetFilterHeader extends VerticalLayout { } private TextField createSearchField() { - final TextField campSearchTextField = new TextFieldBuilder("target.filter.search.text.Id") + final TextField campSearchTextField = new TextFieldBuilder(UIComponentIdProvider.TARGET_FILTER_SEARCH_TEXT) .createSearchField(event -> searchBy(event.getText())); campSearchTextField.setWidth(500.0F, Unit.PIXELS); return campSearchTextField; @@ -170,7 +170,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 caf6976fd..199420442 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.TAEGET_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(); } @@ -240,7 +240,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 ad61a1f56..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("save.action.radio.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 26211f67d..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 584f28931..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,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.UIComponentIdProvider; 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(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 94% 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 f074485d7..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. */ @@ -48,13 +43,18 @@ 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. */ 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 */ @@ -108,6 +108,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. */ @@ -213,6 +218,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. */ @@ -590,10 +600,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. @@ -744,6 +764,11 @@ public final class SPUIComponentIdProvider { */ public static final String ROLLOUT_GROUP_TARGET_LABEL = "rollout.group.target.label"; + /** + * ID for rollout progress bar + */ + public static final String ROLLOUT_PROGRESS_BAR = "rollout.status.progress.bar.id"; + /** * Action confirmation popup id. */ @@ -794,6 +819,16 @@ public final class SPUIComponentIdProvider { */ public static final String METADATA_VALUE_ID = "metadata.value.id"; + /** + * 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. */ @@ -833,10 +868,19 @@ public final class SPUIComponentIdProvider { */ 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. */ - private SPUIComponentIdProvider() { + private UIComponentIdProvider() { } } diff --git a/pom.xml b/pom.xml index 6bfa81534..043b4e614 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