Skip to content

Commit b5e0602

Browse files
committed
Remove defaultMaxAge from BaseProvider intf
1 parent 762baf3 commit b5e0602

File tree

5 files changed

+17
-34
lines changed
  • examples/powertools-examples-parameters/src/main/java/org/demo/parameters
  • powertools-parameters
    • powertools-parameters-secrets/src/test/java/software/amazon/lambda/powertools/parameters/secrets
    • powertools-parameters-ssm/src/test/java/software/amazon/lambda/powertools/parameters/ssm
    • powertools-parameters-tests/src/test/java/software/amazon/lambda/powertools/parameters
    • src/main/java/software/amazon/lambda/powertools/parameters

5 files changed

+17
-34
lines changed

examples/powertools-examples-parameters/src/main/java/org/demo/parameters/ParametersFunction.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public class ParametersFunction implements RequestHandler<APIGatewayProxyRequest
5454
.builder()
5555
.build();
5656

57-
String simpleValue = ssmProvider.defaultMaxAge(30, SECONDS).get("/powertools-java/sample/simplekey");
57+
String simpleValue = ssmProvider.withMaxAge(30, SECONDS).get("/powertools-java/sample/simplekey");
5858
String listValue = ssmProvider.withMaxAge(60, SECONDS).get("/powertools-java/sample/keylist");
5959
MyObject jsonObj = ssmProvider.withTransformation(json).get("/powertools-java/sample/keyjson", MyObject.class);
6060
Map<String, String> allValues = ssmProvider.getMultiple("/powertools-java/sample");

powertools-parameters/powertools-parameters-secrets/src/test/java/software/amazon/lambda/powertools/parameters/secrets/SecretsProviderTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ public void getValue() {
6262
String expectedValue = "Value1";
6363
GetSecretValueResponse response = GetSecretValueResponse.builder().secretString(expectedValue).build();
6464
Mockito.when(client.getSecretValue(paramCaptor.capture())).thenReturn(response);
65-
provider.defaultMaxAge(1, ChronoUnit.DAYS);
6665
provider.withMaxAge(2, ChronoUnit.DAYS);
6766

6867
String value = provider.getValue(key);

powertools-parameters/powertools-parameters-ssm/src/test/java/software/amazon/lambda/powertools/parameters/ssm/SSMProviderTest.java

-1
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ private void initMock(String expectedValue) {
197197
Parameter parameter = Parameter.builder().value(expectedValue).build();
198198
GetParameterResponse result = GetParameterResponse.builder().parameter(parameter).build();
199199
Mockito.when(client.getParameter(paramCaptor.capture())).thenReturn(result);
200-
provider.defaultMaxAge(1, ChronoUnit.DAYS);
201200
provider.withMaxAge(2, ChronoUnit.DAYS);
202201
provider.recursive();
203202
}

powertools-parameters/powertools-parameters-tests/src/test/java/software/amazon/lambda/powertools/parameters/BaseProviderTest.java

+15-15
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static software.amazon.lambda.powertools.parameters.transform.Transformer.json;
2626

2727
import java.time.Clock;
28+
import java.time.Duration;
2829
import java.time.temporal.ChronoUnit;
2930
import java.util.Base64;
3031
import java.util.HashMap;
@@ -136,8 +137,10 @@ public void get_customTTL_expired_shouldGetValue() {
136137
}
137138

138139
@Test
140+
// TODO Scott - remove this, or change to mutating the CacheManager first?
139141
public void get_customDefaultTTL_cached_shouldGetFromCache() {
140-
provider.defaultMaxAge(12, ChronoUnit.MINUTES).get("foobar");
142+
provider.cacheManager.setDefaultExpirationTime(Duration.of(12, MINUTES));
143+
provider.get("foobar");
141144
getFromStore = false;
142145

143146
provider.setClock(offset(clock, of(10, MINUTES)));
@@ -148,7 +151,6 @@ public void get_customDefaultTTL_cached_shouldGetFromCache() {
148151

149152
@Test
150153
public void get_customDefaultTTL_expired_shouldGetValue() {
151-
provider.defaultMaxAge(2, ChronoUnit.MINUTES).get("barbaz");
152154
getFromStore = false;
153155

154156
provider.setClock(offset(clock, of(3, MINUTES)));
@@ -159,9 +161,7 @@ public void get_customDefaultTTL_expired_shouldGetValue() {
159161

160162
@Test
161163
public void get_customDefaultTTLAndTTL_cached_shouldGetFromCache() {
162-
provider.defaultMaxAge(12, ChronoUnit.MINUTES)
163-
.withMaxAge(5, SECONDS)
164-
.get("foobaz");
164+
provider.get("foobaz");
165165
getFromStore = false;
166166

167167
provider.setClock(offset(clock, of(4, SECONDS)));
@@ -172,8 +172,7 @@ public void get_customDefaultTTLAndTTL_cached_shouldGetFromCache() {
172172

173173
@Test
174174
public void get_customDefaultTTLAndTTL_expired_shouldGetValue() {
175-
provider.defaultMaxAge(2, ChronoUnit.MINUTES)
176-
.withMaxAge(5, SECONDS)
175+
provider.withMaxAge(5, SECONDS)
177176
.get("bariton");
178177
getFromStore = false;
179178

@@ -274,8 +273,9 @@ public void getObject_customTTL_expired_shouldGetValue() {
274273
public void getObject_customDefaultTTL_cached_shouldGetFromCache() {
275274
provider.setValue("{\"foo\":\"Foo\", \"bar\":42, \"baz\":123456789}");
276275

277-
provider.defaultMaxAge(12, ChronoUnit.MINUTES)
278-
.withTransformation(json)
276+
provider.cacheManager.setDefaultExpirationTime(Duration.of(12, MINUTES));
277+
278+
provider.withTransformation(json)
279279
.get("foo", ObjectToDeserialize.class);
280280
getFromStore = false;
281281

@@ -286,11 +286,11 @@ public void getObject_customDefaultTTL_cached_shouldGetFromCache() {
286286
}
287287

288288
@Test
289+
// TODO Scott
289290
public void getObject_customDefaultTTL_expired_shouldGetValue() {
290291
provider.setValue("{\"foo\":\"Foo\", \"bar\":42, \"baz\":123456789}");
291292

292-
provider.defaultMaxAge(2, ChronoUnit.MINUTES)
293-
.withTransformation(json)
293+
provider.withTransformation(json)
294294
.get("foo", ObjectToDeserialize.class);
295295
getFromStore = false;
296296

@@ -301,10 +301,10 @@ public void getObject_customDefaultTTL_expired_shouldGetValue() {
301301
}
302302

303303
@Test
304+
// TODO Scott
304305
public void getObject_customDefaultTTLAndTTL_cached_shouldGetFromCache() {
305306
provider.setValue("{\"foo\":\"Foo\", \"bar\":42, \"baz\":123456789}");
306-
provider.defaultMaxAge(12, ChronoUnit.MINUTES)
307-
.withMaxAge(5, SECONDS)
307+
provider.withMaxAge(5, SECONDS)
308308
.withTransformation(json)
309309
.get("foo", ObjectToDeserialize.class);
310310
getFromStore = false;
@@ -316,11 +316,11 @@ public void getObject_customDefaultTTLAndTTL_cached_shouldGetFromCache() {
316316
}
317317

318318
@Test
319+
// TODO Scott
319320
public void getObject_customDefaultTTLAndTTL_expired_shouldGetValue() {
320321
provider.setValue("{\"foo\":\"Foo\", \"bar\":42, \"baz\":123456789}");
321322

322-
provider.defaultMaxAge(2, ChronoUnit.MINUTES)
323-
.withMaxAge(5, SECONDS)
323+
provider.withMaxAge(5, SECONDS)
324324
.withTransformation(json)
325325
.get("foo", ObjectToDeserialize.class);
326326
getFromStore = false;

powertools-parameters/src/main/java/software/amazon/lambda/powertools/parameters/BaseProvider.java

+1-16
Original file line numberDiff line numberDiff line change
@@ -60,25 +60,10 @@ public BaseProvider(CacheManager cacheManager, TransformationManager transformat
6060
*/
6161
protected abstract Map<String, String> getMultipleValues(String path);
6262

63-
/**
64-
* (Optional) Set the default max age for the cache of all parameters. Override the default 5 seconds.<br/>
65-
* If for some parameters, you need to set a different maxAge, use {@link #withMaxAge(int, ChronoUnit)}.<br />
66-
* Use {@link #withMaxAge(int, ChronoUnit)} after {#defaultMaxAge(int, ChronoUnit)} in the chain.
67-
*
68-
* @param maxAge Maximum time to cache the parameter, before calling the underlying parameter store.
69-
* @param unit Unit of time
70-
* @return the provider itself in order to chain calls (eg. <pre>provider.defaultMaxAge(10, SECONDS).get("key")</pre>).
71-
*/
72-
public BaseProvider defaultMaxAge(int maxAge, ChronoUnit unit) {
73-
Duration duration = Duration.of(maxAge, unit);
74-
cacheManager.setDefaultExpirationTime(duration);
75-
return this;
76-
}
77-
7863
/**
7964
* (Optional) Builder method to call before {@link #get(String)} or {@link #get(String, Class)}
8065
* to set cache max age for the parameter to get.<br/><br/>
81-
* The max age is reset to default (either 5 or a custom value set with {@link #defaultMaxAge}) after each get,
66+
* The max age is reset to default (either 5 or a custom value that may be set on the CacheManager) after each get,
8267
* so you need to use this method for each parameter to cache with non-default max age.<br/><br/>
8368
*
8469
* <b>Not Thread Safe</b>: calling this method simultaneously by several threads

0 commit comments

Comments
 (0)