From 4b8a31baae275305b32c8561e6f87a9087a21778 Mon Sep 17 00:00:00 2001
From: Youn <yct@kereval.com>
Date: Thu, 3 Sep 2020 09:29:27 +0200
Subject: [PATCH] IUAINFRA-47 quality

---
 .../application/DummyAuthzServerSoapui.java   | 13 +++--
 .../application/TokenGenerator.java           |  2 +-
 .../resources/getToken-soapui-project.xml     | 19 +++++--
 .../AudienceSecretRetrieverForSoapui.java     | 51 +++++++++++--------
 4 files changed, 54 insertions(+), 31 deletions(-)

diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
index 4f9c7f5..8b850a5 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/DummyAuthzServerSoapui.java
@@ -3,8 +3,9 @@ package net.ihe.gazelle.app.accesstokenproviderapi.application;
 import net.ihe.gazelle.app.accesstokenproviderapi.business.AccessTokenRequest;
 import net.ihe.gazelle.app.accesstokenproviderapi.business.SymmetricSignature;
 import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverForSoapui;
-import net.ihe.gazelle.app.audienceretriever.adapter.AudienceSecretRetrieverImpl;
 import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
+import net.ihe.gazelle.framework.loggerservice.application.GazelleLogger;
+import net.ihe.gazelle.framework.loggerservice.application.GazelleLoggerFactory;
 import net.ihe.gazelle.modelapi.sb.business.EncodingException;
 import net.ihe.gazelle.sb.iua.business.TokenType;
 
@@ -15,6 +16,7 @@ import java.time.Duration;
  */
 public class DummyAuthzServerSoapui implements DummyAuthzServer {
 
+    private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(DummyAuthzServerSoapui.class);
 
     private static final String ALGORITHM = "HS256";
     private static final String ISSUER = "https://ehealthsuisse.ihe-europe.net/access-token-provider";
@@ -85,14 +87,11 @@ public class DummyAuthzServerSoapui implements DummyAuthzServer {
         byte[] token = null;
         try {
             token = tokenGenerator.generateAccessToken(getAccessTokenRequest(userId, audienceId)).getToken();
-        } catch (EncodingException e) {
-            e.printStackTrace();
-        } catch (TokenRequestException e) {
-            e.printStackTrace();
-        } finally {
+        } catch (EncodingException | TokenRequestException e) {
+            LOGGER.error("Error generating Access Token", e);
+        }
             return token;
         }
-    }
 
 
 }
diff --git a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
index 6c96638..6889020 100644
--- a/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
+++ b/access-token-provider-api/src/main/java/net/ihe/gazelle/app/accesstokenproviderapi/application/TokenGenerator.java
@@ -45,7 +45,7 @@ public class TokenGenerator {
             throw new TokenRequestException("Unsupported Algorithm");
         }
 
-        Duration duration = !accessTokenRequest.getValidityTime().equals(null) ? accessTokenRequest.getValidityTime() : DEFAULT_DURATION;
+        Duration duration = accessTokenRequest.getValidityTime() != null ? accessTokenRequest.getValidityTime() : DEFAULT_DURATION;
 
         if (accessTokenRequest.getTokenType() == null || !accessTokenRequest.getTokenType().equals(TOKEN_TYPE)) {
             throw new TokenRequestException("Unsupported token type");
diff --git a/access-token-provider-api/src/main/resources/getToken-soapui-project.xml b/access-token-provider-api/src/main/resources/getToken-soapui-project.xml
index 6472e75..1b910e1 100644
--- a/access-token-provider-api/src/main/resources/getToken-soapui-project.xml
+++ b/access-token-provider-api/src/main/resources/getToken-soapui-project.xml
@@ -1,6 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <con:soapui-project id="4527283c-83fc-419a-9fa3-d9c072053eac" activeEnvironment="Default" name="getToken" resourceRoot="" soapui-version="5.6.0" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:testSuite id="a7dd34e8-2441-4bf8-b2bc-3ea43c3b0f42" name="getToken"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase id="f8ac5a96-e7e9-4a60-9e9c-84f80664db91" failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="getToken" searchProperties="true"><con:settings/><con:testStep type="groovy" name="exemple" id="c65c443d-1476-4c4a-b9e6-b63eac62939f"><con:settings/><con:config><script>import net.ihe.gazelle.app.accesstokenproviderapi.application.DummyAuthzServerSoapui
 
-def server = new DummyAuthzServerSoapui();
-def token = server.getAccessToken("aamrein", "audience", null, null);
-log.info new String(token)</script></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties/><con:wssContainer/><con:oAuth2ProfileContainer/><con:oAuth1ProfileContainer/><con:sensitiveInformation/></con:soapui-project>
\ No newline at end of file
+    def server = new DummyAuthzServerSoapui("/opt/simulators/audience.properties");
+    def token = server.getAccessToken("aamrein", "audience", null, null );
+    log.info new String(token)
+</script>
+</con:config>
+</con:testStep>
+    <con:properties/>
+</con:testCase>
+    <con:properties/>
+</con:testSuite>
+    <con:properties/>
+    <con:wssContainer/>
+    <con:oAuth2ProfileContainer/>
+    <con:oAuth1ProfileContainer/>
+    <con:sensitiveInformation/>
+</con:soapui-project>
\ No newline at end of file
diff --git a/audience-retriever/src/main/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapui.java b/audience-retriever/src/main/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapui.java
index a4cac1b..3252c5b 100644
--- a/audience-retriever/src/main/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapui.java
+++ b/audience-retriever/src/main/java/net/ihe/gazelle/app/audienceretriever/adapter/AudienceSecretRetrieverForSoapui.java
@@ -1,50 +1,61 @@
 package net.ihe.gazelle.app.audienceretriever.adapter;
 
 import net.ihe.gazelle.app.audienceretriever.application.AudienceSecretRetriever;
+import net.ihe.gazelle.framework.loggerservice.application.GazelleLogger;
+import net.ihe.gazelle.framework.loggerservice.application.GazelleLoggerFactory;
 
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Properties;
 
+/**
+ * {@link AudienceSecretRetriever} used by SoapUI project to retrieve secrets.
+ */
 public class AudienceSecretRetrieverForSoapui implements AudienceSecretRetriever {
 
+    private static final GazelleLogger LOGGER = GazelleLoggerFactory.getInstance().getLogger(AudienceSecretRetrieverForSoapui.class);
+
     private String propertiesFile = "/opt/simulators/audience.properties";
 
+    /**
+     * Default constructor for the class.
+     */
     public AudienceSecretRetrieverForSoapui() {
+        //Empty Constructor
     }
 
+    /**
+     * Constructor allowing to configure the properties file path.
+     *
+     * @param propertiesFile path to the properties file.
+     */
     public AudienceSecretRetrieverForSoapui(String propertiesFile) {
         this.propertiesFile = propertiesFile;
     }
 
-    public static Properties readPropertiesFile(String fileName) throws IOException {
-        FileInputStream fis = null;
+    /**
+     * Read property file as {@link Properties}.
+     *
+     * @param filePath path to hte properties file.
+     * @return the {@link Properties} defined by the file.
+     */
+    private static Properties readPropertiesFile(String filePath) {
         Properties prop = null;
-        try {
-            fis = new FileInputStream(fileName);
+        try (FileInputStream fis = new FileInputStream(filePath)) {
             prop = new Properties();
             prop.load(fis);
-        } catch(FileNotFoundException fnfe) {
-            fnfe.printStackTrace();
-        } catch(IOException ioe) {
-            ioe.printStackTrace();
-        } finally {
-            fis.close();
+        } catch (IOException e) {
+            LOGGER.error("Error reading properties file !", e);
         }
         return prop;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
     public String retrieveSecretForAudience(String audience) {
-        String secret = null;
-        try {
-            Properties prop = readPropertiesFile(propertiesFile);
-            secret = prop.getProperty(audience);
-        } catch (IOException e) {
-            e.printStackTrace();
-        } finally {
-            return secret;
-        }
+        Properties prop = readPropertiesFile(propertiesFile);
+        return prop != null ? prop.getProperty(audience) : null;
     }
 }
-- 
GitLab