Examples of OrderedHashSet


Examples of org.antlr.misc.OrderedHashSet

   *  from the set of NFA states reachable from any NFA
   *  state in DFA state d.
   */
  protected void findNewDFAStatesAndAddDFATransitions(DFAState d) {
    //System.out.println("work on DFA state "+d);
    OrderedHashSet labels = d.getReachableLabels();
    //System.out.println("reachable labels="+labels);

    /*
    System.out.println("|reachable|/|nfaconfigs|="+
        labels.size()+"/"+d.getNFAConfigurations().size()+"="+
        labels.size()/(float)d.getNFAConfigurations().size());
    */

    // normally EOT is the "default" clause and decisions just
    // choose that last clause when nothing else matches.  DFA conversion
    // continues searching for a unique sequence that predicts the
    // various alts or until it finds EOT.  So this rule
    //
    // DUH : ('x'|'y')* "xy!";
    //
    // does not need a greedy indicator.  The following rule works fine too
    //
    // A : ('x')+ ;
    //
    // When the follow branch could match what is in the loop, by default,
    // the nondeterminism is resolved in favor of the loop.  You don't
    // get a warning because the only way to get this condition is if
    // the DFA conversion hits the end of the token.  In that case,
    // we're not *sure* what will happen next, but it could be anything.
    // Anyway, EOT is the default case which means it will never be matched
    // as resolution goes to the lowest alt number.  Exit branches are
    // always alt n+1 for n alts in a block.
    //
    // When a loop is nongreedy and we find an EOT transition, the DFA
    // state should become an accept state, predicting exit of loop.  It's
    // just reversing the resolution of ambiguity.
    // TODO: should this be done in the resolveAmbig method?
    Label EOTLabel = new Label(Label.EOT);
    boolean containsEOT = labels!=null && labels.contains(EOTLabel);
    if ( !dfa.isGreedy() && containsEOT ) {
      convertToEOTAcceptState(d);
      return; // no more work to do on this accept state
    }

    // if in filter mode for lexer, want to match shortest not longest
    // string so if we see an EOT edge emanating from this state, then
    // convert this state to an accept state.  This only counts for
    // The Tokens rule as all other decisions must continue to look for
    // longest match.
    // [Taking back out a few days later on Jan 17, 2006.  This could
    //  be an option for the future, but this was wrong soluion for
    //  filtering.]
    /*
    if ( dfa.nfa.grammar.type==Grammar.LEXER && containsEOT ) {
      String filterOption = (String)dfa.nfa.grammar.getOption("filter");
      boolean filterMode = filterOption!=null && filterOption.equals("true");
      if ( filterMode && d.dfa.isTokensRuleDecision() ) {
        DFAState t = reach(d, EOTLabel);
        if ( t.getNFAConfigurations().size()>0 ) {
          convertToEOTAcceptState(d);
          //System.out.println("state "+d+" has EOT target "+t.stateNumber);
          return;
        }
      }
    }
    */

    int numberOfEdgesEmanating = 0;
    Map targetToLabelMap = new HashMap();
    // for each label that could possibly emanate from NFAStates of d
    int numLabels = 0;
    if ( labels!=null ) {
      numLabels = labels.size();
    }
    for (int i=0; i<numLabels; i++) {
      Label label = (Label)labels.get(i);
      DFAState t = reach(d, label);
      if ( debug ) {
        System.out.println("DFA state after reach "+label+" "+d+"-" +
                   label.toString(dfa.nfa.grammar)+"->"+t);
      }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

        final int column_name    = 5;
        final int privilege_type = 6;
        final int is_grantable   = 7;

        // enumerations
        OrderedHashSet grantees =
            session.getGrantee().getGranteeAndAllRolesWithPublic();

// Initialization
        tables = allTables();

        while (tables.hasNext()) {
            table        = (Table) tables.next();
            tableName    = table.getName().name;
            tableCatalog = database.getCatalogName().name;
            tableSchema  = table.getSchemaName().name;

            for (int i = 0; i < grantees.size(); i++) {
                granteeObject = (Grantee) grantees.get(i);

                OrderedHashSet rights =
                    granteeObject.getAllDirectPrivileges(table);
                OrderedHashSet grants =
                    granteeObject.getAllGrantedPrivileges(table);

                if (!grants.isEmpty()) {
                    grants.addAll(rights);

                    rights = grants;
                }

                for (int j = 0; j < rights.size(); j++) {
                    Right right          = (Right) rights.get(j);
                    Right grantableRight = right.getGrantableRights();

                    for (int k = 0; k < Right.privilegeTypes.length; k++) {
                        OrderedHashSet columnList =
                            right.getColumnsForPrivilege(
                                table, Right.privilegeTypes[k]);
                        OrderedHashSet grantableList =
                            grantableRight.getColumnsForPrivilege(table,
                                Right.privilegeTypes[k]);

                        for (int l = 0; l < columnList.size(); l++) {
                            HsqlName fullName = ((HsqlName) columnList.get(l));

                            row                 = t.getEmptyRowData();
                            row[grantor] = right.getGrantor().getName().name;
                            row[grantee] = right.getGrantee().getName().name;
                            row[table_catalog= tableCatalog;
                            row[table_schema]   = tableSchema;
                            row[table_name]     = tableName;
                            row[column_name]    = fullName.name;
                            row[privilege_type] = Right.privilegeNames[k];
                            row[is_grantable] =
                                right.getGrantee() == table.getOwner()
                                || grantableList.contains(fullName) ? "YES"
                                                                    : "NO";

                            try {
                                t.insertSys(store, row);
                            } catch (HsqlException e) {}
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

        final int table_schema   = 3;
        final int table_name     = 4;
        final int privilege_type = 5;
        final int is_grantable   = 6;
        final int with_hierarchy = 7;
        OrderedHashSet grantees =
            session.getGrantee().getGranteeAndAllRolesWithPublic();

        tables = allTables();

        while (tables.hasNext()) {
            table        = (Table) tables.next();
            tableName    = table.getName().name;
            tableCatalog = table.getCatalogName().name;
            tableSchema  = table.getSchemaName().name;

            for (int i = 0; i < grantees.size(); i++) {
                granteeObject = (Grantee) grantees.get(i);

                OrderedHashSet rights =
                    granteeObject.getAllDirectPrivileges(table);
                OrderedHashSet grants =
                    granteeObject.getAllGrantedPrivileges(table);

                if (!grants.isEmpty()) {
                    grants.addAll(rights);

                    rights = grants;
                }

                for (int j = 0; j < rights.size(); j++) {
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

    public Grantee getOwner() {
        return owner;
    }

    public OrderedHashSet getReferences() {
        return new OrderedHashSet();
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

        fullRightsMap       = new HashMap();
        directRightsMap     = new MultiValueHashMap();
        grantedRightsMap    = new MultiValueHashMap();
        granteeName         = name;
        granteeManager      = man;
        roles               = new OrderedHashSet();
        ownerRights         = new Right();
        ownerRights.isFull  = true;
        ownerRights.grantor = GranteeManager.systemAuthorisation;
        ownerRights.grantee = this;
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

    public Grantee getOwner() {
        return null;
    }

    public OrderedHashSet getReferences() {
        return new OrderedHashSet();
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

    /**
     * Gets direct and indirect roles.
     */
    public OrderedHashSet getAllRoles() {

        OrderedHashSet set = getGranteeAndAllRoles();

        // Since we added "Grantee" in addition to Roles, need to remove self.
        set.remove(this);

        return set;
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

        return set;
    }

    public OrderedHashSet getGranteeAndAllRoles() {

        OrderedHashSet set = new OrderedHashSet();

        addGranteeAndRoles(set);

        return set;
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

        return set;
    }

    public OrderedHashSet getGranteeAndAllRolesWithPublic() {

        OrderedHashSet set = new OrderedHashSet();

        addGranteeAndRoles(set);
        set.add(granteeManager.publicRole);

        return set;
    }
View Full Code Here

Examples of org.hsqldb.lib.OrderedHashSet

    }

    public OrderedHashSet getAllDirectPrivileges(SchemaObject object) {

        if (object.getOwner() == this) {
            OrderedHashSet set = new OrderedHashSet();

            set.add(ownerRights);

            return set;
        }

        Iterator rights = directRightsMap.get(object.getName());

        if (rights.hasNext()) {
            OrderedHashSet set = new OrderedHashSet();

            while (rights.hasNext()) {
                set.add(rights.next());
            }

            return set;
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.