Code formating and removing unused imports (#2072)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -21,7 +21,6 @@ import io.qameta.allure.Description;
|
|||||||
import io.qameta.allure.Feature;
|
import io.qameta.allure.Feature;
|
||||||
import io.qameta.allure.Story;
|
import io.qameta.allure.Story;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.assertj.core.api.Assertions;
|
|
||||||
import org.eclipse.hawkbit.artifact.repository.model.DbArtifactHash;
|
import org.eclipse.hawkbit.artifact.repository.model.DbArtifactHash;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ public class EventPublisherAutoConfiguration {
|
|||||||
* @return publisher bean
|
* @return publisher bean
|
||||||
*/
|
*/
|
||||||
@Bean(name = AbstractApplicationContext.APPLICATION_EVENT_MULTICASTER_BEAN_NAME)
|
@Bean(name = AbstractApplicationContext.APPLICATION_EVENT_MULTICASTER_BEAN_NAME)
|
||||||
ApplicationEventMulticaster applicationEventMulticaster(@Qualifier("asyncExecutor") final Executor executor, final TenantAware tenantAware) {
|
ApplicationEventMulticaster applicationEventMulticaster(
|
||||||
|
@Qualifier("asyncExecutor") final Executor executor, final TenantAware tenantAware) {
|
||||||
final SimpleApplicationEventMulticaster simpleApplicationEventMulticaster = new TenantAwareApplicationEventPublisher(
|
final SimpleApplicationEventMulticaster simpleApplicationEventMulticaster = new TenantAwareApplicationEventPublisher(
|
||||||
tenantAware, applicationEventFilter());
|
tenantAware, applicationEventFilter());
|
||||||
simpleApplicationEventMulticaster.setTaskExecutor(executor);
|
simpleApplicationEventMulticaster.setTaskExecutor(executor);
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ package org.eclipse.hawkbit.cache;
|
|||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAware;
|
import org.eclipse.hawkbit.tenancy.TenantAware;
|
||||||
import org.springframework.cache.Cache;
|
import org.springframework.cache.Cache;
|
||||||
|
|||||||
@@ -93,7 +93,8 @@ public abstract class AbstractServerRtException extends RuntimeException {
|
|||||||
* @param error detail
|
* @param error detail
|
||||||
* @param cause of the exception
|
* @param cause of the exception
|
||||||
*/
|
*/
|
||||||
protected AbstractServerRtException(final String message, final SpServerError error, final Throwable cause, final Map<String, Object> info) {
|
protected AbstractServerRtException(
|
||||||
|
final String message, final SpServerError error, final Throwable cause, final Map<String, Object> info) {
|
||||||
super(message, cause);
|
super(message, cause);
|
||||||
this.error = error;
|
this.error = error;
|
||||||
this.info = info;
|
this.info = info;
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ class DdiConfirmationBaseTest {
|
|||||||
final String id = "1234";
|
final String id = "1234";
|
||||||
final DdiDeployment ddiDeployment = new DdiDeployment(FORCED, ATTEMPT, Collections.emptyList(), AVAILABLE);
|
final DdiDeployment ddiDeployment = new DdiDeployment(FORCED, ATTEMPT, Collections.emptyList(), AVAILABLE);
|
||||||
final String actionStatus = "TestAction";
|
final String actionStatus = "TestAction";
|
||||||
final DdiActionHistory ddiActionHistory = new DdiActionHistory(actionStatus, List.of("Action status message 1", "Action status message 2"));
|
final DdiActionHistory ddiActionHistory = new DdiActionHistory(
|
||||||
|
actionStatus, List.of("Action status message 1", "Action status message 2"));
|
||||||
final DdiConfirmationBaseAction ddiConfirmationBaseAction = new DdiConfirmationBaseAction(id, ddiDeployment, ddiActionHistory);
|
final DdiConfirmationBaseAction ddiConfirmationBaseAction = new DdiConfirmationBaseAction(id, ddiDeployment, ddiActionHistory);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.ATTE
|
|||||||
import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.FORCED;
|
import static org.eclipse.hawkbit.ddi.json.model.DdiDeployment.HandlingType.FORCED;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -44,7 +43,8 @@ public class DdiDeploymentBaseTest {
|
|||||||
final String id = "1234";
|
final String id = "1234";
|
||||||
final DdiDeployment ddiDeployment = new DdiDeployment(FORCED, ATTEMPT, Collections.emptyList(), AVAILABLE);
|
final DdiDeployment ddiDeployment = new DdiDeployment(FORCED, ATTEMPT, Collections.emptyList(), AVAILABLE);
|
||||||
final String actionStatus = "TestAction";
|
final String actionStatus = "TestAction";
|
||||||
final DdiActionHistory ddiActionHistory = new DdiActionHistory(actionStatus, List.of("Action status message 1", "Action status message 2"));
|
final DdiActionHistory ddiActionHistory = new DdiActionHistory(
|
||||||
|
actionStatus, List.of("Action status message 1", "Action status message 2"));
|
||||||
final DdiDeploymentBase ddiDeploymentBase = new DdiDeploymentBase(id, ddiDeployment, ddiActionHistory);
|
final DdiDeploymentBase ddiDeploymentBase = new DdiDeploymentBase(id, ddiDeployment, ddiActionHistory);
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
|
|||||||
@@ -98,7 +98,10 @@ public class DdiRootController implements DdiRootControllerRestApi {
|
|||||||
|
|
||||||
private static final String GIVEN_ACTION_IS_NOT_ASSIGNED_TO_GIVEN_TARGET = "given action ({}) is not assigned to given target ({}).";
|
private static final String GIVEN_ACTION_IS_NOT_ASSIGNED_TO_GIVEN_TARGET = "given action ({}) is not assigned to given target ({}).";
|
||||||
private static final String FALLBACK_REMARK = "Initiated using the Device Direct Integration API without providing a remark.";
|
private static final String FALLBACK_REMARK = "Initiated using the Device Direct Integration API without providing a remark.";
|
||||||
|
/**
|
||||||
|
* File suffix for MDH hash download (see Linux md5sum).
|
||||||
|
*/
|
||||||
|
private static final String ARTIFACT_MD5_DWNL_SUFFIX = ".MD5SUM";
|
||||||
@Autowired
|
@Autowired
|
||||||
private ConfirmationManagement confirmationManagement;
|
private ConfirmationManagement confirmationManagement;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -121,6 +124,7 @@ public class DdiRootController implements DdiRootControllerRestApi {
|
|||||||
private ArtifactUrlHandler artifactUrlHandler;
|
private ArtifactUrlHandler artifactUrlHandler;
|
||||||
@Autowired
|
@Autowired
|
||||||
private EntityFactory entityFactory;
|
private EntityFactory entityFactory;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<List<DdiArtifact>> getSoftwareModulesArtifacts(
|
public ResponseEntity<List<DdiArtifact>> getSoftwareModulesArtifacts(
|
||||||
final String tenant,
|
final String tenant,
|
||||||
@@ -572,6 +576,27 @@ public class DdiRootController implements DdiRootControllerRestApi {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write a md5 file response.
|
||||||
|
*
|
||||||
|
* @param response the response
|
||||||
|
* @param md5Hash of the artifact
|
||||||
|
* @param filename as provided by the client
|
||||||
|
* @throws IOException cannot write output stream
|
||||||
|
*/
|
||||||
|
private static void writeMD5FileResponse(final HttpServletResponse response, final String md5Hash, final String filename)
|
||||||
|
throws IOException {
|
||||||
|
if (md5Hash == null) {
|
||||||
|
throw new IllegalArgumentException("MD5 hash must not be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
final byte[] content = (md5Hash + " " + filename).getBytes(StandardCharsets.US_ASCII);
|
||||||
|
response.setContentType("text/plain");
|
||||||
|
response.setContentLength(content.length);
|
||||||
|
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + filename + ARTIFACT_MD5_DWNL_SUFFIX);
|
||||||
|
response.getOutputStream().write(content);
|
||||||
|
}
|
||||||
|
|
||||||
private ActionStatus checkAndLogDownload(final HttpServletRequest request, final Target target, final Long module) {
|
private ActionStatus checkAndLogDownload(final HttpServletRequest request, final Target target, final Long module) {
|
||||||
final Action action = controllerManagement
|
final Action action = controllerManagement
|
||||||
.getActionForDownloadByTargetAndSoftwareModule(target.getControllerId(), module)
|
.getActionForDownloadByTargetAndSoftwareModule(target.getControllerId(), module)
|
||||||
@@ -713,7 +738,8 @@ public class DdiRootController implements DdiRootControllerRestApi {
|
|||||||
return new DdiDeploymentBase(Long.toString(action.getId()), ddiDeployment, actionHistory);
|
return new DdiDeploymentBase(Long.toString(action.getId()), ddiDeployment, actionHistory);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DdiConfirmationBaseAction generateDdiConfirmationBase(final Target target, final Action action, final Integer actionHistoryMessageCount) {
|
private DdiConfirmationBaseAction generateDdiConfirmationBase(
|
||||||
|
final Target target, final Action action, final Integer actionHistoryMessageCount) {
|
||||||
final DdiActionHistory actionHistory = generateDdiActionHistory(action, actionHistoryMessageCount).orElse(null);
|
final DdiActionHistory actionHistory = generateDdiActionHistory(action, actionHistoryMessageCount).orElse(null);
|
||||||
final DdiDeployment ddiDeployment = generateDdiDeployment(target, action);
|
final DdiDeployment ddiDeployment = generateDdiDeployment(target, action);
|
||||||
return new DdiConfirmationBaseAction(Long.toString(action.getId()), ddiDeployment, actionHistory);
|
return new DdiConfirmationBaseAction(Long.toString(action.getId()), ddiDeployment, actionHistory);
|
||||||
@@ -753,29 +779,4 @@ public class DdiRootController implements DdiRootControllerRestApi {
|
|||||||
return DdiAutoConfirmationState.disabled();
|
return DdiAutoConfirmationState.disabled();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* File suffix for MDH hash download (see Linux md5sum).
|
|
||||||
*/
|
|
||||||
private static final String ARTIFACT_MD5_DWNL_SUFFIX = ".MD5SUM";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a md5 file response.
|
|
||||||
*
|
|
||||||
* @param response the response
|
|
||||||
* @param md5Hash of the artifact
|
|
||||||
* @param filename as provided by the client
|
|
||||||
* @throws IOException cannot write output stream
|
|
||||||
*/
|
|
||||||
private static void writeMD5FileResponse(final HttpServletResponse response, final String md5Hash, final String filename) throws IOException {
|
|
||||||
if (md5Hash == null) {
|
|
||||||
throw new IllegalArgumentException("MD5 hash must not be null");
|
|
||||||
}
|
|
||||||
|
|
||||||
final byte[] content = (md5Hash + " " + filename).getBytes(StandardCharsets.US_ASCII);
|
|
||||||
response.setContentType("text/plain");
|
|
||||||
response.setContentLength(content.length);
|
|
||||||
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + filename + ARTIFACT_MD5_DWNL_SUFFIX);
|
|
||||||
response.getOutputStream().write(content);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -20,7 +20,5 @@ import org.springframework.context.annotation.Import;
|
|||||||
*/
|
*/
|
||||||
@Configuration
|
@Configuration
|
||||||
@ConditionalOnClass(DdiApiConfiguration.class)
|
@ConditionalOnClass(DdiApiConfiguration.class)
|
||||||
@Import({ DdiApiConfiguration.class, DdiSecurityProperties.class} )
|
@Import({ DdiApiConfiguration.class, DdiSecurityProperties.class })
|
||||||
public class DdiApiAutoConfiguration {
|
public class DdiApiAutoConfiguration {}
|
||||||
|
|
||||||
}
|
|
||||||
@@ -26,11 +26,11 @@ import java.util.UUID;
|
|||||||
import io.qameta.allure.Description;
|
import io.qameta.allure.Description;
|
||||||
import io.qameta.allure.Feature;
|
import io.qameta.allure.Feature;
|
||||||
import io.qameta.allure.Story;
|
import io.qameta.allure.Story;
|
||||||
import org.eclipse.hawkbit.artifact.repository.urlhandler.ArtifactUrl;
|
|
||||||
import org.eclipse.hawkbit.artifact.repository.urlhandler.ArtifactUrlHandler;
|
|
||||||
import org.eclipse.hawkbit.artifact.repository.ArtifactFilesystem;
|
import org.eclipse.hawkbit.artifact.repository.ArtifactFilesystem;
|
||||||
import org.eclipse.hawkbit.artifact.repository.model.AbstractDbArtifact;
|
import org.eclipse.hawkbit.artifact.repository.model.AbstractDbArtifact;
|
||||||
import org.eclipse.hawkbit.artifact.repository.model.DbArtifactHash;
|
import org.eclipse.hawkbit.artifact.repository.model.DbArtifactHash;
|
||||||
|
import org.eclipse.hawkbit.artifact.repository.urlhandler.ArtifactUrl;
|
||||||
|
import org.eclipse.hawkbit.artifact.repository.urlhandler.ArtifactUrlHandler;
|
||||||
import org.eclipse.hawkbit.dmf.amqp.api.EventTopic;
|
import org.eclipse.hawkbit.dmf.amqp.api.EventTopic;
|
||||||
import org.eclipse.hawkbit.dmf.amqp.api.MessageHeaderKey;
|
import org.eclipse.hawkbit.dmf.amqp.api.MessageHeaderKey;
|
||||||
import org.eclipse.hawkbit.dmf.amqp.api.MessageType;
|
import org.eclipse.hawkbit.dmf.amqp.api.MessageType;
|
||||||
@@ -74,22 +74,16 @@ class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest {
|
|||||||
private static final Long TENANT_ID = 4711L;
|
private static final Long TENANT_ID = 4711L;
|
||||||
|
|
||||||
private static final URI AMQP_URI = IpUtil.createAmqpUri("vHost", "mytest");
|
private static final URI AMQP_URI = IpUtil.createAmqpUri("vHost", "mytest");
|
||||||
|
|
||||||
private static final String TEST_TOKEN = "testToken";
|
private static final String TEST_TOKEN = "testToken";
|
||||||
|
|
||||||
private static final String CONTROLLER_ID = "1";
|
private static final String CONTROLLER_ID = "1";
|
||||||
|
|
||||||
private AmqpMessageDispatcherService amqpMessageDispatcherService;
|
private AmqpMessageDispatcherService amqpMessageDispatcherService;
|
||||||
|
|
||||||
private RabbitTemplate rabbitTemplate;
|
private RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
private DefaultAmqpMessageSenderService senderService;
|
private DefaultAmqpMessageSenderService senderService;
|
||||||
|
|
||||||
private Target testTarget;
|
private Target testTarget;
|
||||||
|
|
||||||
@BeforeEach
|
@BeforeEach
|
||||||
public void beforeEach() throws Exception {
|
public void beforeEach() throws Exception {
|
||||||
|
|
||||||
testTarget = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID)
|
testTarget = targetManagement.create(entityFactory.target().create().controllerId(CONTROLLER_ID)
|
||||||
.securityToken(TEST_TOKEN).address(AMQP_URI.toString()));
|
.securityToken(TEST_TOKEN).address(AMQP_URI.toString()));
|
||||||
|
|
||||||
@@ -362,5 +356,4 @@ class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTest {
|
|||||||
clazz.getTypeName());
|
clazz.getTypeName());
|
||||||
return (T) rabbitTemplate.getMessageConverter().fromMessage(message);
|
return (T) rabbitTemplate.getMessageConverter().fromMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,6 @@ package org.eclipse.hawkbit.mgmt.rest.resource;
|
|||||||
|
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.AbstractMap.SimpleEntry;
|
import java.util.AbstractMap.SimpleEntry;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -336,7 +335,8 @@ public class MgmtDistributionSetResource implements MgmtDistributionSetRestApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Void> assignSoftwareModules(final Long distributionSetId, final List<MgmtSoftwareModuleAssignment> softwareModuleIDs) {
|
public ResponseEntity<Void> assignSoftwareModules(
|
||||||
|
final Long distributionSetId, final List<MgmtSoftwareModuleAssignment> softwareModuleIDs) {
|
||||||
distributionSetManagement.assignSoftwareModules(
|
distributionSetManagement.assignSoftwareModules(
|
||||||
distributionSetId,
|
distributionSetId,
|
||||||
softwareModuleIDs.stream()
|
softwareModuleIDs.stream()
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import org.eclipse.hawkbit.mgmt.json.model.PagedList;
|
|||||||
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleType;
|
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleType;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeRequestBodyPost;
|
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeRequestBodyPost;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeRequestBodyPut;
|
import org.eclipse.hawkbit.mgmt.json.model.softwaremoduletype.MgmtSoftwareModuleTypeRequestBodyPut;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
|
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleTypeRestApi;
|
import org.eclipse.hawkbit.mgmt.rest.api.MgmtSoftwareModuleTypeRestApi;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
||||||
import org.eclipse.hawkbit.repository.EntityFactory;
|
import org.eclipse.hawkbit.repository.EntityFactory;
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAttributes;
|
|||||||
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAutoConfirm;
|
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAutoConfirm;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAutoConfirmUpdate;
|
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetAutoConfirmUpdate;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetRequestBody;
|
import org.eclipse.hawkbit.mgmt.json.model.target.MgmtTargetRequestBody;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
|
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetRestApi;
|
import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetRestApi;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
||||||
import org.eclipse.hawkbit.repository.ConfirmationManagement;
|
import org.eclipse.hawkbit.repository.ConfirmationManagement;
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import org.eclipse.hawkbit.mgmt.json.model.distributionsettype.MgmtDistributionS
|
|||||||
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetType;
|
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetType;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetTypeRequestBodyPost;
|
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetTypeRequestBodyPost;
|
||||||
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetTypeRequestBodyPut;
|
import org.eclipse.hawkbit.mgmt.json.model.targettype.MgmtTargetTypeRequestBodyPut;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtRestConstants;
|
|
||||||
import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetTypeRestApi;
|
import org.eclipse.hawkbit.mgmt.rest.api.MgmtTargetTypeRestApi;
|
||||||
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
import org.eclipse.hawkbit.mgmt.rest.resource.util.PagingUtility;
|
||||||
import org.eclipse.hawkbit.repository.EntityFactory;
|
import org.eclipse.hawkbit.repository.EntityFactory;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ hawkBit Runtime
|
|||||||
===
|
===
|
||||||
|
|
||||||
| Folder | Description |
|
| Folder | Description |
|
||||||
|--------------------------|------------------------------------------------------------------------------------------------------------------------------|
|
|------------------------|------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `.sandbox/` | Content of the hawkBit sandbox installation running on [hawkbit.eclipseprojects.io](https://hawkbit.eclipseprojects.io/UI/). |
|
| `.sandbox/` | Content of the hawkBit sandbox installation running on [hawkbit.eclipseprojects.io](https://hawkbit.eclipseprojects.io/UI/). |
|
||||||
| `docker/` | Docker related files, such es Dockerfiles, compose and stack files to quickly start up an hawkBit. |
|
| `docker/` | Docker related files, such es Dockerfiles, compose and stack files to quickly start up an hawkBit. |
|
||||||
| `docker/docker_build/` | Docker images build related files, such es Dockerfiles and build shell scripts. |
|
| `docker/docker_build/` | Docker images build related files, such es Dockerfiles and build shell scripts. |
|
||||||
|
|||||||
@@ -94,5 +94,4 @@ public class JpaAutoConfirmationStatus extends AbstractJpaTenantAwareBaseEntity
|
|||||||
+ initiator + ", bosch_user=" + getCreatedBy() + ", activatedAt=" + getCreatedAt() + ", remark="
|
+ initiator + ", bosch_user=" + getCreatedBy() + ", activatedAt=" + getCreatedAt() + ", remark="
|
||||||
+ remark + "]";
|
+ remark + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -122,9 +122,6 @@ public abstract class AbstractIntegrationTest {
|
|||||||
* {@link SystemManagement#getTenantMetadata()};
|
* {@link SystemManagement#getTenantMetadata()};
|
||||||
*/
|
*/
|
||||||
protected static final int DEFAULT_DS_TYPES = RepositoryConstants.DEFAULT_DS_TYPES_IN_TENANT + 1;
|
protected static final int DEFAULT_DS_TYPES = RepositoryConstants.DEFAULT_DS_TYPES_IN_TENANT + 1;
|
||||||
|
|
||||||
private static final String ARTIFACT_DIRECTORY = createTempDir();
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
protected EntityFactory entityFactory;
|
protected EntityFactory entityFactory;
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -190,6 +187,7 @@ public abstract class AbstractIntegrationTest {
|
|||||||
protected ServiceMatcher serviceMatcher;
|
protected ServiceMatcher serviceMatcher;
|
||||||
@Autowired
|
@Autowired
|
||||||
protected ApplicationEventPublisher eventPublisher;
|
protected ApplicationEventPublisher eventPublisher;
|
||||||
|
private static final String ARTIFACT_DIRECTORY = createTempDir();
|
||||||
|
|
||||||
@BeforeAll
|
@BeforeAll
|
||||||
public static void beforeClass() {
|
public static void beforeClass() {
|
||||||
|
|||||||
@@ -50,6 +50,18 @@ public class SecurityManagedConfiguration {
|
|||||||
******************""";
|
******************""";
|
||||||
public static final int DOS_FILTER_ORDER = -200;
|
public static final int DOS_FILTER_ORDER = -200;
|
||||||
|
|
||||||
|
public static FilterRegistrationBean<DosFilter> dosFilter(final Collection<String> includeAntPaths,
|
||||||
|
final HawkbitSecurityProperties.Dos.Filter filterProperties,
|
||||||
|
final HawkbitSecurityProperties.Clients clientProperties) {
|
||||||
|
final FilterRegistrationBean<DosFilter> filterRegBean = new FilterRegistrationBean<>();
|
||||||
|
|
||||||
|
filterRegBean.setFilter(new DosFilter(includeAntPaths, filterProperties.getMaxRead(),
|
||||||
|
filterProperties.getMaxWrite(), filterProperties.getWhitelist(), clientProperties.getBlacklist(),
|
||||||
|
clientProperties.getRemoteIpHeader()));
|
||||||
|
|
||||||
|
return filterRegBean;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter to protect the hawkBit server system management interface against too many requests.
|
* Filter to protect the hawkBit server system management interface against too many requests.
|
||||||
*
|
*
|
||||||
@@ -88,18 +100,6 @@ public class SecurityManagedConfiguration {
|
|||||||
return firewall;
|
return firewall;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static FilterRegistrationBean<DosFilter> dosFilter(final Collection<String> includeAntPaths,
|
|
||||||
final HawkbitSecurityProperties.Dos.Filter filterProperties,
|
|
||||||
final HawkbitSecurityProperties.Clients clientProperties) {
|
|
||||||
final FilterRegistrationBean<DosFilter> filterRegBean = new FilterRegistrationBean<>();
|
|
||||||
|
|
||||||
filterRegBean.setFilter(new DosFilter(includeAntPaths, filterProperties.getMaxRead(),
|
|
||||||
filterProperties.getMaxWrite(), filterProperties.getWhitelist(), clientProperties.getBlacklist(),
|
|
||||||
clientProperties.getRemoteIpHeader()));
|
|
||||||
|
|
||||||
return filterRegBean;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class IgnorePathsStrictHttpFirewall extends StrictHttpFirewall {
|
private static class IgnorePathsStrictHttpFirewall extends StrictHttpFirewall {
|
||||||
|
|
||||||
private final Collection<String> pathsToIgnore;
|
private final Collection<String> pathsToIgnore;
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.eclipse.hawkbit.rest.util;
|
package org.eclipse.hawkbit.rest.util;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ import java.util.function.Supplier;
|
|||||||
|
|
||||||
import org.eclipse.hawkbit.ContextAware;
|
import org.eclipse.hawkbit.ContextAware;
|
||||||
import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions;
|
import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions;
|
||||||
|
import org.eclipse.hawkbit.tenancy.TenantAware;
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAwareAuthenticationDetails;
|
import org.eclipse.hawkbit.tenancy.TenantAwareAuthenticationDetails;
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAwareUser;
|
import org.eclipse.hawkbit.tenancy.TenantAwareUser;
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAware;
|
|
||||||
import org.eclipse.hawkbit.tenancy.UserAuthoritiesResolver;
|
import org.eclipse.hawkbit.tenancy.UserAuthoritiesResolver;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ import jakarta.validation.constraints.NotNull;
|
|||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions;
|
import org.eclipse.hawkbit.im.authentication.SpPermission.SpringEvalExpressions;
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAwareAuthenticationDetails;
|
|
||||||
import org.eclipse.hawkbit.tenancy.TenantAware;
|
import org.eclipse.hawkbit.tenancy.TenantAware;
|
||||||
|
import org.eclipse.hawkbit.tenancy.TenantAwareAuthenticationDetails;
|
||||||
import org.springframework.security.access.hierarchicalroles.RoleHierarchy;
|
import org.springframework.security.access.hierarchicalroles.RoleHierarchy;
|
||||||
import org.springframework.security.authentication.AnonymousAuthenticationToken;
|
import org.springframework.security.authentication.AnonymousAuthenticationToken;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
|||||||
@@ -14,13 +14,11 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import io.qameta.allure.Description;
|
import io.qameta.allure.Description;
|
||||||
import io.qameta.allure.Feature;
|
import io.qameta.allure.Feature;
|
||||||
import io.qameta.allure.Story;
|
import io.qameta.allure.Story;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
import org.springframework.util.ReflectionUtils;
|
import org.springframework.util.ReflectionUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user