Changeset 12594 in josm for trunk/src/org/openstreetmap/josm/io
- Timestamp:
- 2017-08-12T11:24:39+02:00 (7 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/io/session
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/io/session/ImagerySessionExporter.java
r12267 r12594 5 5 import java.awt.GridBagLayout; 6 6 import java.io.IOException; 7 import java.util.HashMap; 7 8 import java.util.LinkedHashMap; 8 9 import java.util.Map; … … 20 21 import org.openstreetmap.josm.gui.layer.WMSLayer; 21 22 import org.openstreetmap.josm.gui.layer.WMTSLayer; 23 import org.openstreetmap.josm.gui.layer.imagery.ImageryFilterSettings; 22 24 import org.openstreetmap.josm.io.session.SessionWriter.ExportSupport; 23 25 import org.openstreetmap.josm.tools.GBC; 26 import org.openstreetmap.josm.tools.Utils; 24 27 import org.w3c.dom.Element; 25 28 … … 95 98 } 96 99 } 100 ImageryFilterSettings filters = layer.getFilterSettings(); 101 if (filters != null) { 102 Map<String, String> filterProps = new HashMap<>(); 103 filters.getProcessors().stream() 104 .flatMap(Utils.castToStream(SessionAwareReadApply.class)) 105 .forEach(proc -> filterProps.putAll(proc.toPropertiesMap())); 106 if (!filterProps.isEmpty()) { 107 Element filterEl = support.createElement("filters"); 108 layerElem.appendChild(filterEl); 109 addAttributes(filterEl, filterProps, support); 110 } 111 } 97 112 return layerElem; 98 113 } -
trunk/src/org/openstreetmap/josm/io/session/ImagerySessionImporter.java
r12267 r12594 18 18 import org.openstreetmap.josm.gui.layer.WMSLayer; 19 19 import org.openstreetmap.josm.gui.layer.WMTSLayer; 20 import org.openstreetmap.josm.gui.layer.imagery.ImageryFilterSettings; 20 21 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 21 22 import org.openstreetmap.josm.io.IllegalDataException; 22 23 import org.openstreetmap.josm.io.session.SessionReader.ImportSupport; 24 import org.openstreetmap.josm.tools.Utils; 23 25 import org.w3c.dom.Element; 24 26 import org.w3c.dom.Node; … … 45 47 AbstractTileSourceLayer<?> tsLayer = (AbstractTileSourceLayer<?>) layer; 46 48 tsLayer.getDisplaySettings().loadFrom(attributes); 47 NodeList nodes = elem.getChildNodes(); 48 for (int i = 0; i < nodes.getLength(); ++i) { 49 Node node = nodes.item(i); 50 if (node.getNodeType() == Node.ELEMENT_NODE && "offset".equals(node.getLocalName())) { 51 Map<String, String> offsetAttributes = readProperties((Element) node); 52 OffsetBookmark offset = OffsetBookmark.fromPropertiesMap(offsetAttributes); 53 tsLayer.getDisplaySettings().setOffsetBookmark(offset); 54 break; 55 } 49 Element offsetEl = getFirstElementByTagName(elem, "offset"); 50 if (offsetEl != null) { 51 Map<String, String> offsetAttributes = readProperties(offsetEl); 52 OffsetBookmark offset = OffsetBookmark.fromPropertiesMap(offsetAttributes); 53 tsLayer.getDisplaySettings().setOffsetBookmark(offset); 54 } 55 } 56 Element filtersEl = getFirstElementByTagName(elem, "filters"); 57 if (filtersEl != null) { 58 ImageryFilterSettings filterSettings = layer.getFilterSettings(); 59 if (filterSettings != null) { 60 Map<String, String> filtersProps = readProperties(filtersEl); 61 filterSettings.getProcessors().stream() 62 .flatMap(Utils.castToStream(SessionAwareReadApply.class)) 63 .forEach(proc -> proc.applyFromPropertiesMap(filtersProps)); 56 64 } 57 65 } 58 66 return layer; 67 } 68 69 private static Element getFirstElementByTagName(Element el, String name) { 70 NodeList nl = el.getElementsByTagName(name); 71 if (nl.getLength() == 0) 72 return null; 73 return (Element) nl.item(0); 59 74 } 60 75
Note:
See TracChangeset
for help on using the changeset viewer.