aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java9
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/config/SpringDocBean.java50
2 files changed, 53 insertions, 6 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java b/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
index edb6ff6d..cfa5c027 100644
--- a/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
+++ b/main/src/main/java/org/onap/policy/pap/main/PolicyPapApplication.java
@@ -22,15 +22,14 @@ package org.onap.policy.pap.main;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import com.google.gson.JsonParser;
-import com.google.gson.JsonSerializer;
+import java.time.Instant;
import org.onap.policy.common.gson.GsonMessageBodyHandler;
+import org.onap.policy.common.gson.InstantTypeAdapter;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
-import springfox.documentation.spring.web.json.Json;
@SpringBootApplication(exclude = {JacksonAutoConfiguration.class})
@EntityScan(
@@ -50,9 +49,7 @@ public class PolicyPapApplication {
@Bean
public Gson gson() {
GsonBuilder gsonBuilder = GsonMessageBodyHandler.configBuilder(new GsonBuilder());
- JsonSerializer<Json> serializer =
- (json, type, jsonSerializationContext) -> JsonParser.parseString(json.value());
- gsonBuilder.registerTypeAdapter(Json.class, serializer);
+ gsonBuilder.registerTypeAdapter(Instant.class, new InstantTypeAdapter());
return gsonBuilder.create();
}
}
diff --git a/main/src/main/java/org/onap/policy/pap/main/config/SpringDocBean.java b/main/src/main/java/org/onap/policy/pap/main/config/SpringDocBean.java
new file mode 100644
index 00000000..ab3dcf49
--- /dev/null
+++ b/main/src/main/java/org/onap/policy/pap/main/config/SpringDocBean.java
@@ -0,0 +1,50 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2021-2022 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.pap.main.config;
+
+import io.swagger.v3.oas.models.ExternalDocumentation;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Info;
+import io.swagger.v3.oas.models.info.License;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SpringDocBean {
+
+ /**
+ * Bean to configure Springdoc.
+ *
+ * @return the OpenAPI specification
+ */
+ @Bean
+ public OpenAPI policyFrameworkLifecycleOpenApi() {
+ return new OpenAPI()
+ .info(new Info().title("Policy Framework Policy Administration (PAP)")
+ .description(
+ "The Policy Framework Policy Administration (PAP) allows"
+ + " Policies to be grouped, deployed, and monitored")
+ .license(new License().name("Apache 2.0").url("http://www.apache.org/licenses/LICENSE-2.0")))
+ .externalDocs(new ExternalDocumentation()
+ .description("Policy Framework Documentation")
+ .url("https://docs.onap.org/projects/onap-policy-parent/en/latest"));
+ }
+}