From 6ba0f951f9b64e0ee393d955023b17bab7140719 Mon Sep 17 00:00:00 2001 From: Okke Harsta Date: Tue, 27 Aug 2024 10:58:51 +0200 Subject: [PATCH] Allow for DB down --- manage-gui/pom.xml | 2 +- manage-gui/src/components/Navigation.jsx | 2 +- manage-server/pom.xml | 2 +- manage-server/src/main/java/manage/conf/Push.java | 4 +++- .../main/java/manage/control/DatabaseController.java | 4 ++-- .../main/java/manage/web/WebSecurityConfigurer.java | 5 ++++- manage-server/src/main/resources/application.yml | 10 ++++++++-- manage-server/src/test/java/manage/conf/PushTest.java | 2 +- pom.xml | 2 +- 9 files changed, 22 insertions(+), 11 deletions(-) diff --git a/manage-gui/pom.xml b/manage-gui/pom.xml index feda97e2..ed468af3 100644 --- a/manage-gui/pom.xml +++ b/manage-gui/pom.xml @@ -5,7 +5,7 @@ org.openconext manage - 7.4.6 + 7.4.7 ../pom.xml diff --git a/manage-gui/src/components/Navigation.jsx b/manage-gui/src/components/Navigation.jsx index 71039c8e..0d4d76b0 100644 --- a/manage-gui/src/components/Navigation.jsx +++ b/manage-gui/src/components/Navigation.jsx @@ -117,7 +117,7 @@ export default class Navigation extends React.PureComponent { {this.renderItem("/staging", "staging", openChangeRequestsCount === 0 ? null : openChangeRequestsCount)} {this.renderItem("/scopes", "scopes")} {this.renderItem("/activity", "activity")} - {this.renderItem("/policies", "policies")} + {currentUser.push.pdpEnabled && this.renderItem("/policies", "policies")} {this.renderSpinner()} {this.renderPushButton()} diff --git a/manage-server/pom.xml b/manage-server/pom.xml index 67e6b69c..f16b78ea 100644 --- a/manage-server/pom.xml +++ b/manage-server/pom.xml @@ -6,7 +6,7 @@ org.openconext manage - 7.4.6 + 7.4.7 ../pom.xml diff --git a/manage-server/src/main/java/manage/conf/Push.java b/manage-server/src/main/java/manage/conf/Push.java index 15507334..7cc45813 100644 --- a/manage-server/src/main/java/manage/conf/Push.java +++ b/manage-server/src/main/java/manage/conf/Push.java @@ -11,8 +11,9 @@ public class Push implements Serializable { public final String pdpUrl; public final String pdpName; public final boolean excludeOidcRP; + public final boolean pdpEnabled; - public Push(String url, String name, String oidcUrl, String oidcName, String pdpUrl, String pdpName, boolean excludeOidcRP) { + public Push(String url, String name, String oidcUrl, String oidcName, String pdpUrl, String pdpName, boolean excludeOidcRP, boolean pdpEnabled) { this.url = url.replaceFirst("://(.*)@", "://"); this.name = name; this.oidcName = oidcName; @@ -20,5 +21,6 @@ public Push(String url, String name, String oidcUrl, String oidcName, String pdp this.pdpUrl = pdpUrl; this.pdpName = pdpName; this.excludeOidcRP = excludeOidcRP; + this.pdpEnabled = pdpEnabled; } } diff --git a/manage-server/src/main/java/manage/control/DatabaseController.java b/manage-server/src/main/java/manage/control/DatabaseController.java index 799ffc4c..50eed009 100644 --- a/manage-server/src/main/java/manage/control/DatabaseController.java +++ b/manage-server/src/main/java/manage/control/DatabaseController.java @@ -86,11 +86,11 @@ public class DatabaseController { this.excludeOidcRP = excludeOidcRP; this.excludeSRAM = excludeSRAM; - this.oidcRestTemplate = new RestTemplate(getRequestFactory(oidcUser, oidcPassword,oidcPushUri )); + this.oidcRestTemplate = oidcEnabled ? new RestTemplate(getRequestFactory(oidcUser, oidcPassword,oidcPushUri )) : null; this.oidcPushUri = oidcPushUri; this.oidcEnabled = oidcEnabled; - this.pdpRestTemplate = new RestTemplate(getRequestFactory(pdpUser, pdpPassword, pdpPushUri)); + this.pdpRestTemplate = pdpEnabled ? new RestTemplate(getRequestFactory(pdpUser, pdpPassword, pdpPushUri)) : null; this.pdpPushUri = pdpPushUri; this.pdpEnabled = pdpEnabled; diff --git a/manage-server/src/main/java/manage/web/WebSecurityConfigurer.java b/manage-server/src/main/java/manage/web/WebSecurityConfigurer.java index b2b86d6c..dfd67d2a 100644 --- a/manage-server/src/main/java/manage/web/WebSecurityConfigurer.java +++ b/manage-server/src/main/java/manage/web/WebSecurityConfigurer.java @@ -107,6 +107,9 @@ public static class InternalSecurityConfigurationAdapter extends WebSecurityConf @Value("${push.pdp.url}") private String pdpPushUri; + @Value("${push.pdp.enabled}") + private boolean pdpEnabled; + @Value("${push.pdp.name}") private String pdpName; @@ -133,7 +136,7 @@ protected void configure(HttpSecurity http) throws Exception { .collect(toList()); Product product = new Product(productOrganization, productName, serviceProviderFeedUrl, showOidcRp); - Push push = new Push(pushUrl, pushName, pushOidcUrl, pushOidcName, pdpPushUri,pdpName, excludeOidcRP); + Push push = new Push(pushUrl, pushName, pushOidcUrl, pushOidcName, pdpPushUri,pdpName, excludeOidcRP, pdpEnabled); BasicAuthenticationEntryPoint authenticationEntryPoint = new BasicAuthenticationEntryPoint(); authenticationEntryPoint.setRealmName("manage"); diff --git a/manage-server/src/main/resources/application.yml b/manage-server/src/main/resources/application.yml index 02fbb651..ddb7f3f7 100644 --- a/manage-server/src/main/resources/application.yml +++ b/manage-server/src/main/resources/application.yml @@ -41,7 +41,7 @@ push: user: pdp_admin name: OpenConext PDP password: secret - enabled: True + enabled: true product: name: Manage @@ -89,7 +89,11 @@ spring: username: root password: driverClassName: org.mariadb.jdbc.Driver - + jpa: + database-platform: org.hibernate.dialect.MariaDB53Dialect + sql: + init: + continue-on-error: true main: banner-mode: "off" @@ -105,6 +109,8 @@ management: enabled: false mongo: enabled: true + db: + enabled: false endpoints: web: exposure: diff --git a/manage-server/src/test/java/manage/conf/PushTest.java b/manage-server/src/test/java/manage/conf/PushTest.java index 791cba17..7ada1b8a 100644 --- a/manage-server/src/test/java/manage/conf/PushTest.java +++ b/manage-server/src/test/java/manage/conf/PushTest.java @@ -9,7 +9,7 @@ public class PushTest { @Test public void testUserNamePasswordRemoval() { Push push = new Push("https://serviceregistry:secret@engine-api.test2.surfconext.nl/api/connections", - "name", "oidcUrl", "oidcName", "pdpUrl", "pdpName", true); + "name", "oidcUrl", "oidcName", "pdpUrl", "pdpName", true, true); assertEquals("https://engine-api.test2.surfconext.nl/api/connections", push.url); } diff --git a/pom.xml b/pom.xml index 79768f6f..ddb9bc25 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.openconext manage - 7.4.6 + 7.4.7 pom manage