/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.models.dao;
+import java.lang.reflect.InvocationTargetException;
import javax.ws.rs.core.Response;
-
import org.onap.policy.common.utils.validation.Assertions;
import org.onap.policy.models.base.PfModelException;
import org.slf4j.Logger;
// Get the class for the DAO using reflection
Object pfDaoObject = null;
try {
- pfDaoObject = Class.forName(daoParameters.getPluginClass()).newInstance();
- } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
+ pfDaoObject = Class.forName(daoParameters.getPluginClass()).getDeclaredConstructor().newInstance();
+ } catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IllegalArgumentException
+ | InvocationTargetException | NoSuchMethodException | SecurityException e) {
String errorMessage =
"Policy Framework DAO class not found for DAO plugin \"" + daoParameters.getPluginClass() + "\"";
- LOGGER.error(errorMessage, e);
+ LOGGER.error(errorMessage);
throw new PfModelException(Response.Status.INTERNAL_SERVER_ERROR, errorMessage, e);
}