You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2006/11/16 17:38:51 UTC
svn commit: r475805 [3/17] - in
/directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser: ./
META-INF/ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/directory/
src/main/java/org/apache/direct...
Added: directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java?view=auto&rev=475805
==============================================================================
--- directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java (added)
+++ directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java Thu Nov 16 08:38:31 2006
@@ -0,0 +1,2646 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.directory.ldapstudio.dsmlv2;
+
+
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.util.HashMap;
+
+import javax.naming.InvalidNameException;
+
+import org.apache.directory.ldapstudio.dsmlv2.BatchRequest.OnError;
+import org.apache.directory.ldapstudio.dsmlv2.BatchRequest.Processing;
+import org.apache.directory.ldapstudio.dsmlv2.BatchRequest.ResponseOrder;
+import org.apache.directory.shared.asn1.Asn1Object;
+import org.apache.directory.shared.asn1.codec.DecoderException;
+import org.apache.directory.shared.asn1.primitives.OID;
+import org.apache.directory.shared.ldap.codec.AttributeValueAssertion;
+import org.apache.directory.shared.ldap.codec.Control;
+import org.apache.directory.shared.ldap.codec.LdapConstants;
+import org.apache.directory.shared.ldap.codec.abandon.AbandonRequest;
+import org.apache.directory.shared.ldap.codec.add.AddRequest;
+import org.apache.directory.shared.ldap.codec.bind.BindRequest;
+import org.apache.directory.shared.ldap.codec.bind.SimpleAuthentication;
+import org.apache.directory.shared.ldap.codec.compare.CompareRequest;
+import org.apache.directory.shared.ldap.codec.del.DelRequest;
+import org.apache.directory.shared.ldap.codec.extended.ExtendedRequest;
+import org.apache.directory.shared.ldap.codec.modify.ModifyRequest;
+import org.apache.directory.shared.ldap.codec.modifyDn.ModifyDNRequest;
+import org.apache.directory.shared.ldap.codec.search.AndFilter;
+import org.apache.directory.shared.ldap.codec.search.AttributeValueAssertionFilter;
+import org.apache.directory.shared.ldap.codec.search.ExtensibleMatchFilter;
+import org.apache.directory.shared.ldap.codec.search.Filter;
+import org.apache.directory.shared.ldap.codec.search.NotFilter;
+import org.apache.directory.shared.ldap.codec.search.OrFilter;
+import org.apache.directory.shared.ldap.codec.search.PresentFilter;
+import org.apache.directory.shared.ldap.codec.search.SearchRequest;
+import org.apache.directory.shared.ldap.codec.search.SubstringFilter;
+import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.name.Rdn;
+import org.apache.directory.shared.ldap.util.StringTools;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+
+/**
+ * This Class represents the DSMLv2 Request Grammar
+ */
+public class Dsmlv2Grammar extends AbstractGrammar implements IGrammar
+{
+ /** The instance of grammar. Dsmlv2Grammar is a singleton */
+ private static Dsmlv2Grammar instance = new Dsmlv2Grammar();
+
+ @SuppressWarnings("unchecked")
+ private Dsmlv2Grammar()
+ {
+ name = Dsmlv2Grammar.class.getName();
+ statesEnum = Dsmlv2StatesEnum.getInstance();
+
+ // Create the transitions table
+ super.transitions = (HashMap<Tag, GrammarTransition>[]) Array.newInstance( HashMap.class, 200 );; // TODO Change this value
+
+ //====================================================
+ // Transitions concerning : BATCH REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.INIT_GRAMMAR_STATE] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // ** OPEN BATCH REQUEST **
+ // State: [INIT_GRAMMAR_STATE] - Tag: <batchRequest>
+ super.transitions[Dsmlv2StatesEnum.INIT_GRAMMAR_STATE].put( new Tag( "batchRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.INIT_GRAMMAR_STATE, Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, batchRequestCreation ));
+
+ // ** CLOSE BATCH REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: </batchRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "batchRequest", Tag.END ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_END_TAG, null ) );
+ //state: [BATCHREQUEST_LOOP] - Tag: </batchRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "batchRequest", Tag.END ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.END_STATE, null ) );
+
+ // ** ABANDON REQUEST **
+ // State: [BATCHREQUEST_START_TAG] - Tag: <abandonRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "abandonRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG, abandonRequestCreation ));
+ // state: [BATCHREQUEST_LOOP] - Tag: <abandonRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "abandonRequest", Tag.START ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG, abandonRequestCreation ) );
+
+ // ** ADD REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <addRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "addRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_START_TAG, addRequestCreation ));
+ // state: [BATCHREQUEST_LOOP] - Tag: <addRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "addRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.ADD_REQUEST_START_TAG, addRequestCreation ));
+
+ // ** AUTH REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <authRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "authRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG, authRequestCreation ));
+
+ // ** COMPARE REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <compareRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "compareRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG, compareRequestCreation ));
+ // state: [BATCHREQUEST_LOOP] - Tag: <compareRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "compareRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG, compareRequestCreation ));
+
+ // ** DEL REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <delRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "delRequest", Tag.START ), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.DEL_REQUEST_START_TAG, delRequestCreation ));
+ // state: [BATCHREQUEST_LOOP] - Tag: <delRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "delRequest", Tag.START ), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.DEL_REQUEST_START_TAG, delRequestCreation ));
+
+ // ** EXTENDED REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <extendedRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "extendedRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG, extendedRequestCreation ));
+ // state: [BATCHREQUEST_LOOP] - Tag: <extendedRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "extendedRequest", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG, extendedRequestCreation ));
+
+ // ** MOD DN REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <modDNRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "modDNRequest", Tag.START ), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG, modDNRequestCreation ) );
+ // state: [BATCHREQUEST_LOOP] - Tag: <modDNRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "modDNRequest", Tag.START ), new GrammarTransition(
+ Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG, modDNRequestCreation ) );
+
+ // ** MODIFY REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <modifyRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "modifyRequest", Tag.START ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG, modifyRequestCreation ) );
+ // state: [BATCHREQUEST_LOOP] - Tag: <modifyRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "modifyRequest", Tag.START ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG, modifyRequestCreation ) );
+
+ // ** SEARCH REQUEST **
+ // state: [BATCHREQUEST_START_TAG] - Tag: <searchRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_START_TAG].put( new Tag( "searchRequest", Tag.START ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG, searchRequestCreation ) );
+ // state: [BATCHREQUEST_LOOP] - Tag: <searchRequest>
+ super.transitions[Dsmlv2StatesEnum.BATCHREQUEST_LOOP].put( new Tag( "searchRequest", Tag.START ),
+ new GrammarTransition( Dsmlv2StatesEnum.BATCHREQUEST_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG, searchRequestCreation ) );
+
+
+ //====================================================
+ // Transitions concerning : ABANDON REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [ABANDON_REQUEST_START_TAG] - Tag: </abandonRequest>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG].put( new Tag( "abandonRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [ABANDON_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_START_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [ABANDON_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [ABANDON_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [ABANDON_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [ABANDON_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [ABANDON_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [ABANDON_REQUEST_CONTROL_END_TAG] - Tag: </abandonRequest>
+ super.transitions[Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG].put( new Tag( "abandonRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ABANDON_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : ADD REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_VALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // state: [ADD_REQUEST_START_TAG] -> Tag: </addRequest>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_START_TAG].put( new Tag( "addRequest", Tag.END ),
+ new GrammarTransition( Dsmlv2StatesEnum.ADD_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [ADD_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [ADD_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [ADD_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [ADD_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [ADD_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [ADD_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [ADD_REQUEST_CONTROL_END_TAG] - Tag: </addRequest>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG].put( new Tag( "addRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [ADD_REQUEST_START_TAG] - Tag: <attr>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_START_TAG].put( new Tag( "attr", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG, addRequestAddAttribute ));
+
+ // State: [ADD_REQUEST_CONTROL_END_TAG] - Tag: <attr>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG].put( new Tag( "attr", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG, addRequestAddAttribute ));
+
+ // State: [ADD_REQUEST_ATTR_END_TAG] - Tag: <attr>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG].put( new Tag( "attr", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG, addRequestAddAttribute ));
+
+ // State: [ADD_REQUEST_ATTR_START_TAG] - Tag: </attr>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG].put( new Tag( "attr", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG, null ));
+
+ // State: [ADD_REQUEST_ATTR_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_ATTR_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_VALUE_START_TAG, addRequestAddValue ));
+
+ // State: [ADD_REQUEST_VALUE_END_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_VALUE_START_TAG, addRequestAddValue ));
+
+ // State: [ADD_REQUEST_VALUE_START_TAG] - Tag: </value>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_VALUE_START_TAG].put( new Tag( "value", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_VALUE_START_TAG, Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG, null ));
+
+ // State: [ADD_REQUEST_VALUE_END_TAG] - Tag: </attr>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG].put( new Tag( "attr", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG, null ));
+
+ // State: [ADD_REQUEST_ATTR_END_TAG] - Tag: </addRequest>
+ super.transitions[Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG].put( new Tag( "addRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.ADD_REQUEST_ATTR_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : AUTH REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // state: [AUTH_REQUEST_START_TAG] -> Tag: </authRequest>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG].put( new Tag( "authRequest", Tag.END ),
+ new GrammarTransition( Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [AUTH_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_START_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [AUTH_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [AUTH_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [AUTH_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [AUTH_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [AUTH_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [AUTH_REQUEST_CONTROL_END_TAG] - Tag: </authRequest>
+ super.transitions[Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG].put( new Tag( "authRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.AUTH_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : COMPARE REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [COMPARE_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [COMPARE_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [COMPARE_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [COMPARE_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [COMPARE_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [COMPARE_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [COMPARE_REQUEST_CONTROL_END_TAG] - Tag: </compareRequest>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG].put( new Tag( "compareRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [COMPARE_REQUEST_START_TAG] - Tag: <assertion>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_START_TAG].put( new Tag( "assertion", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_START_TAG, compareRequestAddAssertion ));
+
+ // State: [COMPARE_REQUEST_CONTROL_END_TAG] - Tag: <assertion>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG].put( new Tag( "assertion", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_START_TAG, compareRequestAddAssertion ));
+
+ // State: [COMPARE_REQUEST_ASSERTION_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_START_TAG, compareRequestAddValue ));
+
+ // State: [COMPARE_REQUEST_VALUE_START_TAG] - Tag: </value>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_START_TAG].put( new Tag( "value", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_START_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_END_TAG, null ));
+
+ // State: [COMPARE_REQUEST_VALUE_END_TAG] - Tag: </assertion>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_END_TAG].put( new Tag( "assertion", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_END_TAG, null ));
+
+ // State: [COMPARE_REQUEST_ASSERTION_END_TAG] - Tag: </compareRequest>
+ super.transitions[Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_END_TAG].put( new Tag( "compareRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.COMPARE_REQUEST_ASSERTION_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : DEL REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [DEL_REQUEST_START_TAG] - Tag: </delRequest>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_START_TAG].put( new Tag( "delRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [DEL_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_START_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [DEL_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [DEL_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [DEL_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [DEL_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [DEL_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [DEL_REQUEST_CONTROL_END_TAG] - Tag: </delRequest>
+ super.transitions[Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG].put( new Tag( "delRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.DEL_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : EXTENDED REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [EXTENDED_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [EXTENDED_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [EXTENDED_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [EXTENDED_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [EXTENDED_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [EXTENDED_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [EXTENDED_REQUEST_CONTROL_END_TAG] - Tag: </extendedRequest>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG].put( new Tag( "extendedRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [EXTENDED_REQUEST_START_TAG] - Tag: <requestName>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG].put( new Tag( "requestName", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_START_TAG, extendedRequestAddName ));
+
+ // State: [EXTENDED_REQUEST_CONTROL_END_TAG] - Tag: <requestName>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG].put( new Tag( "requestName", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_START_TAG, extendedRequestAddName ));
+
+ // State: [EXTENDED_REQUEST_REQUESTNAME_START_TAG] - Tag: </requestName>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_START_TAG].put( new Tag( "requestName", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG, null ));
+
+ // State: [EXTENDED_REQUEST_REQUESTNAME_END_TAG] - Tag: </extendedRequest>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG].put( new Tag( "extendedRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [EXTENDED_REQUEST_REQUESTNAME_END_TAG] - Tag: <requestValue>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG].put( new Tag( "requestValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTNAME_END_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_START_TAG, extendedRequestAddValue ));
+
+ // State: [EXTENDED_REQUEST_REQUESTVALUE_START_TAG] - Tag: </requestValue>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_START_TAG].put( new Tag( "requestValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_START_TAG, Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_END_TAG, null ));
+
+ // State: [EXTENDED_REQUEST_REQUESTVALUE_END_TAG] - Tag: </requestRequest>
+ super.transitions[Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_END_TAG].put( new Tag( "extendedRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.EXTENDED_REQUEST_REQUESTVALUE_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : MODIFY DN REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [MODIFY_DN_REQUEST_START_TAG] - Tag: </modDNRequest>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG].put( new Tag( "modDNRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [MODIFY_DN_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_START_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [MODIFY_DN_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [MODIFY_DN_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [MODIFY_DN_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [MODIFY_DN_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [MODIFY_DN_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [MODIFY_DN_REQUEST_CONTROL_END_TAG] - Tag: </modDNRequest>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG].put( new Tag( "modDNRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_DN_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : MODIFY REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [MODIFY_REQUEST_START_TAG] - Tag: </modifyRequest>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG].put( new Tag( "modifyRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [MODIFY_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [MODIFY_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [MODIFY_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [MODIFY_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [MODIFY_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [MODIFY_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [MODIFY_REQUEST_CONTROL_END_TAG] - Tag: </modifyRequest>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG].put( new Tag( "modifyRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+ // State: [MODIFY_REQUEST_CONTROL_END_TAG] - Tag: <modification>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG].put( new Tag( "modification", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG, modifyRequestAddModification ));
+
+ // State: [MODIFY_REQUEST_START_TAG] - Tag: <modification>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG].put( new Tag( "modification", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG, modifyRequestAddModification ));
+
+ // State: [MODIFY_REQUEST_MODIFICATION_END_TAG] - Tag: <modification>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG].put( new Tag( "modification", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG, modifyRequestAddModification ));
+
+ // State: [MODIFY_REQUEST_MODIFICATION_START_TAG] - Tag: </modification>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG].put( new Tag( "modification", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG, null ));
+
+ // State: [MODIFY_REQUEST_MODIFICATION_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_START_TAG, modifyRequestAddValue ));
+
+ // State: [MODIFY_REQUEST_VALUE_START_TAG] - Tag: </value>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_START_TAG].put( new Tag( "value", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_START_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG, null ));
+
+ // State: [MODIFY_REQUEST_VALUE_END_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_START_TAG, modifyRequestAddValue ));
+
+ // State: [MODIFY_REQUEST_VALUE_END_TAG] - Tag: </modification>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG].put( new Tag( "modification", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG, null ));
+
+ // State: [MODIFY_REQUEST_MODIFICATION_END_TAG] - Tag: </modifyRequest>
+ super.transitions[Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG].put( new Tag( "modifyRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.MODIFY_REQUEST_MODIFICATION_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : SEARCH REQUEST
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [SEARCH_REQUEST_START_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [SEARCH_REQUEST_CONTROL_START_TAG] - Tag: <controlValue>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG].put( new Tag( "controlValue", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_START_TAG, controlValueCreation ));
+
+ // State: [SEARCH_REQUEST_CONTROLVALUE_START_TAG] - Tag: </controlValue>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_START_TAG].put( new Tag( "controlValue", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_CONTROLVALUE_END_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_END_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROLVALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG, null ));
+
+ //Â State: [SEARCH_REQUEST_CONTROL_START_TAG] - Tag: </control>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG].put( new Tag( "control", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_CONTROL_END_TAG] - Tag: <control>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG].put( new Tag( "control", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_START_TAG, controlCreation ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTES_START_TAG] - Tag: </attributes>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG].put( new Tag( "attributes", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTES_START_TAG] - Tag: <attribute>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG].put( new Tag( "attribute", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_START_TAG, searchRequestAddAttribute ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTE_START_TAG] - Tag: </attribute>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_START_TAG].put( new Tag( "attribute", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTE_END_TAG] - Tag: <attribute>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG].put( new Tag( "attribute", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_START_TAG, searchRequestAddAttribute ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTE_END_TAG] - Tag: </attributes>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG].put( new Tag( "attributes", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_ATTRIBUTES_END_TAG] - Tag: </searchRequest>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_END_TAG].put( new Tag( "searchRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : FILTER
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EQUALITYMATCH_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_GREATEROREQUAL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_LESSOREQUAL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_APPROXMATCH_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_PRESENT_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+
+ // State: [SEARCH_REQUEST_START_TAG] - Tag: <filter>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG].put( new Tag( "filter", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, null ));
+
+ // State: [SEARCH_REQUEST_CONTROL_END_TAG] - Tag: <filter>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG].put( new Tag( "filter", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_CONTROL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, null ));
+
+ //*** AND ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <and>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "and", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, andFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <and>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "and", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, andFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: </and>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "and", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, connectorFilterClose ));
+
+ //*** OR ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <or>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "or", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, orFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <or>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "or", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, orFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: </or>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "or", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, connectorFilterClose ));
+
+ //*** NOT ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <not>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "not", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, notFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <not>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "not", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, notFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: </not>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "not", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, connectorFilterClose ));
+
+ //*** SUBSTRINGS ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "substrings", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, substringsFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "substrings", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, substringsFilterCreation ));
+
+ //*** EQUALITY MATCH ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <equalityMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "equalityMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_EQUALITYMATCH_START_TAG, equalityMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <equalityMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "equalityMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_EQUALITYMATCH_START_TAG, equalityMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_EQUALITYMATCH_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EQUALITYMATCH_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_EQUALITYMATCH_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG, filterAddValue ));
+
+ // State: [SEARCH_REQUEST_VALUE_END_TAG] - Tag: </equalityMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG].put( new Tag( "equalityMatch", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** GREATER OR EQUAL ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <greaterOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "greaterOrEqual", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_GREATEROREQUAL_START_TAG, greaterOrEqualFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <greaterOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "greaterOrEqual", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_GREATEROREQUAL_START_TAG, greaterOrEqualFilterCreation ));
+
+ // State: [SEARCH_REQUEST_GREATEROREQUAL_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_GREATEROREQUAL_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_GREATEROREQUAL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG, filterAddValue ));
+
+ // State: [SEARCH_REQUEST_VALUE_END_TAG] - Tag: </greaterOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG].put( new Tag( "greaterOrEqual", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** LESS OR EQUAL ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <lessOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "lessOrEqual", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_LESSOREQUAL_START_TAG, lessOrEqualFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <lessOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "lessOrEqual", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_LESSOREQUAL_START_TAG, lessOrEqualFilterCreation ));
+
+ // State: [SEARCH_REQUEST_LESSOREQUAL_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_LESSOREQUAL_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_LESSOREQUAL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG, filterAddValue ));
+
+ // State: [SEARCH_REQUEST_VALUE_END_TAG] - Tag: </lessOrEqual>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG].put( new Tag( "lessOrEqual", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** LESS OR EQUAL ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <approxMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "approxMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_APPROXMATCH_START_TAG, approxMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <approxMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "approxMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_APPROXMATCH_START_TAG, approxMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_APPROXMATCH_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_APPROXMATCH_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_APPROXMATCH_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG, filterAddValue ));
+
+ // State: [SEARCH_REQUEST_VALUE_END_TAG] - Tag: </approxMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG].put( new Tag( "approxMatch", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** VALUE ***
+ // State: [SEARCH_REQUEST_VALUE_START_TAG] - Tag: </value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG].put( new Tag( "value", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_VALUE_END_TAG, null ));
+
+ //*** PRESENT ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <present>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "present", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_PRESENT_START_TAG, presentFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <present>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "present", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_PRESENT_START_TAG, presentFilterCreation ));
+
+ // State: [SEARCH_REQUEST_PRESENT_START_TAG] - Tag: </present>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_PRESENT_START_TAG].put( new Tag( "present", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_PRESENT_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** EXTENSIBLE MATCH ***
+ // State: [SEARCH_REQUEST_FILTER_START_TAG] - Tag: <extensibleMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG].put( new Tag( "extensibleMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG, extensibleMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: <extensibleMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "extensibleMatch", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG, extensibleMatchFilterCreation ));
+
+ // State: [SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG] - Tag: <value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG].put( new Tag( "value", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_START_TAG, extensibleMatchAddValue ));
+
+ // State: [SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_START_TAG] - Tag: </value>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_START_TAG].put( new Tag( "value", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_END_TAG] - Tag: </extensibleMatch>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_END_TAG].put( new Tag( "extensibleMatch", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_EXTENSIBLEMATCH_VALUE_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, null ));
+
+ //*** Filter (end) ***
+ // State: [SEARCH_REQUEST_FILTER_LOOP] - Tag: </filter>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP].put( new Tag( "filter", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_FILTER_END_TAG] - Tag: <attributes>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG].put( new Tag( "attributes", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ATTRIBUTES_START_TAG, null ));
+
+ // State: [SEARCH_REQUEST_FILTER_END_TAG] - Tag: </searchRequest>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG].put( new Tag( "searchRequest", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_END_TAG, Dsmlv2StatesEnum.BATCHREQUEST_LOOP, null ));
+
+
+ //====================================================
+ // Transitions concerning : SUBSTRING FILTER
+ //====================================================
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_END_TAG] = new HashMap<Tag, GrammarTransition>();
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_END_TAG] = new HashMap<Tag, GrammarTransition>();
+
+ // State: [SEARCH_REQUEST_SUBSTRINGS_START_TAG] - Tag: </substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG].put( new Tag( "substrings", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, substringsFilterSetInitial ));
+
+ // State: [SEARCH_REQUEST_SUBSTRINGS_START_TAG] - Tag: <initial>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG].put( new Tag( "initial", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_START_TAG, substringsFilterSetInitial ));
+
+ // State: [SEARCH_REQUEST_INITIAL_END_TAG] - Tag: <any>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG].put( new Tag( "any", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG, substringsFilterAddAny ));
+
+ // State: [SEARCH_REQUEST_INITIAL_END_TAG] - Tag: <final>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG].put( new Tag( "final", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG, substringsFilterSetFinal ));
+
+ // State: [SEARCH_REQUEST_INITIAL_END_TAG] - Tag: </substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG].put( new Tag( "substrings", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, substringsFilterClose ));
+
+ // State: [SEARCH_REQUEST_INITIAL_START_TAG] - Tag: </initial>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_START_TAG].put( new Tag( "initial", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_INITIAL_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_SUBSTRINGS_START_TAG] - Tag: <any>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG].put( new Tag( "any", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG, substringsFilterAddAny ));
+
+ // State: [SEARCH_REQUEST_ANY_START_TAG] - Tag: </any>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG].put( new Tag( "any", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_ANY_END_TAG] - Tag: </any>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG].put( new Tag( "any", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_START_TAG, substringsFilterAddAny ));
+
+ // State: [SEARCH_REQUEST_ANY_END_TAG] - Tag: <final>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG].put( new Tag( "final", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG, substringsFilterSetFinal ));
+
+ // State: [SEARCH_REQUEST_ANY_END_TAG] - Tag: </substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG].put( new Tag( "substrings", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_ANY_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, substringsFilterClose ));
+
+ // State: [SEARCH_REQUEST_SUBSTRINGS_START_TAG] - Tag: <final>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG].put( new Tag( "final", Tag.START), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_SUBSTRINGS_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG, substringsFilterSetFinal ));
+
+ // State: [SEARCH_REQUEST_FINAL_START_TAG] - Tag: </final>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG].put( new Tag( "final", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_START_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_END_TAG, null ));
+
+ // State: [SEARCH_REQUEST_FINAL_END_TAG] - Tag: </substrings>
+ super.transitions[Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_END_TAG].put( new Tag( "substrings", Tag.END), new GrammarTransition(
+ Dsmlv2StatesEnum.SEARCH_REQUEST_FINAL_END_TAG, Dsmlv2StatesEnum.SEARCH_REQUEST_FILTER_LOOP, substringsFilterClose ));
+
+ } // End of the constructor
+
+
+ //*************************
+ //* GRAMMAR ACTIONS *
+ //*************************
+
+ /**
+ * GrammarAction that creates an Abandon Request
+ */
+ private final GrammarAction batchRequestCreation = new GrammarAction( "Create Batch Request" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ BatchRequest batchRequest = new BatchRequest();
+
+ container.setBatchRequest( batchRequest );
+
+ XmlPullParser xpp = container.getParser();
+
+ // Checking and adding the batchRequest's attributes
+ String attributeValue;
+ // requestID
+ attributeValue = xpp.getAttributeValue( "", "requestID" );
+ if ( attributeValue != null )
+ {
+ try
+ {
+ batchRequest.setRequestID( Integer.parseInt( attributeValue ) );
+ }
+ catch (NumberFormatException e) {
+ throw new XmlPullParserException( "the given requestID is not an integer", xpp, null );
+ }
+ }
+ // processing
+ attributeValue = xpp.getAttributeValue( "", "processing" );
+ if ( attributeValue != null )
+ {
+ if ( "sequential".equals( attributeValue ) )
+ {
+ batchRequest.setProcessing( Processing.SEQUENTIAL );
+ }
+ else if ( "parallel".equals( attributeValue ) )
+ {
+ batchRequest.setProcessing( Processing.PARALLEL );
+ }
+ else
+ {
+ throw new XmlPullParserException( "Unknown value for 'processing' attribute.", xpp, null );
+ }
+ }
+ else
+ {
+ batchRequest.setProcessing( Processing.SEQUENTIAL );
+ }
+ // onError
+ attributeValue = xpp.getAttributeValue( "", "onError" );
+ if ( attributeValue != null )
+ {
+ if ( "resume".equals( attributeValue ) )
+ {
+ batchRequest.setOnError( OnError.RESUME );
+ }
+ else if ( "exit".equals( attributeValue ) )
+ {
+ batchRequest.setOnError( OnError.EXIT );
+ }
+ else
+ {
+ throw new XmlPullParserException( "Unknown value for 'onError' attribute.", xpp, null );
+ }
+ }
+ else
+ {
+ batchRequest.setOnError( OnError.EXIT );
+ }
+ // responseOrder
+ attributeValue = xpp.getAttributeValue( "", "responseOrder" );
+ if ( attributeValue != null )
+ {
+ if ( "sequential".equals( attributeValue ) )
+ {
+ batchRequest.setResponseOrder( ResponseOrder.SEQUENTIAL );
+ }
+ else if ( "unordered".equals( attributeValue ) )
+ {
+ batchRequest.setResponseOrder( ResponseOrder.UNORDERED );
+ }
+ else
+ {
+ throw new XmlPullParserException( "Unknown value for 'responseOrder' attribute.", xpp, null );
+ }
+ }
+ else
+ {
+ batchRequest.setResponseOrder( ResponseOrder.SEQUENTIAL );
+ }
+ }
+ };
+
+ /**
+ * GrammarAction that creates an Abandon Request
+ */
+ private final GrammarAction abandonRequestCreation = new GrammarAction( "Create Abandon Request" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ AbandonRequest abandonRequest = new AbandonRequest();
+ container.getBatchRequest().addRequest( abandonRequest );
+
+ XmlPullParser xpp = container.getParser();
+
+ // Checking and adding the request's attributes
+ String attributeValue;
+ // requestID
+ attributeValue = xpp.getAttributeValue( "", "requestID" );
+ if ( attributeValue != null )
+ {
+ try
+ {
+ abandonRequest.setMessageId( Integer.parseInt( attributeValue ) );
+ }
+ catch (NumberFormatException e) {
+ throw new XmlPullParserException( "the given requestID is not an integer", xpp, null );
+ }
+ }
+ // abandonID
+ attributeValue = xpp.getAttributeValue( "", "abandonID" );
+ if ( attributeValue != null )
+ {
+ try
+ {
+ abandonRequest.setAbandonedMessageId( Integer.parseInt( attributeValue ) );
+ }
+ catch (NumberFormatException e) {
+ throw new XmlPullParserException( "the given abandonID is not an integer", xpp, null );
+ }
+ }
+ else
+ {
+ throw new XmlPullParserException( "abandonID attribute is required", xpp, null );
+ }
+ }
+ };
+
+ /**
+ * GrammarAction that creates an Add Request
+ */
+ private final GrammarAction addRequestCreation = new GrammarAction( "Create Add Request" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ AddRequest addRequest = new AddRequest();
+ container.getBatchRequest().addRequest( addRequest );
+ addRequest.initAttributes(); // TODO maybe delay that to the first attribute discovery
+
+ XmlPullParser xpp = container.getParser();
+
+ // Checking and adding the request's attributes
+ String attributeValue;
+ // requestID
+ attributeValue = xpp.getAttributeValue( "", "requestID" );
+ if ( attributeValue != null )
+ {
+ try
+ {
+ addRequest.setMessageId( Integer.parseInt( attributeValue ) );
+ }
+ catch (NumberFormatException e) {
+ throw new XmlPullParserException( "the given requestID is not an integer", xpp, null );
+ }
+ }
+ // dn
+ attributeValue = xpp.getAttributeValue( "", "dn" );
+ if ( attributeValue != null )
+ {
+ try
+ {
+ addRequest.setEntry( new LdapDN( attributeValue ) );
+ }
+ catch (InvalidNameException e)
+ {
+ throw new XmlPullParserException( "" + e.getMessage(), xpp, null );
+ }
+ }
+ else
+ {
+ throw new XmlPullParserException( "dn attribute is required", xpp, null );
+ }
+ }
+ };
+
+ /**
+ * GrammarAction that adds an attribute to an Add Request
+ */
+ private final GrammarAction addRequestAddAttribute = new GrammarAction( "Add Attribute to Add Request" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ AddRequest addRequest = ( AddRequest ) container.getBatchRequest().getCurrentRequest();
+
+ XmlPullParser xpp = container.getParser();
+
+ // Checking and adding the request's attributes
+ String attributeValue;
+ // name
+ attributeValue = xpp.getAttributeValue( "", "name" );
+ if ( attributeValue != null )
+ {
+ addRequest.addAttributeType( attributeValue );
+ }
+ else
+ {
+ throw new XmlPullParserException( "name attribute is required", xpp, null );
+ }
+ }
+ };
+
+ /**
+ * GrammarAction that adds a Value to an Attribute of an Add Request
+ */
+ private final GrammarAction addRequestAddValue = new GrammarAction( "Add Value to Attribute" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ AddRequest addRequest = ( AddRequest ) container.getBatchRequest().getCurrentRequest();
+
+ XmlPullParser xpp = container.getParser();
+
+ int eventType = 0 ;
+ try
+ {
+ eventType = xpp.next();
+ }
+ catch ( IOException e )
+ {
+ throw new XmlPullParserException( e.getMessage() , xpp, null );
+ }
+
+ if ( eventType != XmlPullParser.TEXT )
+ {
+ // TODO we insert a blank value
+ addRequest.addAttributeValue( "" );
+ }
+ else
+ {
+ addRequest.addAttributeValue( xpp.getText().trim() );
+ }
+ }
+ };
+
+ /**
+ * GrammarAction that creates an Auth Request
+ */
+ private final GrammarAction authRequestCreation = new GrammarAction( "Create Auth Request" )
+ {
+ public void action( Dsmlv2Container container ) throws XmlPullParserException
+ {
+ BindRequest authRequest = new BindRequest();
[... 1424 lines stripped ...]