From 6e0ba7a873d1a3d16ea228ff4fbbe8b1f2c80b8b Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 14:55:20 +0200 Subject: [PATCH 1/8] Add javadocs. Signed-off-by: Ljupcho Palashevski --- .../odpi/openmetadata/server/OMAGServer.java | 38 +++++++++++++++++-- .../AvailabilityProbesAutoConfiguration.java | 3 ++ .../server/config/InitializingBeanConfig.java | 3 ++ .../config/ObjectMapperConfiguration.java | 3 ++ .../server/config/package-info.java | 7 ++++ .../openmetadata/server/package-info.java | 7 ++++ 6 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java create mode 100644 open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java index 6bc313407c3..e1a1a727863 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java @@ -30,10 +30,12 @@ import java.nio.file.Path; import java.util.List; +/** + * OMAGServer provides the main program for the OMAG Server spring-boot based starter application. + */ @SpringBootApplication( scanBasePackages = {"org.odpi.openmetadata"} ) -//TODO: ADD JAVADOCS!!! public class OMAGServer { private static final Logger LOG = LoggerFactory.getLogger(OMAGServer.class); @@ -50,7 +52,10 @@ public class OMAGServer { private String serverName = null; private OMAGServerConfig serverConfig = null; - + /** + * Default constructor. + * Creates instance of OMAG operational services. + */ public OMAGServer() { this.operationalServices = new OMAGServerOperationalServices(); } @@ -67,23 +72,38 @@ public void onApplicationEvent(ApplicationEvent applicationEvent) { .sources(OMAGServer.class).run(args); } - + /** + * Handling Spring Boot ApplicationReadyEvent + */ @EventListener(ApplicationReadyEvent.class) private void onApplicationReadyEvent() { LOG.info("{} is accepting traffic.", serverName); } + /** + * Handling Spring Boot ApplicationStartedEvent + * This handler calls the method for OMAGServerConfig loading. + * + * @link loadServerConfig + */ @EventListener(ApplicationStartedEvent.class) private void onApplicationStartedEvent() throws Exception { LOG.debug("Application started."); loadServerConfig(); } + /** + * Handling Spring Boot ApplicationFailedEvent + */ @EventListener(ApplicationFailedEvent.class) private void onApplicationFailedEvent() { LOG.debug("Application failed."); } + /** + * Handling Spring Boot ContextClosedEvent + * This handler provides a way to hook to the standard Spring Boot application shut-down event and call OMAG operational services to deactivate the OMAG server instance. + */ @EventListener(ContextClosedEvent.class) private void onContextClosedEvent() { LOG.debug("Application stopped."); @@ -94,6 +114,10 @@ private void onContextClosedEvent() { } } + /** + * This method activates single OMAGServer instance with supplied OMAGServerConfig document. + * Depending on the outcome of activation call, it will change the application availability state. + */ private void activateOMAGServerUsingPlatformServices() { LOG.info("Activation started for {}", serverName); @@ -139,6 +163,10 @@ private void activateOMAGServerUsingPlatformServices() { } + /** + * This method loads the OMAGServerConfig document from location provided by 'omag.server.config' application property defined as spring Resource. + * @see org.springframework.core.io.Resource + */ private void loadServerConfig() { @@ -165,6 +193,10 @@ private void loadServerConfig() { } } + /** + * Application Runner implementation class. + * The purpose of this class is to provide a standard way to run the OMAG server activation task, separate from the main application tread. + */ @Component public class OMAGServerStartup implements ApplicationRunner { @Override diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java index 19bdd20817c..2da039f6d5a 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java @@ -14,6 +14,9 @@ import org.springframework.context.annotation.Configuration; +/** + * This class provides configuration for Application Availability support components. + */ @Configuration(proxyBeanMethods = false) @AutoConfigureAfter(ApplicationAvailabilityAutoConfiguration.class) public class AvailabilityProbesAutoConfiguration { diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java index 65d6016a671..624ec6361fb 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java @@ -11,6 +11,9 @@ import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; +/** + * This class provides configuration bean for customizing the SSL environment used by java.net.ssl and Tomcat server ssl. + */ @Configuration public class InitializingBeanConfig { public static final String PREFIX = "SSL configuration started"; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java index d8d74e364bc..ee086c25111 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java @@ -16,6 +16,9 @@ import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL; +/** + * This class provides configuration bean for customizing Jackson object mapper singleton instance configuration. + */ @Configuration public class ObjectMapperConfiguration { public static final String PREFIX = "Object mapper configuration started."; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java new file mode 100644 index 00000000000..5c086b97ed2 --- /dev/null +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: Apache-2.0 */ +/* Copyright Contributors to the ODPi Egeria project. */ + +/** + * This package contains classes relevant for spring configuration bootstrapping. + */ +package org.odpi.openmetadata.server.config; \ No newline at end of file diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java new file mode 100644 index 00000000000..8343580c9a8 --- /dev/null +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: Apache-2.0 */ +/* Copyright Contributors to the ODPi Egeria project. */ + +/** + * This package contains classes relevant for OMAG server spring boot based starter application. + */ +package org.odpi.openmetadata.server; \ No newline at end of file From 73d280ef2bd7da8adc91f08016f34eadb031e92d Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:15:26 +0200 Subject: [PATCH 2/8] Change application package name Signed-off-by: Ljupcho Palashevski --- .../{server => serverchassis/springboot}/OMAGServer.java | 4 ++-- .../config/AvailabilityProbesAutoConfiguration.java | 2 +- .../springboot}/config/InitializingBeanConfig.java | 2 +- .../springboot}/config/ObjectMapperConfiguration.java | 2 +- .../springboot}/config/package-info.java | 2 +- .../{server => serverchassis/springboot}/package-info.java | 2 +- .../java/org/odpi/openmetadata/server/OMAGServerTests.java | 2 +- .../openmetadata/server/actuator/ActuatorEndpointsTest.java | 3 +-- .../server/config/ObjectMapperConfigurationTest.java | 1 + 9 files changed, 10 insertions(+), 10 deletions(-) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/OMAGServer.java (98%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/config/AvailabilityProbesAutoConfiguration.java (96%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/config/InitializingBeanConfig.java (98%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/config/ObjectMapperConfiguration.java (96%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/config/package-info.java (75%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/{server => serverchassis/springboot}/package-info.java (78%) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java similarity index 98% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java index e1a1a727863..988dd8e1125 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/OMAGServer.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server; +package org.odpi.openmetadata.serverchassis.springboot; import com.fasterxml.jackson.databind.ObjectMapper; import org.odpi.openmetadata.adminservices.configuration.properties.OMAGServerConfig; @@ -182,7 +182,7 @@ private void loadServerConfig() { LOG.trace("Configuration from path: {} is being parsed.", Files.readString(Path.of(omagServerConfigLocation.getFile().getPath()))); serverConfig = objectMapper.reader().readValue(omagServerConfigLocation.getFile(), OMAGServerConfig.class); serverName = serverConfig.getLocalServerName(); - LOG.info("Configuration loading from document for OMAG server {} succeded", serverName); + LOG.info("Configuration loading from document for OMAG server {} succeeded", serverName); } catch (IOException e) { LOG.error("Failed loading OMAG server configuration with exception message : {}", e.getMessage()); diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/AvailabilityProbesAutoConfiguration.java similarity index 96% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/AvailabilityProbesAutoConfiguration.java index 2da039f6d5a..0ec27300d03 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/AvailabilityProbesAutoConfiguration.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/AvailabilityProbesAutoConfiguration.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server.config; +package org.odpi.openmetadata.serverchassis.springboot.config; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.availability.LivenessStateHealthIndicator; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java similarity index 98% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java index 624ec6361fb..973dab3b14e 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/InitializingBeanConfig.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server.config; +package org.odpi.openmetadata.serverchassis.springboot.config; import org.odpi.openmetadata.http.HttpHelper; import org.slf4j.Logger; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfiguration.java similarity index 96% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfiguration.java index ee086c25111..b3856550b07 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/ObjectMapperConfiguration.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfiguration.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server.config; +package org.odpi.openmetadata.serverchassis.springboot.config; import com.fasterxml.jackson.databind.DeserializationFeature; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/package-info.java similarity index 75% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/package-info.java index 5c086b97ed2..951a12e2630 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/config/package-info.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/package-info.java @@ -4,4 +4,4 @@ /** * This package contains classes relevant for spring configuration bootstrapping. */ -package org.odpi.openmetadata.server.config; \ No newline at end of file +package org.odpi.openmetadata.serverchassis.springboot.config; \ No newline at end of file diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/package-info.java similarity index 78% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/package-info.java index 8343580c9a8..e93e81eea36 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/server/package-info.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/package-info.java @@ -4,4 +4,4 @@ /** * This package contains classes relevant for OMAG server spring boot based starter application. */ -package org.odpi.openmetadata.server; \ No newline at end of file +package org.odpi.openmetadata.serverchassis.springboot; \ No newline at end of file diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java index b5be0da3d44..da561acc89f 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; -import org.odpi.openmetadata.server.config.InitializingBeanConfig; +import org.odpi.openmetadata.serverchassis.springboot.config.InitializingBeanConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.test.context.SpringBootTest; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java index 88138eebb82..9b93a7d3b08 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java @@ -9,7 +9,7 @@ import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -import org.odpi.openmetadata.server.OMAGServer; +import org.odpi.openmetadata.serverchassis.springboot.OMAGServer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalManagementPort; @@ -19,7 +19,6 @@ import org.springframework.http.HttpStatusCode; import org.springframework.http.ResponseEntity; import org.springframework.test.context.TestPropertySource; -import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.client.HttpClientErrorException; import static org.junit.jupiter.api.Assertions.*; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java index 44b7daf0cbe..0b5cacbf2e0 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.odpi.openmetadata.serverchassis.springboot.config.ObjectMapperConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.test.context.ContextConfiguration; From 8f9e001fd40ed83a0c3f69f5e05c8e4c5b834b60 Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:21:06 +0200 Subject: [PATCH 3/8] remove extra logging configuration Signed-off-by: Ljupcho Palashevski --- .../src/main/resources/application.properties | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties index 8eb601a43fa..2891af27c36 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties @@ -52,23 +52,9 @@ spring.output.ansi.enabled=always ################################################ # LOGGING ################################################ -logging.level.root=debug -#logging.level.org.odpi.openmetadata=info +logging.level.root=error logging.level.org.odpi.openmetadata.frameworks.auditlog=INFO -logging.level.org.odpi.openmetadata.repositoryservices=INFO - -logging.level.org.odpi.openmetadata.server=debug -logging.level.org.springframework.web=error - -logging.file.path=/var/logs -logging.file.name=egeria.log -logging.level.*=INFO - -logging.level.org.springframework=info -#logging.level.org.odpi.openmetadata.commonservices=DEBUG -#logging.level.org.odpi.openmetadata.accessservices.subjectarea.handlers=DEBUG -logging.level.org.springframework.boot.web.embedded.tomcat=INFO -logging.level.org.odpi.openmetadata.serverchassis.springboot=INFO +logging.level.org.odpi.openmetadata.serverchassis.springboot=debug security.basic.enable: false From 1c8519b39846b8cd53c7a0bf7c34b21346f50c46 Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:27:25 +0200 Subject: [PATCH 4/8] New package name for tests Signed-off-by: Ljupcho Palashevski --- .../{server => serverchassis/springboot}/OMAGServerTests.java | 2 +- .../springboot}/actuator/ActuatorEndpointsTest.java | 2 +- .../springboot}/config/ObjectMapperConfigurationTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/{server => serverchassis/springboot}/OMAGServerTests.java (93%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/{server => serverchassis/springboot}/actuator/ActuatorEndpointsTest.java (98%) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/{server => serverchassis/springboot}/config/ObjectMapperConfigurationTest.java (97%) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java similarity index 93% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java index da561acc89f..9cfe83e1c7f 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/OMAGServerTests.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server; +package org.odpi.openmetadata.serverchassis.springboot; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/actuator/ActuatorEndpointsTest.java similarity index 98% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/actuator/ActuatorEndpointsTest.java index 9b93a7d3b08..6a9ee27787b 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/actuator/ActuatorEndpointsTest.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/actuator/ActuatorEndpointsTest.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server.actuator; +package org.odpi.openmetadata.serverchassis.springboot.actuator; import org.json.JSONArray; import org.json.JSONException; diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfigurationTest.java similarity index 97% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfigurationTest.java index 0b5cacbf2e0..c02b0af6306 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/server/config/ObjectMapperConfigurationTest.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/config/ObjectMapperConfigurationTest.java @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: Apache-2.0 */ /* Copyright Contributors to the ODPi Egeria project. */ -package org.odpi.openmetadata.server.config; +package org.odpi.openmetadata.serverchassis.springboot.config; import com.fasterxml.jackson.databind.DeserializationFeature; From 5164973bcfee6607830fc70563aca2ae7d1e24a2 Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:32:02 +0200 Subject: [PATCH 5/8] Module status Signed-off-by: Ljupcho Palashevski --- .../server-chassis/server-chassis-spring/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/README.md b/open-metadata-implementation/server-chassis/server-chassis-spring/README.md index 804f4d78f67..ca51d63876a 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/README.md +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/README.md @@ -3,8 +3,7 @@ # OMAG Server Chassis Spring -### This module is IN DEVELOPMENT -[More about content status](https://egeria-project.org/release-notes/content-status/) +![egeria-content-status-in-development.png](..%2F..%2F..%2Fimages%2Fegeria-content-status-in-development.png) This module is providing OMAG server chassis spring-boot based application that is able to launch single pre-configured OMAG server instance. From 77cd47c1e7ee7fb1fdea2710de026a6e07e642fd Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:52:16 +0200 Subject: [PATCH 6/8] cleanup application properties Signed-off-by: Ljupcho Palashevski --- .../serverchassis/springboot/OMAGServer.java | 8 +- .../src/main/resources/application.properties | 157 +----------------- 2 files changed, 7 insertions(+), 158 deletions(-) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java index 988dd8e1125..1d33e6cc4ad 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServer.java @@ -41,8 +41,8 @@ public class OMAGServer { private static final Logger LOG = LoggerFactory.getLogger(OMAGServer.class); private final OMAGServerOperationalServices operationalServices; - @Value("${startup.user:system}") - String sysUser; + @Value("${omag.server.user:system}") + String omagServerUser; @Value("${omag.server.config}") Resource omagServerConfigLocation; @@ -110,7 +110,7 @@ private void onContextClosedEvent() { if (serverName != null) { LOG.info("Application stopped, deactivating server {}", serverName); - operationalServices.deactivateTemporarilyServerList(sysUser, List.of(serverName)); + operationalServices.deactivateTemporarilyServerList(omagServerUser, List.of(serverName)); } } @@ -134,7 +134,7 @@ private void activateOMAGServerUsingPlatformServices() { LOG.info("Activation started, request sent for server {}", serverName); SuccessMessageResponse response = operationalServices - .activateWithSuppliedConfig(sysUser.trim(), serverConfig.getLocalServerName(), serverConfig); + .activateWithSuppliedConfig(omagServerUser.trim(), serverConfig.getLocalServerName(), serverConfig); if (response == null) { LOG.info("Activation has failed. The cause is that response is null."); diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties index 2891af27c36..439247d633b 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/application.properties @@ -1,164 +1,13 @@ # SPDX-License-Identifier: Apache-2.0 # Copyright Contributors to the ODPi Egeria project. -debug=false - -# EMBEDDED SERVER CONFIGURATION (ServerProperties) server.port=9443 omag.server.config=classpath:metadata-access-server.json -#server.address= # bind to a specific NIC -#server.session-timeout= # session timeout in seconds -#server.context-path=/gizmo # the context path, defaults to '/' -#spring.webflux.base-path=/webflux -#server.servlet-path= # the servlet path, defaults to '/' -#server.tomcat.access-log-pattern= # log pattern of the access log -#server.tomcat.access-log-enabled=false # is access logging enabled -#server.tomcat.protocol-header=x-forwarded-proto # ssl forward headers -#server.tomcat.remote-ip-header=x-forwarded-for -#server.tomcat.basedir=/tmp # base dir (usually not needed, defaults to tmp) -#server.tomcat.background-processor-delay=30 # in seconds -#server.tomcat.max-threads = 0 # number of threads in protocol handler -#server.tomcat.uri-encoding = UTF-8 - - -#server.ssl.enabled=false - - - -################################################ -### startup servers configuration -################################################ scan.packages=com.org.odpi.openmetadata.* -#userId used to startup the list of configured servers default is 'system' -startup.user=system -# Comma separated names of servers to be started -startup.server.list= -# Comma separated values of http headers to be added to ThreadLocal -header.name.list= - -################################################ -# PROFILES -################################################ -spring.profiles.active=local,mutual - -################################################ -# APPLICATION SETTINGS (SpringApplication) -################################################ -#spring.main.sources= -spring.banner.location=classpath:banner.txt -spring.output.ansi.enabled=always -#spring.main....= # see class for all properties +logging.level.org.odpi.openmetadata.frameworks.auditlog=info +logging.level.org.odpi.openmetadata.serverchassis.springboot=info -################################################ -# LOGGING -################################################ -logging.level.root=error -logging.level.org.odpi.openmetadata.frameworks.auditlog=INFO -logging.level.org.odpi.openmetadata.serverchassis.springboot=debug - - -security.basic.enable: false -security.ignored=/** - -# OPEN_API -#springdoc.packagesToScan=package1, package2 -#springdoc.pathsToMatch=/v1, /api/balance/** - -################################################ -### Swagger Docs -################################################ -springdoc.version='@springdoc.version@' -springdoc.api-docs.enabled=true -springdoc.api-docs.path=/v3/api-docs -springdoc.swagger-ui.path=/swagger-ui.html -springdoc.swagger-ui.displayRequestDuration=true -springdoc.swagger-ui.tagsSorter=alpha -springdoc.swagger-ui.operationsSorter=alpha -springdoc.swagger-ui.docExpansion=none - -# ---------------------------------------- -# ACTUATOR PROPERTIES -# ---------------------------------------- - -# MANAGEMENT HTTP SERVER (ManagementServerProperties) management.server.port=8001 -springdoc.use-management-port=true -management.server.base-path=/observability - -management.server.ssl.enabled=false - -management.endpoints.enabled-by-default=true -#management.endpoints.web.path-mapping.health=egeria.chasis.health # if health endpoint would be customized -management.add-application-context-header=true - -#management.endpoint.info.enabled=true - -#management.endpoints.web.exposure.include= health, openapi, swaggerui -#management.endpoints.web.base-path=/myapp - -### BLACKLISTING -#management.endpoints.web.exposure.include=* -#management.endpoints.web.exposure.exclude=threaddump - -### WHITELISTING management.endpoints.web.exposure.include=metrics,health,probes -management.endpoint.health.show-details=always -management.endpoints.health.probes.enabled=true - management.endpoints.web.discovery.enabled=true - -management.endpoint.health.group.custom.show-components=always -management.endpoint.health.group.custom.show-details=always -management.endpoint.health.group.custom.include=diskSpace,ping - -management.health.cassandra.enabled=false - -#management.endpoints.jmx.exposure.include=health,info -#management.endpoints.web.exposure.exclude=env,beans - -# ENDPOINTS (AbstractEndpoint subclasses) -#endpoints.autoconfig.id=autoconfig -#endpoints.autoconfig.sensitive=true -#endpoints.autoconfig.enabled=true -#endpoints.beans.id=beans -#endpoints.beans.sensitive=true -#endpoints.beans.enabled=true -#endpoints.configprops.id=configprops -#endpoints.configprops.sensitive=true -#endpoints.configprops.enabled=true -#endpoints.configprops.keys-to-sanitize=password,secret -#endpoints.dump.id=dump -#endpoints.dump.sensitive=true -#endpoints.dump.enabled=true -#endpoints.env.id=env -#endpoints.env.sensitive=true -#endpoints.env.enabled=true -#endpoints.health.id=health -#endpoints.health.sensitive=false -#endpoints.health.enabled=true -#endpoints.info.id=info -#endpoints.info.sensitive=false -#endpoints.info.enabled=true -#endpoints.metrics.id=metrics -#endpoints.metrics.sensitive=true -#endpoints.metrics.enabled=true -#endpoints.shutdown.id=shutdown -#endpoints.shutdown.sensitive=true -#endpoints.shutdown.enabled=false -#endpoints.trace.id=trace -#endpoints.trace.sensitive=true -#endpoints.trace.enabled=true - -# For Exemplars to work we need histogram buckets -management.metrics.distribution.percentiles-histogram.http.server.requests=true - -################################################ -### Problem details -################################################ -spring.mvc.problemdetails.enabled=true - -################################################ -### Instancio -################################################ -implementation 'org.instancio:instancio-core:2.7.0' -testImplementation 'org.instancio:instancio-junit:2.16.0' \ No newline at end of file +management.endpoint.health.show-details=always From 26c31571496e2eed1ee5c8d6f7460486b118d823 Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 16:55:40 +0200 Subject: [PATCH 7/8] typo Signed-off-by: Ljupcho Palashevski --- .../server-chassis/server-chassis-spring/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/README.md b/open-metadata-implementation/server-chassis/server-chassis-spring/README.md index ca51d63876a..c061d1e4e33 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/README.md +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/README.md @@ -18,7 +18,7 @@ To build current module from the project home folder execute following Gradle co To start the OMAG Server application manually using java from the project home, execute following bash command: ```bash -# Go to project home folder' +# Go to project home folder cd ../../../ # Execute java using -jar parameter starting the bootJar package and --omag.server.config setting the location of the OMAG server configuration file java -jar open-metadata-implementation/server-chassis/server-chassis-spring/build/libs/server-chassis-spring-*-SNAPSHOT.jar --omag.server.config=file:open-metadata-implementation/server-chassis/server-chassis-spring/src/main/resources/metadata-repository-server.json @@ -27,4 +27,4 @@ Alternately, for development purpose in IDE such as IntelliJ you can use default ### Application Properties -`omag.server.config` - The OMAG server configuration JSON file location. Notice the 'file:' prefix. With this, spring-boot loads the resource form a file on a given path on the filesystem. +`omag.server.config` - The OMAG server configuration JSON file location. Notice the 'file:' prefix. With this, spring-boot loads the resource from a file on a given path on the filesystem. From 9b1f24d2ddcbf4492b6caa77d49c6f0f0bda1875 Mon Sep 17 00:00:00 2001 From: Ljupcho Palashevski Date: Tue, 18 Jul 2023 17:01:17 +0200 Subject: [PATCH 8/8] Rename configuration class Signed-off-by: Ljupcho Palashevski --- ...zingBeanConfig.java => SSLEnvironmentConfiguration.java} | 4 ++-- .../serverchassis/springboot/OMAGServerTests.java | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) rename open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/{InitializingBeanConfig.java => SSLEnvironmentConfiguration.java} (96%) diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/SSLEnvironmentConfiguration.java similarity index 96% rename from open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java rename to open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/SSLEnvironmentConfiguration.java index 973dab3b14e..a56317bac45 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/InitializingBeanConfig.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/main/java/org/odpi/openmetadata/serverchassis/springboot/config/SSLEnvironmentConfiguration.java @@ -15,7 +15,7 @@ * This class provides configuration bean for customizing the SSL environment used by java.net.ssl and Tomcat server ssl. */ @Configuration -public class InitializingBeanConfig { +public class SSLEnvironmentConfiguration { public static final String PREFIX = "SSL configuration started"; private final Logger log = LoggerFactory.getLogger(this.getClass()); @@ -34,7 +34,7 @@ public class InitializingBeanConfig { @Value("${server.ssl.enabled:true}") Boolean serverSSL; - public InitializingBeanConfig(Environment env) { + public SSLEnvironmentConfiguration(Environment env) { this.env = env; } diff --git a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java index 9cfe83e1c7f..cb02a6f1a80 100644 --- a/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java +++ b/open-metadata-implementation/server-chassis/server-chassis-spring/src/test/java/org/odpi/openmetadata/serverchassis/springboot/OMAGServerTests.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; -import org.odpi.openmetadata.serverchassis.springboot.config.InitializingBeanConfig; +import org.odpi.openmetadata.serverchassis.springboot.config.SSLEnvironmentConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.test.context.SpringBootTest; @@ -12,14 +12,14 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; @SpringBootTest -@AutoConfigureAfter(InitializingBeanConfig.class) +@AutoConfigureAfter(SSLEnvironmentConfiguration.class) class OMAGServerTests { @Autowired ObjectMapper objectMapper; @Autowired - InitializingBeanConfig initializingBeanConfig; + SSLEnvironmentConfiguration initializingBeanConfig; @Test void contextLoads() {