Skip to content

Commit

Permalink
[NOTASK]
Browse files Browse the repository at this point in the history
update classloader for SPI usage
exclude xml dependencies
  • Loading branch information
Jj! committed Oct 13, 2022
1 parent f0fc3ae commit fb08a01
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 2 deletions.
27 changes: 25 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,29 @@
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.pac4j</groupId>
<artifactId>pac4j-oidc</artifactId>
<version>${pac4j.version}</version>
</dependency>

<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
Expand Down Expand Up @@ -171,10 +187,17 @@
<Bundle-Activator>edu.internet2.middleware.grouper.authentication.plugin.GrouperAuthentication</Bundle-Activator>
<Export-Package>edu.internet2.middleware.grouper.authentication.plugin.filter</Export-Package>
<Private-Package>edu.internet2.middleware.grouper.authentication.plugin.*</Private-Package>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<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.*,
*
</Import-Package>
-->
<Import-Package>
*;resolution:=optional
sun.misc,org.osgi.framework,javax.servlet,javax.xml,org.w3c.dom
</Import-Package>
<!--
<Import-Package>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,10 @@ public class Pac4jConfigFactory implements ConfigFactory {

@Override
public Config build(Object... parameters) {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());

ConfigPropertiesCascadeBase grouperConfig = ConfigUtils.getBestGrouperConfiguration();

String provider;
Expand Down Expand Up @@ -60,6 +63,8 @@ public Config build(Object... parameters) {
return config;
} catch (IllegalAccessException|InstantiationException e) {
throw new RuntimeException("problem configuring pac4j", e);
} finally {
Thread.currentThread().setContextClassLoader(classLoader);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
Expand Down Expand Up @@ -47,4 +48,15 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
chain.doFilter(request, response);
}
}

@Override
protected void internalFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
super.internalFilter(request, response, chain);
} finally {
Thread.currentThread().setContextClassLoader(classLoader);
}
}
}

0 comments on commit fb08a01

Please sign in to comment.