diff --git a/examples/hawkbit-mgmt-api-client/pom.xml b/examples/hawkbit-mgmt-api-client/pom.xml
index 051252d12..75e520ea6 100644
--- a/examples/hawkbit-mgmt-api-client/pom.xml
+++ b/examples/hawkbit-mgmt-api-client/pom.xml
@@ -66,6 +66,11 @@
8.14.2
+
+ com.netflix.feign
+ feign-jackson
+ 8.14.2
+
hibernate-validator
org.hibernate
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/MgmtDefaultFeignClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/MgmtDefaultFeignClient.java
new file mode 100644
index 000000000..8bfc2ec52
--- /dev/null
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/MgmtDefaultFeignClient.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2015 Bosch Software Innovations GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.hawkbit.mgmt.client;
+
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetTagClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetTypeClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDownloadArtifactClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDownloadClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtRolloutClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleTypeClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtTargetClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtTargetTagClientResource;
+import org.springframework.cloud.netflix.feign.support.ResponseEntityDecoder;
+
+import feign.Feign;
+import feign.Feign.Builder;
+import feign.Logger;
+import feign.Logger.Level;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+
+/**
+ *
+ */
+public class MgmtDefaultFeignClient {
+
+ private MgmtDistributionSetClientResource mgmtDistributionSetClientResource;
+ private MgmtDistributionSetTagClientResource mgmtDistributionSetTagClientResource;
+ private MgmtDistributionSetTypeClientResource mgmtDistributionSetTypeClientResource;
+ private MgmtRolloutClientResource mgmtRolloutClientResource;
+ private MgmtSoftwareModuleClientResource mgmtSoftwareModuleClientResource;
+ private MgmtSoftwareModuleTypeClientResource mgmtSoftwareModuleTypeClientResource;
+ private MgmtTargetClientResource mgmtTargetClientResource;
+ private MgmtTargetTagClientResource mgmtTargetTagClientResource;
+ private MgmtDownloadClientResource mgmtDownloadClientResource;
+ private MgmtDownloadArtifactClientResource mgmtDownloadArtifactClientResource;
+
+ private final Builder feignBuilder;
+ private final String baseUrl;
+
+ public MgmtDefaultFeignClient(final String baseUrl) {
+ feignBuilder = Feign.builder().contract(new IgnoreMultipleConsumersProducersSpringMvcContract())
+ .requestInterceptor(new ApplicationJsonRequestHeaderInterceptor()).logLevel(Level.FULL)
+ .logger(new Logger.ErrorLogger()).encoder(new JacksonEncoder())
+ .decoder(new ResponseEntityDecoder(new JacksonDecoder()));
+ this.baseUrl = baseUrl;
+ }
+
+ public Builder getFeignBuilder() {
+ return feignBuilder;
+ }
+
+ public MgmtDistributionSetClientResource getMgmtDistributionSetClientResource() {
+ if (mgmtDistributionSetClientResource == null) {
+ mgmtDistributionSetClientResource = feignBuilder.target(MgmtDistributionSetClientResource.class,
+ this.baseUrl + MgmtDistributionSetClientResource.PATH);
+ }
+ return mgmtDistributionSetClientResource;
+ }
+
+ public MgmtDistributionSetTagClientResource getMgmtDistributionSetTagClientResource() {
+ if (mgmtDistributionSetTagClientResource == null) {
+ mgmtDistributionSetTagClientResource = feignBuilder.target(MgmtDistributionSetTagClientResource.class,
+ this.baseUrl + MgmtDistributionSetTagClientResource.PATH);
+ }
+ return mgmtDistributionSetTagClientResource;
+ }
+
+ public MgmtDistributionSetTypeClientResource getMgmtDistributionSetTypeClientResource() {
+ if (mgmtDistributionSetTypeClientResource == null) {
+ mgmtDistributionSetTypeClientResource = feignBuilder.target(MgmtDistributionSetTypeClientResource.class,
+ this.baseUrl + MgmtDistributionSetTypeClientResource.PATH);
+ }
+ return mgmtDistributionSetTypeClientResource;
+ }
+
+ public MgmtRolloutClientResource getMgmtRolloutClientResource() {
+ if (mgmtRolloutClientResource == null) {
+ mgmtRolloutClientResource = feignBuilder.target(MgmtRolloutClientResource.class,
+ this.baseUrl + MgmtRolloutClientResource.PATH);
+ }
+ return mgmtRolloutClientResource;
+ }
+
+ public MgmtSoftwareModuleClientResource getMgmtSoftwareModuleClientResource() {
+ if (mgmtSoftwareModuleClientResource == null) {
+ mgmtSoftwareModuleClientResource = feignBuilder.target(MgmtSoftwareModuleClientResource.class,
+ MgmtSoftwareModuleClientResource.PATH);
+ }
+ return mgmtSoftwareModuleClientResource;
+ }
+
+ public MgmtSoftwareModuleTypeClientResource getMgmtSoftwareModuleTypeClientResource() {
+ if (mgmtSoftwareModuleTypeClientResource == null) {
+ mgmtSoftwareModuleTypeClientResource = feignBuilder.target(MgmtSoftwareModuleTypeClientResource.class,
+ this.baseUrl + MgmtSoftwareModuleTypeClientResource.PATH);
+ }
+ return mgmtSoftwareModuleTypeClientResource;
+ }
+
+ public MgmtTargetClientResource getMgmtTargetClientResource() {
+ if (mgmtTargetClientResource == null) {
+ mgmtTargetClientResource = feignBuilder.target(MgmtTargetClientResource.class,
+ this.baseUrl + MgmtTargetClientResource.PATH);
+ }
+ return mgmtTargetClientResource;
+ }
+
+ public MgmtTargetTagClientResource getMgmtTargetTagClientResource() {
+ if (mgmtTargetTagClientResource == null) {
+ mgmtTargetTagClientResource = feignBuilder.target(MgmtTargetTagClientResource.class,
+ this.baseUrl + MgmtTargetTagClientResource.PATH);
+ }
+ return mgmtTargetTagClientResource;
+ }
+
+ public MgmtDownloadClientResource getMgmtDownloadClientResource() {
+ if (mgmtDownloadClientResource == null) {
+ mgmtDownloadClientResource = feignBuilder.target(MgmtDownloadClientResource.class,
+ this.baseUrl + MgmtDownloadClientResource.PATH);
+ }
+ return mgmtDownloadClientResource;
+ }
+
+ public MgmtDownloadArtifactClientResource getMgmtDownloadArtifactClientResource() {
+ if (mgmtDownloadArtifactClientResource == null) {
+ mgmtDownloadArtifactClientResource = feignBuilder.target(MgmtDownloadArtifactClientResource.class,
+ this.baseUrl + MgmtDownloadArtifactClientResource.PATH);
+ }
+ return mgmtDownloadArtifactClientResource;
+ }
+
+}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java
similarity index 71%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java
index 11df8c323..b513f43f1 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the DistributionSet resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/distributionsets")
-public interface DistributionSetResourceClient extends MgmtDistributionSetRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtDistributionSetClientResource.PATH)
+public interface MgmtDistributionSetClientResource extends MgmtDistributionSetRestApi {
+ static String PATH = "rest/v1/distributionsets";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTagResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java
similarity index 70%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTagResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java
index 628304e26..6d4f60bb7 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTagResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTagClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the DistributionSetTag resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/distributionsettags")
-public interface DistributionSetTagResourceClient extends MgmtDistributionSetTagRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtDistributionSetTagClientResource.PATH)
+public interface MgmtDistributionSetTagClientResource extends MgmtDistributionSetTagRestApi {
+ static String PATH = "rest/v1/distributionsettags";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTypeResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java
similarity index 70%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTypeResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java
index 871f79beb..fe745968f 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/DistributionSetTypeResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDistributionSetTypeClientResource.java
@@ -15,7 +15,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
* Client binding for the DistributionSetType resource of the management API.
*
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/distributionsettypes")
-public interface DistributionSetTypeResourceClient extends MgmtDistributionSetTypeRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtDistributionSetTypeClientResource.PATH)
+public interface MgmtDistributionSetTypeClientResource extends MgmtDistributionSetTypeRestApi {
+ static String PATH = "rest/v1/distributionsettypes";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java
new file mode 100644
index 000000000..3f7917f22
--- /dev/null
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadArtifactClientResource.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) 2015 Bosch Software Innovations GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.hawkbit.mgmt.client.resource;
+
+import org.eclipse.hawkbit.mgmt.rest.api.MgmtDownloadArtifactRestApi;
+import org.springframework.cloud.netflix.feign.FeignClient;
+
+/**
+ *
+ */
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtDownloadArtifactClientResource.PATH)
+public interface MgmtDownloadArtifactClientResource extends MgmtDownloadArtifactRestApi {
+
+ static String PATH = "rest/v1/softwaremodules";
+
+}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java
new file mode 100644
index 000000000..2626b8a90
--- /dev/null
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtDownloadClientResource.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright (c) 2015 Bosch Software Innovations GmbH and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.eclipse.hawkbit.mgmt.client.resource;
+
+import org.eclipse.hawkbit.mgmt.rest.api.MgmtDownloadRestApi;
+import org.springframework.cloud.netflix.feign.FeignClient;
+
+/**
+ *
+ */
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtDownloadClientResource.PATH)
+public interface MgmtDownloadClientResource extends MgmtDownloadRestApi {
+
+ static String PATH = "api/v1/downloadserver/";
+
+}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/RolloutResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java
similarity index 73%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/RolloutResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java
index 0a40ab107..430550b3a 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/RolloutResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtRolloutClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the Rollout resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/rollouts")
-public interface RolloutResourceClient extends MgmtRolloutRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtRolloutClientResource.PATH)
+public interface MgmtRolloutClientResource extends MgmtRolloutRestApi {
+ static String PATH = "rest/v1/rollouts";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java
similarity index 71%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java
index 80fcf734e..d89f7e5f3 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the SoftwareModule resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/softwaremodules")
-public interface SoftwareModuleResourceClient extends MgmtSoftwareModuleRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtSoftwareModuleClientResource.PATH)
+public interface MgmtSoftwareModuleClientResource extends MgmtSoftwareModuleRestApi {
+ static String PATH = "rest/v1/softwaremodules";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleTypeResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java
similarity index 70%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleTypeResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java
index 5fe0012f6..6d5ca476c 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/SoftwareModuleTypeResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtSoftwareModuleTypeClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the oftwareModuleType resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/softwaremoduletypes")
-public interface SoftwareModuleTypeResourceClient extends MgmtSoftwareModuleTypeRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtSoftwareModuleTypeClientResource.PATH)
+public interface MgmtSoftwareModuleTypeClientResource extends MgmtSoftwareModuleTypeRestApi {
+ static String PATH = "rest/v1/softwaremoduletypes";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java
similarity index 74%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java
index 920666dd1..5d043afe2 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetClientResource.java
@@ -14,7 +14,8 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the Target resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/targets")
-public interface TargetResourceClient extends MgmtTargetRestApi {
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtTargetClientResource.PATH)
+public interface MgmtTargetClientResource extends MgmtTargetRestApi {
+ static String PATH = "/rest/v1/targets";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetTagResourceClient.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java
similarity index 73%
rename from examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetTagResourceClient.java
rename to examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java
index ad6a1dab9..475008cf3 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/TargetTagResourceClient.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/resource/MgmtTargetTagClientResource.java
@@ -14,7 +14,7 @@ import org.springframework.cloud.netflix.feign.FeignClient;
/**
* Client binding for the TargetTag resource of the management API.
*/
-@FeignClient(url = "${hawkbit.url:localhost:8080}/rest/v1/targettags")
-public interface TargetTagResourceClient extends MgmtTargetTagRestApi {
-
+@FeignClient(url = "${hawkbit.url:localhost:8080}/" + MgmtTargetTagClientResource.PATH)
+public interface MgmtTargetTagClientResource extends MgmtTargetTagRestApi {
+ static String PATH = "rest/v1/targettags";
}
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java
index 0e1093f1d..2fd81736c 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/CreateStartedRolloutExample.java
@@ -10,12 +10,12 @@ package org.eclipse.hawkbit.mgmt.client.scenarios;
import java.util.List;
-import org.eclipse.hawkbit.mgmt.client.resource.DistributionSetResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.DistributionSetTypeResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.RolloutResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.SoftwareModuleResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.SoftwareModuleTypeResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.TargetResourceClient;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetTypeClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtRolloutClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleTypeClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtTargetClientResource;
import org.eclipse.hawkbit.mgmt.client.resource.builder.DistributionSetBuilder;
import org.eclipse.hawkbit.mgmt.client.resource.builder.DistributionSetTypeBuilder;
import org.eclipse.hawkbit.mgmt.client.resource.builder.RolloutBuilder;
@@ -44,22 +44,22 @@ public class CreateStartedRolloutExample {
private static final String DS_MODULE_TYPE = SM_MODULE_TYPE;
@Autowired
- private DistributionSetResourceClient distributionSetResource;
+ private MgmtDistributionSetClientResource distributionSetResource;
@Autowired
- private SoftwareModuleResourceClient softwareModuleResource;
+ private MgmtSoftwareModuleClientResource softwareModuleResource;
@Autowired
- private TargetResourceClient targetResource;
+ private MgmtTargetClientResource targetResource;
@Autowired
- private RolloutResourceClient rolloutResource;
+ private MgmtRolloutClientResource rolloutResource;
@Autowired
- private DistributionSetTypeResourceClient distributionSetTypeResource;
+ private MgmtDistributionSetTypeClientResource distributionSetTypeResource;
@Autowired
- private SoftwareModuleTypeResourceClient softwareModuleTypeResource;
+ private MgmtSoftwareModuleTypeClientResource softwareModuleTypeResource;
/**
* Run the Rollout scenario.
diff --git a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/GettingStartedDefaultScenario.java b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/GettingStartedDefaultScenario.java
index 43a98aff4..77b426a2f 100644
--- a/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/GettingStartedDefaultScenario.java
+++ b/examples/hawkbit-mgmt-api-client/src/main/java/org/eclipse/hawkbit/mgmt/client/scenarios/GettingStartedDefaultScenario.java
@@ -10,10 +10,10 @@ package org.eclipse.hawkbit.mgmt.client.scenarios;
import java.util.List;
-import org.eclipse.hawkbit.mgmt.client.resource.DistributionSetResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.DistributionSetTypeResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.SoftwareModuleResourceClient;
-import org.eclipse.hawkbit.mgmt.client.resource.SoftwareModuleTypeResourceClient;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtDistributionSetTypeClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleClientResource;
+import org.eclipse.hawkbit.mgmt.client.resource.MgmtSoftwareModuleTypeClientResource;
import org.eclipse.hawkbit.mgmt.client.resource.builder.DistributionSetBuilder;
import org.eclipse.hawkbit.mgmt.client.resource.builder.DistributionSetTypeBuilder;
import org.eclipse.hawkbit.mgmt.client.resource.builder.SoftwareModuleAssigmentBuilder;
@@ -50,16 +50,16 @@ public class GettingStartedDefaultScenario {
private static final String DS_EXAMPLE_NAME = SM_EXAMPLE_NAME;
@Autowired
- private DistributionSetResourceClient distributionSetResource;
+ private MgmtDistributionSetClientResource distributionSetResource;
@Autowired
- private DistributionSetTypeResourceClient distributionSetTypeResource;
+ private MgmtDistributionSetTypeClientResource distributionSetTypeResource;
@Autowired
- private SoftwareModuleResourceClient softwareModuleResource;
+ private MgmtSoftwareModuleClientResource softwareModuleResource;
@Autowired
- private SoftwareModuleTypeResourceClient softwareModuleTypeResource;
+ private MgmtSoftwareModuleTypeClientResource softwareModuleTypeResource;
/**
* Run the default getting started scenario.
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 024a32454..5c1fbf561 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
@@ -65,39 +65,39 @@ public class DdiArtifactStoreController implements DdiArtifactStoreControllerRes
public ResponseEntity downloadArtifactByFilename(@PathVariable("fileName") final String fileName,
final HttpServletResponse response, final HttpServletRequest request,
@AuthenticationPrincipal final String targetid) {
- ResponseEntity result;
final List foundArtifacts = artifactManagement.findLocalArtifactByFilename(fileName);
if (foundArtifacts.isEmpty()) {
LOG.warn("Software artifact with name {} could not be found.", fileName);
- result = new ResponseEntity<>(HttpStatus.NOT_FOUND);
+ return new ResponseEntity<>(HttpStatus.NOT_FOUND);
+ }
+
+ if (foundArtifacts.size() > 1) {
+ LOG.warn("Software artifact name {} is not unique. We will use the first entry.", fileName);
+ }
+ ResponseEntity result;
+ final LocalArtifact artifact = foundArtifacts.get(0);
+
+ final String ifMatch = request.getHeader("If-Match");
+ if (ifMatch != null && !RestResourceConversionHelper.matchesHttpHeader(ifMatch, artifact.getSha1Hash())) {
+ result = new ResponseEntity<>(HttpStatus.PRECONDITION_FAILED);
} else {
- if (foundArtifacts.size() > 1) {
- LOG.warn("Software artifact name {} is not unique. We will use the first entry.", fileName);
- }
+ final DbArtifact file = artifactManagement.loadLocalArtifactBinary(artifact);
- final LocalArtifact artifact = foundArtifacts.get(0);
-
- final String ifMatch = request.getHeader("If-Match");
- if (ifMatch != null && !RestResourceConversionHelper.matchesHttpHeader(ifMatch, artifact.getSha1Hash())) {
- result = new ResponseEntity<>(HttpStatus.PRECONDITION_FAILED);
+ // we set a download status only if we are aware of the
+ // targetid, i.e. authenticated and not anonymous
+ if (targetid != null && !"anonymous".equals(targetid)) {
+ final Action action = checkAndReportDownloadByTarget(request, targetid, artifact);
+ result = RestResourceConversionHelper.writeFileResponse(artifact, response, request, file,
+ cacheWriteNotify, action.getId());
} else {
- final DbArtifact file = artifactManagement.loadLocalArtifactBinary(artifact);
-
- // we set a download status only if we are aware of the
- // targetid, i.e. authenticated and not anonymous
- if (targetid != null && !"anonymous".equals(targetid)) {
- final Action action = checkAndReportDownloadByTarget(request, targetid, artifact);
- result = RestResourceConversionHelper.writeFileResponse(artifact, response, request, file,
- cacheWriteNotify, action.getId());
- } else {
- result = RestResourceConversionHelper.writeFileResponse(artifact, response, request, file);
- }
-
+ result = RestResourceConversionHelper.writeFileResponse(artifact, response, request, file);
}
+
}
return result;
+
}
@Override