Example usage for org.springframework.util StringUtils commaDelimitedListToStringArray

List of usage examples for org.springframework.util StringUtils commaDelimitedListToStringArray

Introduction

In this page you can find the example usage for org.springframework.util StringUtils commaDelimitedListToStringArray.

Prototype

public static String[] commaDelimitedListToStringArray(@Nullable String str) 

Source Link

Document

Convert a comma delimited list (e.g., a row from a CSV file) into an array of strings.

Usage

From source file:org.springframework.security.web.authentication.www.DigestAuthenticationEntryPointTests.java

@Test
public void testNormalOperation() throws Exception {
    DigestAuthenticationEntryPoint ep = new DigestAuthenticationEntryPoint();
    ep.setRealmName("hello");
    ep.setKey("key");

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/some_path");

    MockHttpServletResponse response = new MockHttpServletResponse();

    ep.afterPropertiesSet();//from   w  w  w  .  j a  va 2s .c o  m

    ep.commence(request, response, new DisabledException("foobar"));

    // Check response is properly formed
    assertThat(response.getStatus()).isEqualTo(401);
    assertThat(response.getHeader("WWW-Authenticate").toString()).startsWith("Digest ");

    // Break up response header
    String header = response.getHeader("WWW-Authenticate").toString().substring(7);
    String[] headerEntries = StringUtils.commaDelimitedListToStringArray(header);
    Map<String, String> headerMap = DigestAuthUtils.splitEachArrayElementAndCreateMap(headerEntries, "=", "\"");

    assertThat(headerMap.get("realm")).isEqualTo("hello");
    assertThat(headerMap.get("qop")).isEqualTo("auth");
    assertThat(headerMap.get("stale")).isNull();

    checkNonceValid(headerMap.get("nonce"));
}

From source file:org.springframework.security.web.authentication.www.DigestAuthenticationEntryPointTests.java

@Test
public void testOperationIfDueToStaleNonce() throws Exception {
    DigestAuthenticationEntryPoint ep = new DigestAuthenticationEntryPoint();
    ep.setRealmName("hello");
    ep.setKey("key");

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI("/some_path");

    MockHttpServletResponse response = new MockHttpServletResponse();

    ep.afterPropertiesSet();//from   www.ja  v  a 2  s . co  m

    ep.commence(request, response, new NonceExpiredException("expired nonce"));

    // Check response is properly formed
    assertThat(response.getStatus()).isEqualTo(401);
    assertThat(response.getHeader("WWW-Authenticate").toString()).startsWith("Digest ");

    // Break up response header
    String header = response.getHeader("WWW-Authenticate").toString().substring(7);
    String[] headerEntries = StringUtils.commaDelimitedListToStringArray(header);
    Map<String, String> headerMap = DigestAuthUtils.splitEachArrayElementAndCreateMap(headerEntries, "=", "\"");

    assertThat(headerMap.get("realm")).isEqualTo("hello");
    assertThat(headerMap.get("qop")).isEqualTo("auth");
    assertThat(headerMap.get("stale")).isEqualTo("true");

    checkNonceValid(headerMap.get("nonce"));
}

From source file:org.springframework.security.web.authentication.www.DigestAuthenticationFilterTests.java

@Test
public void testExpiredNonceReturnsForbiddenWithStaleHeader() throws Exception {
    String nonce = generateNonce(0);
    String responseDigest = DigestAuthUtils.generateDigest(false, USERNAME, REALM, PASSWORD, "GET", REQUEST_URI,
            QOP, nonce, NC, CNONCE);/*from  ww w. j  a  v a  2s  . c  o m*/

    request.addHeader("Authorization",
            createAuthorizationHeader(USERNAME, REALM, nonce, REQUEST_URI, responseDigest, QOP, NC, CNONCE));

    Thread.sleep(1000); // ensures token expired

    MockHttpServletResponse response = executeFilterInContainerSimulator(filter, request, false);

    assertThat(SecurityContextHolder.getContext().getAuthentication()).isNull();
    assertThat(response.getStatus()).isEqualTo(401);

    String header = response.getHeader("WWW-Authenticate").toString().substring(7);
    String[] headerEntries = StringUtils.commaDelimitedListToStringArray(header);
    Map<String, String> headerMap = DigestAuthUtils.splitEachArrayElementAndCreateMap(headerEntries, "=", "\"");
    assertThat(headerMap.get("stale")).isEqualTo("true");
}

From source file:org.springframework.springfaces.message.ui.UIMessageSource.java

private List<String> getDefinedPrefixCodes(String definedPrefix) {
    List<String> codes = new ArrayList<String>();
    for (String code : StringUtils.commaDelimitedListToStringArray(definedPrefix)) {
        if (StringUtils.hasLength(code)) {
            codes.add(ensureEndsWithDot(code.trim()));
        }//from  w  w  w.jav  a2s. c  o  m
    }
    return codes;
}

From source file:org.springframework.web.portlet.DispatcherPortlet.java

/**
 * Create a List of default strategy objects for the given strategy interface.
 * <p>The default implementation uses the "DispatcherPortlet.properties" file
 * (in the same package as the DispatcherPortlet class) to determine the class names.
 * It instantiates the strategy objects and satisifies ApplicationContextAware
 * if necessary.//  w  w w  .j av a 2s .  co  m
 * @param context the current Portlet ApplicationContext
 * @param strategyInterface the strategy interface
 * @return the List of corresponding strategy objects
 */
@SuppressWarnings("unchecked")
protected <T> List<T> getDefaultStrategies(ApplicationContext context, Class<T> strategyInterface) {
    String key = strategyInterface.getName();
    String value = defaultStrategies.getProperty(key);
    if (value != null) {
        String[] classNames = StringUtils.commaDelimitedListToStringArray(value);
        List<T> strategies = new ArrayList<T>(classNames.length);
        for (String className : classNames) {
            try {
                Class<?> clazz = ClassUtils.forName(className, DispatcherPortlet.class.getClassLoader());
                Object strategy = createDefaultStrategy(context, clazz);
                strategies.add((T) strategy);
            } catch (ClassNotFoundException ex) {
                throw new BeanInitializationException(
                        "Could not find DispatcherPortlet's default strategy class [" + className
                                + "] for interface [" + key + "]",
                        ex);
            } catch (LinkageError err) {
                throw new BeanInitializationException(
                        "Error loading DispatcherPortlet's default strategy class [" + className
                                + "] for interface [" + key + "]: problem with class file or dependent class",
                        err);
            }
        }
        return strategies;
    } else {
        return new LinkedList<T>();
    }
}

From source file:org.springframework.web.reactive.socket.server.support.HandshakeWebSocketService.java

@Nullable
private String selectProtocol(HttpHeaders headers, WebSocketHandler handler) {
    String protocolHeader = headers.getFirst(SEC_WEBSOCKET_PROTOCOL);
    if (protocolHeader != null) {
        List<String> supportedProtocols = handler.getSubProtocols();
        for (String protocol : StringUtils.commaDelimitedListToStringArray(protocolHeader)) {
            if (supportedProtocols.contains(protocol)) {
                return protocol;
            }/*ww  w.j  av a  2s.com*/
        }
    }
    return null;
}

From source file:org.springframework.web.servlet.DispatcherServlet.java

/**
 * Create a List of default strategy objects for the given strategy interface.
 * <p>The default implementation uses the "DispatcherServlet.properties" file (in the same
 * package as the DispatcherServlet class) to determine the class names. It instantiates
 * the strategy objects through the context's BeanFactory.
 * @param context the current WebApplicationContext
 * @param strategyInterface the strategy interface
 * @return the List of corresponding strategy objects
 *///from   w w  w. j  a  va  2s . co  m
@SuppressWarnings("unchecked")
protected <T> List<T> getDefaultStrategies(ApplicationContext context, Class<T> strategyInterface) {
    String key = strategyInterface.getName();
    String value = defaultStrategies.getProperty(key);
    if (value != null) {
        String[] classNames = StringUtils.commaDelimitedListToStringArray(value);
        List<T> strategies = new ArrayList<>(classNames.length);
        for (String className : classNames) {
            try {
                Class<?> clazz = ClassUtils.forName(className, DispatcherServlet.class.getClassLoader());
                Object strategy = createDefaultStrategy(context, clazz);
                strategies.add((T) strategy);
            } catch (ClassNotFoundException ex) {
                throw new BeanInitializationException(
                        "Could not find DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]",
                        ex);
            } catch (LinkageError err) {
                throw new BeanInitializationException(
                        "Unresolvable class definition for DispatcherServlet's default strategy class ["
                                + className + "] for interface [" + key + "]",
                        err);
            }
        }
        return strategies;
    } else {
        return new LinkedList<>();
    }
}

From source file:org.springframework.web.servlet.DispatcherServletMod.java

/**
 * Create a List of default strategy objects for the given strategy
 * interface.// w  ww  .j  a v a 2s  .  c  o m
 * <p>
 * The default implementation uses the "DispatcherServlet.properties" file
 * (in the same package as the DispatcherServlet class) to determine the
 * class names. It instantiates the strategy objects through the context's
 * BeanFactory.
 * 
 * @param context
 *            the current WebApplicationContext
 * @param strategyInterface
 *            the strategy interface
 * @return the List of corresponding strategy objects
 */
@SuppressWarnings("unchecked")
protected <T> List<T> getDefaultStrategies(ApplicationContext context, Class<T> strategyInterface) {
    String key = strategyInterface.getName();
    String value = defaultStrategies.getProperty(key);
    if (value != null) {
        String[] classNames = StringUtils.commaDelimitedListToStringArray(value);
        List<T> strategies = new ArrayList<T>(classNames.length);
        for (String className : classNames) {
            try {
                Class<?> clazz = ClassUtils.forName(className, DispatcherServletMod.class.getClassLoader());
                Object strategy = createDefaultStrategy(context, clazz);
                strategies.add((T) strategy);
            } catch (ClassNotFoundException ex) {
                throw new BeanInitializationException(
                        "Could not find DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]",
                        ex);
            } catch (LinkageError err) {
                throw new BeanInitializationException(
                        "Error loading DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]: problem with class file or dependent class",
                        err);
            }
        }
        return strategies;
    } else {
        return new LinkedList<T>();
    }
}

From source file:org.springframework.web.servlet.LogDispatcherServlet.java

/**
 * Create a List of default strategy objects for the given strategy interface.
 * <p>The default implementation uses the "DispatcherServlet.properties" file (in the same
 * package as the DispatcherServlet class) to determine the class names. It instantiates
 * the strategy objects through the context's BeanFactory.
 * @param context the current WebApplicationContext
 * @param strategyInterface the strategy interface
 * @return the List of corresponding strategy objects
 *///from  w ww .j  a  v a2  s. c  om
@SuppressWarnings("unchecked")
protected <T> List<T> getDefaultStrategies(ApplicationContext context, Class<T> strategyInterface) {
    String key = strategyInterface.getName();
    String value = defaultStrategies.getProperty(key);
    if (value != null) {
        String[] classNames = StringUtils.commaDelimitedListToStringArray(value);
        List<T> strategies = new ArrayList<T>(classNames.length);
        for (String className : classNames) {
            try {
                Class<?> clazz = ClassUtils.forName(className, LogDispatcherServlet.class.getClassLoader());
                Object strategy = createDefaultStrategy(context, clazz);
                strategies.add((T) strategy);
            } catch (ClassNotFoundException ex) {
                throw new BeanInitializationException(
                        "Could not find DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]",
                        ex);
            } catch (LinkageError err) {
                throw new BeanInitializationException(
                        "Error loading DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]: problem with class file or dependent class",
                        err);
            }
        }
        return strategies;
    } else {
        return new LinkedList<T>();
    }
}

From source file:org.springframework.web.servlet.SimpleDispatcherServlet.java

/**
 * Create a List of default strategy objects for the given strategy interface.
 * <p>The default implementation uses the "DispatcherServlet.properties" file (in the same
 * package as the DispatcherServlet class) to determine the class names. It instantiates
 * the strategy objects through the context's BeanFactory.
 * @param context the current WebApplicationContext
 * @param strategyInterface the strategy interface
 * @return the List of corresponding strategy objects
 *//*from   w w  w  .  j a va  2  s . c o m*/
@SuppressWarnings("unchecked")
protected <T> List<T> getDefaultStrategies(ApplicationContext context, Class<T> strategyInterface) {
    String key = strategyInterface.getName();
    String value = defaultStrategies.getProperty(key);
    if (value != null) {
        String[] classNames = StringUtils.commaDelimitedListToStringArray(value);
        List<T> strategies = new ArrayList<T>(classNames.length);
        for (String className : classNames) {
            try {
                Class clazz = ClassUtils.forName(className, DispatcherServlet.class.getClassLoader());
                Object strategy = createDefaultStrategy(context, clazz);
                strategies.add((T) strategy);
            } catch (ClassNotFoundException ex) {
                throw new BeanInitializationException(
                        "Could not find DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]",
                        ex);
            } catch (LinkageError err) {
                throw new BeanInitializationException(
                        "Error loading DispatcherServlet's default strategy class [" + className
                                + "] for interface [" + key + "]: problem with class file or dependent class",
                        err);
            }
        }
        return strategies;
    } else {
        return new LinkedList<T>();
    }
}