Changeset 2623 in josm for trunk/src/org/openstreetmap/josm/data/osm
- Timestamp:
- 2009-12-12T21:25:10+01:00 (14 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/data/osm
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/DataSet.java
r2622 r2623 203 203 allPrimitives.add(primitive); 204 204 primitive.setDataset(this); 205 firePrimitivesAdded(Collections.singletonList(primitive) );205 firePrimitivesAdded(Collections.singletonList(primitive), false); 206 206 } 207 207 … … 246 246 primitive.setDataset(null); 247 247 errors.remove(primitive); 248 firePrimitivesRemoved(Collections.singletonList(primitive) );248 firePrimitivesRemoved(Collections.singletonList(primitive), false); 249 249 } 250 250 … … 837 837 } 838 838 839 void firePrimitivesAdded(Collection<? extends OsmPrimitive> added ) {840 fireEvent(new PrimitivesAddedEvent(this, added ));841 } 842 843 void firePrimitivesRemoved(Collection<? extends OsmPrimitive> removed ) {844 fireEvent(new PrimitivesRemovedEvent(this, removed ));839 void firePrimitivesAdded(Collection<? extends OsmPrimitive> added, boolean wasIncomplete) { 840 fireEvent(new PrimitivesAddedEvent(this, added, wasIncomplete)); 841 } 842 843 void firePrimitivesRemoved(Collection<? extends OsmPrimitive> removed, boolean wasComplete) { 844 fireEvent(new PrimitivesRemovedEvent(this, removed, wasComplete)); 845 845 } 846 846 -
trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java
r2620 r2623 564 564 if (dataSet != null) { 565 565 if (deleted) { 566 dataSet.firePrimitivesRemoved(Collections.singleton(this) );566 dataSet.firePrimitivesRemoved(Collections.singleton(this), false); 567 567 } else { 568 dataSet.firePrimitivesAdded(Collections.singleton(this) );568 dataSet.firePrimitivesAdded(Collections.singleton(this), false); 569 569 } 570 570 } … … 956 956 */ 957 957 public void cloneFrom(OsmPrimitive other) { 958 if (id != other.id && dataSet != null) 959 throw new DataIntegrityProblemException("Osm id cannot be changed after primitive was added to the dataset"); 958 960 setKeys(other.getKeys()); 959 961 id = other.id; … … 1210 1212 1211 1213 private void setIncomplete(boolean incomplete) { 1214 if (dataSet != null && incomplete != this.incomplete) { 1215 if (incomplete) { 1216 dataSet.firePrimitivesRemoved(Collections.singletonList(this), true); 1217 } else { 1218 dataSet.firePrimitivesAdded(Collections.singletonList(this), true); 1219 } 1220 } 1212 1221 this.incomplete = incomplete; 1213 1222 } -
trunk/src/org/openstreetmap/josm/data/osm/Relation.java
r2620 r2623 217 217 result.append(" version="); 218 218 result.append(getVersion()); 219 result.append(" "); 220 result.append(getFlagsAsString()); 219 221 result.append(" ["); 220 222 for (RelationMember rm:getMembers()) { -
trunk/src/org/openstreetmap/josm/data/osm/event/PrimitivesAddedEvent.java
r2622 r2623 13 13 14 14 private final List<? extends OsmPrimitive> primitives; 15 private final boolean wasIncomplete; 15 16 16 public PrimitivesAddedEvent(DataSet dataSet, Collection<? extends OsmPrimitive> primitives ) {17 public PrimitivesAddedEvent(DataSet dataSet, Collection<? extends OsmPrimitive> primitives, boolean wasIncomplete) { 17 18 super(dataSet); 18 19 this.primitives = Collections.unmodifiableList(new ArrayList<OsmPrimitive>(primitives)); 20 this.wasIncomplete = wasIncomplete; 19 21 } 20 22 … … 24 26 } 25 27 28 @Override 26 29 public List<? extends OsmPrimitive> getPrimitives() { 27 30 return primitives; 28 31 } 29 32 33 /** 34 * 35 * @return True if primitive was in dataset before (so it's not really added), but it was incomplete 36 */ 37 public boolean wasIncomplete() { 38 return wasIncomplete; 39 } 40 30 41 } -
trunk/src/org/openstreetmap/josm/data/osm/event/PrimitivesRemovedEvent.java
r2622 r2623 13 13 14 14 private final List<? extends OsmPrimitive> primitives; 15 private final boolean wasComplete; 15 16 16 public PrimitivesRemovedEvent(DataSet dataSet, Collection<? extends OsmPrimitive> primitives ) {17 public PrimitivesRemovedEvent(DataSet dataSet, Collection<? extends OsmPrimitive> primitives, boolean wasComplete) { 17 18 super(dataSet); 18 19 this.primitives = Collections.unmodifiableList(new ArrayList<OsmPrimitive>(primitives)); 20 this.wasComplete = wasComplete; 19 21 } 20 22 … … 24 26 } 25 27 28 @Override 26 29 public List<? extends OsmPrimitive> getPrimitives() { 27 30 return primitives; 28 31 } 29 32 33 /** 34 * 35 * @return True if primitive wasn't really removed from the dataset, it only become incomplete again 36 */ 37 public boolean wasComplete() { 38 return wasComplete; 39 } 40 30 41 }
Note:
See TracChangeset
for help on using the changeset viewer.