safeParameters;
+
public void setSessionMappingStorage(final SessionMappingStorage storage) {
this.sessionMappingStorage = storage;
}
@@ -100,7 +99,7 @@ public final class SingleSignOutHandler {
this.safeParameters = Arrays.asList(this.logoutParameterName);
}
}
-
+
/**
* Determines whether the given request contains an authentication token.
*
@@ -109,7 +108,8 @@ public final class SingleSignOutHandler {
* @return True if request contains authentication token, false otherwise.
*/
public boolean isTokenRequest(final HttpServletRequest request) {
- return CommonUtils.isNotBlank(CommonUtils.safeGetParameter(request, this.artifactParameterName, this.safeParameters));
+ return CommonUtils.isNotBlank(CommonUtils.safeGetParameter(request, this.artifactParameterName,
+ this.safeParameters));
}
/**
@@ -120,8 +120,10 @@ public final class SingleSignOutHandler {
* @return True if request is logout request, false otherwise.
*/
public boolean isLogoutRequest(final HttpServletRequest request) {
- return "POST".equals(request.getMethod()) && !isMultipartRequest(request) &&
- CommonUtils.isNotBlank(CommonUtils.safeGetParameter(request, this.logoutParameterName, this.safeParameters));
+ return "POST".equals(request.getMethod())
+ && !isMultipartRequest(request)
+ && CommonUtils.isNotBlank(CommonUtils.safeGetParameter(request, this.logoutParameterName,
+ this.safeParameters));
}
/**
@@ -148,15 +150,16 @@ public final class SingleSignOutHandler {
}
sessionMappingStorage.addSessionById(token, session);
}
-
+
/**
* Destroys the current HTTP session for the given CAS logout request.
*
* @param request HTTP request containing a CAS logout message.
*/
public void destroySession(final HttpServletRequest request) {
- final String logoutMessage = CommonUtils.safeGetParameter(request, this.logoutParameterName, this.safeParameters);
- logger.trace ("Logout request:\n{}", logoutMessage);
+ final String logoutMessage = CommonUtils.safeGetParameter(request, this.logoutParameterName,
+ this.safeParameters);
+ logger.trace("Logout request:\n{}", logoutMessage);
final String token = XmlUtils.getTextForElement(logoutMessage, "SessionIndex");
if (CommonUtils.isNotBlank(token)) {
@@ -165,7 +168,7 @@ public final class SingleSignOutHandler {
if (session != null) {
String sessionID = session.getId();
- logger.debug ("Invalidating session [{}] for token [{}]", sessionID, token);
+ logger.debug("Invalidating session [{}] for token [{}]", sessionID, token);
try {
session.invalidate();
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/session/SingleSignOutHttpSessionListener.java b/cas-client-core/src/main/java/org/jasig/cas/client/session/SingleSignOutHttpSessionListener.java
index 8df6a85..d1f3b5d 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/session/SingleSignOutHttpSessionListener.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/session/SingleSignOutHttpSessionListener.java
@@ -34,16 +34,16 @@ import javax.servlet.http.HttpSessionListener;
*/
public final class SingleSignOutHttpSessionListener implements HttpSessionListener {
- private SessionMappingStorage sessionMappingStorage;
-
+ private SessionMappingStorage sessionMappingStorage;
+
public void sessionCreated(final HttpSessionEvent event) {
// nothing to do at the moment
}
public void sessionDestroyed(final HttpSessionEvent event) {
- if (sessionMappingStorage == null) {
- sessionMappingStorage = getSessionMappingStorage();
- }
+ if (sessionMappingStorage == null) {
+ sessionMappingStorage = getSessionMappingStorage();
+ }
final HttpSession session = event.getSession();
sessionMappingStorage.removeBySessionById(session.getId());
}
@@ -55,6 +55,6 @@ public final class SingleSignOutHttpSessionListener implements HttpSessionListen
* @return the SessionMappingStorage
*/
protected static SessionMappingStorage getSessionMappingStorage() {
- return SingleSignOutFilter.getSingleSignOutHandler().getSessionMappingStorage();
+ return SingleSignOutFilter.getSingleSignOutHandler().getSessionMappingStorage();
}
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java
index c3a33ce..e280b7a 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpURLConnectionFactory.java
@@ -29,7 +29,7 @@ import java.net.URLConnection;
* @since 3.3
*/
public interface HttpURLConnectionFactory {
-
+
/**
* Receives a {@link URLConnection} instance typically as a result of a {@link URL}
* opening a connection to a remote resource. The received url connection is then
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java
index 298069a..3b27c0e 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/HttpsURLConnectionFactory.java
@@ -6,13 +6,7 @@ import java.net.HttpURLConnection;
import java.net.URLConnection;
import java.security.KeyStore;
import java.util.Properties;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSocketFactory;
-
+import javax.net.ssl.*;
import org.jasig.cas.client.util.CommonUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,29 +24,30 @@ import org.slf4j.LoggerFactory;
public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory {
private static final Logger LOGGER = LoggerFactory.getLogger(HttpsURLConnectionFactory.class);
-
+
/**
* Hostname verifier used when making an SSL request to the CAS server.
* Defaults to {@link HttpsURLConnection#getDefaultHostnameVerifier()}
*/
private HostnameVerifier hostnameVerifier = HttpsURLConnection.getDefaultHostnameVerifier();
-
+
/**
* Properties file that can contains key/trust info for Client Side Certificates
*/
- private Properties sslConfiguration = new Properties();
-
- public HttpsURLConnectionFactory() {}
-
+ private Properties sslConfiguration = new Properties();
+
+ public HttpsURLConnectionFactory() {
+ }
+
public HttpsURLConnectionFactory(final HostnameVerifier verifier, final Properties config) {
setHostnameVerifier(verifier);
setSSLConfiguration(config);
}
-
+
public final void setSSLConfiguration(final Properties config) {
this.sslConfiguration = config;
}
-
+
/**
* Set the host name verifier for the https connection received.
*
@@ -67,7 +62,7 @@ public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory
public HttpURLConnection buildHttpURLConnection(final URLConnection url) {
return this.configureHttpsConnectionIfNeeded(url);
}
-
+
/**
* Configures the connection with specific settings for secure http connections
* If the connection instance is not a {@link HttpsURLConnection},
@@ -81,7 +76,7 @@ public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory
final SSLSocketFactory socketFactory = this.createSSLSocketFactory();
if (socketFactory != null) {
httpsConnection.setSSLSocketFactory(socketFactory);
- }
+ }
if (this.hostnameVerifier != null) {
httpsConnection.setHostnameVerifier(this.hostnameVerifier);
@@ -89,7 +84,7 @@ public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory
}
return (HttpURLConnection) conn;
}
-
+
/**
* Creates a {@link SSLSocketFactory} based on the configuration specified
*
@@ -115,8 +110,10 @@ public final class HttpsURLConnectionFactory implements HttpURLConnectionFactory
if (this.sslConfiguration.getProperty("keyStorePass") != null) {
keyStore.load(keyStoreIS, this.sslConfiguration.getProperty("keyStorePass").toCharArray());
LOGGER.debug("Keystore has {} keys", keyStore.size());
- final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(this.sslConfiguration.getProperty("keyManagerType", "SunX509"));
- keyManager.init(keyStore, this.sslConfiguration.getProperty("certificatePassword").toCharArray());
+ final KeyManagerFactory keyManager = KeyManagerFactory.getInstance(this.sslConfiguration
+ .getProperty("keyManagerType", "SunX509"));
+ keyManager.init(keyStore, this.sslConfiguration.getProperty("certificatePassword")
+ .toCharArray());
sslContext.init(keyManager.getKeyManagers(), null, null);
return sslContext.getSocketFactory();
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/RegexHostnameVerifier.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/RegexHostnameVerifier.java
index 475706d..1576364 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/RegexHostnameVerifier.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/RegexHostnameVerifier.java
@@ -20,7 +20,6 @@
package org.jasig.cas.client.ssl;
import java.util.regex.Pattern;
-
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;
@@ -37,8 +36,7 @@ public final class RegexHostnameVerifier implements HostnameVerifier {
/** Allowed hostname pattern */
private Pattern pattern;
-
-
+
/**
* Creates a new instance using the given regular expression.
*
@@ -47,6 +45,7 @@ public final class RegexHostnameVerifier implements HostnameVerifier {
public RegexHostnameVerifier(final String regex) {
this.pattern = Pattern.compile(regex);
}
+
/** {@inheritDoc} */
public boolean verify(final String hostname, final SSLSession session) {
return pattern.matcher(hostname).matches();
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifier.java b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifier.java
index 918a9f4..db9abb5 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifier.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifier.java
@@ -33,6 +33,7 @@ public final class WhitelistHostnameVerifier implements HostnameVerifier {
/** Allowed hosts */
private String[] allowedHosts;
+
/**
* Creates a new instance using the given array of allowed hosts.
*
@@ -41,6 +42,7 @@ public final class WhitelistHostnameVerifier implements HostnameVerifier {
public WhitelistHostnameVerifier(final String[] allowed) {
this.allowedHosts = allowed;
}
+
/**
* Creates a new instance using the given list of allowed hosts.
*
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractCasFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractCasFilter.java
index 6586389..78f5f7b 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractCasFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractCasFilter.java
@@ -18,9 +18,6 @@
*/
package org.jasig.cas.client.util;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -50,7 +47,7 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
/** Defines the parameter to look for for the service. */
private String serviceParameterName = "service";
-
+
/** Sets where response.encodeUrl should be called on service urls when constructed. */
private boolean encodeServiceUrl = true;
@@ -96,8 +93,10 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
public void init() {
CommonUtils.assertNotNull(this.artifactParameterName, "artifactParameterName cannot be null.");
CommonUtils.assertNotNull(this.serviceParameterName, "serviceParameterName cannot be null.");
- CommonUtils.assertTrue(CommonUtils.isNotEmpty(this.serverName) || CommonUtils.isNotEmpty(this.service), "serverName or service must be set.");
- CommonUtils.assertTrue(CommonUtils.isBlank(this.serverName) || CommonUtils.isBlank(this.service), "serverName and service cannot both be set. You MUST ONLY set one.");
+ CommonUtils.assertTrue(CommonUtils.isNotEmpty(this.serverName) || CommonUtils.isNotEmpty(this.service),
+ "serverName or service must be set.");
+ CommonUtils.assertTrue(CommonUtils.isBlank(this.serverName) || CommonUtils.isBlank(this.service),
+ "serverName and service cannot both be set. You MUST ONLY set one.");
}
// empty implementation as most filters won't need this.
@@ -106,7 +105,8 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
}
protected final String constructServiceUrl(final HttpServletRequest request, final HttpServletResponse response) {
- return CommonUtils.constructServiceUrl(request, response, this.service, this.serverName, this.artifactParameterName, this.encodeServiceUrl);
+ return CommonUtils.constructServiceUrl(request, response, this.service, this.serverName,
+ this.artifactParameterName, this.encodeServiceUrl);
}
/**
@@ -117,7 +117,7 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
*/
public final void setServerName(final String serverName) {
if (serverName != null && serverName.endsWith("/")) {
- this.serverName = serverName.substring(0, serverName.length()-1);
+ this.serverName = serverName.substring(0, serverName.length() - 1);
logger.info("Eliminated extra slash from serverName [{}]. It is now [{}]", serverName, this.serverName);
} else {
this.serverName = serverName;
@@ -135,9 +135,9 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
public final void setServiceParameterName(final String serviceParameterName) {
this.serviceParameterName = serviceParameterName;
}
-
+
public final void setEncodeServiceUrl(final boolean encodeServiceUrl) {
- this.encodeServiceUrl = encodeServiceUrl;
+ this.encodeServiceUrl = encodeServiceUrl;
}
public final String getArtifactParameterName() {
@@ -155,6 +155,6 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
* @return the ticket if its found, null otherwise.
*/
protected String retrieveTicketFromRequest(final HttpServletRequest request) {
- return CommonUtils.safeGetParameter(request,getArtifactParameterName());
+ return CommonUtils.safeGetParameter(request, getArtifactParameterName());
}
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractConfigurationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractConfigurationFilter.java
index e242510..708b7bf 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractConfigurationFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/AbstractConfigurationFilter.java
@@ -22,7 +22,6 @@ import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,8 +33,8 @@ import org.slf4j.LoggerFactory;
* @since 3.1
*/
public abstract class AbstractConfigurationFilter implements Filter {
-
- protected final Logger logger = LoggerFactory.getLogger(getClass());
+
+ protected final Logger logger = LoggerFactory.getLogger(getClass());
private boolean ignoreInitConfiguration = false;
@@ -63,7 +62,8 @@ public abstract class AbstractConfigurationFilter implements Filter {
* @return the property value, following the above conventions. It will always return the more specific value (i.e.
* filter vs. context).
*/
- protected final String getPropertyFromInitParams(final FilterConfig filterConfig, final String propertyName, final String defaultValue) {
+ protected final String getPropertyFromInitParams(final FilterConfig filterConfig, final String propertyName,
+ final String defaultValue) {
final String value = filterConfig.getInitParameter(propertyName);
if (CommonUtils.isNotBlank(value)) {
@@ -78,47 +78,47 @@ public abstract class AbstractConfigurationFilter implements Filter {
final String value2 = filterConfig.getServletContext().getInitParameter(propertyName);
if (CommonUtils.isNotBlank(value2)) {
- logger.info("Property [{}] loaded from ServletContext.getInitParameter with value [{}]", propertyName, value2);
+ logger.info("Property [{}] loaded from ServletContext.getInitParameter with value [{}]", propertyName,
+ value2);
return value2;
}
InitialContext context;
try {
- context = new InitialContext();
+ context = new InitialContext();
} catch (final NamingException e) {
- logger.warn(e.getMessage(), e);
- return defaultValue;
+ logger.warn(e.getMessage(), e);
+ return defaultValue;
}
-
-
- final String shortName = this.getClass().getName().substring(this.getClass().getName().lastIndexOf(".")+1);
+
+ final String shortName = this.getClass().getName().substring(this.getClass().getName().lastIndexOf(".") + 1);
final String value3 = loadFromContext(context, "java:comp/env/cas/" + shortName + "/" + propertyName);
-
+
if (CommonUtils.isNotBlank(value3)) {
logger.info("Property [{}] loaded from JNDI Filter Specific Property with value [{}]", propertyName, value3);
- return value3;
+ return value3;
}
-
- final String value4 = loadFromContext(context, "java:comp/env/cas/" + propertyName);
-
+
+ final String value4 = loadFromContext(context, "java:comp/env/cas/" + propertyName);
+
if (CommonUtils.isNotBlank(value4)) {
logger.info("Property [{}] loaded from JNDI with value [{}]", propertyName, value4);
- return value4;
+ return value4;
}
logger.info("Property [{}] not found. Using default value [{}]", propertyName, defaultValue);
return defaultValue;
}
-
+
protected final boolean parseBoolean(final String value) {
- return ((value != null) && value.equalsIgnoreCase("true"));
+ return ((value != null) && value.equalsIgnoreCase("true"));
}
-
+
protected final String loadFromContext(final InitialContext context, final String path) {
- try {
- return (String) context.lookup(path);
- } catch (final NamingException e) {
- return null;
- }
+ try {
+ return (String) context.lookup(path);
+ } catch (final NamingException e) {
+ return null;
+ }
}
public final void setIgnoreInitConfiguration(boolean ignoreInitConfiguration) {
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionHolder.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionHolder.java
index f1e011b..842a268 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionHolder.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionHolder.java
@@ -33,6 +33,7 @@ public class AssertionHolder {
* ThreadLocal to hold the Assertion for Threads to access.
*/
private static final ThreadLocal threadLocal = new ThreadLocal();
+
/**
* Retrieve the assertion from the ThreadLocal.
*
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionThreadLocalFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionThreadLocalFilter.java
index b65a756..9cae17d 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionThreadLocalFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/AssertionThreadLocalFilter.java
@@ -18,17 +18,11 @@
*/
package org.jasig.cas.client.util;
-import org.jasig.cas.client.validation.Assertion;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import java.io.IOException;
+import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import java.io.IOException;
+import org.jasig.cas.client.validation.Assertion;
/**
* Places the assertion in a ThreadLocal such that other resources can access it that do not have access to the web tier session.
@@ -43,10 +37,13 @@ public final class AssertionThreadLocalFilter implements Filter {
// nothing to do here
}
- public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
+ public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse,
+ final FilterChain filterChain) throws IOException, ServletException {
final HttpServletRequest request = (HttpServletRequest) servletRequest;
final HttpSession session = request.getSession(false);
- final Assertion assertion = (Assertion) (session == null ? request.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION) : session.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION));
+ final Assertion assertion = (Assertion) (session == null ? request
+ .getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION) : session
+ .getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION));
try {
AssertionHolder.setAssertion(assertion);
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java
index e754941..594239a 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/CommonUtils.java
@@ -18,32 +18,22 @@
*/
package org.jasig.cas.client.util;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
-import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
import org.jasig.cas.client.validation.ProxyList;
import org.jasig.cas.client.validation.ProxyListEditor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.MalformedURLException;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.net.URL;
-import java.net.HttpURLConnection;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
/**
* Common utilities so that we don't need to include Commons Lang.
*
@@ -54,7 +44,7 @@ import java.util.*;
public final class CommonUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(CommonUtils.class);
-
+
/**
* Constant representing the ProxyGrantingTicket IOU Request Parameter.
*/
@@ -168,35 +158,39 @@ public final class CommonUtils {
* @param gateway where we should send gateway or not.
* @return the fully constructed redirect url.
*/
- public static String constructRedirectUrl(final String casServerLoginUrl, final String serviceParameterName, final String serviceUrl, final boolean renew, final boolean gateway) {
+ public static String constructRedirectUrl(final String casServerLoginUrl, final String serviceParameterName,
+ final String serviceUrl, final boolean renew, final boolean gateway) {
try {
return casServerLoginUrl + (casServerLoginUrl.contains("?") ? "&" : "?") + serviceParameterName + "="
- + URLEncoder.encode(serviceUrl, "UTF-8")
- + (renew ? "&renew=true" : "")
+ + URLEncoder.encode(serviceUrl, "UTF-8") + (renew ? "&renew=true" : "")
+ (gateway ? "&gateway=true" : "");
} catch (final UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
-
- public static void readAndRespondToProxyReceptorRequest(final HttpServletRequest request, final HttpServletResponse response, final ProxyGrantingTicketStorage proxyGrantingTicketStorage) throws IOException {
+
+ public static void readAndRespondToProxyReceptorRequest(final HttpServletRequest request,
+ final HttpServletResponse response, final ProxyGrantingTicketStorage proxyGrantingTicketStorage)
+ throws IOException {
final String proxyGrantingTicketIou = request.getParameter(PARAM_PROXY_GRANTING_TICKET_IOU);
- final String proxyGrantingTicket = request.getParameter(PARAM_PROXY_GRANTING_TICKET);
+ final String proxyGrantingTicket = request.getParameter(PARAM_PROXY_GRANTING_TICKET);
- if (CommonUtils.isBlank(proxyGrantingTicket) || CommonUtils.isBlank(proxyGrantingTicketIou)) {
- response.getWriter().write("");
- return;
- }
+ if (CommonUtils.isBlank(proxyGrantingTicket) || CommonUtils.isBlank(proxyGrantingTicketIou)) {
+ response.getWriter().write("");
+ return;
+ }
- LOGGER.debug("Received proxyGrantingTicketId [{}] for proxyGrantingTicketIou [{}]", proxyGrantingTicket, proxyGrantingTicketIou);
+ LOGGER.debug("Received proxyGrantingTicketId [{}] for proxyGrantingTicketIou [{}]", proxyGrantingTicket,
+ proxyGrantingTicketIou);
- proxyGrantingTicketStorage.save(proxyGrantingTicketIou, proxyGrantingTicket);
+ proxyGrantingTicketStorage.save(proxyGrantingTicketIou, proxyGrantingTicket);
- LOGGER.debug("Successfully saved proxyGrantingTicketId [{}] for proxyGrantingTicketIou [{}]", proxyGrantingTicket, proxyGrantingTicketIou);
+ LOGGER.debug("Successfully saved proxyGrantingTicketId [{}] for proxyGrantingTicketIou [{}]",
+ proxyGrantingTicket, proxyGrantingTicketIou);
- response.getWriter().write("");
- response.getWriter().write("");
+ response.getWriter().write("");
+ response.getWriter().write("");
}
protected static String findMatchingServerName(final HttpServletRequest request, final String serverName) {
@@ -208,12 +202,12 @@ public final class CommonUtils {
final String host = request.getHeader("Host");
final String xHost = request.getHeader("X-Forwarded-Host");
-
+
final String comparisonHost;
if (xHost != null && host == "localhost") {
- comparisonHost = xHost;
+ comparisonHost = xHost;
} else {
- comparisonHost = host;
+ comparisonHost = host;
}
if (comparisonHost == null) {
@@ -230,23 +224,24 @@ public final class CommonUtils {
return serverNames[0];
}
-
-/**
- * Constructs a service url from the HttpServletRequest or from the given
- * serviceUrl. Prefers the serviceUrl provided if both a serviceUrl and a
- * serviceName.
- *
- * @param request the HttpServletRequest
- * @param response the HttpServletResponse
- * @param service the configured service url (this will be used if not null)
- * @param serverNames the server name to use to constuct the service url if the service param is empty. Note, prior to CAS Client 3.3, this was a single value.
- * As of 3.3, it can be a space-separated value. We keep it as a single value, but will convert it to an array internally to get the matching value. This keeps backward compatability with anything using this public
- * method.
- * @param artifactParameterName the artifact parameter name to remove (i.e. ticket)
- * @param encode whether to encode the url or not (i.e. Jsession).
- * @return the service url to use.
- */
- public static String constructServiceUrl(final HttpServletRequest request, final HttpServletResponse response, final String service, final String serverNames, final String artifactParameterName, final boolean encode) {
+
+ /**
+ * Constructs a service url from the HttpServletRequest or from the given
+ * serviceUrl. Prefers the serviceUrl provided if both a serviceUrl and a
+ * serviceName.
+ *
+ * @param request the HttpServletRequest
+ * @param response the HttpServletResponse
+ * @param service the configured service url (this will be used if not null)
+ * @param serverNames the server name to use to constuct the service url if the service param is empty. Note, prior to CAS Client 3.3, this was a single value.
+ * As of 3.3, it can be a space-separated value. We keep it as a single value, but will convert it to an array internally to get the matching value. This keeps backward compatability with anything using this public
+ * method.
+ * @param artifactParameterName the artifact parameter name to remove (i.e. ticket)
+ * @param encode whether to encode the url or not (i.e. Jsession).
+ * @return the service url to use.
+ */
+ public static String constructServiceUrl(final HttpServletRequest request, final HttpServletResponse response,
+ final String service, final String serverNames, final String artifactParameterName, final boolean encode) {
if (CommonUtils.isNotBlank(service)) {
return encode ? response.encodeURL(service) : service;
}
@@ -266,7 +261,7 @@ public final class CommonUtils {
final int location = request.getQueryString().indexOf(artifactParameterName + "=");
if (location == 0) {
- final String returnValue = encode ? response.encodeURL(buffer.toString()): buffer.toString();
+ final String returnValue = encode ? response.encodeURL(buffer.toString()) : buffer.toString();
LOGGER.debug("serviceUrl generated: {}", returnValue);
return returnValue;
}
@@ -276,14 +271,12 @@ public final class CommonUtils {
if (location == -1) {
buffer.append(request.getQueryString());
} else if (location > 0) {
- final int actualLocation = request.getQueryString()
- .indexOf("&" + artifactParameterName + "=");
+ final int actualLocation = request.getQueryString().indexOf("&" + artifactParameterName + "=");
if (actualLocation == -1) {
buffer.append(request.getQueryString());
} else if (actualLocation > 0) {
- buffer.append(request.getQueryString().substring(0,
- actualLocation));
+ buffer.append(request.getQueryString().substring(0, actualLocation));
}
}
}
@@ -309,12 +302,14 @@ public final class CommonUtils {
* @param parameter the parameter to look for.
* @return the value of the parameter.
*/
- public static String safeGetParameter(final HttpServletRequest request, final String parameter, final List parameters) {
+ public static String safeGetParameter(final HttpServletRequest request, final String parameter,
+ final List parameters) {
if ("POST".equals(request.getMethod()) && parameters.contains(parameter)) {
LOGGER.debug("safeGetParameter called on a POST HttpServletRequest for Restricted Parameters. Cannot complete check safely. Reverting to standard behavior for this Parameter");
return request.getParameter(parameter);
}
- return request.getQueryString() == null || !request.getQueryString().contains(parameter) ? null : request.getParameter(parameter);
+ return request.getQueryString() == null || !request.getQueryString().contains(parameter) ? null : request
+ .getParameter(parameter);
}
public static String safeGetParameter(final HttpServletRequest request, final String parameter) {
@@ -329,12 +324,13 @@ public final class CommonUtils {
* @param encoding the encoding to use.
* @return the response.
*/
- public static String getResponseFromServer(final URL constructedUrl, final HttpURLConnectionFactory factory, final String encoding) {
+ public static String getResponseFromServer(final URL constructedUrl, final HttpURLConnectionFactory factory,
+ final String encoding) {
HttpURLConnection conn = null;
try {
conn = factory.buildHttpURLConnection(constructedUrl.openConnection());
-
+
final BufferedReader in;
if (CommonUtils.isEmpty(encoding)) {
@@ -360,7 +356,7 @@ public final class CommonUtils {
}
}
}
-
+
public static ProxyList createProxyList(final String proxies) {
if (CommonUtils.isBlank(proxies)) {
return new ProxyList();
@@ -369,7 +365,7 @@ public final class CommonUtils {
final ProxyListEditor editor = new ProxyListEditor();
editor.setAsText(proxies);
return (ProxyList) editor.getValue();
- }
+ }
/**
* Sends the redirect message and captures the exceptions that we can't possibly do anything with.
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/DelegatingFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/DelegatingFilter.java
index 3b12267..c25ff0c 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/DelegatingFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/DelegatingFilter.java
@@ -18,18 +18,12 @@
*/
package org.jasig.cas.client.util;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Map;
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A Delegating Filter looks up a parameter in the request object and matches
@@ -55,7 +49,7 @@ public final class DelegatingFilter implements Filter {
/**
* The map of filters to delegate to and the criteria (as key).
*/
- private final Map delegators;
+ private final Map delegators;
/**
* The default filter to use if there is no match.
@@ -68,11 +62,13 @@ public final class DelegatingFilter implements Filter {
*/
private final boolean exactMatch;
- public DelegatingFilter(final String requestParameterName, final Map delegators, final boolean exactMatch) {
+ public DelegatingFilter(final String requestParameterName, final Map delegators,
+ final boolean exactMatch) {
this(requestParameterName, delegators, exactMatch, null);
}
- public DelegatingFilter(final String requestParameterName, final Map delegators, final boolean exactMatch, final Filter defaultFilter) {
+ public DelegatingFilter(final String requestParameterName, final Map delegators,
+ final boolean exactMatch, final Filter defaultFilter) {
CommonUtils.assertNotNull(requestParameterName, "requestParameterName cannot be null.");
CommonUtils.assertTrue(!delegators.isEmpty(), "delegators cannot be empty.");
@@ -86,7 +82,8 @@ public final class DelegatingFilter implements Filter {
// nothing to do here
}
- public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain) throws IOException, ServletException {
+ public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain)
+ throws IOException, ServletException {
final String parameter = CommonUtils.safeGetParameter((HttpServletRequest) request, this.requestParameterName);
@@ -94,14 +91,15 @@ public final class DelegatingFilter implements Filter {
for (final String key : this.delegators.keySet()) {
if ((parameter.equals(key) && this.exactMatch) || (parameter.matches(key) && !this.exactMatch)) {
final Filter filter = this.delegators.get(key);
- logger.debug("Match found for parameter [{}] with value [{}]. Delegating to filter [{}]", this.requestParameterName, parameter, filter.getClass().getName());
+ logger.debug("Match found for parameter [{}] with value [{}]. Delegating to filter [{}]",
+ this.requestParameterName, parameter, filter.getClass().getName());
filter.doFilter(request, response, filterChain);
return;
}
}
}
- logger.debug("No match found for parameter [{}] with value [{}]", this.requestParameterName , parameter);
+ logger.debug("No match found for parameter [{}] with value [{}]", this.requestParameterName, parameter);
if (this.defaultFilter != null) {
this.defaultFilter.doFilter(request, response, filterChain);
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/ErrorRedirectFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/ErrorRedirectFilter.java
index 1cdd384..74496c0 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/ErrorRedirectFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/ErrorRedirectFilter.java
@@ -22,15 +22,8 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
-
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,78 +43,78 @@ import org.slf4j.LoggerFactory;
*/
public final class ErrorRedirectFilter implements Filter {
- private final Logger logger = LoggerFactory.getLogger(getClass());
-
- private final List errors = new ArrayList();
-
- private String defaultErrorRedirectPage;
-
- public void destroy() {
- // nothing to do here
- }
+ private final Logger logger = LoggerFactory.getLogger(getClass());
- public void doFilter(final ServletRequest request, final ServletResponse response,
- final FilterChain filterChain) throws IOException, ServletException {
- final HttpServletResponse httpResponse = (HttpServletResponse) response;
- try {
- filterChain.doFilter(request, response);
- } catch (final ServletException e) {
- final Throwable t = e.getCause();
- ErrorHolder currentMatch = null;
+ private final List errors = new ArrayList();
+
+ private String defaultErrorRedirectPage;
+
+ public void destroy() {
+ // nothing to do here
+ }
+
+ public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain)
+ throws IOException, ServletException {
+ final HttpServletResponse httpResponse = (HttpServletResponse) response;
+ try {
+ filterChain.doFilter(request, response);
+ } catch (final ServletException e) {
+ final Throwable t = e.getCause();
+ ErrorHolder currentMatch = null;
for (final ErrorHolder errorHolder : this.errors) {
- if (errorHolder.exactMatch(t)) {
- currentMatch = errorHolder;
- break;
- } else if (errorHolder.inheritanceMatch(t)) {
- currentMatch = errorHolder;
- }
- }
-
- if (currentMatch != null) {
- httpResponse.sendRedirect(currentMatch.getUrl());
- } else {
- httpResponse.sendRedirect(defaultErrorRedirectPage);
- }
- }
- }
+ if (errorHolder.exactMatch(t)) {
+ currentMatch = errorHolder;
+ break;
+ } else if (errorHolder.inheritanceMatch(t)) {
+ currentMatch = errorHolder;
+ }
+ }
- public void init(final FilterConfig filterConfig) throws ServletException {
- this.defaultErrorRedirectPage = filterConfig.getInitParameter("defaultErrorRedirectPage");
-
- final Enumeration> enumeration = filterConfig.getInitParameterNames();
- while (enumeration.hasMoreElements()) {
- final String className = (String) enumeration.nextElement();
- try {
- if (!className.equals("defaultErrorRedirectPage")) {
- this.errors.add(new ErrorHolder(className, filterConfig.getInitParameter(className)));
- }
- } catch (final ClassNotFoundException e) {
- logger.warn("Class [{}] cannot be found in ClassLoader. Ignoring.", className);
- }
- }
- }
-
- protected final class ErrorHolder {
-
- private Class> className;
-
- private String url;
-
- protected ErrorHolder(final String className, final String url) throws ClassNotFoundException {
- this.className = Class.forName(className);
- this.url = url;
- }
-
- public boolean exactMatch(final Throwable e) {
- return this.className.equals(e.getClass());
- }
-
- public boolean inheritanceMatch(final Throwable e) {
- return className.isAssignableFrom(e.getClass());
- }
-
- public String getUrl() {
- return this.url;
- }
- }
+ if (currentMatch != null) {
+ httpResponse.sendRedirect(currentMatch.getUrl());
+ } else {
+ httpResponse.sendRedirect(defaultErrorRedirectPage);
+ }
+ }
+ }
+
+ public void init(final FilterConfig filterConfig) throws ServletException {
+ this.defaultErrorRedirectPage = filterConfig.getInitParameter("defaultErrorRedirectPage");
+
+ final Enumeration> enumeration = filterConfig.getInitParameterNames();
+ while (enumeration.hasMoreElements()) {
+ final String className = (String) enumeration.nextElement();
+ try {
+ if (!className.equals("defaultErrorRedirectPage")) {
+ this.errors.add(new ErrorHolder(className, filterConfig.getInitParameter(className)));
+ }
+ } catch (final ClassNotFoundException e) {
+ logger.warn("Class [{}] cannot be found in ClassLoader. Ignoring.", className);
+ }
+ }
+ }
+
+ protected final class ErrorHolder {
+
+ private Class> className;
+
+ private String url;
+
+ protected ErrorHolder(final String className, final String url) throws ClassNotFoundException {
+ this.className = Class.forName(className);
+ this.url = url;
+ }
+
+ public boolean exactMatch(final Throwable e) {
+ return this.className.equals(e.getClass());
+ }
+
+ public boolean inheritanceMatch(final Throwable e) {
+ return className.isAssignableFrom(e.getClass());
+ }
+
+ public String getUrl() {
+ return this.url;
+ }
+ }
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilter.java
index d37fb02..3512f48 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilter.java
@@ -18,20 +18,15 @@
*/
package org.jasig.cas.client.util;
-import org.jasig.cas.client.authentication.AttributePrincipal;
-import org.jasig.cas.client.validation.Assertion;
-
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.security.Principal;
import java.util.Collection;
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpSession;
+import org.jasig.cas.client.authentication.AttributePrincipal;
+import org.jasig.cas.client.validation.Assertion;
/**
* Implementation of a filter that wraps the normal HttpServletRequest with a
@@ -55,7 +50,7 @@ public final class HttpServletRequestWrapperFilter extends AbstractConfiguration
/** Name of the attribute used to answer role membership queries */
private String roleAttribute;
-
+
/** Whether or not to ignore case in role membership queries */
private boolean ignoreCase;
@@ -68,16 +63,20 @@ public final class HttpServletRequestWrapperFilter extends AbstractConfiguration
* request.getRemoteUser to the underlying Assertion object
* stored in the user session.
*/
- public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
+ public void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse,
+ final FilterChain filterChain) throws IOException, ServletException {
final AttributePrincipal principal = retrievePrincipalFromSessionOrRequest(servletRequest);
- filterChain.doFilter(new CasHttpServletRequestWrapper((HttpServletRequest) servletRequest, principal), servletResponse);
+ filterChain.doFilter(new CasHttpServletRequestWrapper((HttpServletRequest) servletRequest, principal),
+ servletResponse);
}
protected AttributePrincipal retrievePrincipalFromSessionOrRequest(final ServletRequest servletRequest) {
final HttpServletRequest request = (HttpServletRequest) servletRequest;
final HttpSession session = request.getSession(false);
- final Assertion assertion = (Assertion) (session == null ? request.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION) : session.getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION));
+ final Assertion assertion = (Assertion) (session == null ? request
+ .getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION) : session
+ .getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION));
return assertion == null ? null : assertion.getPrincipal();
}
@@ -121,7 +120,7 @@ public final class HttpServletRequestWrapperFilter extends AbstractConfiguration
}
final Object value = this.principal.getAttributes().get(roleAttribute);
-
+
if (value instanceof Collection>) {
for (final Object o : (Collection>) value) {
if (rolesEqual(role, o)) {
@@ -135,7 +134,7 @@ public final class HttpServletRequestWrapperFilter extends AbstractConfiguration
logger.debug("User [{}] is in role [{}]: {}", getRemoteUser(), role, isMember);
return isMember;
}
-
+
/**
* Determines whether the given role is equal to the candidate
* role attribute taking into account case sensitivity.
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/ReflectUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/ReflectUtils.java
index 7148f6c..1ec2116 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/ReflectUtils.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/ReflectUtils.java
@@ -52,6 +52,7 @@ public final class ReflectUtils {
throw new IllegalArgumentException(className + " class not found.");
}
}
+
/**
* Creates a new instance of the given class by passing the given arguments
* to the constructor.
@@ -59,10 +60,10 @@ public final class ReflectUtils {
* @param args Constructor arguments.
* @return New instance of given class.
*/
- public static T newInstance(final String className, final Object ... args) {
- return newInstance(ReflectUtils.loadClass(className), args);
+ public static T newInstance(final String className, final Object... args) {
+ return newInstance(ReflectUtils. loadClass(className), args);
}
-
+
/**
* Creates a new instance of the given class by passing the given arguments
* to the constructor.
@@ -70,7 +71,7 @@ public final class ReflectUtils {
* @param args Constructor arguments.
* @return New instance of given class.
*/
- public static T newInstance(final Class clazz, final Object ... args) {
+ public static T newInstance(final Class clazz, final Object... args) {
final Class>[] argClasses = new Class[args.length];
for (int i = 0; i < args.length; i++) {
argClasses[i] = args[i].getClass();
@@ -136,7 +137,8 @@ public final class ReflectUtils {
* @param target Target JavaBean on which to set property.
* @param info BeanInfo describing the target JavaBean.
*/
- public static void setProperty(final String propertyName, final Object value, final Object target, final BeanInfo info) {
+ public static void setProperty(final String propertyName, final Object value, final Object target,
+ final BeanInfo info) {
try {
final PropertyDescriptor pd = getPropertyDescriptor(info, propertyName);
pd.getWriteMethod().invoke(target, value);
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/util/XmlUtils.java b/cas-client-core/src/main/java/org/jasig/cas/client/util/XmlUtils.java
index dd23737..05ed723 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/util/XmlUtils.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/util/XmlUtils.java
@@ -18,10 +18,11 @@
*/
package org.jasig.cas.client.util;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
@@ -29,14 +30,6 @@ import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* Common utilities for easily parsing XML without duplicating logic.
*
@@ -75,8 +68,7 @@ public final class XmlUtils {
* @param element the element to look for
* @return the list of text from the elements.
*/
- public static List getTextForElements(final String xmlAsString,
- final String element) {
+ public static List getTextForElements(final String xmlAsString, final String element) {
final List elements = new ArrayList(2);
final XMLReader reader = getXmlReader();
@@ -86,16 +78,14 @@ public final class XmlUtils {
private StringBuilder buffer = new StringBuilder();
- public void startElement(final String uri, final String localName,
- final String qName, final Attributes attributes)
- throws SAXException {
+ public void startElement(final String uri, final String localName, final String qName,
+ final Attributes attributes) throws SAXException {
if (localName.equals(element)) {
this.foundElement = true;
}
}
- public void endElement(final String uri, final String localName,
- final String qName) throws SAXException {
+ public void endElement(final String uri, final String localName, final String qName) throws SAXException {
if (localName.equals(element)) {
this.foundElement = false;
elements.add(this.buffer.toString());
@@ -103,8 +93,7 @@ public final class XmlUtils {
}
}
- public void characters(char[] ch, int start, int length)
- throws SAXException {
+ public void characters(char[] ch, int start, int length) throws SAXException {
if (this.foundElement) {
this.buffer.append(ch, start, length);
}
@@ -132,8 +121,7 @@ public final class XmlUtils {
* @param element the element to look for
* @return the text value of the element.
*/
- public static String getTextForElement(final String xmlAsString,
- final String element) {
+ public static String getTextForElement(final String xmlAsString, final String element) {
final XMLReader reader = getXmlReader();
final StringBuilder builder = new StringBuilder();
@@ -141,23 +129,20 @@ public final class XmlUtils {
private boolean foundElement = false;
- public void startElement(final String uri, final String localName,
- final String qName, final Attributes attributes)
- throws SAXException {
+ public void startElement(final String uri, final String localName, final String qName,
+ final Attributes attributes) throws SAXException {
if (localName.equals(element)) {
this.foundElement = true;
}
}
- public void endElement(final String uri, final String localName,
- final String qName) throws SAXException {
+ public void endElement(final String uri, final String localName, final String qName) throws SAXException {
if (localName.equals(element)) {
this.foundElement = false;
}
}
- public void characters(char[] ch, int start, int length)
- throws SAXException {
+ public void characters(char[] ch, int start, int length) throws SAXException {
if (this.foundElement) {
builder.append(ch, start, length);
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractCasProtocolUrlBasedTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractCasProtocolUrlBasedTicketValidator.java
index c19ec9f..b5d5c2f 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractCasProtocolUrlBasedTicketValidator.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractCasProtocolUrlBasedTicketValidator.java
@@ -18,9 +18,8 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.util.CommonUtils;
-
import java.net.URL;
+import org.jasig.cas.client.util.CommonUtils;
/**
* Abstract class that knows the protocol for validating a CAS ticket.
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractTicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractTicketValidationFilter.java
index 5edabb9..f2480d3 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractTicketValidationFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractTicketValidationFilter.java
@@ -18,22 +18,17 @@
*/
package org.jasig.cas.client.validation;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Properties;
+import javax.net.ssl.HostnameVerifier;
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.jasig.cas.client.util.AbstractCasFilter;
import org.jasig.cas.client.util.CommonUtils;
import org.jasig.cas.client.util.ReflectUtils;
-import javax.net.ssl.HostnameVerifier;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.FileInputStream;
-import java.util.Properties;
-
/**
* The filter that handles all the work of validating ticket requests.
*
@@ -91,15 +86,15 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
*/
protected Properties getSSLConfig(final FilterConfig filterConfig) {
final Properties properties = new Properties();
- final String fileName = getPropertyFromInitParams(filterConfig, "sslConfigFile", null);
-
+ final String fileName = getPropertyFromInitParams(filterConfig, "sslConfigFile", null);
+
if (fileName != null) {
FileInputStream fis = null;
try {
fis = new FileInputStream(fileName);
properties.load(fis);
- logger.trace("Loaded {} entries from {}", properties.size(), fileName);
- } catch(final IOException ioe) {
+ logger.trace("Loaded {} entries from {}", properties.size(), fileName);
+ } catch (final IOException ioe) {
logger.error(ioe.getMessage(), ioe);
} finally {
CommonUtils.closeQuietly(fis);
@@ -130,9 +125,11 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
}
protected void initInternal(final FilterConfig filterConfig) throws ServletException {
- setExceptionOnValidationFailure(parseBoolean(getPropertyFromInitParams(filterConfig, "exceptionOnValidationFailure", "true")));
+ setExceptionOnValidationFailure(parseBoolean(getPropertyFromInitParams(filterConfig,
+ "exceptionOnValidationFailure", "true")));
logger.trace("Setting exceptionOnValidationFailure parameter: {}", this.exceptionOnValidationFailure);
- setRedirectAfterValidation(parseBoolean(getPropertyFromInitParams(filterConfig, "redirectAfterValidation", "true")));
+ setRedirectAfterValidation(parseBoolean(getPropertyFromInitParams(filterConfig, "redirectAfterValidation",
+ "true")));
logger.trace("Setting redirectAfterValidation parameter: {}", this.redirectAfterValidation);
setUseSession(parseBoolean(getPropertyFromInitParams(filterConfig, "useSession", "true")));
logger.trace("Setting useSession parameter: {}", this.useSession);
@@ -161,7 +158,8 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
* @throws IOException if there is an I/O problem
* @throws ServletException if there is a servlet problem.
*/
- protected boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
+ protected boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse,
+ final FilterChain filterChain) throws IOException, ServletException {
return true;
}
@@ -174,7 +172,8 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
* @param response the HttpServletResponse.
* @param assertion the successful Assertion from the server.
*/
- protected void onSuccessfulValidation(final HttpServletRequest request, final HttpServletResponse response, final Assertion assertion) {
+ protected void onSuccessfulValidation(final HttpServletRequest request, final HttpServletResponse response,
+ final Assertion assertion) {
// nothing to do here.
}
@@ -189,7 +188,8 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
// nothing to do here.
}
- public final void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
+ public final void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse,
+ final FilterChain filterChain) throws IOException, ServletException {
if (!preFilter(servletRequest, servletResponse, filterChain)) {
return;
@@ -203,7 +203,8 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
logger.debug("Attempting to validate ticket: {}", ticket);
try {
- final Assertion assertion = this.ticketValidator.validate(ticket, constructServiceUrl(request, response));
+ final Assertion assertion = this.ticketValidator.validate(ticket,
+ constructServiceUrl(request, response));
logger.debug("Successfully authenticated user: {}", assertion.getPrincipal().getName());
@@ -215,7 +216,7 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
onSuccessfulValidation(request, response, assertion);
if (this.redirectAfterValidation) {
- logger. debug("Redirecting after successful ticket validation.");
+ logger.debug("Redirecting after successful ticket validation.");
response.sendRedirect(constructServiceUrl(request, response));
return;
}
@@ -240,8 +241,8 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
}
public final void setTicketValidator(final TicketValidator ticketValidator) {
- this.ticketValidator = ticketValidator;
-}
+ this.ticketValidator = ticketValidator;
+ }
public final void setRedirectAfterValidation(final boolean redirectAfterValidation) {
this.redirectAfterValidation = redirectAfterValidation;
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java
index 5410669..3ea31bd 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AbstractUrlBasedTicketValidator.java
@@ -18,18 +18,17 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
-import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
-import org.jasig.cas.client.util.CommonUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
+import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
+import org.jasig.cas.client.util.CommonUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Abstract validator implementation for tickets that must be validated against a server.
@@ -40,13 +39,13 @@ import java.util.Map;
public abstract class AbstractUrlBasedTicketValidator implements TicketValidator {
protected final Logger logger = LoggerFactory.getLogger(getClass());
-
+
/**
* URLConnection factory instance to use when making validation requests to the CAS server.
* Defaults to {@link HttpsURLConnectionFactory}
*/
private HttpURLConnectionFactory urlConnectionFactory = new HttpsURLConnectionFactory();
-
+
/**
* Prefix for the CAS server. Should be everything up to the url endpoint, including the /.
*
@@ -62,7 +61,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
/**
* A map containing custom parameters to pass to the validation url.
*/
- private Map customParameters;
+ private Map customParameters;
private String encoding;
@@ -81,7 +80,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
*
* @param urlParameters the map containing the parameters.
*/
- protected void populateUrlAttributeMap(final Map urlParameters) {
+ protected void populateUrlAttributeMap(final Map urlParameters) {
// nothing to do
}
@@ -107,7 +106,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
* @return the fully constructed URL.
*/
protected final String constructValidationUrl(final String ticket, final String serviceUrl) {
- final Map urlParameters = new HashMap();
+ final Map urlParameters = new HashMap();
logger.debug("Placing URL parameters in map.");
urlParameters.put("ticket", ticket);
@@ -126,7 +125,8 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
}
final String suffix = getUrlSuffix();
- final StringBuilder buffer = new StringBuilder(urlParameters.size()*10 + this.casServerUrlPrefix.length() + suffix.length() +1);
+ final StringBuilder buffer = new StringBuilder(urlParameters.size() * 10 + this.casServerUrlPrefix.length()
+ + suffix.length() + 1);
int i = 0;
@@ -136,7 +136,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
}
buffer.append(suffix);
- for (Map.Entry entry : urlParameters.entrySet()) {
+ for (Map.Entry entry : urlParameters.entrySet()) {
final String key = entry.getKey();
final String value = entry.getValue();
@@ -159,10 +159,10 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
* @return the encoded url, or the original url if "UTF-8" character encoding could not be found.
*/
protected final String encodeUrl(final String url) {
- if (url == null) {
- return null;
- }
-
+ if (url == null) {
+ return null;
+ }
+
try {
return URLEncoder.encode(url, "UTF-8");
} catch (final UnsupportedEncodingException e) {
@@ -192,17 +192,17 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
public final Assertion validate(final String ticket, final String service) throws TicketValidationException {
final String validationUrl = constructValidationUrl(ticket, service);
- logger.debug("Constructing validation url: {}", validationUrl);
+ logger.debug("Constructing validation url: {}", validationUrl);
try {
- logger.debug("Retrieving response from server.");
+ logger.debug("Retrieving response from server.");
final String serverResponse = retrieveResponseFromServer(new URL(validationUrl), ticket);
if (serverResponse == null) {
throw new TicketValidationException("The CAS server returned no response.");
}
-
- logger.debug("Server response: {}", serverResponse);
+
+ logger.debug("Server response: {}", serverResponse);
return parseResponseFromServer(serverResponse);
} catch (final MalformedURLException e) {
@@ -214,7 +214,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
this.renew = renew;
}
- public final void setCustomParameters(final Map customParameters) {
+ public final void setCustomParameters(final Map customParameters) {
this.customParameters = customParameters;
}
@@ -241,7 +241,7 @@ public abstract class AbstractUrlBasedTicketValidator implements TicketValidator
protected HttpURLConnectionFactory getURLConnectionFactory() {
return this.urlConnectionFactory;
}
-
+
public void setURLConnectionFactory(final HttpURLConnectionFactory urlConnectionFactory) {
this.urlConnectionFactory = urlConnectionFactory;
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java
index fbee1cb..06d98aa 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Assertion.java
@@ -18,11 +18,10 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.authentication.AttributePrincipal;
-
import java.io.Serializable;
import java.util.Date;
import java.util.Map;
+import org.jasig.cas.client.authentication.AttributePrincipal;
/**
* Represents a response to a validation request.
@@ -60,7 +59,7 @@ public interface Assertion extends Serializable {
*
* @return the map of attributes.
*/
- Map getAttributes();
+ Map getAttributes();
/**
* The principal for which this assertion is valid.
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java
index bfba26f..86e286f 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/AssertionImpl.java
@@ -18,13 +18,12 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.authentication.AttributePrincipal;
-import org.jasig.cas.client.authentication.AttributePrincipalImpl;
-import org.jasig.cas.client.util.CommonUtils;
-
import java.util.Collections;
import java.util.Date;
import java.util.Map;
+import org.jasig.cas.client.authentication.AttributePrincipal;
+import org.jasig.cas.client.authentication.AttributePrincipalImpl;
+import org.jasig.cas.client.util.CommonUtils;
/**
* Concrete Implementation of the {@link Assertion}.
@@ -37,9 +36,9 @@ import java.util.Map;
public final class AssertionImpl implements Assertion {
/** Unique Id for serialization. */
- private static final long serialVersionUID = -7767943925833639221L;
+ private static final long serialVersionUID = -7767943925833639221L;
- /** The date from which the assertion is valid. */
+ /** The date from which the assertion is valid. */
private final Date validFromDate;
/** The date the assertion is valid until. */
@@ -48,7 +47,7 @@ public final class AssertionImpl implements Assertion {
private final Date authenticationDate;
/** Map of key/value pairs associated with this assertion. I.e. authentication type. */
- private final Map attributes;
+ private final Map attributes;
/** The principal for which this assertion is valid for. */
private final AttributePrincipal principal;
@@ -59,7 +58,7 @@ public final class AssertionImpl implements Assertion {
* @param name the name of the principal for which this assertion is valid.
*/
public AssertionImpl(final String name) {
- this(new AttributePrincipalImpl(name));
+ this(new AttributePrincipalImpl(name));
}
/**
@@ -68,7 +67,7 @@ public final class AssertionImpl implements Assertion {
* @param principal the Principal to associate with the Assertion.
*/
public AssertionImpl(final AttributePrincipal principal) {
- this(principal, Collections.emptyMap());
+ this(principal, Collections. emptyMap());
}
/**
@@ -77,7 +76,7 @@ public final class AssertionImpl implements Assertion {
* @param principal the Principal to associate with the Assertion.
* @param attributes the key/value pairs for this attribute.
*/
- public AssertionImpl(final AttributePrincipal principal, final Map attributes) {
+ public AssertionImpl(final AttributePrincipal principal, final Map attributes) {
this(principal, new Date(), null, new Date(), attributes);
}
@@ -89,7 +88,8 @@ public final class AssertionImpl implements Assertion {
* @param validUntilDate when the assertion is valid to.
* @param attributes the key/value pairs for this attribute.
*/
- public AssertionImpl(final AttributePrincipal principal, final Date validFromDate, final Date validUntilDate, final Date authenticationDate, final Map attributes) {
+ public AssertionImpl(final AttributePrincipal principal, final Date validFromDate, final Date validUntilDate,
+ final Date authenticationDate, final Map attributes) {
this.principal = principal;
this.validFromDate = validFromDate;
this.validUntilDate = validUntilDate;
@@ -113,7 +113,7 @@ public final class AssertionImpl implements Assertion {
return this.validUntilDate;
}
- public Map getAttributes() {
+ public Map getAttributes() {
return this.attributes;
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java
index 2e8424c..6e142c9 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas10TicketValidationFilter.java
@@ -19,9 +19,8 @@
package org.jasig.cas.client.validation;
import javax.servlet.FilterConfig;
-
-import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
/**
* Implementation of AbstractTicketValidatorFilter that instanciates a Cas10TicketValidator.
@@ -38,8 +37,9 @@ public class Cas10TicketValidationFilter extends AbstractTicketValidationFilter
final String casServerUrlPrefix = getPropertyFromInitParams(filterConfig, "casServerUrlPrefix", null);
final Cas10TicketValidator validator = new Cas10TicketValidator(casServerUrlPrefix);
validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false")));
-
- final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig));
+
+ final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig),
+ getSSLConfig(filterConfig));
validator.setURLConnectionFactory(factory);
validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null));
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java
index 48935c5..e256755 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilter.java
@@ -20,18 +20,12 @@ package org.jasig.cas.client.validation;
import java.io.IOException;
import java.util.*;
-
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
import org.jasig.cas.client.proxy.*;
-import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
import org.jasig.cas.client.util.CommonUtils;
import org.jasig.cas.client.util.ReflectUtils;
@@ -50,7 +44,11 @@ import org.jasig.cas.client.util.ReflectUtils;
*/
public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketValidationFilter {
- private static final String[] RESERVED_INIT_PARAMS = new String[] {"proxyGrantingTicketStorageClass", "proxyReceptorUrl", "acceptAnyProxy", "allowedProxyChains", "casServerUrlPrefix", "proxyCallbackUrl", "renew", "exceptionOnValidationFailure", "redirectAfterValidation", "useSession", "serverName", "service", "artifactParameterName", "serviceParameterName", "encodeServiceUrl", "millisBetweenCleanUps", "hostnameVerifier", "encoding", "config", "ticketValidatorClass"};
+ private static final String[] RESERVED_INIT_PARAMS = new String[] { "proxyGrantingTicketStorageClass",
+ "proxyReceptorUrl", "acceptAnyProxy", "allowedProxyChains", "casServerUrlPrefix", "proxyCallbackUrl",
+ "renew", "exceptionOnValidationFailure", "redirectAfterValidation", "useSession", "serverName", "service",
+ "artifactParameterName", "serviceParameterName", "encodeServiceUrl", "millisBetweenCleanUps",
+ "hostnameVerifier", "encoding", "config", "ticketValidatorClass" };
private static final int DEFAULT_MILLIS_BETWEEN_CLEANUPS = 60 * 1000;
@@ -64,7 +62,7 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
private TimerTask timerTask;
private int millisBetweenCleanUps;
-
+
/**
* Storage location of ProxyGrantingTickets and Proxy Ticket IOUs.
*/
@@ -73,14 +71,16 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
protected void initInternal(final FilterConfig filterConfig) throws ServletException {
setProxyReceptorUrl(getPropertyFromInitParams(filterConfig, "proxyReceptorUrl", null));
- final String proxyGrantingTicketStorageClass = getPropertyFromInitParams(filterConfig, "proxyGrantingTicketStorageClass", null);
+ final String proxyGrantingTicketStorageClass = getPropertyFromInitParams(filterConfig,
+ "proxyGrantingTicketStorageClass", null);
if (proxyGrantingTicketStorageClass != null) {
this.proxyGrantingTicketStorage = ReflectUtils.newInstance(proxyGrantingTicketStorageClass);
if (this.proxyGrantingTicketStorage instanceof AbstractEncryptedProxyGrantingTicketStorageImpl) {
final AbstractEncryptedProxyGrantingTicketStorageImpl p = (AbstractEncryptedProxyGrantingTicketStorageImpl) this.proxyGrantingTicketStorage;
- final String cipherAlgorithm = getPropertyFromInitParams(filterConfig, "cipherAlgorithm", AbstractEncryptedProxyGrantingTicketStorageImpl.DEFAULT_ENCRYPTION_ALGORITHM);
+ final String cipherAlgorithm = getPropertyFromInitParams(filterConfig, "cipherAlgorithm",
+ AbstractEncryptedProxyGrantingTicketStorageImpl.DEFAULT_ENCRYPTION_ALGORITHM);
final String secretKey = getPropertyFromInitParams(filterConfig, "secretKey", null);
p.setCipherAlgorithm(cipherAlgorithm);
@@ -96,7 +96,8 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
}
logger.trace("Setting proxyReceptorUrl parameter: {}", this.proxyReceptorUrl);
- this.millisBetweenCleanUps = Integer.parseInt(getPropertyFromInitParams(filterConfig, "millisBetweenCleanUps", Integer.toString(DEFAULT_MILLIS_BETWEEN_CLEANUPS)));
+ this.millisBetweenCleanUps = Integer.parseInt(getPropertyFromInitParams(filterConfig, "millisBetweenCleanUps",
+ Integer.toString(DEFAULT_MILLIS_BETWEEN_CLEANUPS)));
super.initInternal(filterConfig);
}
@@ -114,7 +115,8 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
this.timer.schedule(this.timerTask, this.millisBetweenCleanUps, this.millisBetweenCleanUps);
}
- private T createNewTicketValidator(final String ticketValidatorClass, final String casServerUrlPrefix, final Class clazz) {
+ private T createNewTicketValidator(final String ticketValidatorClass, final String casServerUrlPrefix,
+ final Class clazz) {
if (CommonUtils.isBlank(ticketValidatorClass)) {
return ReflectUtils.newInstance(clazz, casServerUrlPrefix);
}
@@ -136,24 +138,28 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
final Cas20ServiceTicketValidator validator;
if (CommonUtils.isNotBlank(allowAnyProxy) || CommonUtils.isNotBlank(allowedProxyChains)) {
- final Cas20ProxyTicketValidator v = createNewTicketValidator(ticketValidatorClass, casServerUrlPrefix, Cas20ProxyTicketValidator.class);
+ final Cas20ProxyTicketValidator v = createNewTicketValidator(ticketValidatorClass, casServerUrlPrefix,
+ Cas20ProxyTicketValidator.class);
v.setAcceptAnyProxy(parseBoolean(allowAnyProxy));
v.setAllowedProxyChains(CommonUtils.createProxyList(allowedProxyChains));
validator = v;
} else {
- validator = createNewTicketValidator(ticketValidatorClass, casServerUrlPrefix, Cas20ServiceTicketValidator.class);
+ validator = createNewTicketValidator(ticketValidatorClass, casServerUrlPrefix,
+ Cas20ServiceTicketValidator.class);
}
validator.setProxyCallbackUrl(getPropertyFromInitParams(filterConfig, "proxyCallbackUrl", null));
validator.setProxyGrantingTicketStorage(this.proxyGrantingTicketStorage);
-
- final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig));
+
+ final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig),
+ getSSLConfig(filterConfig));
validator.setURLConnectionFactory(factory);
-
- validator.setProxyRetriever(new Cas20ProxyRetriever(casServerUrlPrefix, getPropertyFromInitParams(filterConfig, "encoding", null), factory));
+
+ validator.setProxyRetriever(new Cas20ProxyRetriever(casServerUrlPrefix, getPropertyFromInitParams(filterConfig,
+ "encoding", null), factory));
validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false")));
validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null));
- final Map additionalParameters = new HashMap();
+ final Map additionalParameters = new HashMap();
final List params = Arrays.asList(RESERVED_INIT_PARAMS);
for (final Enumeration> e = filterConfig.getInitParameterNames(); e.hasMoreElements();) {
@@ -176,7 +182,8 @@ public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketVal
/**
* This processes the ProxyReceptor request before the ticket validation code executes.
*/
- protected final boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
+ protected final boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse,
+ final FilterChain filterChain) throws IOException, ServletException {
final HttpServletRequest request = (HttpServletRequest) servletRequest;
final HttpServletResponse response = (HttpServletResponse) servletResponse;
final String requestUri = request.getRequestURI();
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidator.java
index 7c437ad..592c330 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidator.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidator.java
@@ -18,9 +18,8 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.util.XmlUtils;
-
import java.util.List;
+import org.jasig.cas.client.util.XmlUtils;
/**
* Extension to the traditional Service Ticket validation that will validate service tickets and proxy tickets.
@@ -37,7 +36,7 @@ public class Cas20ProxyTicketValidator extends Cas20ServiceTicketValidator {
/** Allows for an empty chain of proxy callback urls. **/
private boolean allowEmptyProxyChain = true;
-
+
public Cas20ProxyTicketValidator(final String casServerUrlPrefix) {
super(casServerUrlPrefix);
}
@@ -50,9 +49,10 @@ public class Cas20ProxyTicketValidator extends Cas20ServiceTicketValidator {
return "proxyValidate";
}
- protected void customParseResponse(final String response, final Assertion assertion) throws TicketValidationException {
+ protected void customParseResponse(final String response, final Assertion assertion)
+ throws TicketValidationException {
final List proxies = XmlUtils.getTextForElements(response, "proxy");
-
+
// this means there was nothing in the proxy chain, which is okay
if ((this.allowEmptyProxyChain && proxies.isEmpty()) || this.acceptAnyProxy) {
return;
@@ -79,7 +79,7 @@ public class Cas20ProxyTicketValidator extends Cas20ServiceTicketValidator {
}
protected final boolean isAllowEmptyProxyChain() {
- return this.allowEmptyProxyChain;
+ return this.allowEmptyProxyChain;
}
/**
@@ -88,6 +88,6 @@ public class Cas20ProxyTicketValidator extends Cas20ServiceTicketValidator {
* @param allowEmptyProxyChain whether to allow empty proxy chains or not. True if so, false otherwise.
*/
public final void setAllowEmptyProxyChain(final boolean allowEmptyProxyChain) {
- this.allowEmptyProxyChain = allowEmptyProxyChain;
+ this.allowEmptyProxyChain = allowEmptyProxyChain;
}
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java
index 9c90eaf..4380348 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidator.java
@@ -18,6 +18,10 @@
*/
package org.jasig.cas.client.validation;
+import java.io.StringReader;
+import java.util.*;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.authentication.AttributePrincipalImpl;
import org.jasig.cas.client.proxy.Cas20ProxyRetriever;
@@ -31,11 +35,6 @@ import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import java.io.StringReader;
-import java.util.*;
-
/**
* Implementation of the TicketValidator that will validate Service Tickets in compliance with the CAS 2.
*
@@ -70,7 +69,7 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
*
* @param urlParameters the Map containing the existing parameters to send to the server.
*/
- protected final void populateUrlAttributeMap(final Map urlParameters) {
+ protected final void populateUrlAttributeMap(final Map urlParameters) {
urlParameters.put("pgtUrl", encodeUrl(this.proxyCallbackUrl));
}
@@ -87,12 +86,12 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
final String principal = XmlUtils.getTextForElement(response, "user");
final String proxyGrantingTicketIou = XmlUtils.getTextForElement(response, "proxyGrantingTicket");
-
+
final String proxyGrantingTicket;
if (CommonUtils.isBlank(proxyGrantingTicketIou) || this.proxyGrantingTicketStorage == null) {
- proxyGrantingTicket = null;
+ proxyGrantingTicket = null;
} else {
- proxyGrantingTicket = this.proxyGrantingTicketStorage.retrieve(proxyGrantingTicketIou);
+ proxyGrantingTicket = this.proxyGrantingTicketStorage.retrieve(proxyGrantingTicketIou);
}
if (CommonUtils.isEmpty(principal)) {
@@ -100,9 +99,10 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
}
final Assertion assertion;
- final Map attributes = extractCustomAttributes(response);
+ final Map attributes = extractCustomAttributes(response);
if (CommonUtils.isNotBlank(proxyGrantingTicket)) {
- final AttributePrincipal attributePrincipal = new AttributePrincipalImpl(principal, attributes, proxyGrantingTicket, this.proxyRetriever);
+ final AttributePrincipal attributePrincipal = new AttributePrincipalImpl(principal, attributes,
+ proxyGrantingTicket, this.proxyRetriever);
assertion = new AssertionImpl(attributePrincipal);
} else {
assertion = new AssertionImpl(new AttributePrincipalImpl(principal, attributes));
@@ -131,7 +131,7 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
* @param xml the XML to parse.
* @return the map of attributes.
*/
- protected Map extractCustomAttributes(final String xml) {
+ protected Map extractCustomAttributes(final String xml) {
final SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
spf.setValidating(false);
@@ -155,7 +155,8 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
* @param assertion the partially constructed assertion.
* @throws TicketValidationException if there is a problem constructing the Assertion.
*/
- protected void customParseResponse(final String response, final Assertion assertion) throws TicketValidationException {
+ protected void customParseResponse(final String response, final Assertion assertion)
+ throws TicketValidationException {
// nothing to do
}
@@ -199,7 +200,8 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
}
@Override
- public void startElement(final String namespaceURI, final String localName, final String qName, final Attributes attributes) throws SAXException {
+ public void startElement(final String namespaceURI, final String localName, final String qName,
+ final Attributes attributes) throws SAXException {
if ("attributes".equals(localName)) {
this.foundAttributes = true;
} else if (this.foundAttributes) {
@@ -216,7 +218,8 @@ public class Cas20ServiceTicketValidator extends AbstractCasProtocolUrlBasedTick
}
@Override
- public void endElement(final String namespaceURI, final String localName, final String qName) throws SAXException {
+ public void endElement(final String namespaceURI, final String localName, final String qName)
+ throws SAXException {
if ("attributes".equals(localName)) {
this.foundAttributes = false;
this.currentAttribute = null;
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/InvalidProxyChainTicketValidationException.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/InvalidProxyChainTicketValidationException.java
index ff5e0a6..aa2a134 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/InvalidProxyChainTicketValidationException.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/InvalidProxyChainTicketValidationException.java
@@ -28,11 +28,11 @@ package org.jasig.cas.client.validation;
public final class InvalidProxyChainTicketValidationException extends TicketValidationException {
/**
- * Unique Id for Serialization
- */
- private static final long serialVersionUID = -7736653266370691534L;
+ * Unique Id for Serialization
+ */
+ private static final long serialVersionUID = -7736653266370691534L;
- /**
+ /**
* Constructs an exception with the supplied message.
* @param string the supplied message.
*/
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyList.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyList.java
index 83254e4..3585d5b 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyList.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyList.java
@@ -18,11 +18,10 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.util.CommonUtils;
-
import java.util.ArrayList;
-import java.util.List;
import java.util.Arrays;
+import java.util.List;
+import org.jasig.cas.client.util.CommonUtils;
/**
* Holding class for the proxy list to make Spring configuration easier.
@@ -53,8 +52,8 @@ public final class ProxyList {
return false;
}
-
+
public String toString() {
- return this.proxyChains.toString();
+ return this.proxyChains.toString();
}
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyListEditor.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyListEditor.java
index 745fc19..dd5ce68 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyListEditor.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/ProxyListEditor.java
@@ -18,14 +18,13 @@
*/
package org.jasig.cas.client.validation;
-import org.jasig.cas.client.util.CommonUtils;
-
import java.beans.PropertyEditorSupport;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
+import org.jasig.cas.client.util.CommonUtils;
/**
* Convert a String-formatted list of acceptable proxies to an array.
@@ -37,27 +36,27 @@ import java.util.List;
*/
public final class ProxyListEditor extends PropertyEditorSupport {
- public void setAsText(final String text) throws IllegalArgumentException {
- final BufferedReader reader = new BufferedReader(new StringReader(text));
- final List proxyChains = new ArrayList();
+ public void setAsText(final String text) throws IllegalArgumentException {
+ final BufferedReader reader = new BufferedReader(new StringReader(text));
+ final List proxyChains = new ArrayList();
- try {
- String line;
- while ((line = reader.readLine()) != null) {
- if (CommonUtils.isNotBlank(line)) {
- proxyChains.add(line.trim().split(" "));
- }
- }
- } catch (final IOException e) {
- // ignore this
- } finally {
- try {
- reader.close();
- } catch (final IOException e) {
- // nothing to do
- }
- }
+ try {
+ String line;
+ while ((line = reader.readLine()) != null) {
+ if (CommonUtils.isNotBlank(line)) {
+ proxyChains.add(line.trim().split(" "));
+ }
+ }
+ } catch (final IOException e) {
+ // ignore this
+ } finally {
+ try {
+ reader.close();
+ } catch (final IOException e) {
+ // nothing to do
+ }
+ }
- setValue(new ProxyList(proxyChains));
- }
+ setValue(new ProxyList(proxyChains));
+ }
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java
index e35bf83..14711ab 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidationFilter.java
@@ -20,9 +20,8 @@ package org.jasig.cas.client.validation;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
-
-import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
import org.jasig.cas.client.ssl.HttpURLConnectionFactory;
+import org.jasig.cas.client.ssl.HttpsURLConnectionFactory;
/**
* Implementation of TicketValidationFilter that can instanciate a SAML 1.1 Ticket Validator.
@@ -52,16 +51,19 @@ public class Saml11TicketValidationFilter extends AbstractTicketValidationFilter
}
protected final TicketValidator getTicketValidator(final FilterConfig filterConfig) {
- final Saml11TicketValidator validator = new Saml11TicketValidator(getPropertyFromInitParams(filterConfig, "casServerUrlPrefix", null));
+ final Saml11TicketValidator validator = new Saml11TicketValidator(getPropertyFromInitParams(filterConfig,
+ "casServerUrlPrefix", null));
final String tolerance = getPropertyFromInitParams(filterConfig, "tolerance", "1000");
validator.setTolerance(Long.parseLong(tolerance));
validator.setRenew(parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false")));
-
- final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig), getSSLConfig(filterConfig));
+
+ final HttpURLConnectionFactory factory = new HttpsURLConnectionFactory(getHostnameVerifier(filterConfig),
+ getSSLConfig(filterConfig));
validator.setURLConnectionFactory(factory);
-
+
validator.setEncoding(getPropertyFromInitParams(filterConfig, "encoding", null));
- validator.setDisableXmlSchemaValidation(parseBoolean(getPropertyFromInitParams(filterConfig, "disableXmlSchemaValidation", "false")));
+ validator.setDisableXmlSchemaValidation(parseBoolean(getPropertyFromInitParams(filterConfig,
+ "disableXmlSchemaValidation", "false")));
return validator;
}
}
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java
index 6f467d8..c99ea1d 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/Saml11TicketValidator.java
@@ -18,13 +18,19 @@
*/
package org.jasig.cas.client.validation;
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.nio.charset.Charset;
+import java.util.*;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.authentication.AttributePrincipalImpl;
import org.jasig.cas.client.util.CommonUtils;
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.Interval;
-import org.opensaml.*;
+import org.opensaml.Configuration;
+import org.opensaml.DefaultBootstrap;
import org.opensaml.common.IdentifierGenerator;
import org.opensaml.common.impl.SecureRandomIdentifierGenerator;
import org.opensaml.saml1.core.*;
@@ -40,12 +46,6 @@ import org.opensaml.xml.schema.XSString;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import java.io.*;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.nio.charset.Charset;
-import java.util.*;
-
/**
* TicketValidator that can understand validating a SAML artifact. This includes the SOAP request/response.
*
@@ -69,6 +69,7 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
private final BasicParserPool basicParserPool;
private final IdentifierGenerator identifierGenerator;
+
public Saml11TicketValidator(final String casServerUrlPrefix) {
super(casServerUrlPrefix);
this.basicParserPool = new BasicParserPool();
@@ -140,30 +141,34 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
}
final List attributes = getAttributesFor(assertion, subject);
- final Map personAttributes = new HashMap();
+ final Map personAttributes = new HashMap();
for (final Attribute samlAttribute : attributes) {
final List> values = getValuesFrom(samlAttribute);
personAttributes.put(samlAttribute.getAttributeName(), values.size() == 1 ? values.get(0) : values);
}
- final AttributePrincipal principal = new AttributePrincipalImpl(subject.getNameIdentifier().getNameIdentifier(), personAttributes);
+ final AttributePrincipal principal = new AttributePrincipalImpl(subject.getNameIdentifier()
+ .getNameIdentifier(), personAttributes);
- final Map authenticationAttributes = new HashMap();
- authenticationAttributes.put("samlAuthenticationStatement::authMethod", authenticationStatement.getAuthenticationMethod());
+ final Map authenticationAttributes = new HashMap();
+ authenticationAttributes.put("samlAuthenticationStatement::authMethod",
+ authenticationStatement.getAuthenticationMethod());
final DateTime notBefore = assertion.getConditions().getNotBefore();
final DateTime notOnOrAfter = assertion.getConditions().getNotOnOrAfter();
final DateTime authenticationInstant = authenticationStatement.getAuthenticationInstant();
- return new AssertionImpl(principal, notBefore.toDate(), notOnOrAfter.toDate(), authenticationInstant.toDate(), authenticationAttributes);
+ return new AssertionImpl(principal, notBefore.toDate(), notOnOrAfter.toDate(),
+ authenticationInstant.toDate(), authenticationAttributes);
}
- } catch (final UnmarshallingException e) {
+ } catch (final UnmarshallingException e) {
throw new TicketValidationException(e);
} catch (final XMLParserException e) {
throw new TicketValidationException(e);
}
- throw new TicketValidationException("No Assertion found within valid time range. Either there's a replay of the ticket or there's clock drift. Check tolerance range, or server/client synchronization.");
+ throw new TicketValidationException(
+ "No Assertion found within valid time range. Either there's a replay of the ticket or there's clock drift. Check tolerance range, or server/client synchronization.");
}
private boolean isValidAssertion(final org.opensaml.saml1.core.Assertion assertion) {
@@ -205,7 +210,8 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
private List getAttributesFor(final org.opensaml.saml1.core.Assertion assertion, final Subject subject) {
final List attributes = new ArrayList();
for (final AttributeStatement attribute : assertion.getAttributeStatements()) {
- if (subject.getNameIdentifier().getNameIdentifier().equals(attribute.getSubject().getNameIdentifier().getNameIdentifier())) {
+ if (subject.getNameIdentifier().getNameIdentifier()
+ .equals(attribute.getSubject().getNameIdentifier().getNameIdentifier())) {
attributes.addAll(attribute.getAttributes());
}
}
@@ -228,17 +234,22 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
}
protected String retrieveResponseFromServer(final URL validationUrl, final String ticket) {
- final String MESSAGE_TO_SEND = ""
- + "" + ticket
+ final String MESSAGE_TO_SEND = ""
+ + ""
+ + ticket
+ "";
HttpURLConnection conn = null;
DataOutputStream out = null;
BufferedReader in = null;
-
+
try {
conn = this.getURLConnectionFactory().buildHttpURLConnection(validationUrl.openConnection());
conn.setRequestMethod("POST");
- conn.setRequestProperty("Content-Type", "text/xml");
+ conn.setRequestProperty("Content-Type", "text/xml");
conn.setRequestProperty("Content-Length", Integer.toString(MESSAGE_TO_SEND.length()));
conn.setRequestProperty("SOAPAction", "http://www.oasis-open.org/committees/security");
conn.setUseCaches(false);
@@ -248,8 +259,10 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
out = new DataOutputStream(conn.getOutputStream());
out.writeBytes(MESSAGE_TO_SEND);
out.flush();
-
- in = new BufferedReader(CommonUtils.isNotBlank(getEncoding()) ? new InputStreamReader(conn.getInputStream(), Charset.forName(getEncoding())) : new InputStreamReader(conn.getInputStream()));
+
+ in = new BufferedReader(CommonUtils.isNotBlank(getEncoding()) ? new InputStreamReader(
+ conn.getInputStream(), Charset.forName(getEncoding())) : new InputStreamReader(
+ conn.getInputStream()));
final StringBuilder buffer = new StringBuilder(256);
String line;
@@ -259,7 +272,7 @@ public final class Saml11TicketValidator extends AbstractUrlBasedTicketValidator
}
return buffer.toString();
} catch (final IOException e) {
- throw new RuntimeException(e);
+ throw new RuntimeException(e);
} finally {
CommonUtils.closeQuietly(out);
CommonUtils.closeQuietly(in);
diff --git a/cas-client-core/src/main/java/org/jasig/cas/client/validation/TicketValidationException.java b/cas-client-core/src/main/java/org/jasig/cas/client/validation/TicketValidationException.java
index 6639ec2..d703bad 100644
--- a/cas-client-core/src/main/java/org/jasig/cas/client/validation/TicketValidationException.java
+++ b/cas-client-core/src/main/java/org/jasig/cas/client/validation/TicketValidationException.java
@@ -28,11 +28,11 @@ package org.jasig.cas.client.validation;
public class TicketValidationException extends Exception {
/**
- * Unique Id for Serialization
- */
- private static final long serialVersionUID = -7036248720402711806L;
+ * Unique Id for Serialization
+ */
+ private static final long serialVersionUID = -7036248720402711806L;
- /**
+ /**
* Constructs an exception with the supplied message.
*
* @param string the message
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/PublicTestHttpServer.java b/cas-client-core/src/test/java/org/jasig/cas/client/PublicTestHttpServer.java
index d47e361..0216f47 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/PublicTestHttpServer.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/PublicTestHttpServer.java
@@ -45,11 +45,13 @@ public final class PublicTestHttpServer extends Thread {
private static Map serverMap = new HashMap();
- private PublicTestHttpServer(String data, String encoding, String MIMEType, int port) throws UnsupportedEncodingException {
+ private PublicTestHttpServer(String data, String encoding, String MIMEType, int port)
+ throws UnsupportedEncodingException {
this(data.getBytes(encoding), encoding, MIMEType, port);
}
- private PublicTestHttpServer(byte[] data, String encoding, String MIMEType, int port) throws UnsupportedEncodingException {
+ private PublicTestHttpServer(byte[] data, String encoding, String MIMEType, int port)
+ throws UnsupportedEncodingException {
this.content = data;
this.port = port;
this.encoding = encoding;
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/SerializationTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/SerializationTests.java
index 20d8ff8..18a6e9c 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/SerializationTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/SerializationTests.java
@@ -23,10 +23,8 @@ import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Collections;
-
import junit.framework.Assert;
import junit.framework.TestCase;
-
import org.jasig.cas.client.authentication.AttributePrincipalImpl;
import org.jasig.cas.client.authentication.SimpleGroup;
import org.jasig.cas.client.authentication.SimplePrincipal;
@@ -43,7 +41,7 @@ import org.jasig.cas.client.validation.AssertionImpl;
*
*/
public class SerializationTests extends TestCase {
-
+
public void testSerializeDeserialize() throws Exception {
final Object[] subjects = getTestSubjects();
for (int i = 0; i < subjects.length; i++) {
@@ -56,7 +54,7 @@ public class SerializationTests extends TestCase {
} finally {
out.close();
}
-
+
final ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
final ObjectInputStream in = new ObjectInputStream(byteIn);
try {
@@ -72,17 +70,11 @@ public class SerializationTests extends TestCase {
private Object[] getTestSubjects() {
final SimplePrincipal simplePrincipal = new SimplePrincipal("simple");
final SimpleGroup simpleGroup = new SimpleGroup("group");
- final AttributePrincipalImpl attributePrincipal =
- new AttributePrincipalImpl("attr", Collections.singletonMap("LOA", "3"));
- final AssertionPrincipal assertionPrincipal = new AssertionPrincipal(
- "assertion",
- new AssertionImpl(attributePrincipal, Collections.singletonMap("authenticationMethod", "username")));
-
- return new Object[] {
- simplePrincipal,
- simpleGroup,
- attributePrincipal,
- assertionPrincipal,
- };
+ final AttributePrincipalImpl attributePrincipal = new AttributePrincipalImpl("attr",
+ Collections. singletonMap("LOA", "3"));
+ final AssertionPrincipal assertionPrincipal = new AssertionPrincipal("assertion", new AssertionImpl(
+ attributePrincipal, Collections. singletonMap("authenticationMethod", "username")));
+
+ return new Object[] { simplePrincipal, simpleGroup, attributePrincipal, assertionPrincipal, };
}
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/authentication/DefaultAuthenticationRedirectStrategyTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/authentication/DefaultAuthenticationRedirectStrategyTests.java
index 0b1389e..157ac10 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/authentication/DefaultAuthenticationRedirectStrategyTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/authentication/DefaultAuthenticationRedirectStrategyTests.java
@@ -1,7 +1,6 @@
package org.jasig.cas.client.authentication;
-import static org.junit.Assert.*;
-
+import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/authentication/FacesCompatibleAuthenticationRedirectStrategyTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/authentication/FacesCompatibleAuthenticationRedirectStrategyTests.java
index 920cf7f..640b8c9 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/authentication/FacesCompatibleAuthenticationRedirectStrategyTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/authentication/FacesCompatibleAuthenticationRedirectStrategyTests.java
@@ -1,12 +1,11 @@
package org.jasig.cas.client.authentication;
+import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import static org.junit.Assert.*;
-
public class FacesCompatibleAuthenticationRedirectStrategyTests {
private FacesCompatibleAuthenticationRedirectStrategy strategy;
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/jaas/CasLoginModuleTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/jaas/CasLoginModuleTests.java
index ce0cbf9..0952c9e 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/jaas/CasLoginModuleTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/jaas/CasLoginModuleTests.java
@@ -18,25 +18,19 @@
*/
package org.jasig.cas.client.jaas;
+import static org.junit.Assert.*;
import java.security.Principal;
import java.security.acl.Group;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-
import javax.security.auth.Subject;
import javax.security.auth.login.LoginException;
-
import org.jasig.cas.client.PublicTestHttpServer;
import org.jasig.cas.client.validation.TicketValidationException;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
/**
* Unit test for {@link CasLoginModule} class.
*
@@ -49,23 +43,23 @@ public class CasLoginModuleTests {
private static final PublicTestHttpServer server = PublicTestHttpServer.instance(8091);
private static final String CONST_CAS_SERVER_URL = "http://localhost:8091/";
-
- private CasLoginModule module;
-
- private Subject subject;
-
- private Map options;
- /* @AfterClass
- public static void classCleanUp() {
- server.shutdown();
- }*/
+ private CasLoginModule module;
+
+ private Subject subject;
+
+ private Map options;
+
+ /* @AfterClass
+ public static void classCleanUp() {
+ server.shutdown();
+ }*/
@Before
public void setUp() throws Exception {
module = new CasLoginModule();
subject = new Subject();
- options = new HashMap();
+ options = new HashMap();
options.put("service", "https://service.example.com/webapp");
options.put("ticketValidatorClass", "org.jasig.cas.client.validation.Cas20ServiceTicketValidator");
options.put("casServerUrlPrefix", CONST_CAS_SERVER_URL);
@@ -86,15 +80,11 @@ public class CasLoginModuleTests {
final String SERVICE = "https://example.com/service";
final String TICKET = "ST-100000-aA5Yuvrxzpv8Tau1cYQ7-srv1";
final String RESPONSE = ""
- + ""
- + USERNAME
+ + "" + USERNAME
+ "";
server.content = RESPONSE.getBytes(server.encoding);
-
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
module.login();
module.commit();
@@ -115,10 +105,7 @@ public class CasLoginModuleTests {
final String TICKET = "ST-200000-aA5Yuvrxzpv8Tau1cYQ7-srv1";
final String RESPONSE = "Ticket ST-200000-aA5Yuvrxzpv8Tau1cYQ7-srv1 not recognized";
server.content = RESPONSE.getBytes(server.encoding);
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
try {
module.login();
@@ -153,8 +140,7 @@ public class CasLoginModuleTests {
final String SERVICE = "https://example.com/service";
final String TICKET = "ST-300000-aA5Yuvrxzpv8Tau1cYQ7-srv1";
final String SUCCESS_RESPONSE = ""
- + ""
- + USERNAME
+ + "" + USERNAME
+ "";
final String FAILURE_RESPONSE = "Ticket ST-300000-aA5Yuvrxzpv8Tau1cYQ7-srv1 not recognized";
@@ -162,31 +148,26 @@ public class CasLoginModuleTests {
options.put("cacheTimeout", "1");
server.content = SUCCESS_RESPONSE.getBytes(server.encoding);
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
module.login();
module.commit();
assertEquals(this.subject.getPrincipals().size(), 3);
assertEquals(TICKET, this.subject.getPrivateCredentials().iterator().next().toString());
-
+
Thread.sleep(2000);
module.logout();
assertEquals(0, subject.getPrincipals().size());
assertEquals(0, subject.getPrivateCredentials().size());
server.content = FAILURE_RESPONSE.getBytes(server.encoding);
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
module.login();
module.commit();
assertEquals(this.subject.getPrincipals().size(), 3);
assertEquals(TICKET, this.subject.getPrivateCredentials().iterator().next().toString());
}
+
/**
* Verify that cached assertions that are expired are never be accessible
* by {@link org.jasig.cas.client.jaas.CasLoginModule#login()} method.
@@ -199,8 +180,7 @@ public class CasLoginModuleTests {
final String SERVICE = "https://example.com/service";
final String TICKET = "ST-12345-ABCDEFGHIJKLMNOPQRSTUVWXYZ-hosta";
final String SUCCESS_RESPONSE = ""
- + ""
- + USERNAME
+ + "" + USERNAME
+ "";
final String FAILURE_RESPONSE = "Ticket ST-12345-ABCDEFGHIJKLMNOPQRSTUVWXYZ-hosta not recognized";
@@ -210,10 +190,7 @@ public class CasLoginModuleTests {
options.put("cacheTimeout", "1");
server.content = SUCCESS_RESPONSE.getBytes(server.encoding);
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
assertTrue(module.login());
module.commit();
@@ -221,10 +198,7 @@ public class CasLoginModuleTests {
Thread.sleep(1100);
// Assertion should now be expired from cache
server.content = FAILURE_RESPONSE.getBytes(server.encoding);
- module.initialize(
- subject,
- new ServiceAndTicketCallbackHandler(SERVICE, TICKET),
- new HashMap(),
+ module.initialize(subject, new ServiceAndTicketCallbackHandler(SERVICE, TICKET), new HashMap(),
options);
try {
module.login();
@@ -233,8 +207,9 @@ public class CasLoginModuleTests {
assertTrue(e.getCause() instanceof TicketValidationException);
}
}
-
- private boolean hasPrincipalName(final Subject subject, final Class extends Principal> principalClass, final String name) {
+
+ private boolean hasPrincipalName(final Subject subject, final Class extends Principal> principalClass,
+ final String name) {
final Set extends Principal> principals = subject.getPrincipals(principalClass);
for (Principal p : principals) {
if (p.getName().equals(name)) {
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/proxy/CleanUpTimerTaskTest.java b/cas-client-core/src/test/java/org/jasig/cas/client/proxy/CleanUpTimerTaskTest.java
index a831de5..2b86502 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/proxy/CleanUpTimerTaskTest.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/proxy/CleanUpTimerTaskTest.java
@@ -19,10 +19,8 @@
package org.jasig.cas.client.proxy;
import java.util.TimerTask;
-
-import org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter;
-
import junit.framework.TestCase;
+import org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter;
/**
* Unit test for the {@link CleanUpTimerTask}
@@ -40,7 +38,7 @@ public class CleanUpTimerTaskTest extends TestCase {
timerTask.run();
assertTrue(storage.cleanUpWasCalled());
}
-
+
/**
* implementation of the storage interface used only for testing
*
@@ -48,11 +46,11 @@ public class CleanUpTimerTaskTest extends TestCase {
*/
private static final class ProxyGrantingTicketStorageTestImpl implements ProxyGrantingTicketStorage {
private boolean cleanUpCalled = false;
-
+
public boolean cleanUpWasCalled() {
return cleanUpCalled;
}
-
+
public void cleanUp() {
cleanUpCalled = true;
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/proxy/ProxyGrantingTicketStorageImplTest.java b/cas-client-core/src/test/java/org/jasig/cas/client/proxy/ProxyGrantingTicketStorageImplTest.java
index d68eb5c..465885c 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/proxy/ProxyGrantingTicketStorageImplTest.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/proxy/ProxyGrantingTicketStorageImplTest.java
@@ -18,7 +18,6 @@
*/
package org.jasig.cas.client.proxy;
-import junit.framework.TestCase;
import org.junit.Assert;
import org.junit.Test;
@@ -36,15 +35,15 @@ public class ProxyGrantingTicketStorageImplTest {
@Test
public void cleanUp() throws Exception {
String proxyGrantingTicketIou = "proxyGrantingTicketIou";
-
+
int timeout = 250;
this.storage.save(proxyGrantingTicketIou, "proxyGrantingTicket");
-
+
// sleep long enough for the ticket to timeout
Thread.sleep(timeout * 2);
-
+
this.storage.cleanUp();
-
+
Assert.assertNull(this.storage.retrieve(proxyGrantingTicketIou));
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/session/SingleSignoutHandlerTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/session/SingleSignoutHandlerTests.java
index f263e44..0e42830 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/session/SingleSignoutHandlerTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/session/SingleSignoutHandlerTests.java
@@ -18,12 +18,12 @@
*/
package org.jasig.cas.client.session;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
-import static org.junit.Assert.*;
-
/**
* @author Matt Brown
* @version $Revision$ $Date$
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifierTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifierTests.java
index ae3f4fe..a021c75 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifierTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/ssl/WhitelistHostnameVerifierTests.java
@@ -46,8 +46,7 @@ public class WhitelistHostnameVerifierTests extends TestCase {
* Test method for {@link WhitelistHostnameVerifier#verify(String, SSLSession)}.
*/
public void testVerify() {
- final WhitelistHostnameVerifier verifier = new WhitelistHostnameVerifier(
- "red.vt.edu, green.vt.edu,blue.vt.edu");
+ final WhitelistHostnameVerifier verifier = new WhitelistHostnameVerifier("red.vt.edu, green.vt.edu,blue.vt.edu");
Assert.assertTrue(verifier.verify("red.vt.edu", null));
Assert.assertTrue(verifier.verify("green.vt.edu", null));
Assert.assertTrue(verifier.verify("blue.vt.edu", null));
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/util/CasFilterTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/util/CasFilterTests.java
index f44d256..758dc9d 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/util/CasFilterTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/util/CasFilterTests.java
@@ -18,17 +18,15 @@
*/
package org.jasig.cas.client.util;
-import org.junit.Test;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-
+import static org.junit.Assert.assertTrue;
+import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import java.io.IOException;
-
-import static org.junit.Assert.*;
+import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
/**
* @author Scott Battaglia
@@ -57,7 +55,8 @@ public final class CasFilterTests {
}
private static class TestCasFilter extends AbstractCasFilter {
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+ public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
+ ServletException {
// nothing to do
}
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/util/CommonUtilsTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/util/CommonUtilsTests.java
index 7b6ff06..042b2db 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/util/CommonUtilsTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/util/CommonUtilsTests.java
@@ -18,13 +18,12 @@
*/
package org.jasig.cas.client.util;
+import java.util.ArrayList;
+import java.util.Collection;
import junit.framework.TestCase;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import java.util.ArrayList;
-import java.util.Collection;
-
/**
* Tests for the CommonUtils.
*
@@ -43,7 +42,7 @@ public final class CommonUtilsTests extends TestCase {
for (int i = 0; i < chars.length; i++) {
if (chars[i] == '?') {
- count ++;
+ count++;
}
}
@@ -126,7 +125,8 @@ public final class CommonUtilsTests extends TestCase {
request.setScheme("https");
request.setSecure(true);
final MockHttpServletResponse response = new MockHttpServletResponse();
- final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null, "www.myserver.com", "ticket", false);
+ final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null, "www.myserver.com",
+ "ticket", false);
assertEquals(CONST_MY_URL, constructedUrl);
}
@@ -138,7 +138,8 @@ public final class CommonUtilsTests extends TestCase {
request.setScheme("https");
request.setSecure(true);
final MockHttpServletResponse response = new MockHttpServletResponse();
- final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null, "www.amazon.com www.bestbuy.com www.myserver.com", "ticket", false);
+ final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null,
+ "www.amazon.com www.bestbuy.com www.myserver.com", "ticket", false);
assertEquals(CONST_MY_URL, constructedUrl);
}
@@ -149,7 +150,8 @@ public final class CommonUtilsTests extends TestCase {
request.setScheme("https");
request.setSecure(true);
final MockHttpServletResponse response = new MockHttpServletResponse();
- final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null, "http://www.amazon.com https://www.bestbuy.com https://www.myserver.com", "ticket", false);
+ final String constructedUrl = CommonUtils.constructServiceUrl(request, response, null,
+ "http://www.amazon.com https://www.bestbuy.com https://www.myserver.com", "ticket", false);
assertEquals(CONST_MY_URL, constructedUrl);
}
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilterTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilterTests.java
index aa620a1..addd389 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilterTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/util/HttpServletRequestWrapperFilterTests.java
@@ -18,8 +18,16 @@
*/
package org.jasig.cas.client.util;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
import junit.framework.TestCase;
-
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.authentication.AttributePrincipalImpl;
import org.jasig.cas.client.validation.AssertionImpl;
@@ -28,16 +36,6 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockHttpSession;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* Tests for the HttpServletRequestWrapperFilter.
*
@@ -56,17 +54,15 @@ public final class HttpServletRequestWrapperFilterTests extends TestCase {
final MockHttpServletRequest request = new MockHttpServletRequest();
final MockHttpSession session = new MockHttpSession();
- session.setAttribute(
- AbstractCasFilter.CONST_CAS_ASSERTION,
- new AssertionImpl("test"));
+ session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl("test"));
request.setSession(session);
filter.doFilter(request, new MockHttpServletResponse(), createFilterChain());
assertEquals("test", this.mockRequest.getRemoteUser());
-
+
filter.destroy();
}
-
+
public void testIsUserInRole() throws Exception {
final MockHttpServletRequest request = new MockHttpServletRequest();
final MockHttpSession session = new MockHttpSession();
@@ -75,13 +71,11 @@ public final class HttpServletRequestWrapperFilterTests extends TestCase {
config.addInitParameter("roleAttribute", "memberOf");
final HttpServletRequestWrapperFilter filter = new HttpServletRequestWrapperFilter();
filter.init(config);
-
- final Map attributes = new HashMap();
+
+ final Map attributes = new HashMap();
attributes.put("memberOf", "administrators");
final AttributePrincipal principal = new AttributePrincipalImpl("alice", attributes);
- session.setAttribute(
- AbstractCasFilter.CONST_CAS_ASSERTION,
- new AssertionImpl(principal));
+ session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl(principal));
request.setSession(session);
@@ -94,7 +88,7 @@ public final class HttpServletRequestWrapperFilterTests extends TestCase {
filter.destroy();
}
-
+
public void testIsUserInRoleCaseInsensitive() throws Exception {
final MockHttpServletRequest request = new MockHttpServletRequest();
final MockHttpSession session = new MockHttpSession();
@@ -104,13 +98,11 @@ public final class HttpServletRequestWrapperFilterTests extends TestCase {
config.addInitParameter("ignoreCase", "true");
final HttpServletRequestWrapperFilter filter = new HttpServletRequestWrapperFilter();
filter.init(config);
-
- final Map attributes = new HashMap();
- attributes.put("groupMembership", Arrays.asList(new Object[] {"animals", "ducks"}));
+
+ final Map attributes = new HashMap();
+ attributes.put("groupMembership", Arrays.asList(new Object[] { "animals", "ducks" }));
final AttributePrincipal principal = new AttributePrincipalImpl("daffy", attributes);
- session.setAttribute(
- AbstractCasFilter.CONST_CAS_ASSERTION,
- new AssertionImpl(principal));
+ session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION, new AssertionImpl(principal));
request.setSession(session);
@@ -128,8 +120,7 @@ public final class HttpServletRequestWrapperFilterTests extends TestCase {
private FilterChain createFilterChain() {
return new FilterChain() {
- public void doFilter(ServletRequest request,
- ServletResponse response) throws IOException, ServletException {
+ public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
HttpServletRequestWrapperFilterTests.this.mockRequest = (HttpServletRequest) request;
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/util/MethodFlag.java b/cas-client-core/src/test/java/org/jasig/cas/client/util/MethodFlag.java
index 0ec5fec..a0fd657 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/util/MethodFlag.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/util/MethodFlag.java
@@ -33,7 +33,7 @@ public class MethodFlag {
public boolean wasCalled() {
return called;
}
-
+
public void setCalled() {
called = true;
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/util/ReflectUtilsTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/util/ReflectUtilsTests.java
index 34ca547..d39e3bb 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/util/ReflectUtilsTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/util/ReflectUtilsTests.java
@@ -33,9 +33,8 @@ public class ReflectUtilsTests extends TestCase {
* Test method for {@link org.jasig.cas.client.util.ReflectUtils#newInstance(java.lang.String, java.lang.Object[])}.
*/
public void testNewInstanceStringObjectArray() {
- final Object result = ReflectUtils.newInstance(
- "org.jasig.cas.client.validation.Cas10TicketValidator",
- new Object[] {"https://localhost/cas"} );
+ final Object result = ReflectUtils.newInstance("org.jasig.cas.client.validation.Cas10TicketValidator",
+ new Object[] { "https://localhost/cas" });
assertNotNull(result);
}
@@ -44,13 +43,13 @@ public class ReflectUtilsTests extends TestCase {
*/
public void testSetPropertyStringObjectObject() {
final TestBean bean = new TestBean();
-
+
ReflectUtils.setProperty("count", new Integer(30000), bean);
assertEquals(30000, bean.getCount());
-
+
ReflectUtils.setProperty("name", "bob", bean);
assertEquals("bob", bean.getName());
-
+
ReflectUtils.setProperty("flag", Boolean.TRUE, bean);
assertTrue(bean.isFlag());
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/AssertionImplTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/AssertionImplTests.java
index c790f69..de6e856 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/AssertionImplTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/AssertionImplTests.java
@@ -18,13 +18,12 @@
*/
package org.jasig.cas.client.validation;
+import java.util.HashMap;
+import java.util.Map;
import junit.framework.TestCase;
import org.jasig.cas.client.authentication.AttributePrincipal;
import org.jasig.cas.client.authentication.AttributePrincipalImpl;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* Test cases for the {@link AssertionImpl}.
*
@@ -36,7 +35,7 @@ public final class AssertionImplTests extends TestCase {
private static final AttributePrincipal CONST_PRINCIPAL = new AttributePrincipalImpl("test");
- private static final Map CONST_ATTRIBUTES = new HashMap();
+ private static final Map CONST_ATTRIBUTES = new HashMap();
static {
CONST_ATTRIBUTES.put("test", "test");
@@ -51,8 +50,7 @@ public final class AssertionImplTests extends TestCase {
}
public void testCompleteConstructor() {
- final Assertion assertion = new AssertionImpl(CONST_PRINCIPAL,
- CONST_ATTRIBUTES);
+ final Assertion assertion = new AssertionImpl(CONST_PRINCIPAL, CONST_ATTRIBUTES);
assertEquals(CONST_PRINCIPAL, assertion.getPrincipal());
assertEquals(CONST_ATTRIBUTES, assertion.getAttributes());
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidationFilterTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidationFilterTests.java
index e15e7f2..54afd7c 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidationFilterTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidationFilterTests.java
@@ -18,13 +18,12 @@
*/
package org.jasig.cas.client.validation;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import org.junit.Test;
import org.springframework.mock.web.MockFilterConfig;
import org.springframework.mock.web.MockServletContext;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
/**
* Unit test for {@link Cas10TicketValidationFilter}.
*
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidatorTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidatorTests.java
index bda0211..7d07288 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidatorTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas10TicketValidatorTests.java
@@ -17,15 +17,14 @@
* under the License.
*/
package org.jasig.cas.client.validation;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import java.io.UnsupportedEncodingException;
import org.jasig.cas.client.PublicTestHttpServer;
-import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
-import java.io.UnsupportedEncodingException;
-
-import static org.junit.Assert.*;
-
/**
* Test cases for the {@link Cas10TicketValidator}.
*
@@ -57,8 +56,7 @@ public final class Cas10TicketValidatorTests extends AbstractTicketValidatorTest
public void testNoResponse() throws Exception {
server.content = "no\n\n".getBytes(server.encoding);
try {
- this.ticketValidator.validate("testTicket",
- "myService");
+ this.ticketValidator.validate("testTicket", "myService");
fail("ValidationException expected.");
} catch (final TicketValidationException e) {
// expected
@@ -66,21 +64,17 @@ public final class Cas10TicketValidatorTests extends AbstractTicketValidatorTest
}
@Test
- public void testYesResponse() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testYesResponse() throws TicketValidationException, UnsupportedEncodingException {
server.content = "yes\nusername\n\n".getBytes(server.encoding);
- final Assertion assertion = this.ticketValidator.validate("testTicket",
- "myService");
+ final Assertion assertion = this.ticketValidator.validate("testTicket", "myService");
assertEquals(CONST_USERNAME, assertion.getPrincipal().getName());
}
@Test
public void testBadResponse() throws UnsupportedEncodingException {
- server.content = "falalala\n\n"
- .getBytes(server.encoding);
+ server.content = "falalala\n\n".getBytes(server.encoding);
try {
- this.ticketValidator.validate("testTicket",
- "myService");
+ this.ticketValidator.validate("testTicket", "myService");
fail("ValidationException expected.");
} catch (final TicketValidationException e) {
// expected
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilterTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilterTests.java
index eeb59dd..89e900a 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilterTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyReceivingTicketValidationFilterTests.java
@@ -20,7 +20,6 @@ package org.jasig.cas.client.validation;
import java.util.Timer;
import java.util.TimerTask;
-
import junit.framework.TestCase;
import org.jasig.cas.client.proxy.CleanUpTimerTask;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
@@ -82,7 +81,7 @@ public class Cas20ProxyReceivingTicketValidationFilterTests extends TestCase {
assertTrue(cancelMethodFlag.wasCalled());
}
-public void testCallsCleanAllOnSchedule() throws Exception {
+ public void testCallsCleanAllOnSchedule() throws Exception {
final MethodFlag timerTaskFlag = new MethodFlag();
final Cas20ProxyReceivingTicketValidationFilter filter = newCas20ProxyReceivingTicketValidationFilter();
@@ -153,7 +152,8 @@ public void testCallsCleanAllOnSchedule() throws Exception {
filter.setMillisBetweenCleanUps(250);
filter.setTimer(defaultTimer);
filter.setTimerTask(new TimerTask() {
- public void run() {}
+ public void run() {
+ }
});
filter.init();
@@ -165,16 +165,13 @@ public void testCallsCleanAllOnSchedule() throws Exception {
// Test case #2
final MockFilterConfig config2 = new MockFilterConfig();
- config2.addInitParameter(
- "allowedProxyChains",
- "https://a.example.com https://b.example.com");
+ config2.addInitParameter("allowedProxyChains", "https://a.example.com https://b.example.com");
config2.addInitParameter("casServerUrlPrefix", "https://cas.jasig.org/");
assertNotNull(filter.getTicketValidator(config2));
// Test case #3
final MockFilterConfig config3 = new MockFilterConfig();
- config3.addInitParameter(
- "allowedProxyChains",
+ config3.addInitParameter("allowedProxyChains",
"https://a.example.com https://b.example.com\nhttps://c.example.com");
config3.addInitParameter("casServerUrlPrefix", "https://cas.jasig.org/");
assertNotNull(filter.getTicketValidator(config3));
@@ -213,4 +210,4 @@ public void testCallsCleanAllOnSchedule() throws Exception {
return filter;
}
-}
\ No newline at end of file
+}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java
index ce6f415..4701107 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ProxyTicketValidatorTests.java
@@ -18,6 +18,11 @@
*/
package org.jasig.cas.client.validation;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
import org.jasig.cas.client.PublicTestHttpServer;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl;
@@ -26,12 +31,6 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-
-import static org.junit.Assert.*;
-
/**
* Test cases for the {@link Cas20ProxyTicketValidator}.
*
@@ -57,7 +56,7 @@ public final class Cas20ProxyTicketValidatorTests extends AbstractTicketValidato
@Before
public void setUp() throws Exception {
final List list = new ArrayList();
- list.add(new String[] {"proxy1", "proxy2", "proxy3"});
+ list.add(new String[] { "proxy1", "proxy2", "proxy3" });
this.ticketValidator = new Cas20ProxyTicketValidator(CONST_CAS_SERVER_URL_PREFIX + "8089");
this.ticketValidator.setRenew(true);
@@ -75,29 +74,26 @@ public final class Cas20ProxyTicketValidatorTests extends AbstractTicketValidato
return new ProxyRetriever() {
/** Unique Id For serialization. */
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- public String getProxyTicketIdFor(String proxyGrantingTicketId, String targetService) {
+ public String getProxyTicketIdFor(String proxyGrantingTicketId, String targetService) {
return "test";
}
};
}
@Test
- public void testProxyChainWithValidProxy() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testProxyChainWithValidProxy() throws TicketValidationException, UnsupportedEncodingException {
final String USERNAME = "username";
final String RESPONSE = "usernamePGTIOU-84678-8a9d...proxy1proxy2proxy3";
server.content = RESPONSE.getBytes(server.encoding);
- final Assertion assertion = this.ticketValidator.validate("test",
- "test");
+ final Assertion assertion = this.ticketValidator.validate("test", "test");
assertEquals(USERNAME, assertion.getPrincipal().getName());
}
@Test
- public void testProxyChainWithInvalidProxy() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testProxyChainWithInvalidProxy() throws TicketValidationException, UnsupportedEncodingException {
final String RESPONSE = "usernamePGTIOU-84678-8a9d...proxy7proxy2proxy3";
server.content = RESPONSE.getBytes(server.encoding);
@@ -111,14 +107,15 @@ public final class Cas20ProxyTicketValidatorTests extends AbstractTicketValidato
@Test
public void testConstructionFromSpringBean() throws TicketValidationException, UnsupportedEncodingException {
- final ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:cas20ProxyTicketValidator.xml");
+ final ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
+ "classpath:cas20ProxyTicketValidator.xml");
final Cas20ProxyTicketValidator v = (Cas20ProxyTicketValidator) context.getBean("proxyTicketValidator");
-
+
final String USERNAME = "username";
final String RESPONSE = "usernamePGTIOU-84678-8a9d...proxy1proxy2proxy3";
server.content = RESPONSE.getBytes(server.encoding);
- final Assertion assertion = v.validate("test","test");
+ final Assertion assertion = v.validate("test", "test");
assertEquals(USERNAME, assertion.getPrincipal().getName());
}
diff --git a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidatorTests.java b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidatorTests.java
index 83e6c00..14d3f82 100644
--- a/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidatorTests.java
+++ b/cas-client-core/src/test/java/org/jasig/cas/client/validation/Cas20ServiceTicketValidatorTests.java
@@ -17,19 +17,17 @@
* under the License.
*/
package org.jasig.cas.client.validation;
+
+import static org.junit.Assert.*;
+import java.io.UnsupportedEncodingException;
+import java.util.List;
import org.jasig.cas.client.PublicTestHttpServer;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl;
import org.jasig.cas.client.proxy.ProxyRetriever;
-import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.*;
-
-import java.io.UnsupportedEncodingException;
-import java.util.List;
-
/**
* Test cases for the {@link Cas20ServiceTicketValidator}.
*
@@ -72,9 +70,9 @@ public final class Cas20ServiceTicketValidatorTests extends AbstractTicketValida
return new ProxyRetriever() {
/** Unique Id for serialization. */
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- public String getProxyTicketIdFor(String proxyGrantingTicketId, String targetService) {
+ public String getProxyTicketIdFor(String proxyGrantingTicketId, String targetService) {
return "test";
}
};
@@ -93,23 +91,19 @@ public final class Cas20ServiceTicketValidatorTests extends AbstractTicketValida
}
@Test
- public void testYesResponseButNoPgt() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testYesResponseButNoPgt() throws TicketValidationException, UnsupportedEncodingException {
final String USERNAME = "username";
final String RESPONSE = ""
- + USERNAME
- + "";
+ + USERNAME + "";
server.content = RESPONSE.getBytes(server.encoding);
- final Assertion assertion = this.ticketValidator.validate("test",
- "test");
+ final Assertion assertion = this.ticketValidator.validate("test", "test");
assertEquals(USERNAME, assertion.getPrincipal().getName());
}
@Test
- public void testYesResponseWithPgt() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testYesResponseWithPgt() throws TicketValidationException, UnsupportedEncodingException {
final String USERNAME = "username";
final String PGTIOU = "testPgtIou";
final String PGT = "test";
@@ -122,23 +116,21 @@ public final class Cas20ServiceTicketValidatorTests extends AbstractTicketValida
server.content = RESPONSE.getBytes(server.encoding);
this.proxyGrantingTicketStorage.save(PGTIOU, PGT);
- final Assertion assertion = this.ticketValidator.validate("test",
- "test");
+ final Assertion assertion = this.ticketValidator.validate("test", "test");
assertEquals(USERNAME, assertion.getPrincipal().getName());
-// assertEquals(PGT, assertion.getProxyGrantingTicketId());
+ // assertEquals(PGT, assertion.getProxyGrantingTicketId());
}
@Test
- public void testGetAttributes() throws TicketValidationException,
- UnsupportedEncodingException {
+ public void testGetAttributes() throws TicketValidationException, UnsupportedEncodingException {
final String USERNAME = "username";
final String PGTIOU = "testPgtIou";
final String RESPONSE = ""
- + USERNAME
- + ""
- + PGTIOU
- + "testidtest1\n\ntestvalue1value2";
-
+ + USERNAME
+ + ""
+ + PGTIOU
+ + "testidtest1\n\ntestvalue1value2";
+
server.content = RESPONSE.getBytes(server.encoding);
final Assertion assertion = this.ticketValidator.validate("test", "test");
assertEquals(USERNAME, assertion.getPrincipal().getName());
@@ -147,7 +139,7 @@ public final class Cas20ServiceTicketValidatorTests extends AbstractTicketValida
assertEquals("test1\n\ntest", assertion.getPrincipal().getAttributes().get("longAttribute"));
try {
List> multivalued = (List>) assertion.getPrincipal().getAttributes().get("multivaluedAttribute");
- assertArrayEquals(new String[]{"value1", "value2"}, multivalued.toArray());
+ assertArrayEquals(new String[] { "value1", "value2" }, multivalued.toArray());
} catch (Exception e) {
fail("'multivaluedAttribute' attribute expected as List