diff --git a/dgws-spring/src/main/java/com/trifork/dgws/DgwsRequestContextDefault.java b/dgws-spring/src/main/java/com/trifork/dgws/DgwsRequestContextDefault.java index 63e336c..dda2e0c 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/DgwsRequestContextDefault.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/DgwsRequestContextDefault.java @@ -45,6 +45,7 @@ public class DgwsRequestContextDefault implements DgwsRequestContext, EndpointIn put("system", IdCardType.SYSTEM); }}; + @Override public IdCardUserLog getIdCardUserLog() { String cpr = getUserLogAttributeValue("medcom:UserCivilRegistrationNumber"); String givenName = getUserLogAttributeValue("medcom:UserGivenName"); @@ -55,7 +56,8 @@ public IdCardUserLog getIdCardUserLog() { String authorisationCode = getUserLogAttributeValue("medcom:UserAuthorizationCode"); return new IdCardUserLog(cpr, givenName, surname, emailAddress, role, occupation, authorisationCode); } - + + @Override public IdCardSystemLog getIdCardSystemLog() { String itSystemName = getSystemLogAttributeValue("medcom:ITSystemName"); Attribute careProviderIdAttribute = findAttribute("SystemLog", "medcom:CareProviderID"); @@ -65,7 +67,8 @@ public IdCardSystemLog getIdCardSystemLog() { String careProviderName = getSystemLogAttributeValue("medcom:CareProviderName"); return new IdCardSystemLog(StringUtils.trim(itSystemName), careProviderIdType, StringUtils.trim(careProviderId), StringUtils.trim(careProviderName)); } - + + @Override public IdCardData getIdCardData() { AttributeStatement idCardData = findAttributeStatement(securityThreadLocal.get().getAssertion().getAttributeStatement(), "IDCardData"); int authenticationLevel = Integer.parseInt(findAttribute(idCardData, "sosi:AuthenticationLevel").getAttributeValue()); @@ -75,12 +78,14 @@ public IdCardData getIdCardData() { } @Deprecated + @Override public String getIdCardCpr() { return getUserLogAttributeValue("medcom:UserCivilRegistrationNumber"); } public AttributeStatement findAttributeStatement(List statements, final String attributeStatementId) { return CollectionUtils.find(statements, new Predicate() { + @Override public boolean evaluate(AttributeStatement attributeStatement) { return attributeStatement.getId().equals(attributeStatementId); } @@ -89,6 +94,7 @@ public boolean evaluate(AttributeStatement attributeStatement) { public Attribute findAttribute(AttributeStatement statement, final String attributeName) { return CollectionUtils.find(statement.getAttribute(), new Predicate() { + @Override public boolean evaluate(Attribute attribute) { return attribute.getName().equals(attributeName); } @@ -102,7 +108,8 @@ public Attribute findAttribute(String attributeStatementId, String attributeName } return findAttribute(statement, attributeName); } - + + @Override public String getUserLogAttributeValue(final String attributeName) { final Attribute attribute = findAttribute("UserLog", attributeName); @@ -135,7 +142,8 @@ void setSecurityThreadLocal(SoapHeader soapHeader) throws Exception { Security securityHeader = findValueOfType(headerElements, Security.class); setSecurityThreadLocal(securityHeader); } - + + @Override public boolean handleRequest(MessageContext messageContext, Object o) throws Exception { if (messageContext.getRequest() instanceof SoapMessage) { SoapHeader soapHeader = ((SoapMessage) messageContext.getRequest()).getSoapHeader(); @@ -144,14 +152,17 @@ public boolean handleRequest(MessageContext messageContext, Object o) throws Exc return true; } + @Override public boolean handleResponse(MessageContext messageContext, Object o) throws Exception { return true; } + @Override public boolean handleFault(MessageContext messageContext, Object o) throws Exception { return true; } + @Override public void afterCompletion(MessageContext messageContext, Object o, Exception e) throws Exception { securityThreadLocal.remove(); } diff --git a/dgws-spring/src/main/java/com/trifork/dgws/SecurityCheckerImpl.java b/dgws-spring/src/main/java/com/trifork/dgws/SecurityCheckerImpl.java index 7be6450..be58fde 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/SecurityCheckerImpl.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/SecurityCheckerImpl.java @@ -15,6 +15,7 @@ public class SecurityCheckerImpl implements SecurityChecker { @Autowired DgwsRequestContext dgwsRequestContext; + @Override public void validateHeader(String whitelist, int minAuthLevel, Security securityHeader) { if (isNotEmpty(whitelist)) { IdCardData idCardData = dgwsRequestContext.getIdCardData(); diff --git a/dgws-spring/src/main/java/com/trifork/dgws/annotations/DgwsConfiguration.java b/dgws-spring/src/main/java/com/trifork/dgws/annotations/DgwsConfiguration.java index d3644b9..b99b594 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/annotations/DgwsConfiguration.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/annotations/DgwsConfiguration.java @@ -15,6 +15,7 @@ public class DgwsConfiguration implements ImportAware, EmbeddedValueResolverAwar Boolean skipSosi = false; private StringValueResolver resolver; + @Override public void setImportMetadata(AnnotationMetadata importMetadata) { final Map meta = importMetadata.getAnnotationAttributes(EnableDgwsProtection.class.getName()); if (meta.containsKey("test")) { @@ -37,6 +38,7 @@ public SOSISecurityInterceptor sosiSecurityInterceptor() { return interceptor; } + @Override public void setEmbeddedValueResolver(StringValueResolver resolver) { this.resolver = resolver; } diff --git a/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityClientInterceptor.java b/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityClientInterceptor.java index 462844e..9b04c43 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityClientInterceptor.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityClientInterceptor.java @@ -42,11 +42,13 @@ public class SOSISecurityClientInterceptor implements ClientInterceptor, Initial private SOSIFederation federation; private CredentialVault vault; - public boolean handleFault(MessageContext arg0) throws WebServiceClientException { + @Override + public boolean handleFault(MessageContext arg0) throws WebServiceClientException { return true; } - @SuppressWarnings("serial") + @Override + @SuppressWarnings("serial") public boolean handleRequest(MessageContext ctx) throws WebServiceClientException { IDCard card = (IDCard) ctx.getProperty(ID_CARD); if (card == null) card = SOSIContext.getCard(); @@ -82,11 +84,13 @@ public boolean handleRequest(MessageContext ctx) throws WebServiceClientExceptio return true; } - public boolean handleResponse(MessageContext arg0) throws WebServiceClientException { + @Override + public boolean handleResponse(MessageContext arg0) throws WebServiceClientException { return true; } - public void afterPropertiesSet() throws Exception { + @Override + public void afterPropertiesSet() throws Exception { Properties props = SignatureUtil.setupCryptoProviderForJVM(); vault = new EmptyCredentialVault(); federation = new SOSIFederation(props); diff --git a/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityInterceptor.java b/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityInterceptor.java index 84331c7..c1d5695 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityInterceptor.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/sosi/SOSISecurityInterceptor.java @@ -76,7 +76,8 @@ public SOSIFactory getFactory() { return factory; } - public boolean handleRequest(MessageContext ctx, Object arg1) throws Exception { + @Override + public boolean handleRequest(MessageContext ctx, Object arg1) throws Exception { SOSIContext.setCard(null); String headerStr = sourceToString(getSource(ctx.getRequest())); @@ -162,12 +163,14 @@ private String getOperation(Object ep) { } } - public boolean handleFault(MessageContext ctx, Object arg1) throws Exception { + @Override + public boolean handleFault(MessageContext ctx, Object arg1) throws Exception { return handleResponse(ctx, arg1); } - public boolean handleResponse(MessageContext ctx, Object arg1) throws Exception { + @Override + public boolean handleResponse(MessageContext ctx, Object arg1) throws Exception { SOSIContext.setCard(null); SOSIContext.setMessageId(null); @@ -267,7 +270,8 @@ public String sourceToString(Source source) throws TransformerException { return writer.toString(); } - public void afterPropertiesSet() throws Exception { + @Override + public void afterPropertiesSet() throws Exception { transformerFactory = new MyTransformerFactory(); } private static class MyTransformerFactory extends TransformerObjectSupport { @@ -279,6 +283,7 @@ public Transformer createNonIndentingTransformer() throws TransformerConfigurati } } + @Override public void afterCompletion(MessageContext messageContext, Object endpoint, Exception ex) throws Exception { } } diff --git a/dgws-spring/src/main/java/com/trifork/dgws/util/SecurityHelperImpl.java b/dgws-spring/src/main/java/com/trifork/dgws/util/SecurityHelperImpl.java index 82cf41b..e7c719b 100644 --- a/dgws-spring/src/main/java/com/trifork/dgws/util/SecurityHelperImpl.java +++ b/dgws-spring/src/main/java/com/trifork/dgws/util/SecurityHelperImpl.java @@ -24,16 +24,19 @@ public class SecurityHelperImpl implements SecurityHelper { @Autowired Unmarshaller unmarshaller; + @Override public String getCpr(SoapHeader soapHeader) { return getAttributeValue(soapHeader, "UserLog", "medcom:UserCivilRegistrationNumber"); } + @Override public String getAttributeValue(SoapHeader soapHeader, final String attributeStatementId, final String attributeName) { Security security = extractSecurity(soapHeader); AttributeStatement attributeStatement = CollectionUtils.find( security.getAssertion().getAttributeStatement(), new Predicate() { + @Override public boolean evaluate(AttributeStatement element) { return element.getId().equals(attributeStatementId); } @@ -41,6 +44,7 @@ public boolean evaluate(AttributeStatement element) { Attribute attribute = CollectionUtils.find( attributeStatement.getAttribute(), new Predicate() { + @Override public boolean evaluate(Attribute object) { return object.getName().equals(attributeName); } @@ -49,6 +53,7 @@ public boolean evaluate(Attribute object) { return attribute.getAttributeValue(); } + @Override public Security extractSecurity(SoapHeader soapHeader) { List elements = new ArrayList(); Iterator it = soapHeader.examineAllHeaderElements(); diff --git a/dgws-spring/src/test/java/com/trifork/dgws/ProtectedTargetProxy.java b/dgws-spring/src/test/java/com/trifork/dgws/ProtectedTargetProxy.java index 3f6f548..15baf3e 100644 --- a/dgws-spring/src/test/java/com/trifork/dgws/ProtectedTargetProxy.java +++ b/dgws-spring/src/test/java/com/trifork/dgws/ProtectedTargetProxy.java @@ -14,21 +14,25 @@ public ProtectedTargetProxy(ProtectedTarget target) { this.target = target; } + @Override @Protected(whitelist = "Test Whitelist") public String hitMe() { return target.hitMe(); } + @Override @Protected(whitelist = "Test Whitelist") public String hitMe(SoapHeader header) { return target.hitMe(header); } + @Override @Protected public String publicHitMe(SoapHeader soapHeader) { return target.publicHitMe(soapHeader); } + @Override @Protected(minAuthLevel=2) public String hitMeAuth(SoapHeader soapHeader) { return target.hitMeAuth(soapHeader); diff --git a/pom.xml b/pom.xml index 7543060..5b8cbd4 100644 --- a/pom.xml +++ b/pom.xml @@ -50,10 +50,10 @@ org.apache.maven.plugins maven-compiler-plugin - 2.5.1 + 3.0 - 1.5 - 1.5 + 1.6 + 1.6