Changeset 9400 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
r9334 r9400 83 83 84 84 /** 85 * IconReference is used to remember the associated style source for 86 * each icon URL. 85 * IconReference is used to remember the associated style source for each icon URL. 87 86 * This is necessary because image URLs can be paths relative 88 * to the source file and we have cascading of properties from different 89 * source files. 87 * to the source file and we have cascading of properties from different source files. 90 88 */ 91 89 public static class IconReference { … … 106 104 107 105 /** 108 * Image provider for icon. Note that this is a provider only. A @link{ImageProvider#get()} call may still 109 * fail! 106 * Image provider for icon. Note that this is a provider only. A @link{ImageProvider#get()} call may still fail! 110 107 * 111 108 * @param ref reference to the requested icon … … 124 121 .setOptional(true); 125 122 if (test && i.get() == null) { 126 Main.warn("Mappaint style \""+namespace+"\" ("+ref.source.getDisplayString()+") icon \"" + ref.iconName + "\" not found."); 123 String msg = "Mappaint style \""+namespace+"\" ("+ref.source.getDisplayString()+") icon \"" + ref.iconName + "\" not found."; 124 ref.source.logWarning(msg); 125 Main.warn(msg); 127 126 return null; 128 127 } -
trunk/test/unit/org/openstreetmap/josm/gui/preferences/map/MapPaintPreferenceTest.java
r9334 r9400 14 14 import org.openstreetmap.josm.JOSMFixture; 15 15 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles; 16 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.IconReference; 17 import org.openstreetmap.josm.gui.mappaint.StyleKeys; 16 18 import org.openstreetmap.josm.gui.mappaint.StyleSource; 19 import org.openstreetmap.josm.gui.mappaint.mapcss.Instruction; 20 import org.openstreetmap.josm.gui.mappaint.mapcss.Instruction.AssignmentInstruction; 21 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSRule; 22 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource; 17 23 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.ParseException; 18 24 import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry; … … 48 54 System.out.println(source.url); 49 55 StyleSource style = MapPaintStyles.addStyle(source); 56 if (style instanceof MapCSSStyleSource) { 57 // Force loading of all icons to detect missing ones 58 for (MapCSSRule rule : ((MapCSSStyleSource) style).rules) { 59 for (Instruction instruction : rule.declaration.instructions) { 60 if (instruction instanceof AssignmentInstruction) { 61 AssignmentInstruction ai = (AssignmentInstruction) instruction; 62 if (StyleKeys.ICON_IMAGE.equals(ai.key) 63 || StyleKeys.FILL_IMAGE.equals(ai.key) 64 || StyleKeys.REPEAT_IMAGE.equals(ai.key)) { 65 if (ai.val instanceof String) { 66 MapPaintStyles.getIconProvider(new IconReference((String) ai.val, style), true); 67 } 68 } 69 } 70 } 71 } 72 } 50 73 System.out.println(style.isValid() ? " => OK" : " => KO"); 51 74 Collection<Throwable> errors = style.getErrors();
Note:
See TracChangeset
for help on using the changeset viewer.