Changeset 10946 in josm
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/PrimitiveData.java
r10868 r10946 30 30 } 31 31 32 /** 33 * Constructs a new {@code PrimitiveData} from an existing one. 34 * @param data the data to copy 35 */ 32 36 public PrimitiveData(PrimitiveData data) { 33 37 cloneFrom(data); 34 38 } 35 39 40 /** 41 * Sets the primitive identifier. 42 * @param id primitive identifier 43 */ 36 44 public void setId(long id) { 37 45 this.id = id; 38 46 } 39 47 48 /** 49 * Sets the primitive version. 50 * @param version primitive version 51 */ 40 52 public void setVersion(int version) { 41 53 this.version = version; … … 50 62 } 51 63 64 /** 65 * Returns a copy of this primitive data. 66 * @return a copy of this primitive data 67 */ 52 68 public abstract PrimitiveData makeCopy(); 53 69 … … 82 98 oos.writeInt(timestamp); 83 99 oos.writeObject(keys); 100 oos.writeShort(flags); 84 101 oos.defaultWriteObject(); 85 102 } … … 94 111 timestamp = ois.readInt(); 95 112 keys = (String[]) ois.readObject(); 113 flags = ois.readShort(); 96 114 ois.defaultReadObject(); 97 115 } -
trunk/test/unit/org/openstreetmap/josm/data/osm/NodeDataTest.java
r10733 r10946 2 2 package org.openstreetmap.josm.data.osm; 3 3 4 import static org.junit.Assert.assertNull; 5 import static org.junit.Assert.assertTrue; 6 4 7 import java.io.ByteArrayInputStream; 5 8 import java.io.ByteArrayOutputStream; 9 import java.io.IOException; 6 10 import java.io.ObjectInputStream; 7 11 import java.io.ObjectOutputStream; … … 12 16 13 17 public class NodeDataTest { 18 19 private static NodeData serializeUnserialize(NodeData data) throws IOException, ClassNotFoundException { 20 try (ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 21 ObjectOutputStream out = new ObjectOutputStream(bytes)) { 22 out.writeObject(data); 23 try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes.toByteArray()))) { 24 return (NodeData) in.readObject(); 25 } 26 } 27 } 28 14 29 @Test 15 30 public void testSerializationForDragAndDrop() throws Exception { … … 19 34 data.setVersion(14); 20 35 data.setChangesetId(314159); 21 final Object readData; 22 try (ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 23 ObjectOutputStream out = new ObjectOutputStream(bytes)) { 24 out.writeObject(data); 25 try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes.toByteArray()))) { 26 readData = in.readObject(); 27 } 28 } 36 final NodeData readData = serializeUnserialize(data); 29 37 Assert.assertEquals(data.toString(), readData.toString()); 30 38 } 39 40 /** 41 * Non-regression test for ticket <a href="https://josm.openstreetmap.de/ticket/13395">#13395</a>. 42 * @throws Exception if an error occurs 43 */ 44 @Test 45 public void testTicket13395() throws Exception { 46 Node n = new Node(1925320646, 1); 47 n.setCoor(null); 48 assertNull(n.getCoor()); 49 assertTrue(n.isIncomplete()); 50 51 NodeData data = n.save(); 52 assertNull(data.getCoor()); 53 assertTrue(data.isIncomplete()); 54 55 NodeData readData = serializeUnserialize(data); 56 assertNull(readData.getCoor()); 57 assertTrue(readData.isIncomplete()); 58 } 31 59 }
Note:
See TracChangeset
for help on using the changeset viewer.