/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019-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.provider;
import javax.ws.rs.core.Response;
-
import lombok.NonNull;
-
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.dao.impl.DefaultPfDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* @author Liam Fallon (liam.fallon@est.tech)
*/
public class PolicyModelsProviderFactory {
- private static final Logger LOGGER = LoggerFactory.getLogger(DefaultPfDao.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(PolicyModelsProviderFactory.class);
/**
* Creates a new PolicyModelsProvider object from its implementation.
} catch (final Exception exc) {
String errorMessage = "could not find implementation of the \"PolicyModelsProvider\" interface \""
+ parameters.getImplementation() + "\"";
- LOGGER.warn(errorMessage, exc);
+ LOGGER.warn(errorMessage);
throw new PfModelException(Response.Status.NOT_FOUND, errorMessage, exc);
}
// It is, now check if it is a PolicyModelsProvider
if (!PolicyModelsProvider.class.isAssignableFrom(implementationClass)) {
- String errorMessage = "the class \"" + implementationClass.getCanonicalName()
+ String errorMessage = "the class \"" + implementationClass.getName()
+ "\" is not an implementation of the \"PolicyModelsProvider\" interface";
LOGGER.warn(errorMessage);
throw new PfModelException(Response.Status.BAD_REQUEST, errorMessage);
}
try {
- return (PolicyModelsProvider) implementationClass.getConstructor(PolicyModelsProviderParameters.class)
- .newInstance(parameters);
+ PolicyModelsProvider provider = (PolicyModelsProvider) implementationClass
+ .getConstructor(PolicyModelsProviderParameters.class).newInstance(parameters);
+
+ provider.init();
+
+ return provider;
} catch (Exception exc) {
String errorMessage =
"could not create an instance of PolicyModelsProvider \"" + parameters.getImplementation() + "\"";
- LOGGER.warn(errorMessage, exc);
+ LOGGER.warn(errorMessage);
throw new PfModelException(Response.Status.INTERNAL_SERVER_ERROR, errorMessage, exc);
}
}