-/*
+/*-
* ============LICENSE_START=======================================================
* ONAP PAP
* ================================================================================
* Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2019 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.util.List;
+
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.pdp.concepts.PdpGroup;
import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
private static final Yaml yaml = new Yaml();
/**
- * DB connection. This is kept open until {@link #stop()} is invoked so that the
- * in-memory DB is not destroyed.
+ * DB connection. This is kept open until {@link #stop()} is invoked so that the in-memory DB is not destroyed.
*/
private static PolicyModelsProvider dbConn;
* @param shouldStart {@code true} if Main should be started, {@code false} otherwise
* @throws Exception if an error occurs
*/
- public static void setUpBeforeClass(boolean shouldStart) throws Exception {
+ public static void setUpBeforeClass(final boolean shouldStart) throws Exception {
CommonPapRestServer.setUpBeforeClass(shouldStart);
- PapParameterGroup params = new StandardCoder().decode(new File(CONFIG_FILE), PapParameterGroup.class);
+ final PapParameterGroup params = new StandardCoder().decode(new File(CONFIG_FILE), PapParameterGroup.class);
daoFactory = new PolicyModelsProviderFactoryWrapper(params.getDatabaseProviderParameters());
dbConn = daoFactory.create();
}
public static void tearDownAfterClass() {
try {
dbConn.close();
- } catch (PfModelException e) {
+ } catch (final PfModelException e) {
logger.warn("failed to close the DB", e);
}
try {
daoFactory.close();
- } catch (Exception e) {
+ } catch (final Exception e) {
logger.warn("failed to close DAO factory", e);
}
/**
* Tears down.
*/
+ @Override
@After
public void tearDown() {
if (context != null) {
try {
context.stop();
- } catch (Exception e) {
+ } catch (final Exception e) {
logger.warn("failed to stop end-to-end context", e);
}
context = null;
* @param yamlFile name of the YAML file specifying the data to be loaded
* @throws PfModelException if a DAO error occurs
*/
- public static void addToscaPolicyTypes(String yamlFile) throws PfModelException {
- ToscaServiceTemplate serviceTemplate = loadYamlFile(yamlFile, ToscaServiceTemplate.class);
+ public static void addToscaPolicyTypes(final String yamlFile) throws PfModelException {
+ final ToscaServiceTemplate serviceTemplate = loadYamlFile(yamlFile, ToscaServiceTemplate.class);
dbConn.createPolicyTypes(serviceTemplate);
}
* @param yamlFile name of the YAML file specifying the data to be loaded
* @throws PfModelException if a DAO error occurs
*/
- public static void addToscaPolicies(String yamlFile) throws PfModelException {
- ToscaServiceTemplate serviceTemplate = loadYamlFile(yamlFile, ToscaServiceTemplate.class);
+ public static void addToscaPolicies(final String yamlFile) throws PfModelException {
+ final ToscaServiceTemplate serviceTemplate = loadYamlFile(yamlFile, ToscaServiceTemplate.class);
dbConn.createPolicies(serviceTemplate);
}
* @param jsonFile name of the JSON file specifying the data to be loaded
* @throws PfModelException if a DAO error occurs
*/
- public static void addGroups(String jsonFile) throws PfModelException {
- PdpGroups groups = loadJsonFile(jsonFile, PdpGroups.class);
+ public static void addGroups(final String jsonFile) throws PfModelException {
+ final PdpGroups groups = loadJsonFile(jsonFile, PdpGroups.class);
- ValidationResult result = groups.validatePapRest();
+ final ValidationResult result = groups.validatePapRest();
if (!result.isValid()) {
throw new PolicyPapRuntimeException("cannot init DB groups from " + jsonFile + ":\n" + result.getResult());
}
dbConn.createPdpGroups(groups.getGroups());
}
+ /**
+ * Fetch PDP groups from the DB.
+ *
+ * @param name name of the pdpGroup
+ * @throws PfModelException if a DAO error occurs
+ */
+ public static List<PdpGroup> fetchGroups(final String name) throws PfModelException {
+ return dbConn.getPdpGroups(name);
+ }
+
/**
* Loads an object from a YAML file.
*
* @param clazz the class of the object to be loaded
* @return the object that was loaded from the file
*/
- protected static <T> T loadYamlFile(String fileName, Class<T> clazz) {
- File propFile = new File(ResourceUtils.getFilePath4Resource("e2e/" + fileName));
+ protected static <T> T loadYamlFile(final String fileName, final Class<T> clazz) {
+ final File propFile = new File(ResourceUtils.getFilePath4Resource("e2e/" + fileName));
try (FileInputStream input = new FileInputStream(propFile)) {
- Object yamlObject = yaml.load(input);
- String json = coder.encode(yamlObject);
- T result = coder.decode(json, clazz);
+ final Object yamlObject = yaml.load(input);
+ final String json = coder.encode(yamlObject);
+ final T result = coder.decode(json, clazz);
if (result == null) {
throw new PolicyPapRuntimeException("cannot decode " + clazz.getSimpleName() + " from " + fileName);
return result;
- } catch (FileNotFoundException e) {
+ } catch (final FileNotFoundException e) {
throw new PolicyPapRuntimeException("cannot find " + fileName, e);
} catch (IOException | CoderException e) {
* @param clazz the class of the object to be loaded
* @return the object that was loaded from the file
*/
- protected static <T> T loadJsonFile(String fileName, Class<T> clazz) {
- String fileName2 = (fileName.startsWith("src/") ? fileName : "e2e/" + fileName);
- File propFile = new File(ResourceUtils.getFilePath4Resource(fileName2));
+ protected static <T> T loadJsonFile(final String fileName, final Class<T> clazz) {
+ final String fileName2 = (fileName.startsWith("src/") ? fileName : "e2e/" + fileName);
+ final File propFile = new File(ResourceUtils.getFilePath4Resource(fileName2));
try {
- T result = coder.decode(propFile, clazz);
+ final T result = coder.decode(propFile, clazz);
if (result == null) {
throw new PolicyPapRuntimeException("cannot decode " + clazz.getSimpleName() + " from " + fileName);
return result;
- } catch (CoderException e) {
+ } catch (final CoderException e) {
throw new RuntimeException(e);
}
}