Replaced generic BusTopicParams with more specific RestClientParameters.
Also modified code to pass the HttpClient around instead of passing the
client parameters around.
Issue-ID: POLICY-3456
Change-Id: Ic07b710645eeab696e6df0a015171578ad08ca83
Signed-off-by: Jim Hahn <jrh3@att.com>
import java.net.HttpURLConnection;
import javax.ws.rs.core.Response;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.http.client.HttpClient;
-import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
-import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
/**
* Constructs the object.
*
- * @param params target specification
- * @throws PolicyApiException if an error occurs
+ * @param httpClient API REST client
*/
- public PolicyApiCaller(BusTopicParams params) throws PolicyApiException {
- try {
- params.setClientName("policy-api");
- httpClient = makeClient(params);
- } catch (HttpClientConfigException e) {
- throw new PolicyApiException("connection to host: " + params.getHostname(), e);
- }
+ public PolicyApiCaller(HttpClient httpClient) {
+ this.httpClient = httpClient;
}
/**
throw new PolicyApiException(type.toString(), e);
}
}
-
- // these methods may be overridden by junit tests
-
- protected HttpClient makeClient(BusTopicParams busParams) throws HttpClientConfigException {
- return HttpClientFactoryInstance.getClientFactory().build(busParams);
- }
}
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.tuple.Pair;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
* Also gives api rest parameters if needed.
*
* @param pathForData Local Path
- * @param policyApiParameters API rest parameters
+ * @param policyApiClient API rest client
*/
- void initialize(Path pathForData, BusTopicParams policyApiParameters)
+ void initialize(Path pathForData, HttpClient policyApiClient)
throws XacmlApplicationException;
/**
import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
import org.apache.commons.lang3.tuple.Pair;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.coder.StandardYamlCoder;
private final Map<ToscaConceptIdentifier, MatchablePolicyType> matchableCache = new HashMap<>();
@Setter
- private BusTopicParams apiRestParameters;
+ private HttpClient apiClient;
@Setter
private Path pathForData;
//
ToscaServiceTemplate policyTemplate = null;
try {
- var api = new PolicyApiCaller(this.apiRestParameters);
+ var api = new PolicyApiCaller(this.apiClient);
policyTemplate = api.getPolicyType(policyTypeId);
} catch (PolicyApiException e) {
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.tuple.Pair;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
private Path pathForData = null;
@Getter
- private BusTopicParams policyApiParameters;
+ private HttpClient policyApiClient;
private Properties pdpProperties = null;
private PDPEngine pdpEngine = null;
private Map<ToscaPolicy, Path> mapLoadedPolicies = new HashMap<>();
}
@Override
- public void initialize(Path pathForData, BusTopicParams policyApiParameters)
+ public void initialize(Path pathForData, HttpClient policyApiClient)
throws XacmlApplicationException {
//
// Save our path
//
// Save our params
//
- this.policyApiParameters = policyApiParameters;
+ this.policyApiClient = policyApiClient;
//
// Look for and load the properties object
//
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.http.client.HttpClient;
-import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
import org.onap.policy.common.utils.network.NetworkUtil;
private static final String UNKNOWN_TYPE = "unknown";
private static int port;
- private static BusTopicParams clientParams;
+ private static RestClientParameters clientParams;
+
+ private static HttpClient apiClient;
private PolicyApiCaller api;
public static void setUpBeforeClass() throws Exception {
port = NetworkUtil.allocPort();
- clientParams = mock(BusTopicParams.class);
+ clientParams = mock(RestClientParameters.class);
+ when(clientParams.getClientName()).thenReturn("apiClient");
when(clientParams.getHostname()).thenReturn("localhost");
when(clientParams.getPort()).thenReturn(port);
GsonMessageBodyHandler.class.getName());
HttpServletServerFactoryInstance.getServerFactory().build(props).forEach(HttpServletServer::start);
+ apiClient = HttpClientFactoryInstance.getClientFactory().build(clientParams);
assertTrue(NetworkUtil.isTcpPortOpen(clientParams.getHostname(), clientParams.getPort(), 100, 100));
}
public void setUp() throws PolicyApiException {
when(clientParams.getPort()).thenReturn(port);
- api = new PolicyApiCaller(clientParams);
- }
-
- @Test
- public void testPolicyApi() {
- assertThatThrownBy(() -> new PolicyApiCaller(clientParams) {
- @Override
- protected HttpClient makeClient(BusTopicParams busParams) throws HttpClientConfigException {
- throw new HttpClientConfigException("expected exception");
- }
- }).isInstanceOf(PolicyApiException.class);
+ api = new PolicyApiCaller(apiClient);
}
@Test
.isInstanceOf(PolicyApiException.class);
// connect to a port that has no server
- when(clientParams.getPort()).thenReturn(NetworkUtil.allocPort());
- api = new PolicyApiCaller(clientParams);
+ RestClientParameters params2 = mock(RestClientParameters.class);
+ when(params2.getClientName()).thenReturn("apiClient");
+ when(params2.getHostname()).thenReturn("localhost");
+ when(params2.getPort()).thenReturn(NetworkUtil.allocPort());
+
+ HttpClient apiClient2 = HttpClientFactoryInstance.getClientFactory().build(params2);
+ api = new PolicyApiCaller(apiClient2);
assertThatThrownBy(() -> api.getPolicyType(new ToscaConceptIdentifier(MY_TYPE, MY_VERSION)))
.isInstanceOf(PolicyApiException.class);
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
import org.onap.policy.common.utils.coder.CoderException;
private static final String CLIENT_NAME = "policy-api";
private static final StandardYamlCoder yamlCoder = new StandardYamlCoder();
private static int port;
- private static BusTopicParams clientParams;
+ private static RestClientParameters clientParams;
private static ToscaServiceTemplate testTemplate;
+ private static HttpClient apiClient;
@ClassRule
public static final TemporaryFolder policyFolder = new TemporaryFolder();
//
port = NetworkUtil.allocPort();
- clientParams = mock(BusTopicParams.class);
+ clientParams = mock(RestClientParameters.class);
+ when(clientParams.getClientName()).thenReturn("apiClient");
when(clientParams.getHostname()).thenReturn("localhost");
when(clientParams.getPort()).thenReturn(port);
GsonMessageBodyHandler.class.getName());
HttpServletServerFactoryInstance.getServerFactory().build(props).forEach(HttpServletServer::start);
+ apiClient = HttpClientFactoryInstance.getClientFactory().build(clientParams);
assertTrue(NetworkUtil.isTcpPortOpen(clientParams.getHostname(), clientParams.getPort(), 100, 100));
//
// Set it up
//
translator.setPathForData(policyFolder.getRoot().toPath());
- translator.setApiRestParameters(clientParams);
+ translator.setApiClient(apiClient);
//
// Load policies to test
//
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
private static final String POLICY_NAME = "my-name";
private static final String POLICY_VERSION = "1.2.3";
private static final String POLICY_TYPE = "my-type";
- private static final BusTopicParams apiRestParameters = new BusTopicParams();
+
+ @Mock
+ private HttpClient apiClient;
@Mock
private ToscaPolicyTranslator trans;
@Test
public void testInitialize_testGetXxx() throws XacmlApplicationException {
- prov.initialize(TEMP_PATH, apiRestParameters);
+ prov.initialize(TEMP_PATH, apiClient);
assertEquals(TEMP_PATH, prov.getDataPath());
assertNotNull(prov.getEngine());
@Test
public void testInitialize_Ex() throws XacmlApplicationException {
- assertThatThrownBy(() -> prov.initialize(new File(TEMP_DIR_NAME + "-nonExistent").toPath(), apiRestParameters))
+ assertThatThrownBy(() -> prov.initialize(new File(TEMP_DIR_NAME + "-nonExistent").toPath(), apiClient))
.isInstanceOf(XacmlApplicationException.class).hasMessage("Failed to load xacml.properties");
}
@Test
public void testLoadPolicy_testUnloadPolicy() throws Exception {
- prov.initialize(TEMP_PATH, apiRestParameters);
+ prov.initialize(TEMP_PATH, apiClient);
PROP_FILE.delete();
final Set<String> set = XACMLProperties.getRootPolicyIDs(prov.getProperties());
@Test
public void testUnloadPolicy_NotDeployed() throws Exception {
- prov.initialize(TEMP_PATH, apiRestParameters);
+ prov.initialize(TEMP_PATH, apiClient);
assertFalse(prov.unloadPolicy(policy));
engineFactory = null;
prov = new MyProv();
- prov.initialize(TEMP_PATH, apiRestParameters);
+ prov.initialize(TEMP_PATH, apiClient);
assertNotNull(prov.getEngine());
}
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
private static final Logger LOGGER = LoggerFactory.getLogger(GuardPdpApplicationTest.class);
private static Properties properties = new Properties();
private static File propertiesFile;
- private static BusTopicParams clientParams = new BusTopicParams();
private static XacmlApplicationServiceProvider service;
private static DecisionRequest requestVfCount;
private static StandardCoder gson = new StandardCoder();
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
//
// Load Decision Requests
//
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
private static final Logger LOGGER = LoggerFactory.getLogger(SonCoordinationTest.class);
private static Properties properties = new Properties();
private static File propertiesFile;
- private static BusTopicParams clientParams = new BusTopicParams();
private static XacmlApplicationServiceProvider service;
private static DecisionRequest requestVpciNode1;
private static DecisionRequest requestVsonhNode1;
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
//
// Load Decision Requests
//
import java.nio.file.Path;
import java.util.Arrays;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslator;
import org.onap.policy.pdp.xacml.application.common.XacmlApplicationException;
}
@Override
- public void initialize(Path pathForData, BusTopicParams policyApiParameters)
+ public void initialize(Path pathForData, HttpClient policyApiClient)
throws XacmlApplicationException {
//
// Store our API parameters and path for translator so it
// can go get Policy Types
//
this.translator.setPathForData(pathForData);
- this.translator.setApiRestParameters(policyApiParameters);
+ this.translator.setApiClient(policyApiClient);
//
// Let our super class do its thing
//
- super.initialize(pathForData, policyApiParameters);
+ super.initialize(pathForData, policyApiClient);
}
@Override
package org.onap.policy.xacml.pdp.application.match;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
import com.att.research.xacml.api.Response;
import java.io.File;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
private static XacmlApplicationServiceProvider service;
private static StandardCoder gson = new StandardCoder();
private static DecisionRequest baseRequest;
- private static BusTopicParams clientParams;
@ClassRule
public static final TemporaryFolder policyFolder = new TemporaryFolder();
*/
@BeforeClass
public static void setUp() throws Exception {
- clientParams = mock(BusTopicParams.class);
- when(clientParams.getHostname()).thenReturn("localhost");
- when(clientParams.getPort()).thenReturn(6969);
//
// Load Single Decision Request
//
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
@Test
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
private static DecisionRequest requestPolicyType;
private static StandardCoder gson = new StandardCoder();
- private static BusTopicParams clientParams = new BusTopicParams();
@ClassRule
public static final TemporaryFolder policyFolder = new TemporaryFolder();
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
@Test
package org.onap.policy.xacml.pdp.application.naming;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
import com.att.research.xacml.api.Response;
import java.io.File;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
private static XacmlApplicationServiceProvider service;
private static StandardCoder gson = new StandardCoder();
private static DecisionRequest baseRequest;
- private static BusTopicParams clientParams;
@ClassRule
public static final TemporaryFolder policyFolder = new TemporaryFolder();
*/
@BeforeClass
public static void setUp() throws Exception {
- clientParams = mock(BusTopicParams.class);
- when(clientParams.getHostname()).thenReturn("localhost");
- when(clientParams.getPort()).thenReturn(6969);
//
// Load Single Decision Request
//
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
@Test
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.StandardYamlCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
import org.onap.policy.common.utils.resources.TextFileUtils;
private static final StandardYamlCoder yamlCoder = new StandardYamlCoder();
private static Properties properties = new Properties();
private static File propertiesFile;
- private static BusTopicParams clientParams = new BusTopicParams();
private static NativePdpApplication service;
private static Request request;
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
//
// Load XACML Request
//
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.tuple.Pair;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
}
@Override
- public void initialize(Path pathForData, BusTopicParams policyApiParameters)
+ public void initialize(Path pathForData, HttpClient policyApiClient)
throws XacmlApplicationException {
//
// Store our API parameters and path for translator so it
// can go get Policy Types
//
this.translator.setPathForData(pathForData);
- this.translator.setApiRestParameters(policyApiParameters);
+ this.translator.setApiClient(policyApiClient);
//
// Let our super class do its thing
//
- super.initialize(pathForData, policyApiParameters);
+ super.initialize(pathForData, policyApiClient);
}
@Override
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
import com.att.research.xacml.api.Response;
import com.google.common.collect.Lists;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.coder.StandardYamlCoder;
private static XacmlApplicationServiceProvider service;
private static StandardCoder gson = new StandardCoder();
private static DecisionRequest baseRequest;
- private static BusTopicParams clientParams;
private static String[] listPolicyTypeFiles = {
"onap.policies.Optimization",
"onap.policies.optimization.Resource",
*/
@BeforeClass
public static void setUp() throws Exception {
- clientParams = mock(BusTopicParams.class);
- when(clientParams.getHostname()).thenReturn("localhost");
- when(clientParams.getPort()).thenReturn(6969);
//
// Load Single Decision Request
//
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), clientParams);
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
/**
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
import org.onap.policy.common.parameters.BeanValidationResult;
@NotNull
@NotBlank
public class XacmlPdpParameterGroup extends ParameterGroupImpl {
- private static final String PARAM_POLICY_API = "policyApiParameters";
+ public static final String PARAM_POLICY_API = "policyApiParameters";
private String pdpGroup;
private String pdpType;
@Valid
private RestServerParameters restServerParameters;
@Valid
- private BusTopicParams policyApiParameters;
+ private RestClientParameters policyApiParameters;
@Valid
private TopicParameterGroup topicParameterGroup;
@Valid
* @param pdpGroup the pdp group name
*/
public XacmlPdpParameterGroup(final String name, final String pdpGroup, final String pdpType,
- final RestServerParameters restServerParameters, final BusTopicParams policyApiParameters,
+ final RestServerParameters restServerParameters, final RestClientParameters policyApiParameters,
final TopicParameterGroup topicParameterGroup, final XacmlApplicationParameters applicationParameters) {
super(name);
this.pdpGroup = pdpGroup;
package org.onap.policy.pdpx.main.parameters;
import java.io.File;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.parameters.ValidationResult;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.StandardCoder;
throw new PolicyXacmlPdpException(errorMessage);
}
+ RestClientParameters apiClientParams = xacmlPdpParameterGroup.getPolicyApiParameters();
+ apiClientParams.setName(XacmlPdpParameterGroup.PARAM_POLICY_API);
+ apiClientParams.setManaged(false);
+
// validate the parameters
final ValidationResult validationResult = xacmlPdpParameterGroup.validate();
if (!validationResult.isValid()) {
import java.util.stream.Collectors;
import lombok.Getter;
import lombok.Setter;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
* One time to initialize the applications upon startup.
*/
public XacmlPdpApplicationManager(XacmlApplicationParameters applicationParameters,
- BusTopicParams policyApiParameters) {
+ HttpClient policyApiClient) {
if (LOGGER.isInfoEnabled()) {
- LOGGER.info("Initialization applications {} {}", applicationParameters, policyApiParameters);
+ LOGGER.info("Initialization applications {} {}", applicationParameters, policyApiClient);
}
//
// Load service
//
try {
initializeApplicationPath(Paths.get(applicationParameters.getApplicationPath()), application,
- policyApiParameters);
+ policyApiClient);
//
// We are initialized
//
}
private void initializeApplicationPath(Path basePath, XacmlApplicationServiceProvider application,
- BusTopicParams policyApiParameters) throws XacmlApplicationException {
+ HttpClient policyApiClient) throws XacmlApplicationException {
//
// Making an assumption that all application names are unique, and
// they can result in a valid directory being created.
//
// Have the application initialize
//
- application.initialize(path, policyApiParameters);
+ application.initialize(path, policyApiClient);
}
}
import org.onap.policy.common.endpoints.event.comm.TopicSource;
import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient;
import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClientException;
+import org.onap.policy.common.endpoints.http.client.HttpClient;
+import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.common.endpoints.listeners.MessageTypeDispatcher;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.parameters.ParameterService;
import org.onap.policy.common.utils.services.ServiceManagerContainer;
import org.onap.policy.models.pdp.concepts.PdpStatus;
public XacmlPdpActivator(final XacmlPdpParameterGroup xacmlPdpParameterGroup) {
LOGGER.info("Activator initializing using {}", xacmlPdpParameterGroup);
+ RestClientParameters apiClientParams = xacmlPdpParameterGroup.getPolicyApiParameters();
+
TopicEndpointManager.getManager().addTopics(xacmlPdpParameterGroup.getTopicParameterGroup());
final XacmlPdpHearbeatPublisher heartbeat;
final XacmlState state;
try {
- var appmgr =
- new XacmlPdpApplicationManager(xacmlPdpParameterGroup.getApplicationParameters(),
- xacmlPdpParameterGroup.getPolicyApiParameters());
+ HttpClient apiClient = HttpClientFactoryInstance.getClientFactory().build(apiClientParams);
+
+ var appmgr = new XacmlPdpApplicationManager(xacmlPdpParameterGroup.getApplicationParameters(),
+ apiClient);
XacmlPdpApplicationManager.setCurrent(appmgr);
var stats = new XacmlPdpStatisticsManager();
restServer = new XacmlPdpRestServer(xacmlPdpParameterGroup.getRestServerParameters(),
XacmlPdpAafFilter.class, XacmlPdpRestController.class);
- } catch (RuntimeException | TopicSinkClientException e) {
+ } catch (RuntimeException | TopicSinkClientException | HttpClientConfigException e) {
throw new PolicyXacmlPdpRuntimeException(e.getMessage(), e);
}
*/
public class CommonTestData {
+ private static final String CLIENT_NAME = "clientName";
private static final String PASS_KEY = "password";
private static final String USER_KEY = "userName";
private static final String PORT_KEY = "port";
*/
public Map<String, Object> getPolicyApiParametersMap(final boolean isEmpty) {
final Map<String, Object> map = new TreeMap<>();
+ map.put(CLIENT_NAME, XacmlPdpParameterGroup.PARAM_POLICY_API);
map.put(HTTPS_KEY, POLICY_API_HTTPS);
map.put(AAF_KEY, POLICY_API_AAF);
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
import org.onap.policy.common.parameters.ValidationResult;
public void testXacmlPdpParameterGroup() throws IOException {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_NullParameterGroupName() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyParameterGroupName() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_NullPdpGroup() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyPdpGroup() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyRestServerParameters() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(true), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyPolicyApiParameters() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(true), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(true), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyTopicParameterGroup() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(true), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
public void testXacmlPdpParameterGroup_EmptyApplicationParameterGroup() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
- final BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ final RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
import org.onap.policy.common.endpoints.http.client.internal.JerseyClient;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
import org.onap.policy.common.utils.coder.CoderException;
private static File propertiesFile;
private static XacmlApplicationServiceProvider service;
- private static BusTopicParams policyApiParameters;
+ private static RestClientParameters policyApiParameters;
@ClassRule
public static final TemporaryFolder appsFolder = new TemporaryFolder();
// Create parameters for XacmlPdPService
RestServerParameters rest = testData.toObject(testData.getRestServerParametersMap(port),
RestServerParameters.class);
- policyApiParameters = testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ policyApiParameters = testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
TopicParameterGroup topicParameterGroup = testData.toObject(testData.getTopicParametersMap(false),
TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
*/
private static HttpClient getNoAuthHttpClient()
throws HttpClientConfigException, KeyManagementException, NoSuchAlgorithmException, ClassNotFoundException {
- BusTopicParams clientParams = new BusTopicParams();
+ RestClientParameters clientParams = new RestClientParameters();
clientParams.setClientName("testName");
clientParams.setUseHttps(false);
clientParams.setAllowSelfSignedCerts(false);
// Tell it to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), policyApiParameters);
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
}
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.http.client.HttpClient;
import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
+import org.onap.policy.common.endpoints.parameters.RestClientParameters;
import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
import org.onap.policy.common.utils.network.NetworkUtil;
//
RestServerParameters rest =
testData.toObject(testData.getRestServerParametersMap(port), RestServerParameters.class);
- BusTopicParams policyApiParameters =
- testData.toObject(testData.getPolicyApiParametersMap(false), BusTopicParams.class);
+ RestClientParameters policyApiParameters =
+ testData.toObject(testData.getPolicyApiParametersMap(false), RestClientParameters.class);
TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParametersMap(false), TopicParameterGroup.class);
final XacmlApplicationParameters xacmlApplicationParameters =
}
private static HttpClient getNoAuthHttpClient() throws HttpClientConfigException {
- return HttpClientFactoryInstance.getClientFactory().build(BusTopicParams.builder()
+ return HttpClientFactoryInstance.getClientFactory().build(RestClientParameters.builder()
.clientName("testDecisionClient")
.useHttps(false).allowSelfSignedCerts(false).hostname("localhost").port(port)
.basePath("policy/pdpx/v1")
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardYamlCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
public class XacmlPdpApplicationManagerTest {
private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpApplicationManagerTest.class);
private static final StandardYamlCoder yamlCoder = new StandardYamlCoder();
- private static final BusTopicParams params = new BusTopicParams();
private static Path appsDirectory;
private static ToscaServiceTemplate completedJtst;
private static CommonTestData testData = new CommonTestData();
*/
@BeforeClass
public static void setupTestEnvironment() throws Exception {
- //
- // No need to do more than this
- //
- params.setClientName("policyApiParameters");
//
// Load an example policy
//
//
// Create our app manager
//
- XacmlPdpApplicationManager manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, params);
+ XacmlPdpApplicationManager manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, null);
//
// Still creates the manager, but the apps were not able to initialize
//
// Now create the directory
//
Files.createDirectory(nonExistentPath);
- manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, params);
+ manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, null);
//
// Now it should have initialized the apps
//
final XacmlApplicationParameters xacmlApplicationParameters =
testData.toObject(testData.getXacmlapplicationParametersMap(false,
appsDirectory.toString(), exclusions), XacmlApplicationParameters.class);
- XacmlPdpApplicationManager manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, params);
+ XacmlPdpApplicationManager manager = new XacmlPdpApplicationManager(xacmlApplicationParameters, null);
//
// Test the basics from the startup
//
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
// Tell the application to initialize based on the properties file
// we just built for it.
//
- service.initialize(propertiesFile.toPath().getParent(), new BusTopicParams());
+ service.initialize(propertiesFile.toPath().getParent(), null);
}
@Test