diff --git a/src/org/openstreetmap/josm/data/osm/PrimitiveData.java b/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
index 693d277..7c02278 100644
|
a
|
b
|
public abstract class PrimitiveData extends AbstractPrimitive implements Seriali
|
| 54 | 54 | @Override |
| 55 | 55 | public String toString() { |
| 56 | 56 | StringBuilder builder = new StringBuilder(); |
| 57 | | builder.append(id).append(Arrays.toString(keys)).append(getFlagsAsString()); |
| | 57 | builder.append(id).append(' ').append(Arrays.toString(keys)).append(' ').append(getFlagsAsString()); |
| 58 | 58 | return builder.toString(); |
| 59 | 59 | } |
| 60 | 60 | |
diff --git a/src/org/openstreetmap/josm/gui/datatransfer/data/PrimitiveTransferData.java b/src/org/openstreetmap/josm/gui/datatransfer/data/PrimitiveTransferData.java
index 1acd354..91a235c 100644
|
a
|
b
|
public final class PrimitiveTransferData implements Serializable {
|
| 149 | 149 | * @return <code>true</code> if invalid data is contained in this set. |
| 150 | 150 | */ |
| 151 | 151 | public boolean hasIncompleteData() { |
| 152 | | for (PrimitiveData pd : getAll()) { |
| 153 | | if (pd.isIncomplete()) { |
| 154 | | return true; |
| 155 | | } |
| 156 | | } |
| 157 | | return false; |
| | 152 | return getAll().stream().anyMatch(p -> p.isIncomplete() || !p.isVisible()); |
| 158 | 153 | } |
| 159 | 154 | } |
diff --git a/src/org/openstreetmap/josm/gui/datatransfer/importers/PrimitiveDataPaster.java b/src/org/openstreetmap/josm/gui/datatransfer/importers/PrimitiveDataPaster.java
index 804b209..a6d0841 100644
|
a
|
b
|
import org.openstreetmap.josm.data.osm.WayData;
|
| 25 | 25 | import org.openstreetmap.josm.gui.ExtendedDialog; |
| 26 | 26 | import org.openstreetmap.josm.gui.datatransfer.data.PrimitiveTransferData; |
| 27 | 27 | import org.openstreetmap.josm.gui.layer.OsmDataLayer; |
| | 28 | import org.openstreetmap.josm.tools.bugreport.BugReport; |
| 28 | 29 | |
| 29 | 30 | /** |
| 30 | 31 | * This transfer support allows us to transfer primitives. This is the default paste action when primitives were copied. |
| … |
… |
public final class PrimitiveDataPaster extends AbstractOsmDataPaster {
|
| 66 | 67 | |
| 67 | 68 | // Update references in copied buffer |
| 68 | 69 | for (PrimitiveData data : bufferCopy) { |
| 69 | | if (data instanceof NodeData) { |
| 70 | | NodeData nodeData = (NodeData) data; |
| 71 | | nodeData.setEastNorth(nodeData.getEastNorth().add(offset)); |
| 72 | | } else if (data instanceof WayData) { |
| 73 | | updateNodes(newIds.get(OsmPrimitiveType.NODE), data); |
| 74 | | } else if (data instanceof RelationData) { |
| 75 | | updateMembers(newIds, data); |
| | 70 | try { |
| | 71 | if (data instanceof NodeData) { |
| | 72 | NodeData nodeData = (NodeData) data; |
| | 73 | nodeData.setEastNorth(nodeData.getEastNorth().add(offset)); |
| | 74 | } else if (data instanceof WayData) { |
| | 75 | updateNodes(newIds.get(OsmPrimitiveType.NODE), data); |
| | 76 | } else if (data instanceof RelationData) { |
| | 77 | updateMembers(newIds, data); |
| | 78 | } |
| | 79 | } catch (RuntimeException e) { |
| | 80 | throw BugReport.intercept(e).put("data", data); |
| 76 | 81 | } |
| 77 | 82 | } |
| 78 | 83 | return new AddPrimitivesCommand(bufferCopy, toSelect, layer); |
| … |
… |
public final class PrimitiveDataPaster extends AbstractOsmDataPaster {
|
| 86 | 91 | newIds.put(OsmPrimitiveType.RELATION, new HashMap<Long, Long>()); |
| 87 | 92 | |
| 88 | 93 | for (PrimitiveData data : pasteBuffer.getAll()) { |
| 89 | | if (data.isIncomplete()) { |
| | 94 | if (data.isIncomplete() || !data.isVisible()) { |
| 90 | 95 | continue; |
| 91 | 96 | } |
| 92 | 97 | PrimitiveData copy = data.makeCopy(); |