diff --git a/Dockerfile b/Dockerfile index 24221c8..d9ed53c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -FROM icr.io/appcafe/open-liberty:kernel-slim-java17-openj9-ubi - +#FROM icr.io/appcafe/open-liberty:kernel-slim-java11-openj9-ubi +FROM icr.io/appcafe/open-liberty:full-java11-openj9-ubi ARG VERSION=1.0 ARG REVISION=SNAPSHOT @@ -17,6 +17,6 @@ LABEL \ description="This image contains the system microservice running with the Open Liberty runtime." COPY --chown=1001:0 src/main/liberty/config/ /config/ -RUN features.sh +#RUN features.sh COPY --chown=1001:0 target/*.war /config/apps/ RUN configure.sh diff --git a/pom.xml b/pom.xml index c9e5f25..a1783b0 100755 --- a/pom.xml +++ b/pom.xml @@ -15,8 +15,8 @@ UTF-8 UTF-8 - 9080 - 9443 + 9080 + 9443 @@ -30,7 +30,7 @@ org.eclipse.microprofile microprofile - 6.0 + 7.1 pom provided @@ -38,19 +38,19 @@ org.junit.jupiter junit-jupiter - 5.9.2 + 5.14.0 test org.jboss.resteasy resteasy-client - 6.2.3.Final + 6.2.14.Final test org.jboss.resteasy resteasy-json-binding-provider - 6.2.3.Final + 6.2.14.Final test @@ -68,26 +68,26 @@ io.openliberty.tools liberty-maven-plugin - 3.8.2 + 3.5.2 org.apache.maven.plugins maven-war-plugin - 3.3.2 + 3.5.0 org.apache.maven.plugins maven-surefire-plugin - 3.0.0 + 3.5.4 org.apache.maven.plugins maven-failsafe-plugin - 3.0.0 + 3.5.4 - ${liberty.var.default.http.port} + ${liberty.var.http.port} /dev diff --git a/target/classes/io/openliberty/sample/system/SystemApplication.class b/target/classes/io/openliberty/sample/system/SystemApplication.class new file mode 100644 index 0000000..245513f Binary files /dev/null and b/target/classes/io/openliberty/sample/system/SystemApplication.class differ diff --git a/target/classes/io/openliberty/sample/system/SystemLivenessCheck.class b/target/classes/io/openliberty/sample/system/SystemLivenessCheck.class new file mode 100644 index 0000000..3b426b2 Binary files /dev/null and b/target/classes/io/openliberty/sample/system/SystemLivenessCheck.class differ diff --git a/target/classes/io/openliberty/sample/system/SystemReadinessCheck.class b/target/classes/io/openliberty/sample/system/SystemReadinessCheck.class new file mode 100644 index 0000000..69b640d Binary files /dev/null and b/target/classes/io/openliberty/sample/system/SystemReadinessCheck.class differ diff --git a/target/classes/io/openliberty/sample/system/SystemResource.class b/target/classes/io/openliberty/sample/system/SystemResource.class new file mode 100644 index 0000000..5ee5153 Binary files /dev/null and b/target/classes/io/openliberty/sample/system/SystemResource.class differ diff --git a/target/guide-getting-started.war b/target/guide-getting-started.war new file mode 100644 index 0000000..6214ccd Binary files /dev/null and b/target/guide-getting-started.war differ diff --git a/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemApplication.class b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemApplication.class new file mode 100644 index 0000000..245513f Binary files /dev/null and b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemApplication.class differ diff --git a/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemLivenessCheck.class b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemLivenessCheck.class new file mode 100644 index 0000000..3b426b2 Binary files /dev/null and b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemLivenessCheck.class differ diff --git a/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemReadinessCheck.class b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemReadinessCheck.class new file mode 100644 index 0000000..69b640d Binary files /dev/null and b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemReadinessCheck.class differ diff --git a/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemResource.class b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemResource.class new file mode 100644 index 0000000..5ee5153 Binary files /dev/null and b/target/guide-getting-started/WEB-INF/classes/io/openliberty/sample/system/SystemResource.class differ diff --git a/target/guide-getting-started/WEB-INF/web.xml b/target/guide-getting-started/WEB-INF/web.xml new file mode 100755 index 0000000..a3823f1 --- /dev/null +++ b/target/guide-getting-started/WEB-INF/web.xml @@ -0,0 +1,10 @@ + + + Liberty Project + + + index.html + + \ No newline at end of file diff --git a/target/guide-getting-started/css/main.css b/target/guide-getting-started/css/main.css new file mode 100644 index 0000000..b6ca1be --- /dev/null +++ b/target/guide-getting-started/css/main.css @@ -0,0 +1,424 @@ +/******************************************************************************* +* Copyright (c) 2018, 2024 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*******************************************************************************/ +@font-face { + font-family: BunueloLight; + src: url("/fonts/BunueloCleanPro-Light.otf"); +} + +@font-face { + font-family: BunueloSemiBold; + src: url("/fonts/BunueloCleanPro-SemiBold.otf"); +} + +body { + font-family: BunueloSemiBold; + font-size: 16px; + color: #24243b; + background-color: white; + margin: 0px; +} + +section { + padding-top: 55px; + padding-left: 8%; + padding-right: 8%; + /* font-weight: 400; */ + letter-spacing: 0; + text-align: left; +} + +.line { + margin-right: 200px; + height: 1px; + background-color: #C8D3D3; +} + +.headerImage { + background-image: url("/img/header_ufo.png"); + background-repeat: no-repeat; + background-position: top 20px right 15px; + height: 103px; + margin-top: -94px; +} + +#whereTo { + padding-bottom: 80px; + width: 50%; +} + +p { + line-height: 22px; + margin-top: 0px; +} +h1 { + font-family: BunueloSemiBold; + font-size: 40px; + font-weight: 400; + letter-spacing: 0; + text-align: left; +} +h2 { + font-size: 24px; + font-weight: 400; +} +h4 { + margin-top: 52px; +} +a { + text-decoration: none; +} + +#appIntro { + background-image: linear-gradient(#141427 0%, #2c2e50 100%); + background-size: 100% calc(100% - 70px); + background-repeat: no-repeat; +} + +#titleSection { + color: white; + margin-bottom: 80px; +} + +#appTitle { + font-family: BunueloLight; + font-size: 55px; +} + +.headerRow { + height: 100px; + position: relative; + z-index: 2; + box-shadow: 0 2px 4px 0 rgba(0,0,0,0.50); +} +.headerRow > div { + display: inline-block; +} + +.collapsibleRow { + transition: border 400ms ease-out, box-shadow 200ms linear; + cursor: pointer; +} +.collapsibleRow:hover .headerTitle { + background-color: #f4f4f4; + transition: background-color 0.1s; +} +.collapsed .collapsibleRow { + box-shadow: none; + border-bottom: 4px solid; +} +.collapsed#healthSection > .headerRow { + border-bottom-color: #D6D9E4; +} +.collapsed#configSection > .headerRow { + border-bottom-color: #F8D7C1; +} +.collapsed#metricsSection > .headerRow { + border-bottom-color: #EEF3C3; +} + +.collapsed .collapsibleContent { /* collapsing animation */ + transition: all 400ms ease-out, opacity 300ms ease-in; +} +.expanded .collapsibleContent { /* expanding animation */ + transition: all 400ms ease-out, opacity 450ms ease-out; +} +.collapsed .collapsibleContent { + opacity: 0; + max-height: 0; + visibility: hidden; +} +.expanded .collapsibleContent { + opacity: 1; + max-height: 1000px; + visibility: visible; +} + +.headerIcon { + width: 160px; + height: 100%; + float: left; + background-color: #E8EAEF; +} +.headerIcon img { + display: Block; + margin:auto; + margin-top: 20px; +} + +#healthSection .headerIcon { + background-color: #E8EAEF; +} +#configSection .headerIcon { + background-color: #FDE4D1; +} +#metricsSection .headerIcon { + background-color: #F5F8DA; +} + +.headerTitle { + background-color: white; + color: #5d6a8e; + letter-spacing:0; + text-align:left; + padding-left: 40px; + padding-top: 10px; + width: calc(100% - 200px); /* 160 from icon, 40 from padding */ +} +#healthSection h2 { + color: #5D6A8E; +} +#configSection h2 { + color: #E57000; +} +#metricsSection h2 { + color: #4F6700; +} + +#sysPropTitle { + padding-top: 28px; +} + +.headerTitle > h2 { + font-family: BunueloLight; + font-size: 40px; + margin: 0; +} + +.caret { + position: absolute; + right: 45px; + top: 45px; +} + +.collapsed#configSection .caret { + background-image: url("../img/carets/caret_down_orange.svg") +} +.expanded#configSection .caret { + background-image: url("../img/carets/caret_up_orange.svg") +} + +.msSection { + background: white; + box-shadow: 0 2px 4px 0 rgba(63,70,89,0.31); +} + +.sectionContent { + margin-left: 160px; +} + +#systemPropertiesTable { + padding-left: 160px; + background: white; +} + +button { + border-radius: 100px; + height: 44px; + color: #24253a; + text-align: center; + font-family: BunueloSemiBold; + margin-top: 25px; + margin-bottom: 70px; + cursor: pointer; + border: none; +} + +button a { + text-decoration: none; + color: #F4914D; +} + +#guidesButton { + background-color: #abd155; + width: 269px; + font-weight: 500; + font-size: 16px; + transition: background-color .2s; +} +#guidesButton:hover { + background-color: #C7EE63; +} +#mpGuidesButton { + border: 2px solid #f4914d8c; + border-radius: 100px; + font-size: 20px; + letter-spacing: 0; + padding-left: 40px; + padding-right: 40px; + background-color: white; + transition: background-color .2s, color .2s; +} +#mpGuidesButton:hover { + background-color: #f4914d; + color: white; +} + +section#openLibertyAndMp { + background: #f4f4f5; + background-size: 100% calc(100% - 70px); + background-repeat: no-repeat; +} + +#healthBox { + text-align: left; + display: table-cell; + vertical-align: middle; + width: 47%; +} + +#healthBox > div { + display: table-cell; + vertical-align: middle; +} + +#healthIcon { + padding-left: 73px; + padding-top: 56px; + padding-bottom: 56px; +} +#healthStatusIcon { + width: 104px; + height: 104px; +} + +#healthText { + padding: 50px; +} + +#serviceStatus { + font-size: 50px; + font-family: BunueloLight; + margin-top: 30px; +} + +#healthNote { + text-align: left; + display: table-cell; + vertical-align: middle; + padding-left: 43px; + line-height: 26px; + width: 53%; +} + +table { + width: 100%; + font-size: 14px; + text-align: left; + border-collapse: collapse; +} + +th { + height: 63px; + padding-left: 41px; + font-size: 16px; +} +tr { + height: 45px; +} +td { + padding-left: 41px; +} +#systemPropertiesTable tr:first-child { + background: #D6D9E4; +} +#configTable tr:first-child { + background: #F8D7C1;; +} +#metricsTable tr:first-child { + background: #EEF3C3; +} + +#systemPropertiesTable tr:nth-child(2n+3) { + background: #EEEFF3; +} +#configTable tr:nth-child(2n+2) { + background: #FEF8F4; +} +#metricsTable tr:nth-child(2n+2) { + background: #FBFCEE; +} + +#systemPropertiesTable .sourceRow, +#healthTable .sourceRow { + border-top: 4px solid #D6D9E4; +} +#systemPropertiesTable .sourceRow a, +#healthTable .sourceRow a { + color: #5D6A8E; +} +#configTable .sourceRow { + border-top: 4px solid #F8D7C1; +} +#configTable .sourceRow a { + color: #E57000; +} +#metricsTable .sourceRow { + border-top: 4px solid #EEF3C3; +} +#metricsTable .sourceRow a { + color: #4F6700; +} +.sourceRow a { + font-weight: 500; +} + +#learnMore { + margin-top: 120px; + padding: 0px 200px 100px; +} + +#learnMore > h2 { + color: #5e6b8d; +} + +.bodyFooter { + padding: 5px 8%; + background-image: url("/img/footer_main.png"); + background-repeat: no-repeat; + background-position: top 20px right 110px; + margin-bottom: 40px; + margin-top: 50px; + color: #3F4659; +} + +.bodyFooterLink { + font-family: BunueloSemiBold; + font-weight: 300; + font-size: 14px; + letter-spacing: 0; + border-bottom: solid 1px #C8D3D3; + margin-top: 30px; + margin-right: 130px; + padding-bottom: 5px; + padding-right: 50px; + text-align: right; +} + +.bodyFooterLink > a { + text-decoration: none; + padding: 10px; + color: #96bc32; +} + +#licenseLink { + color: #5E6B8D; + text-align: left; +} + +#footer_text { + margin-top: 4px; + margin-bottom: 4px; + font-size: 16px; +} + +#footer_copyright { + font-size: 11px; +} diff --git a/target/guide-getting-started/favicon.ico b/target/guide-getting-started/favicon.ico new file mode 100644 index 0000000..c8652f3 Binary files /dev/null and b/target/guide-getting-started/favicon.ico differ diff --git a/target/guide-getting-started/fonts/BunueloCleanPro-Light.otf b/target/guide-getting-started/fonts/BunueloCleanPro-Light.otf new file mode 100644 index 0000000..bcb8cfb Binary files /dev/null and b/target/guide-getting-started/fonts/BunueloCleanPro-Light.otf differ diff --git a/target/guide-getting-started/fonts/BunueloCleanPro-SemiBold.otf b/target/guide-getting-started/fonts/BunueloCleanPro-SemiBold.otf new file mode 100644 index 0000000..6d85daf Binary files /dev/null and b/target/guide-getting-started/fonts/BunueloCleanPro-SemiBold.otf differ diff --git a/target/guide-getting-started/img/carets/caret_down_blue.svg b/target/guide-getting-started/img/carets/caret_down_blue.svg new file mode 100644 index 0000000..ba417e0 --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_down_blue.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/carets/caret_down_green.svg b/target/guide-getting-started/img/carets/caret_down_green.svg new file mode 100644 index 0000000..22dd446 --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_down_green.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/carets/caret_down_orange.svg b/target/guide-getting-started/img/carets/caret_down_orange.svg new file mode 100644 index 0000000..33d588a --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_down_orange.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/carets/caret_up_blue.svg b/target/guide-getting-started/img/carets/caret_up_blue.svg new file mode 100644 index 0000000..b1346d6 --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_up_blue.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/carets/caret_up_green.svg b/target/guide-getting-started/img/carets/caret_up_green.svg new file mode 100644 index 0000000..425fd6a --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_up_green.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/carets/caret_up_orange.svg b/target/guide-getting-started/img/carets/caret_up_orange.svg new file mode 100644 index 0000000..fe353cb --- /dev/null +++ b/target/guide-getting-started/img/carets/caret_up_orange.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/target/guide-getting-started/img/config.svg b/target/guide-getting-started/img/config.svg new file mode 100644 index 0000000..4eaf794 --- /dev/null +++ b/target/guide-getting-started/img/config.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/target/guide-getting-started/img/footer_main.png b/target/guide-getting-started/img/footer_main.png new file mode 100644 index 0000000..1194702 Binary files /dev/null and b/target/guide-getting-started/img/footer_main.png differ diff --git a/target/guide-getting-started/img/header_ufo.png b/target/guide-getting-started/img/header_ufo.png new file mode 100644 index 0000000..b7fce7d Binary files /dev/null and b/target/guide-getting-started/img/header_ufo.png differ diff --git a/target/guide-getting-started/img/health.svg b/target/guide-getting-started/img/health.svg new file mode 100644 index 0000000..b740823 --- /dev/null +++ b/target/guide-getting-started/img/health.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/target/guide-getting-started/img/metrics.svg b/target/guide-getting-started/img/metrics.svg new file mode 100644 index 0000000..f7287fd --- /dev/null +++ b/target/guide-getting-started/img/metrics.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/target/guide-getting-started/img/sysProps.svg b/target/guide-getting-started/img/sysProps.svg new file mode 100644 index 0000000..3ba129f --- /dev/null +++ b/target/guide-getting-started/img/sysProps.svg @@ -0,0 +1,20 @@ + + + + + + + + diff --git a/target/guide-getting-started/img/systemDown.svg b/target/guide-getting-started/img/systemDown.svg new file mode 100644 index 0000000..9f9929b --- /dev/null +++ b/target/guide-getting-started/img/systemDown.svg @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/target/guide-getting-started/img/systemUp.svg b/target/guide-getting-started/img/systemUp.svg new file mode 100644 index 0000000..b0c1e91 --- /dev/null +++ b/target/guide-getting-started/img/systemUp.svg @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/target/guide-getting-started/index.html b/target/guide-getting-started/index.html new file mode 100755 index 0000000..e2d2315 --- /dev/null +++ b/target/guide-getting-started/index.html @@ -0,0 +1,117 @@ + + + + olproperties + + + + + +
+
+

Java-PitStop Openliberty/Java17 voorbeeld 1.7

+
+
+

Open Liberty Java17 applicatie op Container Hosting Platform!

+

Dit voorbeeld gebruikt de System Properties microservice om de eigenschappen van de Liberty server te tonen.

+
+ +
+
+
+

System Properties

+
+
+ + + + +
EigenschapWaarde
+
+
+ +
+ +
+

Dit voorbeeld toont de eigenschappen van de host evenals health en metrics.

+
+ +
+

System properties voorbeeld

+

Gebouwd met Microprofile op Open Liberty

+ + + + + +
+
+

Waar wil je nu naartoe?

+

Ga naar Open Liberty tutorials!

+

Alle verdere informatie, voorbeelden en hulp vind je hier:

+ +
+ + + + + + diff --git a/target/guide-getting-started/js/mpData.js b/target/guide-getting-started/js/mpData.js new file mode 100644 index 0000000..9a7acc1 --- /dev/null +++ b/target/guide-getting-started/js/mpData.js @@ -0,0 +1,243 @@ +/******************************************************************************* +* Copyright (c) 2018, 2019 IBM Corporation and others. +* All rights reserved. This program and the accompanying materials +* are made available under the terms of the Eclipse Public License v1.0 +* which accompanies this distribution, and is available at +* http://www.eclipse.org/legal/epl-v10.html +* +* Contributors: +* IBM Corporation - initial API and implementation +*******************************************************************************/ +function displayMetrics() { + getSystemMetrics(); +} + +function getSystemMetrics() { + var url = "https://olproperties-dev.allarddcs.nl/metrics"; + var req = new XMLHttpRequest(); + + var metricToDisplay = {}; + var SRgetPropertiesTime = "io_openliberty_sample_system_SystemResource_getPropertiesTime"; + metricToDisplay["getProperties_total{mp_scope=\"application\",}"] = "Request Count"; + metricToDisplay[SRgetPropertiesTime + "_seconds{mp_scope=\"application\",quantile=\"0.999\",}"] = "Request Time (ms) at Quantile 0.999"; + metricToDisplay[SRgetPropertiesTime + "_seconds{mp_scope=\"application\",quantile=\"0.5\",}"] = "Request Time (ms) at Quantile 0.5"; + metricToDisplay[SRgetPropertiesTime + "_seconds_max{mp_scope=\"application\",}"] = "Max Request Time (ms)"; + metricToDisplay["cpu_processCpuLoad_percent{mp_scope=\"base\",}"] = "System CPU Usage (%)"; + metricToDisplay["memory_usedHeap_bytes{mp_scope=\"base\",}"] = "System Heap Usage (MB)"; + + var metricToMatch = "^("; + for (var metricKey in metricToDisplay) { + metricToMatch += metricKey + "|" + } + // remove the last | + metricToMatch = metricToMatch.substring(0, metricToMatch.length-1); + metricToMatch += ")\\s*(\\S*)$" + + req.onreadystatechange = function() { + if (req.readyState != 4) return; // Not there yet + if (req.status != 200) { + document.getElementById("metricsText").innerHTML = req.statusText; + return; + } + + var resp = req.responseText; + var regexpToMatch = new RegExp(metricToMatch, "gm"); + var matchMetrics = resp.match(regexpToMatch); + + var keyValPairs = {}; + for (var metricKey in metricToDisplay) { + matchMetrics.forEach(function(line) { + var keyToMatch = metricKey + " (.*)"; + var keyVal = line.match(new RegExp(keyToMatch)); + if (keyVal) { + var val = keyVal[1]; + if (metricKey.indexOf("application_io_openliberty_sample_system_SystemResource_getPropertiesTime") === 0) { + val = val * 1000; + } else if (metricKey.indexOf("base_memory_usedHeap_bytes") === 0) { + val = val / 1000000; + } + keyValPairs[metricToDisplay[metricKey]] = val; + } + }) + } + + var table = document.getElementById("metricsTableBody"); + for (key in keyValPairs) { + var row = document.createElement("tr"); + var keyData = document.createElement("td"); + keyData.innerText = key; + var valueData = document.createElement("td"); + valueData.innerText = keyValPairs[key]; + row.appendChild(keyData); + row.appendChild(valueData); + table.appendChild(row); + } + + addSourceRow(table, url); + }; + + req.open("GET", url, true); + req.send(); +} + +function displaySystemProperties() { + getSystemPropertiesRequest(); +} + +function getSystemPropertiesRequest() { + var propToDisplay = ["java.vendor", "java.version", "user.name", "os.name", "wlp.install.dir", "wlp.server.name" ]; + var url = "https://olproperties-dev.allarddcs.nl/system/properties"; + var req = new XMLHttpRequest(); + var table = document.getElementById("systemPropertiesTable"); + // Create the callback: + req.onreadystatechange = function () { + if (req.readyState != 4) return; // Not there yet + displayMetrics(); + if (req.status != 200) { + table.innerHTML = ""; + var row = document.createElement("tr"); + var th = document.createElement("th"); + th.innerText = req.statusText; + row.appendChild(th); + table.appendChild(row); + + addSourceRow(table, url); + return; + } + // Request successful, read the response + var resp = JSON.parse(req.responseText); + for (var i = 0; i < propToDisplay.length; i++) { + var key = propToDisplay[i]; + if (resp.hasOwnProperty(key)) { + var row = document.createElement("tr"); + var keyData = document.createElement("td"); + keyData.innerText = key; + var valueData = document.createElement("td"); + valueData.innerText = resp[key]; + row.appendChild(keyData); + row.appendChild(valueData); + table.appendChild(row); + } + } + + addSourceRow(table, url); + }; + req.open("GET", url, true); + req.send(); +} + +function displayHealth() { + getHealth(); +} + +function getHealth() { + var url = "https://olproperties-dev.allarddcs.nl/health"; + var req = new XMLHttpRequest(); + + var healthBox = document.getElementById("healthBox"); + var serviceName = document.getElementById("serviceName"); + var healthStatus = document.getElementById("serviceStatus"); + var healthIcon = document.getElementById("healthStatusIconImage"); + + req.onreadystatechange = function () { + if (req.readyState != 4) return; // Not there yet + + // Request successful, read the response + if (req.responseText) { + var resp = JSON.parse(req.responseText); + var service = resp.checks[0]; //TODO: use for loop for multiple services + + resp.checks.forEach(function (service) { + serviceName.innerText = service.name; + healthStatus.innerText = service.status; + + if (service.status === "UP") { + healthBox.style.backgroundColor = "#f0f7e1"; + healthIcon.setAttribute("src", "img/systemUp.svg"); + } else { + healthBox.style.backgroundColor = "#fef7f2"; + healthIcon.setAttribute("src", "img/systemDown.svg"); + } + }); + } + var table = document.getElementById("healthTable"); + + addSourceRow(table, url); + }; + req.open("GET", url, true); + req.send(); +} + +function displayConfigProperties() { + getConfigPropertiesRequest(); +} + +function getConfigPropertiesRequest() { + var url = "https://olproperties-dev.allarddcs.nl/config"; + var req = new XMLHttpRequest(); + + var configToDisplay = {}; + configToDisplay["io_openliberty_sample_system_inMaintenance"] = "System In Maintenance"; + configToDisplay["io_openliberty_sample_testConfigOverwrite"] = "Test Config Overwrite"; + configToDisplay["io_openliberty_sample_port_number"] = "Port Number"; + // Create the callback: + req.onreadystatechange = function () { + if (req.readyState != 4) return; // Not there yet + if (req.status != 200) { + return; + } + + // Request successful, read the response + var resp = JSON.parse(req.responseText); + var configProps = resp["ConfigProperties"]; + var table = document.getElementById("configTableBody"); + for (key in configProps) { + var row = document.createElement("tr"); + var keyData = document.createElement("td"); + keyData.innerText = configToDisplay[key]; + var valueData = document.createElement("td"); + valueData.innerText = configProps[key]; + row.appendChild(keyData); + row.appendChild(valueData); + table.appendChild(row); + } + + addSourceRow(table, url); + } + req.open("GET", url, true); + req.send(); +} + +function toggle(e) { + var callerElement; + if (!e) { + if (window.event) { + e = window.event; + callerElement = e.currentTarget; + } else { + callerElement = window.toggle.caller.arguments[0].currentTarget; // for firefox + } + } + + var classes = callerElement.parentElement.classList; + var collapsed = classes.contains("collapsed"); + var caretImg = callerElement.getElementsByClassName("caret")[0]; + var caretImgSrc = caretImg.getAttribute("src"); + if (collapsed) { // expand the section + classes.replace("collapsed", "expanded"); + caretImg.setAttribute("src", caretImgSrc.replace("down", "up")); + } else { // collapse the section + classes.replace("expanded", "collapsed"); + caretImg.setAttribute("src", caretImgSrc.replace("up", "down")); + } +} + +function addSourceRow(table, url) { + var sourceRow = document.createElement("tr"); + sourceRow.classList.add("sourceRow"); + var sourceText = document.createElement("td"); + sourceText.setAttribute("colspan", "100%"); + sourceText.innerHTML = "API Source\: "+url+""; + sourceRow.appendChild(sourceText); + table.appendChild(sourceRow); +} diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..ff93036 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=guide-getting-started +groupId=io.openliberty.guides +version=1.0-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..6c01550 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,4 @@ +io/openliberty/sample/system/SystemLivenessCheck.class +io/openliberty/sample/system/SystemResource.class +io/openliberty/sample/system/SystemApplication.class +io/openliberty/sample/system/SystemReadinessCheck.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..aee472f --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,4 @@ +/home/ubuntu/olproperties/src/main/java/io/openliberty/sample/system/SystemApplication.java +/home/ubuntu/olproperties/src/main/java/io/openliberty/sample/system/SystemLivenessCheck.java +/home/ubuntu/olproperties/src/main/java/io/openliberty/sample/system/SystemReadinessCheck.java +/home/ubuntu/olproperties/src/main/java/io/openliberty/sample/system/SystemResource.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst new file mode 100644 index 0000000..e5d4acc --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst @@ -0,0 +1 @@ +it/io/openliberty/sample/PropertiesEndpointIT.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst new file mode 100644 index 0000000..23e91f1 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst @@ -0,0 +1 @@ +/home/ubuntu/olproperties/src/test/java/it/io/openliberty/sample/PropertiesEndpointIT.java diff --git a/target/test-classes/it/io/openliberty/sample/PropertiesEndpointIT.class b/target/test-classes/it/io/openliberty/sample/PropertiesEndpointIT.class new file mode 100644 index 0000000..5ec374e Binary files /dev/null and b/target/test-classes/it/io/openliberty/sample/PropertiesEndpointIT.class differ