public class GlobusNamespacesParser extends java.lang.Object implements NamespacesParser
NamespacePolicy
object.
Only the simplified parsing of the EACL format is implemented, in a similar way is in case
of a native Globus implementation. However there are differences. First of all the format
of this file is defined in a very imprecise way.
The parsing is done in the following way:
Modifier and Type | Class and Description |
---|---|
static class |
GlobusNamespacesParser.InvalidPolicyFilenameException |
static class |
GlobusNamespacesParser.PolicySyntaxException |
private static class |
GlobusNamespacesParser.Token |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ACCESS_ID_CA |
static java.lang.String |
CONDITION_SUBJECT |
static java.lang.String |
DEF_AUTH_GLOBUS |
static java.lang.String |
DEF_AUTH_X509 |
private java.lang.String |
filePath |
private java.lang.String |
hash |
private java.lang.String |
issuer |
static java.lang.String |
NS_REGEXP |
static java.lang.String |
POS_RIGHTS |
private java.util.List<NamespacePolicy> |
ret |
static java.lang.String |
VALUE_CA_SIGN |
Constructor and Description |
---|
GlobusNamespacesParser(java.lang.String filePath) |
Modifier and Type | Method and Description |
---|---|
private void |
addPermitted(java.lang.String permitted) |
private int |
eatSpaces(char[] string,
int offset,
boolean atLeastOne) |
private int |
getQuoted(char[] string,
int offset,
char quoteChar,
java.lang.StringBuilder ret) |
private void |
handleAuthEntry(java.lang.String line,
java.io.BufferedReader reader) |
private void |
handleCABlock(java.lang.String line,
java.io.BufferedReader reader) |
private void |
handlePermitEntry(java.lang.String line,
java.io.BufferedReader reader) |
private boolean |
isValid(java.lang.String line) |
static java.lang.String |
makeRegexpClassicWildcard(java.lang.String pattern)
Converts wildcard string to Java regexp, ensuring that
literal sequences are correctly escaped.
|
static java.lang.String |
normalize(java.lang.String dn) |
java.util.List<NamespacePolicy> |
parse() |
private GlobusNamespacesParser.Token |
parseNextTokenUntil(char[] string,
int offset,
char delimiter) |
public static java.lang.String ACCESS_ID_CA
public static java.lang.String DEF_AUTH_X509
public static java.lang.String DEF_AUTH_GLOBUS
public static java.lang.String POS_RIGHTS
public static java.lang.String CONDITION_SUBJECT
public static java.lang.String VALUE_CA_SIGN
public static final java.lang.String NS_REGEXP
private java.lang.String filePath
private java.lang.String hash
private java.lang.String issuer
private java.util.List<NamespacePolicy> ret
public java.util.List<NamespacePolicy> parse() throws java.io.IOException
parse
in interface NamespacesParser
java.io.IOException
private void handleCABlock(java.lang.String line, java.io.BufferedReader reader) throws java.io.IOException
java.io.IOException
private void handleAuthEntry(java.lang.String line, java.io.BufferedReader reader) throws java.io.IOException
java.io.IOException
private void handlePermitEntry(java.lang.String line, java.io.BufferedReader reader) throws java.io.IOException
java.io.IOException
private void addPermitted(java.lang.String permitted) throws java.io.IOException
java.io.IOException
private int getQuoted(char[] string, int offset, char quoteChar, java.lang.StringBuilder ret) throws java.io.IOException
java.io.IOException
private boolean isValid(java.lang.String line)
private int eatSpaces(char[] string, int offset, boolean atLeastOne) throws java.io.IOException
java.io.IOException
private GlobusNamespacesParser.Token parseNextTokenUntil(char[] string, int offset, char delimiter) throws GlobusNamespacesParser.PolicySyntaxException
public static java.lang.String normalize(java.lang.String dn)
public static java.lang.String makeRegexpClassicWildcard(java.lang.String pattern)
pattern
- input wildcard