Lombok/apply to security repo3 (#1594)

* Improve Security Core with lombok (#1592)

Add lombok to repository modules

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* Improve Security Core with lombok 3

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
This commit is contained in:
Avgustin Marinov
2024-02-03 04:46:24 +02:00
committed by GitHub
parent 1c5a7bbeb3
commit f69d386613
10 changed files with 42 additions and 307 deletions

View File

@@ -9,10 +9,13 @@
*/ */
package org.eclipse.hawkbit.api; package org.eclipse.hawkbit.api;
import lombok.Data;
/** /**
* Container for a generated Artifact URL. * Container for a generated Artifact URL.
* *
*/ */
@Data
public class ArtifactUrl { public class ArtifactUrl {
private final String protocol; private final String protocol;
@@ -34,77 +37,4 @@ public class ArtifactUrl {
this.rel = rel; this.rel = rel;
this.ref = ref; this.ref = ref;
} }
/**
* @return protocol name used in DMF API messages.
*/
public String getProtocol() {
return protocol;
}
/**
* @return rel links value useful in hypermedia.
*/
public String getRel() {
return rel;
}
/**
* @return generated artifact download URL
*/
public String getRef() {
return ref;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((protocol == null) ? 0 : protocol.hashCode());
result = prime * result + ((ref == null) ? 0 : ref.hashCode());
result = prime * result + ((rel == null) ? 0 : rel.hashCode());
return result;
}
@Override
public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ArtifactUrl other = (ArtifactUrl) obj;
if (protocol == null) {
if (other.protocol != null) {
return false;
}
} else if (!protocol.equals(other.protocol)) {
return false;
}
if (ref == null) {
if (other.ref != null) {
return false;
}
} else if (!ref.equals(other.ref)) {
return false;
}
if (rel == null) {
if (other.rel != null) {
return false;
}
} else if (!rel.equals(other.rel)) {
return false;
}
return true;
}
@Override
public String toString() {
return "ArtifactUrl [protocol=" + protocol + ", rel=" + rel + ", ref=" + ref + "]";
}
} }

View File

@@ -15,6 +15,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
/** /**
@@ -23,6 +24,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
* *
* @see PropertyBasedArtifactUrlHandler * @see PropertyBasedArtifactUrlHandler
*/ */
@Data
@ConfigurationProperties("hawkbit.artifact.url") @ConfigurationProperties("hawkbit.artifact.url")
public class ArtifactUrlHandlerProperties { public class ArtifactUrlHandlerProperties {
@@ -31,13 +33,10 @@ public class ArtifactUrlHandlerProperties {
*/ */
private final Map<String, UrlProtocol> protocols = new HashMap<>(); private final Map<String, UrlProtocol> protocols = new HashMap<>();
public Map<String, UrlProtocol> getProtocols() {
return protocols;
}
/** /**
* Protocol specific properties to generate URLs accordingly. * Protocol specific properties to generate URLs accordingly.
*/ */
@Data
public static class UrlProtocol { public static class UrlProtocol {
private static final int DEFAULT_HTTP_PORT = 8080; private static final int DEFAULT_HTTP_PORT = 8080;
@@ -85,68 +84,8 @@ public class ArtifactUrlHandlerProperties {
*/ */
private List<ApiType> supports = Arrays.asList(ApiType.DDI, ApiType.DMF, ApiType.MGMT); private List<ApiType> supports = Arrays.asList(ApiType.DDI, ApiType.DMF, ApiType.MGMT);
public boolean isEnabled() {
return enabled;
}
public void setEnabled(final boolean enabled) {
this.enabled = enabled;
}
public String getRel() {
return rel;
}
public void setRel(final String rel) {
this.rel = rel;
}
public String getRef() {
return ref;
}
public void setRef(final String ref) {
this.ref = ref;
}
public String getHostname() {
return hostname;
}
public void setHostname(final String hostname) {
this.hostname = hostname;
}
public String getIp() {
return ip;
}
public void setIp(final String ip) {
this.ip = ip;
}
public Integer getPort() {
return port;
}
public void setPort(final Integer port) {
this.port = port;
}
public List<ApiType> getSupports() {
return Collections.unmodifiableList(supports);
}
public void setSupports(final List<ApiType> supports) { public void setSupports(final List<ApiType> supports) {
this.supports = Collections.unmodifiableList(supports); this.supports = Collections.unmodifiableList(supports);
} }
public String getProtocol() {
return protocol;
}
public void setProtocol(final String protocol) {
this.protocol = protocol;
}
} }
} }

View File

@@ -9,13 +9,16 @@
*/ */
package org.eclipse.hawkbit.api; package org.eclipse.hawkbit.api;
import lombok.Data;
import java.util.Objects; import java.util.Objects;
/** /**
* Container for variables available to the {@link ArtifactUrlHandler}. * Container for variables available to the {@link ArtifactUrlHandler}.
*
*/ */
@Data
public class URLPlaceholder { public class URLPlaceholder {
private final String tenant; private final String tenant;
private final Long tenantId; private final Long tenantId;
private final String controllerId; private final String controllerId;
@@ -49,9 +52,10 @@ public class URLPlaceholder {
/** /**
* Information about the artifact and software module that can be accessed * Information about the artifact and software module that can be accessed
* by the URL. * by the URL.
*
*/ */
@Data
public static class SoftwareData { public static class SoftwareData {
private Long softwareModuleId; private Long softwareModuleId;
private String filename; private String filename;
private Long artifactId; private Long artifactId;
@@ -76,91 +80,5 @@ public class URLPlaceholder {
this.artifactId = artifactId; this.artifactId = artifactId;
this.sha1Hash = sha1Hash; this.sha1Hash = sha1Hash;
} }
public Long getSoftwareModuleId() {
return softwareModuleId;
}
public void setSoftwareModuleId(final Long softwareModuleId) {
this.softwareModuleId = softwareModuleId;
}
public String getFilename() {
return filename;
}
public void setFilename(final String filename) {
this.filename = filename;
}
public Long getArtifactId() {
return artifactId;
}
public void setArtifactId(final Long artifactId) {
this.artifactId = artifactId;
}
public String getSha1Hash() {
return sha1Hash;
}
public void setSha1Hash(final String sha1Hash) {
this.sha1Hash = sha1Hash;
}
@Override
public boolean equals(final Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
final SoftwareData that = (SoftwareData) o;
return Objects.equals(softwareModuleId, that.softwareModuleId)
&& Objects.equals(filename, that.filename)
&& Objects.equals(artifactId, that.artifactId)
&& Objects.equals(sha1Hash, that.sha1Hash);
}
@Override
public int hashCode() {
return Objects.hash(softwareModuleId, filename, artifactId, sha1Hash);
}
}
public String getTenant() {
return tenant;
}
public Long getTenantId() {
return tenantId;
}
public String getControllerId() {
return controllerId;
}
public Long getTargetId() {
return targetId;
}
public SoftwareData getSoftwareData() {
return softwareData;
}
@Override
public boolean equals(final Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
final URLPlaceholder that = (URLPlaceholder) o;
return tenantId.equals(that.tenantId) && Objects.equals(controllerId, that.controllerId) && Objects.equals(
targetId, that.targetId) && Objects.equals(softwareData, that.softwareData);
}
@Override
public int hashCode() {
return Objects.hash(tenantId, controllerId, targetId, softwareData);
} }
} }

View File

@@ -9,12 +9,13 @@
*/ */
package org.eclipse.hawkbit.artifact.repository.model; package org.eclipse.hawkbit.artifact.repository.model;
import lombok.Data;
import org.springframework.util.Assert; import org.springframework.util.Assert;
/** /**
* Database representation of artifact. * Database representation of artifact.
*
*/ */
@Data
public abstract class AbstractDbArtifact implements DbArtifact { public abstract class AbstractDbArtifact implements DbArtifact {
private final String artifactId; private final String artifactId;
@@ -32,34 +33,4 @@ public abstract class AbstractDbArtifact implements DbArtifact {
this.size = size; this.size = size;
this.contentType = contentType; this.contentType = contentType;
} }
@Override
public String getArtifactId() {
return artifactId;
}
@Override
public DbArtifactHash getHashes() {
return hashes;
}
/**
* Set hashes of the artifact
*
* @param hashes
* artifact hashes
*/
public void setHashes(final DbArtifactHash hashes) {
this.hashes = hashes;
}
@Override
public long getSize() {
return size;
}
@Override
public String getContentType() {
return contentType;
}
} }

View File

@@ -9,43 +9,28 @@
*/ */
package org.eclipse.hawkbit.artifact.repository.model; package org.eclipse.hawkbit.artifact.repository.model;
import lombok.Data;
/** /**
* Database representation of artifact hash. * Database representation of artifact hash.
*
*/ */
@Data
public class DbArtifactHash { public class DbArtifactHash {
private final String sha1; private final String sha1;
private final String md5; private final String md5;
private final String sha256; private final String sha256;
/** /**
* Constructor. * Constructor.
* *
* @param sha1 * @param sha1 the sha1 hash
* the sha1 hash * @param md5 the md5 hash
* @param md5 * @param sha256 the sha256 hash
* the md5 hash
* @param sha256
* the sha256 hash
*/ */
public DbArtifactHash(final String sha1, final String md5, final String sha256) { public DbArtifactHash(final String sha1, final String md5, final String sha256) {
this.sha1 = sha1; this.sha1 = sha1;
this.md5 = md5; this.md5 = md5;
this.sha256 = sha256; this.sha256 = sha256;
} }
public String getSha1() {
return sha1;
}
public String getMd5() {
return md5;
}
public String getSha256() {
return sha256;
}
} }

View File

@@ -26,8 +26,7 @@ public class DefaultDownloadIdCache implements DownloadIdCache {
private final CacheManager cacheManager; private final CacheManager cacheManager;
/** /**
* @param cacheManager * @param cacheManager the underlying cache-manager to store the download-ids
* the underlying cache-manager to store the download-ids
*/ */
public DefaultDownloadIdCache(final CacheManager cacheManager) { public DefaultDownloadIdCache(final CacheManager cacheManager) {
this.cacheManager = cacheManager; this.cacheManager = cacheManager;

View File

@@ -9,6 +9,8 @@
*/ */
package org.eclipse.hawkbit.repository.event.remote; package org.eclipse.hawkbit.repository.event.remote;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.eclipse.hawkbit.repository.model.Action; import org.eclipse.hawkbit.repository.model.Action;
import java.util.List; import java.util.List;
@@ -20,17 +22,11 @@ import java.util.List;
* actionIds containing the identifiers of the affected actions * actionIds containing the identifiers of the affected actions
* as payload. This event is only published in case of an assignment. * as payload. This event is only published in case of an assignment.
*/ */
@NoArgsConstructor(access = AccessLevel.PUBLIC)
public class MultiActionAssignEvent extends MultiActionEvent { public class MultiActionAssignEvent extends MultiActionEvent {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* Default constructor.
*/
public MultiActionAssignEvent() {
// for serialization libs like jackson
}
/** /**
* Constructor. * Constructor.
* *

View File

@@ -1,11 +1,10 @@
/** /**
* Copyright (c) 2019 Bosch Software Innovations GmbH and others * Copyright (c) 2019 Bosch Software Innovations GmbH and others.
* *
* This program and the accompanying materials are made * All rights reserved. This program and the accompanying materials
* available under the terms of the Eclipse Public License 2.0 * are made available under the terms of the Eclipse Public License v1.0
* which is available at https://www.eclipse.org/legal/epl-2.0/ * which accompanies this distribution, and is available at
* * http://www.eclipse.org/legal/epl-v10.html
* SPDX-License-Identifier: EPL-2.0
*/ */
package org.eclipse.hawkbit.repository.event.remote; package org.eclipse.hawkbit.repository.event.remote;
@@ -50,8 +49,7 @@ public abstract class MultiActionEvent extends RemoteTenantAwareEvent implements
* @param actions * @param actions
* the actions involved * the actions involved
*/ */
protected MultiActionEvent(String tenant, String applicationId, List<Action> actions) { protected MultiActionEvent(String tenant, String applicationId, List<Action> actions) {super(applicationId, tenant, applicationId);
super(applicationId, tenant, applicationId);
this.controllerIds.addAll(getControllerIdsFromActions(actions)); this.controllerIds.addAll(getControllerIdsFromActions(actions));
this.actionIds.addAll(getIdsFromActions(actions)); this.actionIds.addAll(getIdsFromActions(actions));
} }

View File

@@ -32,17 +32,8 @@ import io.qameta.allure.Story;
public class RemoteTenantAwareEventTest extends AbstractRemoteEventTest { public class RemoteTenantAwareEventTest extends AbstractRemoteEventTest {
private static final String TENANT_DEFAULT = "DEFAULT"; private static final String TENANT_DEFAULT = "DEFAULT";
private static final String APPLICATION_ID_DEFAULT = "Node"; private static final String APPLICATION_ID_DEFAULT = "Node";
private Action createAction(final String controllerId) {
final JpaAction generateAction = new JpaAction();
generateAction.setActionType(ActionType.FORCED);
generateAction.setTarget(testdataFactory.createTarget(controllerId));
generateAction.setStatus(Status.RUNNING);
return generateAction;
}
@Test @Test
@Description("Verifies that a testMultiActionAssignEvent can be properly serialized and deserialized") @Description("Verifies that a testMultiActionAssignEvent can be properly serialized and deserialized")
public void testMultiActionAssignEvent() { public void testMultiActionAssignEvent() {
@@ -62,6 +53,14 @@ public class RemoteTenantAwareEventTest extends AbstractRemoteEventTest {
assertThat(remoteAssignEventJackson.getControllerIds()).containsExactlyElementsOf(controllerIds); assertThat(remoteAssignEventJackson.getControllerIds()).containsExactlyElementsOf(controllerIds);
} }
private Action createAction(final String controllerId) {
final JpaAction generateAction = new JpaAction();
generateAction.setActionType(ActionType.FORCED);
generateAction.setTarget(testdataFactory.createTarget(controllerId));
generateAction.setStatus(Status.RUNNING);
return generateAction;
}
@Test @Test
@Description("Verifies that a MultiActionCancelEvent can be properly serialized and deserialized") @Description("Verifies that a MultiActionCancelEvent can be properly serialized and deserialized")
public void testMultiActionCancelEvent() { public void testMultiActionCancelEvent() {