From f88664e78b339ea559313fa6e7035e4e7087fabd Mon Sep 17 00:00:00 2001
From: Jj! <jj@scaldingspoon.com>
Date: Thu, 2 Nov 2023 10:50:08 -0500
Subject: [PATCH] [NOTASK]

updates for Grouper 4.7.x (updated test config files, updated sample integration configuration
---
 pom.xml                                       | 20 +-------
 src/test/docker/docker-compose.yml            |  2 +-
 src/test/docker/grouper/Dockerfile            |  4 +-
 .../docker/grouper/config/grouper.properties  |  5 +-
 src/test/docker/grouper/config/server.xml     | 50 +------------------
 src/test/resources/grouper-ui.properties      |  1 +
 src/test/resources/grouper.client.properties  |  1 +
 src/test/resources/grouper.properties         |  1 +
 8 files changed, 12 insertions(+), 72 deletions(-)

diff --git a/pom.xml b/pom.xml
index c7f3700..634fcef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
         <maven.compiler.target>1.8</maven.compiler.target>
         <pac4j.version>4.3.1</pac4j.version>
         <jee-pac4j.version>5.0.0</jee-pac4j.version>
-        <grouper.version>4.6.0</grouper.version>
+        <grouper.version>4.7.0</grouper.version>
     </properties>
 
     <dependencies>
@@ -189,25 +189,9 @@
                         <Private-Package>edu.internet2.middleware.grouper.authentication.plugin.*</Private-Package>
                         <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>
                         <Embed-Transitive>true</Embed-Transitive>
-                        <!--
                         <Import-Package>
-                            COM.newmonics;COM.newmonics.PercClassLoader;EDU.oswego.cs.dl.util.concurrent;android.os;com.google.appengine.api;com.google.appengine.api.utils;com.google.apphosting.api;com.ibm.websphere.jtaextensions;com.ibm.wsspi.uow;javax.ejb;javax.el;javax.enterprise.*;javax.faces.*;javax.inject.*;javax.interceptor;javax.jdo;javax.jdo.datastore;javax.resource;javax.resource.cci;javax.resource.spi;javax.resource.spi.endpoint;javax.resource.spi.work;resolution:=optional,
-                            sun.misc.*,javax.*,
-                            *
+                            !javax.ejb.*
                         </Import-Package>
-                        -->
-                        <!-- line 1: oidc, line 2: saml startup, line 3: saml runtime -->
-                        <Import-Package>
-                            sun.misc,org.osgi.framework,javax.servlet,javax.servlet.http,javax.net.ssl,javax.crypto,javax.xml,org.w3c.dom,
-                            javax.xml.transform,javax.xml.namespace,org.xml.sax,javax.xml.parsers,javax.xml.validation,javax.xml.transform.stream,org.w3c.dom.ls,javax.xml.transform.dom,
-                            javax.xml.datatype
-                        </Import-Package>
-                        <!--
-                        <Import-Package>
-                            net.sf.cglib.*,
-                            *;resolution:=optional,
-                        </Import-Package>
-                        -->
                     </instructions>
                 </configuration>
             </plugin>
diff --git a/src/test/docker/docker-compose.yml b/src/test/docker/docker-compose.yml
index 85ddaf0..a2ac27f 100644
--- a/src/test/docker/docker-compose.yml
+++ b/src/test/docker/docker-compose.yml
@@ -95,7 +95,7 @@ services:
       GROUPER_RUN_TOMCAT_NOT_SUPERVISOR: "true"
       GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES: "0.0.0.0/0"
       RUN_SHIB_SP: "false"
-      GROUPER_EXTRA_CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=15005"
+      GROUPER_EXTRA_CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=*:15005"
 #      GROUPER_UI_GROUPER_AUTH: "true"
 #      GROUPERSYSTEM_QUICKSTART_PASS: "letmein7"
 networks:
diff --git a/src/test/docker/grouper/Dockerfile b/src/test/docker/grouper/Dockerfile
index b21117a..d22a412 100644
--- a/src/test/docker/grouper/Dockerfile
+++ b/src/test/docker/grouper/Dockerfile
@@ -1,5 +1,5 @@
-ARG GROUPER_VERSION=2.6.16.3
+ARG GROUPER_VERSION=4.7.2
 
 FROM i2incommon/grouper:${GROUPER_VERSION}
 
-COPY config/server.xml /opt/tomee/conf
\ No newline at end of file
+COPY config/server.xml /opt/tomcat/conf
\ No newline at end of file
diff --git a/src/test/docker/grouper/config/grouper.properties b/src/test/docker/grouper/config/grouper.properties
index ac27ebd..c79c59d 100644
--- a/src/test/docker/grouper/config/grouper.properties
+++ b/src/test/docker/grouper/config/grouper.properties
@@ -1,7 +1,6 @@
-# grouper.osgi.enable = true
+grouper.osgi.enable = true
 grouper.osgi.jar.dir = /opt/grouper/plugins
-grouper.osgi.framework.system.packages.extra = javax*,javax.servlet,javax.servlet.http,sun.misc,javax.el,javax.enterprise.context,javax.interceptor,org.w3c.dom,javax.xml.transform,javax.xml.namespace,org.xml.sax,javax.xml.parsers,javax.xml.validation,javax.xml.transform.stream,org.w3c.dom.ls,javax.xml.transform.dom,javax.crypto,javax.servlet.http,javax.xml.datatype,javax.crypto.spec,org.xml.sax.helpers,org.xml.sax.ext,javax.xml.transform.sax
-grouper.osgi.framework.boot.delegation=javax*,org.apache.commons.logging,edu.internet2.middleware.grouperClient.config,edu.internet2.middleware.grouper.app.externalSystem,org.w3c.dom,javax.xml.transform,javax.xml.namespace,org.xml.sax,javax.xml.parsers,javax.xml.validation,javax.xml.transform.stream,org.w3c.dom.ls,javax.xml.transform.dom,javax.crypto,javax.servlet.http,javax.xml.datatype,javax.crypto.spec,org.xml.sax.helpers,org.xml.sax.ext,javax.xml.transform.sax
+grouper.osgi.framework.boot.delegation=org.osgi.*,javax.*,org.apache.commons.logging,edu.internet2.middleware.grouperClient.*,edu.internet2.middleware.grouper.*,org.w3c.*,org.xml.*,sun.*
 
 grouperOsgiPlugin.0.jarName = grouper-authentication-plugin.jar
 
diff --git a/src/test/docker/grouper/config/server.xml b/src/test/docker/grouper/config/server.xml
index f97a8e2..020454a 100644
--- a/src/test/docker/grouper/config/server.xml
+++ b/src/test/docker/grouper/config/server.xml
@@ -20,13 +20,11 @@
      Documentation at /docs/config/server.html
  -->
 <Server port="8005" shutdown="SHUTDOWN">
-    <!-- TomEE plugin for Tomcat -->
-    <Listener className="org.apache.tomee.catalina.ServerListener" />
     <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
     <!-- Security listener. Documentation at /docs/config/listeners.html
     <Listener className="org.apache.catalina.security.SecurityListener" />
     -->
-    <!--APR library loader. Documentation at /docs/apr.html -->
+    <!-- APR library loader. Documentation at /docs/apr.html -->
     <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
     <!-- Prevent memory leaks due to use of particular java/javax APIs-->
     <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
@@ -69,52 +67,8 @@
              Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
         -->
         <Connector port="8080" protocol="HTTP/1.1"
-                   secure="true"
-                   scheme="https"
                    connectionTimeout="20000"
-                   redirectPort="8443" xpoweredBy="false" server="Apache TomEE" />
-        <!-- A "Connector" using the shared thread pool-->
-        <!--
-        <Connector executor="tomcatThreadPool"
-                   port="8080" protocol="HTTP/1.1"
-                   connectionTimeout="20000"
-                   redirectPort="8443" />
-        -->
-        <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
-             This connector uses the NIO implementation. The default
-             SSLImplementation will depend on the presence of the APR/native
-             library and the useOpenSSL attribute of the
-             AprLifecycleListener.
-             Either JSSE or OpenSSL style configuration may be used regardless of
-             the SSLImplementation selected. JSSE style configuration is used below.
-        -->
-        <!--
-        <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
-                   maxThreads="150" SSLEnabled="true">
-            <SSLHostConfig>
-                <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
-                             type="RSA" xpoweredBy="false" server="Apache TomEE" />
-            </SSLHostConfig>
-        </Connector>
-        -->
-        <!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
-             This connector uses the APR/native implementation which always uses
-             OpenSSL for TLS.
-             Either JSSE or OpenSSL style configuration may be used. OpenSSL style
-             configuration is used below.
-        -->
-        <!--
-        <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
-                   maxThreads="150" SSLEnabled="true" >
-            <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" xpoweredBy="false" server="Apache TomEE" />
-            <SSLHostConfig>
-                <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
-                             certificateFile="conf/localhost-rsa-cert.pem"
-                             certificateChainFile="conf/localhost-rsa-chain.pem"
-                             type="RSA" />
-            </SSLHostConfig>
-        </Connector>
-        -->
+                   redirectPort="8443" scheme="https" secure="true" />
 
         <!-- An Engine represents the entry point (within Catalina) that processes
              every request.  The Engine implementation for Tomcat stand alone
diff --git a/src/test/resources/grouper-ui.properties b/src/test/resources/grouper-ui.properties
index e69de29..88f1520 100644
--- a/src/test/resources/grouper-ui.properties
+++ b/src/test/resources/grouper-ui.properties
@@ -0,0 +1 @@
+grouperUi.config.hierarchy = classpath:grouper-ui-ng.base.properties, classpath:grouper-ui.properties
\ No newline at end of file
diff --git a/src/test/resources/grouper.client.properties b/src/test/resources/grouper.client.properties
index e69de29..706b439 100644
--- a/src/test/resources/grouper.client.properties
+++ b/src/test/resources/grouper.client.properties
@@ -0,0 +1 @@
+grouperClient.config.hierarchy = classpath:grouper.base.properties, classpath:grouper.properties
\ No newline at end of file
diff --git a/src/test/resources/grouper.properties b/src/test/resources/grouper.properties
index 355d95d..6145c4f 100644
--- a/src/test/resources/grouper.properties
+++ b/src/test/resources/grouper.properties
@@ -1 +1,2 @@
+grouper.config.hierarchy = classpath:grouper.base.properties, classpath:grouper.properties
 grouper.osgi.enable = true
\ No newline at end of file