diff --git a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java b/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java index c70b7eb8..c23737ef 100644 --- a/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java +++ b/src/main/java/org/springframework/data/couchbase/core/ReactiveFindByIdOperationSupport.java @@ -167,10 +167,10 @@ public class ReactiveFindByIdOperationSupport implements ReactiveFindByIdOperati if (expiryToUse == null) { // GetAndTouchOptions without specifying expiry -> get expiry from annoation final CouchbasePersistentEntity entity = template.getConverter().getMappingContext() .getRequiredPersistentEntity(domainType); - expiryToUse = Duration.ofSeconds(entity.getExpiry()); + expiryToUse = entity.getExpiryDuration(); } } - return expiry; + return expiryToUse; } } diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java b/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java index 057cbc6b..af9ed294 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntity.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors + * Copyright 2012-2021 the original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,7 +17,6 @@ package org.springframework.data.couchbase.core.mapping; import java.time.Duration; -import java.time.Instant; import java.util.Calendar; import java.util.TimeZone; import java.util.concurrent.TimeUnit; @@ -98,10 +97,12 @@ public class BasicCouchbasePersistentEntity extends BasicPersistentEntity extends BasicPersistentEntity extends PersistentEntity extends PersistentEntity - * The Couchbase format for expiration time is: - for TTL < 31 days (<= 30 * 24 * 60 * 60): expressed as a TTL in - * seconds - for TTL > 30 days: expressed as Unix UTC time of expiry (number of SECONDS since the Epoch) - * - * @return the expiration time Instant - */ - Instant getExpiryInstant(); - /** * Flag for using getAndTouch operations for reads, resetting the expiration (if one was set) when the entity is * directly read (eg. findOne, findById). diff --git a/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java b/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java index a87eba4d..d81dfba8 100644 --- a/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java +++ b/src/test/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentEntityTests.java @@ -16,8 +16,8 @@ package org.springframework.data.couchbase.core.mapping; -import static org.assertj.core.api.Assertions.*; -import static org.junit.jupiter.api.Assertions.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Calendar; import java.util.TimeZone; @@ -66,7 +66,7 @@ public class BasicCouchbasePersistentEntityTests { CouchbasePersistentEntity entityOver = new BasicCouchbasePersistentEntity<>( ClassTypeInformation.from(OverLimitDaysExpiry.class)); - int expiryOver = (int)entityOver.getExpiryInstant().getEpochSecond(); + int expiryOver = (int) entityOver.getExpiry(); Calendar expected = Calendar.getInstance(TimeZone.getTimeZone("UTC")); expected.add(Calendar.DAY_OF_YEAR, 31); @@ -87,7 +87,7 @@ public class BasicCouchbasePersistentEntityTests { ClassTypeInformation.from(OverLimitDaysExpiryExpression.class)); entityOver.setEnvironment(environment); - int expiryOver = (int)entityOver.getExpiryInstant().getEpochSecond(); + int expiryOver = (int) entityOver.getExpiry(); Calendar expected = Calendar.getInstance(TimeZone.getTimeZone("UTC")); expected.add(Calendar.DAY_OF_YEAR, 31); @@ -107,7 +107,7 @@ public class BasicCouchbasePersistentEntityTests { CouchbasePersistentEntity entityOver = new BasicCouchbasePersistentEntity<>( ClassTypeInformation.from(OverLimitSecondsExpiry.class)); - int expiryOver = (int)entityOver.getExpiryInstant().getEpochSecond(); + int expiryOver = (int) entityOver.getExpiry(); Calendar expected = Calendar.getInstance(TimeZone.getTimeZone("UTC")); expected.add(Calendar.DAY_OF_YEAR, 31);