<artifactId>everit-json-schema</artifactId>
<version>1.14.0</version>
</dependency>
- <dependency>
- <groupId>org.codehaus.httpcache4j.uribuilder</groupId>
- <artifactId>uribuilder</artifactId>
- <version>2.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.5.13</version>
- </dependency>
</dependencies>
<build>
<plugins>
package org.onap.ccsdk.oran.a1policymanagementservice.clients;
import java.lang.invoke.MethodHandles;
+import java.net.URI;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Set;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import org.apache.http.client.utils.URIBuilder;
/**
* Client for accessing OSC A1 REST API
*/
/**
* /a1-p/policytypes/{policy_type_id}/policies/{policy_instance_id}
*/
- private String createPolicyUri(String type, String id, String notificationDestination) {
- String url = "";
- URIBuilder ub = null;
- try {
- ub = new URIBuilder(createPolicyTypeUri(type) + "/policies/" + id);
- if(notificationDestination != null) {
- ub.addParameter("notificationDestination", notificationDestination);
- }
- url = ub.toString();
- }
- catch(Exception e) {
- String exceptionString = e.toString();
- logger.error("Unexpected error in policy URI creation for policy type: {}, exception: {}", type, exceptionString);
- }
- return url;
- }
+ private String createPolicyUri(String type, String id, String notificationDestination) {
+ try {
+ String baseUrl = createPolicyTypeUri(type);
+ String url = baseUrl + "/policies/" + id;
+ if (notificationDestination != null) {
+ url += "?notificationDestination=" +
+ URLEncoder.encode(notificationDestination, StandardCharsets.UTF_8.toString());
+ }
+ return new URI(url).toString();
+ } catch (Exception e) {
+ String exceptionString = e.getMessage();
+ logger.error("Unexpected error in policy URI creation for policy type: {}, exception: {}", type,
+ exceptionString);
+ return "";
+ }
+ }
/**
* /a1-p/policytypes/{policy_type_id}