in plugins/openldap.syncrepl/src/main/java/org/apache/directory/studio/openldap/syncrepl/SyncReplParser.java [108:453]
private SyncRepl parseInternal( char[] chars, Position pos, SyncReplParserException parserException )
{
SyncRepl syncRepl = new SyncRepl();
boolean foundAtLeastOneProperty = false;
char c = Strings.charAt( chars, pos.start );
do
{
// Whitespace
if ( Character.isWhitespace( c ) )
{
// We ignore all whitespaces
pos.start++;
}
// rid
else if ( Strings.areEquals( chars, pos.start, KEYWORD_RID, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_RID.length();
parseRid( chars, pos, syncRepl, parserException );
}
// provider
else if ( Strings.areEquals( chars, pos.start, KEYWORD_PROVIDER, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_PROVIDER.length();
parseProvider( chars, pos, syncRepl, parserException );
}
// searchbase
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SEARCHBASE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SEARCHBASE.length();
parseSearchBase( chars, pos, syncRepl, parserException );
}
// type
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TYPE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TYPE.length();
parseType( chars, pos, syncRepl, parserException );
}
// interval
else if ( Strings.areEquals( chars, pos.start, KEYWORD_INTERVAL, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_INTERVAL.length();
parseInterval( chars, pos, syncRepl, parserException );
}
// retry
else if ( Strings.areEquals( chars, pos.start, KEYWORD_RETRY, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_RETRY.length();
parseRetry( chars, pos, syncRepl, parserException );
}
// filter
else if ( Strings.areEquals( chars, pos.start, KEYWORD_FILTER, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_FILTER.length();
parseFilter( chars, pos, syncRepl, parserException );
}
// scope
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SCOPE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SCOPE.length();
parseScope( chars, pos, syncRepl, parserException );
}
// attrsonly
else if ( Strings.areEquals( chars, pos.start, KEYWORD_ATTRSONLY, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_ATTRSONLY.length();
syncRepl.setAttrsOnly( true );
}
// attrs
else if ( Strings.areEquals( chars, pos.start, KEYWORD_ATTRS, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_ATTRS.length();
parseAttrs( chars, pos, syncRepl, parserException );
}
// sizelimit
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SIZELIMIT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SIZELIMIT.length();
parseSizeLimit( chars, pos, syncRepl, parserException );
}
// timelimit
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TIMELIMIT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TIMELIMIT.length();
parseTimeLimit( chars, pos, syncRepl, parserException );
}
// schemachecking
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SCHEMACHECKING, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SCHEMACHECKING.length();
parseSchemaChecking( chars, pos, syncRepl, parserException );
}
// network-timeout
else if ( Strings.areEquals( chars, pos.start, KEYWORD_NETWORK_TIMEOUT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_NETWORK_TIMEOUT.length();
parseNetworkTimeout( chars, pos, syncRepl, parserException );
}
// timeout
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TIMEOUT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TIMEOUT.length();
parseTimeout( chars, pos, syncRepl, parserException );
}
// bindmethod
else if ( Strings.areEquals( chars, pos.start, KEYWORD_BINDMETHOD, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_BINDMETHOD.length();
parseBindMethod( chars, pos, syncRepl, parserException );
}
// binddn
else if ( Strings.areEquals( chars, pos.start, KEYWORD_BINDDN, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_BINDDN.length();
parseBindDn( chars, pos, syncRepl, parserException );
}
// saslmech
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SASLMECH, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SASLMECH.length();
parseSaslMech( chars, pos, syncRepl, parserException );
}
// authcid
else if ( Strings.areEquals( chars, pos.start, KEYWORD_AUTHCID, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_AUTHCID.length();
parseAuthcId( chars, pos, syncRepl, parserException );
}
// authzid
else if ( Strings.areEquals( chars, pos.start, KEYWORD_AUTHZID, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_AUTHZID.length();
parseAuthzId( chars, pos, syncRepl, parserException );
}
// credentials
else if ( Strings.areEquals( chars, pos.start, KEYWORD_CREDENTIALS, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_CREDENTIALS.length();
parseCredentials( chars, pos, syncRepl, parserException );
}
// realm
else if ( Strings.areEquals( chars, pos.start, KEYWORD_REALM, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_REALM.length();
parseRealm( chars, pos, syncRepl, parserException );
}
// secprops
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SECPROPS, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SECPROPS.length();
parseSecProps( chars, pos, syncRepl, parserException );
}
// keepalive
else if ( Strings.areEquals( chars, pos.start, KEYWORD_KEEPALIVE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_KEEPALIVE.length();
parseKeepAlive( chars, pos, syncRepl, parserException );
}
// starttls
else if ( Strings.areEquals( chars, pos.start, KEYWORD_STARTTLS, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_STARTTLS.length();
parseStartTls( chars, pos, syncRepl, parserException );
}
// tls_cert
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_CERT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_CERT.length();
parseTlsCert( chars, pos, syncRepl, parserException );
}
// tls_key
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_KEY, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_KEY.length();
parseTlsKey( chars, pos, syncRepl, parserException );
}
// tls_cacert
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_CACERT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_CACERT.length();
parseTlsCacert( chars, pos, syncRepl, parserException );
}
// tls_cacertdir
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_CACERTDIR, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_CACERTDIR.length();
parseTlsCacertDir( chars, pos, syncRepl, parserException );
}
// tls_reqcert
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_REQCERT, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_REQCERT.length();
parseTlsReqCert( chars, pos, syncRepl, parserException );
}
// tls_ciphersuite
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_CIPHERSUITE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_CIPHERSUITE.length();
parseTlsCipherSuite( chars, pos, syncRepl, parserException );
}
// tls_crlcheck
else if ( Strings.areEquals( chars, pos.start, KEYWORD_TLS_CRLCHECK, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_TLS_CRLCHECK.length();
parseTlsCrlCheck( chars, pos, syncRepl, parserException );
}
// logbase
else if ( Strings.areEquals( chars, pos.start, KEYWORD_LOGBASE, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_LOGBASE.length();
parseLogBase( chars, pos, syncRepl, parserException );
}
// logfilter
else if ( Strings.areEquals( chars, pos.start, KEYWORD_LOGFILTER, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_LOGFILTER.length();
parseLogFilter( chars, pos, syncRepl, parserException );
}
// syncdata
else if ( Strings.areEquals( chars, pos.start, KEYWORD_SYNCDATA, false ) >= 0 )
{
foundAtLeastOneProperty = true;
pos.start += KEYWORD_SYNCDATA.length();
parseSyncData( chars, pos, syncRepl, parserException );
}
// We couldn't find the appropriate option
else
{
pos.start++;
}
}
while ( ( pos.start != pos.length ) && ( ( c = Strings.charAt( chars, pos.start ) ) != '\0' ) );
if ( foundAtLeastOneProperty )
{
return syncRepl;
}
return null;
}