Revision 4559

View differences:

org.gvsig.vcsgis/trunk/org.gvsig.vcsgis/org.gvsig.vcsgis.swing/org.gvsig.vcsgis.swing.impl/src/main/java/org/gvsig/vcsgis/swing/impl/changes/TopologyPlansExecutor.java
8 8
import java.util.HashMap;
9 9
import java.util.List;
10 10
import java.util.Map;
11
import javax.json.JsonObject;
11 12
import javax.swing.JOptionPane;
12 13
import javax.swing.SwingUtilities;
13 14
import org.apache.commons.lang3.StringUtils;
14 15
import org.gvsig.fmap.dal.feature.FeatureStore;
16
import org.gvsig.json.Json;
15 17
import org.gvsig.tools.ToolsLocator;
16 18
import org.gvsig.tools.i18n.I18nManager;
17 19
import org.gvsig.tools.swing.api.ToolsSwingLocator;
......
56 58
                continue;
57 59
            }
58 60
            TopologyPlan plan = topologyManager.createTopologyPlan();
59
            plan.fromJSON(topologyPlan.getData());
61
            JsonObject planJson = Json.createObject(topologyPlan.getData());
62
            plan.fromJson(planJson);
60 63
            VCSGisTopologyPlanServices topologyServices = new VCSGisTopologyPlanServices(ws, plan.getTopologyServices());
61 64
            plan.setTopologyServices(topologyServices);
62 65
            if( plan.hasRules() ) {
......
83 86
            try {
84 87
                plan.execute();
85 88
                final boolean passed = plan.getReport().getStatus() == TOPOLOGY_PLAN_STATUS_PASSED;
86
                if( passed && autoClose) {
87
                    SwingUtilities.invokeLater(() -> {
88
                        panel.asJComponent().setVisible(false);
89
                    });
89
                if( passed ) {
90
                    if( autoClose ) {
91
                        SwingUtilities.invokeLater(() -> {
92
                            panel.asJComponent().setVisible(false);
93
                        });
94
                    }
90 95
                } else {
91 96
                    for (VCSGisEntity entity : entities) {
92 97
                        String code = entity.getTopologyPlanCode();
......
134 139
    
135 140
    private static class VCSGisTopologyPlanServices implements TopologyServices {
136 141
        
137
        private VCSGisWorkspace ws;
138
        private TopologyServices topologyServices;
142
        private final VCSGisWorkspace ws;
143
        private final TopologyServices topologyServices;
139 144

  
140 145
        public VCSGisTopologyPlanServices(VCSGisWorkspace ws, TopologyServices topologyServices) {
141 146
            this.ws = ws;

Also available in: Unified diff