Changeset 3818 in josm


Ignore:
Timestamp:
2011-01-25T18:42:01+01:00 (13 years ago)
Author:
bastiK
Message:

fixed #5857 - add "closed" to search, fixed #5015 - logical AND & for search tool

Location:
trunk/src/org/openstreetmap/josm/actions/search
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/search/PushbackTokenizer.java

    r3811 r3818  
    44import static org.openstreetmap.josm.tools.I18n.marktr;
    55import static org.openstreetmap.josm.tools.I18n.tr;
     6import static org.openstreetmap.josm.tools.Utils.equal;
    67
    78import java.io.IOException;
     
    132133            getChar();
    133134            return Token.OR;
     135        case '&':
     136            getChar();
     137            return nextToken();
    134138        case '?':
    135139            getChar();
     
    151155            if ("or".equalsIgnoreCase(currentText))
    152156                return Token.OR;
     157            if ("and".equalsIgnoreCase(currentText))
     158                return nextToken();
    153159            try {
    154160                currentNumber = Long.parseLong(currentText);
     
    172178    public boolean readIfEqual(Token token) {
    173179        Token nextTok = nextToken();
    174         if (nextTok == null ? token == null : nextTok == token)
     180        if (equal(nextTok, token))
    175181            return true;
    176182        currentToken = nextTok;
  • trunk/src/org/openstreetmap/josm/actions/search/SearchCompiler.java

    r3586 r3818  
    573573        }
    574574        @Override public String toString() {return "untagged";}
     575    }
     576
     577    private static class Closed extends Match {
     578        @Override public boolean match(OsmPrimitive osm) {
     579            return osm instanceof Way && ((Way) osm).isClosed();
     580        }
     581        @Override public String toString() {return "closed";}
    575582    }
    576583
     
    710717            else if ("selected".equals(key))
    711718                return new Selected();
     719            else if ("closed".equals(key))
     720                return new Closed();
    712721            else if ("child".equals(key))
    713722                return new Child(parseFactor());
Note: See TracChangeset for help on using the changeset viewer.