Skip to content

Commit 58232ee

Browse files
committed
Refactoring, moving getParameterVerificationDefinitions() to
AbstractMessage
1 parent eb10771 commit 58232ee

9 files changed

Lines changed: 39 additions & 95 deletions

src/main/java/org/oidc/msg/AbstractMessage.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.ArrayList;
1414
import java.util.Collections;
1515
import java.util.Date;
16+
import java.util.HashMap;
1617
import java.util.List;
1718
import java.util.Map;
1819
import org.apache.commons.codec.binary.Base64;
@@ -32,6 +33,9 @@ public abstract class AbstractMessage implements Message {
3233
private ObjectMapper mapper = new ObjectMapper();
3334
/** Whether the message has been verified. */
3435
private boolean verified;
36+
/** Parameter requirements. */
37+
protected final Map<String, ParameterVerificationDefinition> paramVerDefs =
38+
new HashMap<String, ParameterVerificationDefinition>();
3539

3640
/**
3741
* Constructor.
@@ -348,7 +352,9 @@ public void addClaim(String name, Object value) {
348352
*
349353
* @return parameter verification definitions
350354
*/
351-
abstract Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions();
355+
public Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
356+
return this.paramVerDefs;
357+
}
352358

353359
/**
354360
* Whether there is an error in verification.

src/main/java/org/oidc/msg/AuthorizationRequest.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,6 @@
1010
*/
1111
public class AuthorizationRequest extends AbstractMessage {
1212

13-
/**
14-
* Parameter requirements.
15-
*/
16-
protected final Map<String, ParameterVerificationDefinition> paramVerDefs =
17-
new HashMap<String, ParameterVerificationDefinition>();
18-
1913
{ //Set parameter requirements for message.
2014
paramVerDefs.put("response_type",
2115
ParameterVerification.REQUIRED_LIST_OF_SP_SEP_STRINGS.getValue());
@@ -35,9 +29,4 @@ public class AuthorizationRequest extends AbstractMessage {
3529
public AuthorizationRequest(Map<String, Object> claims) {
3630
super(claims);
3731
}
38-
39-
@Override
40-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
41-
return paramVerDefs;
42-
}
4332
}

src/main/java/org/oidc/msg/IDToken.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,4 @@ public IDToken(Map<String, Object> claims) {
1414
public Map<String, Object> getClaims() throws InvalidClaimException {
1515
return super.getClaims();
1616
}
17-
18-
@Override
19-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
20-
return null;
21-
}
2217
}

src/main/java/org/oidc/msg/JsonResponseDescriptor.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,4 @@ public JsonResponseDescriptor(Map<String, Object> claims) {
1515
public Map<String, Object> getClaims() throws InvalidClaimException {
1616
return super.getClaims();
1717
}
18-
19-
@Override
20-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
21-
return null;
22-
}
2318
}

src/main/java/org/oidc/msg/ProviderConfigurationResponse.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,4 @@ public ProviderConfigurationResponse(Map<String, Object> claims) {
1515
public Map<String, Object> getClaims() throws InvalidClaimException {
1616
return super.getClaims();
1717
}
18-
19-
@Override
20-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
21-
return null;
22-
}
2318
}

src/main/java/org/oidc/msg/RegistrationRequest.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,4 @@ public RegistrationRequest(Map<String, Object> claims) {
1212
public Map<String, Object> getClaims() throws InvalidClaimException {
1313
return null;
1414
}
15-
16-
@Override
17-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
18-
return null;
19-
}
2015
}

src/main/java/org/oidc/msg/RegistrationResponse.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,4 @@ public RegistrationResponse(Map<String, Object> claims) {
1212
public Map<String, Object> getClaims() throws InvalidClaimException {
1313
return null;
1414
}
15-
16-
@Override
17-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
18-
return null;
19-
}
2015
}

src/main/java/org/oidc/msg/WebfingerRequestMessage.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33
import java.util.Map;
44

55
public class WebfingerRequestMessage extends AbstractMessage {
6+
7+
{ //Set parameter requirements for message.
8+
paramVerDefs.put("resource",
9+
ParameterVerification.SINGLE_REQUIRED_STRING.getValue());
10+
paramVerDefs.put("rel", ParameterVerification.SINGLE_REQUIRED_STRING.getValue());
11+
}
12+
613
public WebfingerRequestMessage() {
714
}
815

@@ -14,10 +21,4 @@ public WebfingerRequestMessage(Map<String, Object> claims) {
1421
public Map<String, Object> getClaims() throws InvalidClaimException {
1522
return super.getClaims();
1623
}
17-
18-
@Override
19-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
20-
// TODO Auto-generated method stub
21-
return null;
22-
}
2324
}

src/test/java/org/oidc/msg/AbstractMessageTest.java

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,10 @@ public void testFromJson() throws Exception {
7878
public void failureMissingRequiredParam() throws InvalidClaimException {
7979
HashMap<String, Object> claims = new HashMap<>();
8080
claims.put("parameter1", "value");
81-
Map<String, ParameterVerificationDefinition> pVerDef =
81+
Map<String, ParameterVerificationDefinition> parVerDef =
8282
new HashMap<String, ParameterVerificationDefinition>();
83-
pVerDef.put("parameter2", ParameterVerification.SINGLE_REQUIRED_STRING.getValue());
84-
MockMessage mockMessage = new MockMessage(claims);
85-
mockMessage.setParameterVerificationDefinitions(pVerDef);
83+
parVerDef.put("parameter2", ParameterVerification.SINGLE_REQUIRED_STRING.getValue());
84+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
8685
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"value");
8786
}
8887

@@ -96,8 +95,7 @@ public void successMissingOptionalParams() throws InvalidClaimException {
9695
parVerDef.put("parameter3", ParameterVerification.SINGLE_OPTIONAL_INT.getValue());
9796
parVerDef.put("parameter4", ParameterVerification.OPTIONAL_LIST_OF_SP_SEP_STRINGS.getValue());
9897
parVerDef.put("parameter5", ParameterVerification.OPTIONAL_LIST_OF_STRINGS.getValue());
99-
MockMessage mockMessage = new MockMessage(claims);
100-
mockMessage.setParameterVerificationDefinitions(parVerDef);
98+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
10199
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"value");
102100
}
103101

@@ -109,8 +107,7 @@ public void successTestStringType() throws InvalidClaimException,
109107
Map<String, ParameterVerificationDefinition> parVerDef =
110108
new HashMap<String, ParameterVerificationDefinition>();
111109
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_STRING.getValue());
112-
MockMessage mockMessage = new MockMessage(claims);
113-
mockMessage.setParameterVerificationDefinitions(parVerDef);
110+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
114111
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"value");
115112
Assert.assertEquals(mockMessage.toJson(), "{\"parameter1\":\"value\"}");
116113
}
@@ -122,8 +119,7 @@ public void failTestStringType() throws InvalidClaimException {
122119
Map<String, ParameterVerificationDefinition> parVerDef =
123120
new HashMap<String, ParameterVerificationDefinition>();
124121
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_STRING.getValue());
125-
MockMessage mockMessage = new MockMessage(claims);
126-
mockMessage.setParameterVerificationDefinitions(parVerDef);
122+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
127123
mockMessage.triggerVerify();
128124
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),1);
129125
}
@@ -136,8 +132,7 @@ public void successTestIntType() throws InvalidClaimException,
136132
Map<String, ParameterVerificationDefinition> parVerDef =
137133
new HashMap<String, ParameterVerificationDefinition>();
138134
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_INT.getValue());
139-
MockMessage mockMessage = new MockMessage(claims);
140-
mockMessage.setParameterVerificationDefinitions(parVerDef);
135+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
141136
Assert.assertEquals(mockMessage.getClaims().get("parameter1"), 5L);
142137
Assert.assertEquals(mockMessage.toJson(), "{\"parameter1\":5}");
143138
}
@@ -150,8 +145,7 @@ public void successIntTypeConversion()
150145
Map<String, ParameterVerificationDefinition> parVerDef =
151146
new HashMap<String, ParameterVerificationDefinition>();
152147
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_INT.getValue());
153-
MockMessage mockMessage = new MockMessage(claims);
154-
mockMessage.setParameterVerificationDefinitions(parVerDef);
148+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
155149
Assert.assertEquals(mockMessage.getClaims().get("parameter1"), 5L);
156150
Assert.assertEquals(mockMessage.toJson(), "{\"parameter1\":5}");
157151
}
@@ -164,8 +158,7 @@ public void successIntTypeConversion2()
164158
Map<String, ParameterVerificationDefinition> parVerDef =
165159
new HashMap<String, ParameterVerificationDefinition>();
166160
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_INT.getValue());
167-
MockMessage mockMessage = new MockMessage(claims);
168-
mockMessage.setParameterVerificationDefinitions(parVerDef);
161+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
169162
Assert.assertEquals(mockMessage.getClaims().get("parameter1"), 57L);
170163
Assert.assertEquals(mockMessage.toJson(), "{\"parameter1\":57}");
171164
}
@@ -177,8 +170,7 @@ public void failTestIntType() throws InvalidClaimException {
177170
Map<String, ParameterVerificationDefinition> parVerDef =
178171
new HashMap<String, ParameterVerificationDefinition>();
179172
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_INT.getValue());
180-
MockMessage mockMessage = new MockMessage(claims);
181-
mockMessage.setParameterVerificationDefinitions(parVerDef);
173+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
182174
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"fail");
183175
}
184176

@@ -194,8 +186,7 @@ public void successTestListType()
194186
Map<String, ParameterVerificationDefinition> parVerDef =
195187
new HashMap<String, ParameterVerificationDefinition>();
196188
parVerDef.put("parameter1", ParameterVerification.OPTIONAL_LIST_OF_STRINGS.getValue());
197-
MockMessage mockMessage = new MockMessage(claims);
198-
mockMessage.setParameterVerificationDefinitions(parVerDef);
189+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
199190
Assert.assertEquals(((List<String>) mockMessage.getClaims().get("parameter1")).get(0), "value");
200191
Assert.assertEquals(((List<String>) mockMessage.getClaims().get("parameter1")).get(1),
201192
"value2");
@@ -211,8 +202,7 @@ public void successTestListTypeConversion()
211202
Map<String, ParameterVerificationDefinition> parVerDef =
212203
new HashMap<String, ParameterVerificationDefinition>();
213204
parVerDef.put("parameter1", ParameterVerification.OPTIONAL_LIST_OF_STRINGS.getValue());
214-
MockMessage mockMessage = new MockMessage(claims);
215-
mockMessage.setParameterVerificationDefinitions(parVerDef);
205+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
216206
Assert.assertEquals(((List<String>) mockMessage.getClaims().get("parameter1")).get(0),
217207
"values");
218208
Assert.assertThat(mockMessage.toJson(), is("{\"parameter1\":[\"values\"]}"));
@@ -228,8 +218,7 @@ public void failTestListType() throws InvalidClaimException {
228218
Map<String, ParameterVerificationDefinition> parVerDef =
229219
new HashMap<String, ParameterVerificationDefinition>();
230220
parVerDef.put("parameter1", ParameterVerification.OPTIONAL_LIST_OF_STRINGS.getValue());
231-
MockMessage mockMessage = new MockMessage(claims);
232-
mockMessage.setParameterVerificationDefinitions(parVerDef);
221+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
233222
Assert.assertEquals(((List<String>) mockMessage.getClaims().get("parameter1")).get(0),"values");
234223
}
235224

@@ -244,8 +233,7 @@ public void successTestArrayType()
244233
Map<String, ParameterVerificationDefinition> parVerDef =
245234
new HashMap<String, ParameterVerificationDefinition>();
246235
parVerDef.put("parameter1", ParameterVerification.REQUIRED_LIST_OF_SP_SEP_STRINGS.getValue());
247-
MockMessage mockMessage = new MockMessage(claims);
248-
mockMessage.setParameterVerificationDefinitions(parVerDef);
236+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
249237
Assert.assertEquals(mockMessage.getClaims().get("parameter1"), "value value2");
250238
Assert.assertThat(mockMessage.toJson(), is("{\"parameter1\":\"value value2\"}"));
251239
}
@@ -257,8 +245,7 @@ public void failTestArrayType() throws InvalidClaimException {
257245
Map<String, ParameterVerificationDefinition> parVerDef =
258246
new HashMap<String, ParameterVerificationDefinition>();
259247
parVerDef.put("parameter1", ParameterVerification.REQUIRED_LIST_OF_SP_SEP_STRINGS.getValue());
260-
MockMessage mockMessage = new MockMessage(claims);
261-
mockMessage.setParameterVerificationDefinitions(parVerDef);
248+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
262249
Assert.assertEquals(((String[])mockMessage.getClaims().get("parameter1"))[0],"value");
263250
}
264251

@@ -269,8 +256,7 @@ public void successTestBooleanType() throws InvalidClaimException {
269256
Map<String, ParameterVerificationDefinition> parVerDef =
270257
new HashMap<String, ParameterVerificationDefinition>();
271258
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_BOOLEAN.getValue());
272-
MockMessage mockMessage = new MockMessage(claims);
273-
mockMessage.setParameterVerificationDefinitions(parVerDef);
259+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
274260
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),true);
275261
}
276262

@@ -281,8 +267,7 @@ public void failTestBooleanType() throws InvalidClaimException {
281267
Map<String, ParameterVerificationDefinition> parVerDef =
282268
new HashMap<String, ParameterVerificationDefinition>();
283269
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_BOOLEAN.getValue());
284-
MockMessage mockMessage = new MockMessage(claims);
285-
mockMessage.setParameterVerificationDefinitions(parVerDef);
270+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
286271
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"value");
287272
}
288273

@@ -294,8 +279,7 @@ public void successTestDateType() throws InvalidClaimException {
294279
Map<String, ParameterVerificationDefinition> parVerDef =
295280
new HashMap<String, ParameterVerificationDefinition>();
296281
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_DATE.getValue());
297-
MockMessage mockMessage = new MockMessage(claims);
298-
mockMessage.setParameterVerificationDefinitions(parVerDef);
282+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
299283
Assert.assertEquals(((Date)mockMessage.getClaims().get("parameter1")).getTime(),
300284
date.getTime());
301285
}
@@ -308,8 +292,7 @@ public void successTestDateTypeConversion() throws InvalidClaimException {
308292
Map<String, ParameterVerificationDefinition> parVerDef =
309293
new HashMap<String, ParameterVerificationDefinition>();
310294
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_DATE.getValue());
311-
MockMessage mockMessage = new MockMessage(claims);
312-
mockMessage.setParameterVerificationDefinitions(parVerDef);
295+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
313296
Assert.assertEquals(((Date)mockMessage.getClaims().get("parameter1")).getTime(),
314297
date.getTime());
315298
}
@@ -321,33 +304,23 @@ public void failTestDateType() throws InvalidClaimException {
321304
Map<String, ParameterVerificationDefinition> parVerDef =
322305
new HashMap<String, ParameterVerificationDefinition>();
323306
parVerDef.put("parameter1", ParameterVerification.SINGLE_OPTIONAL_DATE.getValue());
324-
MockMessage mockMessage = new MockMessage(claims);
325-
mockMessage.setParameterVerificationDefinitions(parVerDef);
307+
MockMessage mockMessage = new MockMessage(claims, parVerDef);
326308
mockMessage.triggerVerify();
327309
Assert.assertEquals(mockMessage.getClaims().get("parameter1"),"value");
328310
}
329311

330312
class MockMessage extends AbstractMessage {
331313

332-
MockMessage(HashMap<String, Object> claims) {
314+
MockMessage(HashMap<String, Object> claims,
315+
Map<String, ParameterVerificationDefinition> parVerDef) {
333316
super(claims);
317+
for (String key : parVerDef.keySet()) {
318+
this.paramVerDefs.put(key, parVerDef.get(key));
319+
}
334320
}
335321

336322
public void triggerVerify() throws InvalidClaimException {
337323
verify();
338324
}
339-
340-
Map<String, ParameterVerificationDefinition> parameterVerificationDefinitions;
341-
342-
public void setParameterVerificationDefinitions(
343-
Map<String, ParameterVerificationDefinition> parameterVerificationDefinitions) {
344-
this.parameterVerificationDefinitions = parameterVerificationDefinitions;
345-
}
346-
347-
@Override
348-
Map<String, ParameterVerificationDefinition> getParameterVerificationDefinitions() {
349-
return parameterVerificationDefinitions;
350-
}
351-
352325
}
353326
}

0 commit comments

Comments
 (0)