1
package com.eucalyptus.auth.policy;
3
import java.util.regex.Pattern;
5
public class PatternUtils {
7
private static final Pattern ESCAPE_PATTERN = Pattern.compile( "([^a-zA-z0-9*?])" );
8
private static final Pattern WILDCARD_MULTIPLE_PATTERN = Pattern.compile( "([*])" );
9
private static final Pattern WILDCARD_SINGLE_PATTERN = Pattern.compile( "([?])" );
12
* Convert an IAM policy pattern (action pattern or resource pattern with * and ?)
13
* to a canonical Java regex Pattern.
15
* @param policyPattern
18
public static String toJavaPattern( String pattern ) {
19
String result = pattern;
21
if ( pattern == null ) {
24
result = ESCAPE_PATTERN.matcher( result ).replaceAll( "\\\\$1" );
25
result = WILDCARD_SINGLE_PATTERN.matcher( result ).replaceAll( "." );
26
result = WILDCARD_MULTIPLE_PATTERN.matcher( result ).replaceAll( ".*" );