Changeset 10493 in osm for applications/editors/josm


Ignore:
Timestamp:
2008-09-05T12:30:12+02:00 (16 years ago)
Author:
stoecker
Message:

added entity checking

Location:
applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java

    r10490 r10493  
    5656import org.openstreetmap.josm.plugins.validator.util.Bag;
    5757import org.openstreetmap.josm.plugins.validator.util.Util;
     58import org.openstreetmap.josm.plugins.validator.util.Entities;
    5859import org.openstreetmap.josm.tools.GBC;
    5960import org.openstreetmap.josm.tools.XmlObjectParser;
     
    123124        protected static int INVALID_SPACE     = 1204;
    124125        protected static int INVALID_KEY_SPACE = 1205;
     126        protected static int INVALID_HTML      = 1206;
    125127        /** 1250 and up is used by tagcheck */
    126128
     
    128130        protected JList Sources;
    129131
     132       
     133        protected static Entities entities = new Entities();
    130134        /**
    131135         * Constructor
     
    336340                                tr(s, key), MessageFormat.format(s, key), INVALID_SPACE, p) );
    337341                                withErrors.add(p, "SPACE");
     342                        }
     343                        if( checkValues && value != null && !value.equals(entities.unescape(value)) && !withErrors.contains(p, "HTML"))
     344                        {
     345                                errors.add( new TestError(this, Severity.OTHER, tr("Property values contain HTML entity"),
     346                                tr(s, key), MessageFormat.format(s, key), INVALID_HTML, p) );
     347                                withErrors.add(p, "HTML");
    338348                        }
    339349                        if( checkValues && value != null && value.length() > 0 && presetsValueData != null)
     
    584594                                        commands.add( new ChangePropertyCommand(Collections.singleton(primitives.get(i)), key, value.trim()) );
    585595                                else if(key.startsWith(" ") || key.endsWith(" "))
    586                                 {
    587596                                        commands.add( new ChangePropertyKeyCommand(Collections.singleton(primitives.get(i)), key, key.trim()) );
    588                                 }
    589597                                else
    590598                                {
    591                                         String replacementKey = spellCheckKeyData.get(key);
    592                                         if( replacementKey != null )
    593                                                 commands.add( new ChangePropertyKeyCommand(Collections.singleton(primitives.get(i)), key, replacementKey) );
     599                                        String evalue = entities.unescape(value);
     600                                        if(!evalue.equals(value))
     601                                                commands.add( new ChangePropertyCommand(Collections.singleton(primitives.get(i)), key, evalue) );
     602                                        else
     603                                        {
     604                                                String replacementKey = spellCheckKeyData.get(key);
     605                                                if( replacementKey != null )
     606                                                {
     607                                                        commands.add( new ChangePropertyKeyCommand(Collections.singleton(primitives.get(i)),
     608                                                        key, replacementKey) );
     609                                                }
     610                                        }
    594611                                }
    595612                        }
     
    610627                {
    611628                        int code = testError.getCode();
    612                         return code == INVALID_KEY || code == EMPTY_VALUES || code == INVALID_SPACE || code == INVALID_KEY_SPACE;
     629                        return code == INVALID_KEY || code == EMPTY_VALUES || code == INVALID_SPACE || code == INVALID_KEY_SPACE || code == INVALID_HTML;
    613630                }
    614631
Note: See TracChangeset for help on using the changeset viewer.