Hibernate versioning made to start from 1 to be EclipseLink compatible (#2156)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
This commit is contained in:
@@ -54,7 +54,7 @@ public abstract class AbstractJpaBaseEntity extends AbstractBaseEntity {
|
||||
@Getter
|
||||
@Version
|
||||
@Column(name = "optlock_revision")
|
||||
private int optLockRevision;
|
||||
private int optLockRevision = 1;
|
||||
|
||||
// Audit fields. use property access to ensure that setters will be called and checked for modification
|
||||
// (touch implementation depends on setLastModifiedAt(1).
|
||||
|
||||
@@ -244,14 +244,6 @@ public abstract class AbstractJpaIntegrationTest extends AbstractIntegrationTest
|
||||
return rolloutGroupRepository.findById(group.getId()).get();
|
||||
}
|
||||
|
||||
// version is 1, 2 ... based
|
||||
protected int version(final int version) {
|
||||
return switch (Jpa.JPA_VENDOR) {
|
||||
case ECLIPSELINK -> version;
|
||||
case HIBERNATE -> version - 1;
|
||||
};
|
||||
}
|
||||
|
||||
private JpaRollout refresh(final Rollout rollout) {
|
||||
return rolloutRepository.findById(rollout.getId()).get();
|
||||
}
|
||||
|
||||
@@ -505,13 +505,13 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// create a DS
|
||||
final DistributionSet ds = testdataFactory.createDistributionSet("testDs");
|
||||
// initial opt lock revision must be zero
|
||||
assertThat(ds.getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(ds.getOptLockRevision()).isEqualTo(1);
|
||||
|
||||
// create an DS meta data entry
|
||||
createDistributionSetMetadata(ds.getId(), new JpaDistributionSetMetadata(knownKey, ds, knownValue));
|
||||
|
||||
final DistributionSet changedLockRevisionDS = getOrThrow(distributionSetManagement.get(ds.getId()));
|
||||
assertThat(changedLockRevisionDS.getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(changedLockRevisionDS.getOptLockRevision()).isEqualTo(2);
|
||||
|
||||
// update the DS metadata
|
||||
final JpaDistributionSetMetadata updated = (JpaDistributionSetMetadata) distributionSetManagement
|
||||
@@ -519,7 +519,7 @@ class DistributionSetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// we are updating the sw metadata so also modifying the base software
|
||||
// module so opt lock revision must be three
|
||||
final DistributionSet reloadedDS = getOrThrow(distributionSetManagement.get(ds.getId()));
|
||||
assertThat(reloadedDS.getOptLockRevision()).isEqualTo(version(3));
|
||||
assertThat(reloadedDS.getOptLockRevision()).isEqualTo(3);
|
||||
assertThat(reloadedDS.getLastModifiedAt()).isPositive();
|
||||
|
||||
// verify updated meta data contains the updated value
|
||||
|
||||
@@ -499,7 +499,7 @@ class SoftwareModuleManagementTest extends AbstractJpaIntegrationTest {
|
||||
|
||||
final SoftwareModule ah = testdataFactory.createSoftwareModuleApp();
|
||||
|
||||
assertThat(ah.getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(ah.getOptLockRevision()).isEqualTo(1);
|
||||
|
||||
final SoftwareModuleMetadataCreate swMetadata1 = entityFactory.softwareModuleMetadata().create(ah.getId())
|
||||
.key(knownKey1).value(knownValue1);
|
||||
@@ -511,7 +511,7 @@ class SoftwareModuleManagementTest extends AbstractJpaIntegrationTest {
|
||||
.createMetaData(Arrays.asList(swMetadata1, swMetadata2));
|
||||
|
||||
final SoftwareModule changedLockRevisionModule = softwareModuleManagement.get(ah.getId()).get();
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(2);
|
||||
|
||||
assertThat(softwareModuleMetadata).hasSize(2);
|
||||
assertThat(softwareModuleMetadata.get(0)).isNotNull();
|
||||
@@ -604,7 +604,7 @@ class SoftwareModuleManagementTest extends AbstractJpaIntegrationTest {
|
||||
// create a base software module
|
||||
final SoftwareModule ah = testdataFactory.createSoftwareModuleApp();
|
||||
// initial opt lock revision must be 1
|
||||
assertThat(ah.getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(ah.getOptLockRevision()).isEqualTo(1);
|
||||
|
||||
// create an software module meta data entry
|
||||
final SoftwareModuleMetadata softwareModuleMetadata = softwareModuleManagement.createMetaData(
|
||||
@@ -615,7 +615,7 @@ class SoftwareModuleManagementTest extends AbstractJpaIntegrationTest {
|
||||
// base software module should have now the opt lock revision one
|
||||
// because we are modifying the base software module
|
||||
SoftwareModule changedLockRevisionModule = softwareModuleManagement.get(ah.getId()).get();
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(2);
|
||||
|
||||
// update the software module metadata
|
||||
final SoftwareModuleMetadata updated = softwareModuleManagement.updateMetaData(entityFactory
|
||||
@@ -624,7 +624,7 @@ class SoftwareModuleManagementTest extends AbstractJpaIntegrationTest {
|
||||
// we are updating the sw metadata so also modifying the base software
|
||||
// module so opt lock revision must be two
|
||||
changedLockRevisionModule = softwareModuleManagement.get(ah.getId()).get();
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(version(3));
|
||||
assertThat(changedLockRevisionModule.getOptLockRevision()).isEqualTo(3);
|
||||
|
||||
// verify updated meta data contains the updated value
|
||||
assertThat(updated).isNotNull();
|
||||
|
||||
@@ -840,14 +840,14 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// create a target
|
||||
final Target target = testdataFactory.createTarget("target1");
|
||||
// initial opt lock revision must be zero
|
||||
assertThat(target.getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(target.getOptLockRevision()).isEqualTo(1);
|
||||
|
||||
// create target meta data entry
|
||||
insertTargetMetadata(knownKey, knownValue, target);
|
||||
|
||||
Target changedLockRevisionTarget = targetManagement.get(target.getId())
|
||||
.orElseThrow(NoSuchElementException::new);
|
||||
assertThat(changedLockRevisionTarget.getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(changedLockRevisionTarget.getOptLockRevision()).isEqualTo(2);
|
||||
|
||||
// Unsure if needed maybe to wait for a db flush?
|
||||
// Thread.sleep(100);
|
||||
@@ -858,7 +858,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// we are updating the target meta data so also modifying the base
|
||||
// software module so opt lock revision must be three
|
||||
changedLockRevisionTarget = targetManagement.get(target.getId()).orElseThrow(NoSuchElementException::new);
|
||||
assertThat(changedLockRevisionTarget.getOptLockRevision()).isEqualTo(version(3));
|
||||
assertThat(changedLockRevisionTarget.getOptLockRevision()).isEqualTo(3);
|
||||
assertThat(changedLockRevisionTarget.getLastModifiedAt()).isPositive();
|
||||
|
||||
// verify updated meta data contains the updated value
|
||||
@@ -881,7 +881,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// initial opt lock revision must be one
|
||||
final Optional<JpaTarget> targetFound = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound).isPresent();
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(1);
|
||||
assertThat(targetFound.get().getTargetType().getId()).isEqualTo(targetTypes.get(0).getId());
|
||||
|
||||
// update the target type
|
||||
@@ -892,7 +892,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// opt lock revision must be changed
|
||||
final Optional<JpaTarget> targetFound1 = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound1).isPresent();
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(2);
|
||||
assertThat(targetFound1.get().getTargetType().getId()).isEqualTo(targetTypes.get(1).getId());
|
||||
|
||||
// unassign the target type
|
||||
@@ -901,7 +901,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// opt lock revision must be changed
|
||||
final Optional<JpaTarget> targetFound2 = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound2).isPresent();
|
||||
assertThat(targetFound2.get().getOptLockRevision()).isEqualTo(version(3));
|
||||
assertThat(targetFound2.get().getOptLockRevision()).isEqualTo(3);
|
||||
assertThat(targetFound2.get().getTargetType()).isNull();
|
||||
}
|
||||
|
||||
@@ -914,7 +914,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// initial opt lock revision must be one
|
||||
final Optional<JpaTarget> targetFound = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound).isPresent();
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(1);
|
||||
assertThat(targetFound.get().getTargetType()).isNull();
|
||||
|
||||
// create a target type
|
||||
@@ -927,7 +927,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// opt lock revision must be changed
|
||||
final Optional<JpaTarget> targetFound1 = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound1).isPresent();
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(2);
|
||||
assertThat(targetFound1.get().getTargetType().getId()).isEqualTo(targetType.getId());
|
||||
}
|
||||
|
||||
@@ -1003,7 +1003,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// initial opt lock revision must be one
|
||||
final Optional<JpaTarget> targetFound = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound).isPresent();
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(1);
|
||||
assertThat(targetFound.get().getTargetType()).isNull();
|
||||
|
||||
// assign target type to target
|
||||
@@ -1017,7 +1017,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// opt lock revision is not changed
|
||||
final Optional<JpaTarget> targetFound1 = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound1).isPresent();
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -1032,7 +1032,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// initial opt lock revision must be one
|
||||
final Optional<JpaTarget> targetFound = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound).isPresent();
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(version(1));
|
||||
assertThat(targetFound.get().getOptLockRevision()).isEqualTo(1);
|
||||
assertThat(targetFound.get().getTargetType().getName()).isEqualTo(targetType.getName());
|
||||
|
||||
// un-assign target type from target
|
||||
@@ -1041,7 +1041,7 @@ class TargetManagementTest extends AbstractJpaIntegrationTest {
|
||||
// opt lock revision must be changed
|
||||
final Optional<JpaTarget> targetFound1 = targetRepository.findById(target.getId());
|
||||
assertThat(targetFound1).isPresent();
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(version(2));
|
||||
assertThat(targetFound1.get().getOptLockRevision()).isEqualTo(2);
|
||||
assertThat(targetFound1.get().getTargetType()).isNull();
|
||||
}
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@ class TargetTagManagementTest extends AbstractJpaIntegrationTest {
|
||||
.isEqualTo("test123");
|
||||
assertThat(targetTagRepository.findById(savedAssigned.getId()).get().getOptLockRevision())
|
||||
.as("wrong target tag is saved")
|
||||
.isEqualTo(version(2));
|
||||
.isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user