root / trunk / libraries / libTopology / src / com / vividsolutions / jcs / plugin / conflate / roads / RetireSegmentTool.java @ 22873
History | View | Annotate | Download (3.05 KB)
1 |
package com.vividsolutions.jcs.plugin.conflate.roads; |
---|---|
2 |
|
3 |
import java.awt.Color; |
4 |
import java.awt.geom.NoninvertibleTransformException; |
5 |
import java.util.Collection; |
6 |
import java.util.Iterator; |
7 |
import java.util.Map; |
8 |
|
9 |
import com.vividsolutions.jcs.conflate.roads.model.SourceState; |
10 |
import com.vividsolutions.jcs.conflate.roads.model.SourceFeature; |
11 |
import com.vividsolutions.jcs.jump.FUTURE_PreventableConfirmationDialog; |
12 |
import com.vividsolutions.jump.workbench.WorkbenchContext; |
13 |
import com.vividsolutions.jump.workbench.model.Layer; |
14 |
|
15 |
public class RetireSegmentTool extends SetUnmatchedStateTool { |
16 |
|
17 |
public RetireSegmentTool(boolean layer0, boolean layer1, |
18 |
String cursorImage, String buttonImage, Color color, |
19 |
WorkbenchContext context) { |
20 |
super(SourceState.RETIRED, layer0, layer1, cursorImage, buttonImage,
|
21 |
color, context, GestureMode.LINE); |
22 |
} |
23 |
|
24 |
protected Map layerToSpecifiedFeaturesMap() |
25 |
throws NoninvertibleTransformException { |
26 |
Boolean retiringCommittedFeatures = null; |
27 |
Map layerToSpecifiedFeaturesMap = super.layerToSpecifiedFeaturesMap(); |
28 |
for (Iterator i = layerToSpecifiedFeaturesMap.keySet().iterator(); i |
29 |
.hasNext();) { |
30 |
Layer layer = (Layer) i.next(); |
31 |
Collection features = (Collection) layerToSpecifiedFeaturesMap |
32 |
.get(layer); |
33 |
for (Iterator j = features.iterator(); j.hasNext();) { |
34 |
SourceFeature feature = (SourceFeature) j.next(); |
35 |
if (feature.getRoadSegment().getState().indicates(
|
36 |
SourceState.COMMITTED)) { |
37 |
if (retiringCommittedFeatures == null) { |
38 |
retiringCommittedFeatures = Boolean
|
39 |
.valueOf(FUTURE_PreventableConfirmationDialog |
40 |
.show( |
41 |
getContext().getWorkbench() |
42 |
.getFrame(), |
43 |
"RoadMatcher",
|
44 |
ErrorMessages.retireRoadSegmentTool_committed_statusLineWarning, |
45 |
ErrorMessages.retireRoadSegmentTool_committed_dialogText, |
46 |
"Retire them",
|
47 |
"Skip them",
|
48 |
getClass().getName() |
49 |
+ " - DO NOT SHOW AGAIN"));
|
50 |
} |
51 |
if (!retiringCommittedFeatures.booleanValue()) {
|
52 |
j.remove(); |
53 |
} |
54 |
} else if (feature.getRoadSegment().getState() == SourceState.RETIRED) { |
55 |
j.remove(); |
56 |
noRoadSegmentsWarning = ErrorMessages.retireRoadSegmentTool_alreadyRetired; |
57 |
} |
58 |
} |
59 |
if (features.isEmpty()) {
|
60 |
i.remove(); |
61 |
} |
62 |
} |
63 |
return layerToSpecifiedFeaturesMap;
|
64 |
} |
65 |
|
66 |
} |