* limitations under the License.
* ============LICENSE_END============================================
* ===================================================================
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ *
*/
package org.onap.clamp.clds.config;
import java.security.GeneralSecurityException;
+import org.apache.commons.codec.DecoderException;
import org.apache.commons.dbcp.BasicDataSource;
import org.onap.clamp.clds.util.CryptoUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
/**
* This class is an extension of the standard datasource, it will be used to
* decode the encoded password defined in the application.properties.
*
*/
-@Component("EncodedPasswordBasicDataSource")
public class EncodedPasswordBasicDataSource extends BasicDataSource {
protected static final EELFLogger logger = EELFManager.getInstance()
.getLogger(EncodedPasswordBasicDataSource.class);
protected static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger();
- @Autowired
- private CryptoUtils cryptoUtils;
-
- /**
- * The default constructor calling the parent one.
- */
- public EncodedPasswordBasicDataSource() {
- super();
- }
/**
* This method is used automatically by Spring to decode the password.
@Override
public synchronized void setPassword(String encodedPassword) {
try {
- this.password = cryptoUtils.decrypt(encodedPassword);
+ this.password = CryptoUtils.decrypt(encodedPassword);
} catch (GeneralSecurityException e) {
logger.error("Unable to decrypt the DB password", e);
+ } catch (DecoderException e) {
+ logger.error("Exception caught when decoding the HEX String Key for encryption", e);
}
}
}
\ No newline at end of file