diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ArtifactManagement.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ArtifactManagement.java index e27a098af..bb0b5f360 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ArtifactManagement.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/ArtifactManagement.java @@ -97,7 +97,7 @@ public interface ArtifactManagement { void delete(long id); /** - * Searches for {@link Artifact} with given {@link Long}. + * Searches for {@link Artifact} with given {@link Identifiable}. * * @param id * to search for diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/Identifiable.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/Identifiable.java new file mode 100644 index 000000000..ea1f4336f --- /dev/null +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/Identifiable.java @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2020 Bosch.IO 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.repository; + +import java.io.Serializable; + +public interface Identifiable { + + T getId(); +} diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java index 94e5a72af..8253502ee 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/AssignedSoftwareModule.java @@ -8,9 +8,10 @@ */ package org.eclipse.hawkbit.repository.model; +import org.eclipse.hawkbit.repository.Identifiable; + import java.io.Serializable; -import org.springframework.hateoas.Identifiable; /** * Use to display software modules for the selected distribution. diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/BaseEntity.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/BaseEntity.java index ed7fd3671..c3c031d7d 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/BaseEntity.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/BaseEntity.java @@ -8,6 +8,8 @@ */ package org.eclipse.hawkbit.repository.model; +import org.eclipse.hawkbit.repository.Identifiable; + import java.io.Serializable; import java.util.concurrent.TimeUnit; @@ -15,17 +17,12 @@ import java.util.concurrent.TimeUnit; * Core information of all entities. * */ -public interface BaseEntity extends Serializable { +public interface BaseEntity extends Serializable, Identifiable { static Long getIdOrNull(final BaseEntity entity) { return entity == null ? null : entity.getId(); } - /** - * @return the unique identifier of the {@link BaseEntity}. - */ - Long getId(); - /** * @return time in {@link TimeUnit#MILLISECONDS} when the {@link BaseEntity} * was created. diff --git a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java index 41f7ccbc2..efe59fea1 100644 --- a/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java +++ b/hawkbit-repository/hawkbit-repository-api/src/main/java/org/eclipse/hawkbit/repository/model/TargetWithActionStatus.java @@ -8,8 +8,8 @@ */ package org.eclipse.hawkbit.repository.model; +import org.eclipse.hawkbit.repository.Identifiable; import org.eclipse.hawkbit.repository.model.Action.Status; -import org.springframework.hateoas.Identifiable; /** * diff --git a/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractBaseEntityBuilder.java b/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractBaseEntityBuilder.java index 1a76f0211..5fd17ab38 100644 --- a/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractBaseEntityBuilder.java +++ b/hawkbit-repository/hawkbit-repository-core/src/main/java/org/eclipse/hawkbit/repository/builder/AbstractBaseEntityBuilder.java @@ -8,11 +8,15 @@ */ package org.eclipse.hawkbit.repository.builder; -public abstract class AbstractBaseEntityBuilder { +import org.eclipse.hawkbit.repository.Identifiable; + +public abstract class AbstractBaseEntityBuilder implements Identifiable { protected Long id; + @Override public Long getId() { return id; } + } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/mappers/IdentifiableEntityToProxyIdentifiableEntityMapper.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/mappers/IdentifiableEntityToProxyIdentifiableEntityMapper.java index 3b106ec98..f1a65180d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/mappers/IdentifiableEntityToProxyIdentifiableEntityMapper.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/mappers/IdentifiableEntityToProxyIdentifiableEntityMapper.java @@ -8,8 +8,8 @@ */ package org.eclipse.hawkbit.ui.common.data.mappers; +import org.eclipse.hawkbit.repository.Identifiable; import org.eclipse.hawkbit.ui.common.data.proxies.ProxyIdentifiableEntity; -import org.springframework.hateoas.Identifiable; /** * Interface for mapping identifiable entities, fetched from backend, to the diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractMetaDataDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractMetaDataDataProvider.java index 5448c5218..52741b86d 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractMetaDataDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractMetaDataDataProvider.java @@ -31,7 +31,7 @@ public abstract class AbstractMetaDataDataProvider private static final long serialVersionUID = 1L; protected AbstractMetaDataDataProvider() { - this(new Sort(Direction.DESC, "key")); + this(Sort.by(Direction.DESC, "key")); } protected AbstractMetaDataDataProvider(final Sort defaultSortOrder) { diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractProxyDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractProxyDataProvider.java index 469739927..84f023ca7 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractProxyDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/AbstractProxyDataProvider.java @@ -10,12 +10,12 @@ package org.eclipse.hawkbit.ui.common.data.providers; import java.util.stream.Stream; +import org.eclipse.hawkbit.repository.Identifiable; import org.eclipse.hawkbit.ui.common.data.mappers.IdentifiableEntityToProxyIdentifiableEntityMapper; import org.eclipse.hawkbit.ui.common.data.proxies.ProxyIdentifiableEntity; import org.springframework.data.domain.Slice; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; -import org.springframework.hateoas.Identifiable; /** * Base class for loading a batch of {@link Identifiable} entities from backend @@ -41,7 +41,7 @@ public abstract class AbstractProxyDataProvider mapper) { - this(mapper, new Sort(Direction.ASC, "id")); + this(mapper, Sort.by(Direction.ASC, "id")); } /** diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/ActionDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/ActionDataProvider.java index d2fcfe584..5ad3dc6b4 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/ActionDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/ActionDataProvider.java @@ -42,7 +42,7 @@ public class ActionDataProvider extends AbstractProxyDataProvider mapper) { - super(mapper, new Sort(Direction.ASC, "name")); + super(mapper, Sort.by(Direction.ASC, "name")); this.distributionSetTagManagement = distributionSetTagManagement; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/DistributionSetTypeDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/DistributionSetTypeDataProvider.java index 846670345..81e2f12cc 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/DistributionSetTypeDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/DistributionSetTypeDataProvider.java @@ -41,7 +41,7 @@ public class DistributionSetTypeDataProvider */ public DistributionSetTypeDataProvider(final DistributionSetTypeManagement distributionSetTypeManagement, final IdentifiableEntityToProxyIdentifiableEntityMapper mapper) { - super(mapper, new Sort(Direction.ASC, "name")); + super(mapper, Sort.by(Direction.ASC, "name")); this.distributionSetTypeManagement = distributionSetTypeManagement; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/RolloutDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/RolloutDataProvider.java index a079f92c8..db12f1be1 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/RolloutDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/RolloutDataProvider.java @@ -39,7 +39,7 @@ public class RolloutDataProvider extends AbstractProxyDataProvider */ public SoftwareModuleTypeDataProvider(final SoftwareModuleTypeManagement softwareModuleTypeManagement, final IdentifiableEntityToProxyIdentifiableEntityMapper mapper) { - super(mapper, new Sort(Direction.ASC, "name")); + super(mapper, Sort.by(Direction.ASC, "name")); this.softwareModuleTypeManagement = softwareModuleTypeManagement; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDataProvider.java index ffbbd0381..8f8a0963f 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDataProvider.java @@ -39,7 +39,7 @@ public class TargetFilterQueryDataProvider */ public TargetFilterQueryDataProvider(final TargetFilterQueryManagement targetFilterQueryManagement, final TargetFilterQueryToProxyTargetFilterMapper entityMapper) { - super(entityMapper, new Sort(Direction.ASC, "name")); + super(entityMapper, Sort.by(Direction.ASC, "name")); this.targetFilterQueryManagement = targetFilterQueryManagement; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDetailsDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDetailsDataProvider.java index 7d175f01d..fe4aa56a5 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDetailsDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterQueryDetailsDataProvider.java @@ -38,7 +38,7 @@ public class TargetFilterQueryDetailsDataProvider */ public TargetFilterQueryDetailsDataProvider(final TargetFilterQueryManagement targetFilterQueryManagement, final TargetFilterQueryToProxyTargetFilterMapper entityMapper) { - super(entityMapper, new Sort(Direction.ASC, "name")); + super(entityMapper, Sort.by(Direction.ASC, "name")); this.targetFilterQueryManagement = targetFilterQueryManagement; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterStateDataProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterStateDataProvider.java index f52b8a4cd..93c57524b 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterStateDataProvider.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/providers/TargetFilterStateDataProvider.java @@ -40,7 +40,7 @@ public class TargetFilterStateDataProvider extends AbstractProxyDataProvider mapper) { - super(mapper, new Sort(Direction.ASC, "name")); + super(mapper, Sort.by(Direction.ASC, "name")); this.tagManagementService = tagManagementService; } diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/proxies/ProxyIdentifiableEntity.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/proxies/ProxyIdentifiableEntity.java index dc1fe368b..b29b7ab04 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/proxies/ProxyIdentifiableEntity.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/data/proxies/ProxyIdentifiableEntity.java @@ -8,10 +8,9 @@ */ package org.eclipse.hawkbit.ui.common.data.proxies; +import org.eclipse.hawkbit.repository.Identifiable; import java.io.Serializable; -import org.springframework.hateoas.Identifiable; - /** * Proxy entity representing the {@link Identifiable} entity, fetched from * backend. diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/tagdetails/AbstractTagToken.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/tagdetails/AbstractTagToken.java index 78cfec91b..b67ea776e 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/tagdetails/AbstractTagToken.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/tagdetails/AbstractTagToken.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Optional; import java.util.stream.Collectors; +import org.eclipse.hawkbit.repository.Identifiable; import org.eclipse.hawkbit.ui.SpPermissionChecker; import org.eclipse.hawkbit.ui.common.data.proxies.ProxyNamedEntity; import org.eclipse.hawkbit.ui.common.data.proxies.ProxyTag; @@ -97,10 +98,10 @@ public abstract class AbstractTagToken tagPanelLayout.tagDeleted(tagId); } - protected boolean checkAssignmentResult(final List assignedEntities, + protected boolean checkAssignmentResult(final List> assignedEntities, final Long expectedAssignedEntityId) { if (!CollectionUtils.isEmpty(assignedEntities) && expectedAssignedEntityId != null) { - final List assignedDsIds = assignedEntities.stream().map(BaseEntity::getId) + final List assignedDsIds = assignedEntities.stream().map(Identifiable::getId) .collect(Collectors.toList()); if (assignedDsIds.contains(expectedAssignedEntityId)) { return true; @@ -109,7 +110,7 @@ public abstract class AbstractTagToken return false; } - protected boolean checkUnassignmentResult(final BaseEntity unAssignedEntity, + protected boolean checkUnassignmentResult(final Identifiable unAssignedEntity, final Long expectedUnAssignedEntityId) { return unAssignedEntity != null && expectedUnAssignedEntityId != null && unAssignedEntity.getId().equals(expectedUnAssignedEntityId);