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