Revision 38382 branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/daltransform/JoinTransformGui.java

View differences:

JoinTransformGui.java
31 31
import java.util.ArrayList;
32 32
import java.util.List;
33 33

  
34
import javax.swing.JOptionPane;
35

  
36
import org.slf4j.Logger;
37
import org.slf4j.LoggerFactory;
38

  
34 39
import org.gvsig.andami.PluginServices;
40
import org.gvsig.andami.ui.mdiManager.IWindow;
41
import org.gvsig.app.ApplicationLocator;
35 42
import org.gvsig.app.join.dal.feature.JoinTransform;
36 43
import org.gvsig.daltransform.swing.DataTransformGui;
37 44
import org.gvsig.daltransform.swing.DataTransformWizardPanel;
38 45
import org.gvsig.fmap.dal.exception.DataException;
39 46
import org.gvsig.fmap.dal.feature.FeatureStore;
40 47
import org.gvsig.fmap.dal.feature.FeatureStoreTransform;
48
import org.gvsig.fmap.mapcontrol.dal.feature.swing.FeatureTypesTablePanel;
49
import org.gvsig.fmap.mapcontrol.dal.feature.swing.table.ConfigurableFeatureTableModel;
50
import org.gvsig.i18n.Messages;
41 51

  
42 52

  
43 53
/**
44 54
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
45 55
 */
46 56
public class JoinTransformGui implements DataTransformGui {
57
    
58
    private static Logger logger = LoggerFactory.getLogger(JoinTransformGui.class);
59
    
47 60
	private SelectSecondDataStoreWizardPanel secondDataStoreWizard = null;
48 61
	private SelectParametersWizardPanel parametersWizard = null;
49 62
	private List<DataTransformWizardPanel> panels = null;	
......
69 82
		return transform;
70 83
	}
71 84

  
72
	/* (non-Javadoc)
85

  
86

  
87
    /* (non-Javadoc)
73 88
	 * @see org.gvsig.app.daltransform.gui.FeatureTransformGui#getDescription()
74 89
	 */
75 90
	public String getDescription() {
......
108 123
    public boolean accept(FeatureStore featureStore) {        
109 124
        return true;
110 125
    }
126

  
127
    /* (non-Javadoc)
128
     * @see org.gvsig.daltransform.swing.DataTransformGui#beforeApplyingTransform(org.gvsig.fmap.dal.feature.FeatureStore, org.gvsig.fmap.dal.feature.FeatureStoreTransform)
129
     */
130
    public void beforeApplyingTransform(FeatureStore store,
131
        FeatureStoreTransform transform) {
132
        store.disableNotifications();
133
    }
134

  
135
    /* (non-Javadoc)
136
     * @see org.gvsig.daltransform.swing.DataTransformGui#afterApplyingTransform(org.gvsig.fmap.dal.feature.FeatureStore, org.gvsig.fmap.dal.feature.FeatureStoreTransform)
137
     */
138
    public void afterApplyingTransform(FeatureStore store,
139
        FeatureStoreTransform transform) {
140
        store.enableNotifications();
141
        
142
        try {
143
            reloadTablesBasedOn(store);
144
        } catch (DataException e) {
145
            
146
            logger.info("Error while refreshing table after join transformation.", e);
147
            ApplicationLocator.getManager().message(
148
                Messages.getText("_Unable_to_refresh_table_contents"),
149
                JOptionPane.ERROR_MESSAGE);
150
        }
151
    }
152
    
153
    private void reloadTablesBasedOn(FeatureStore featureStore) throws DataException {
154
        
155
        IWindow[] ws = PluginServices.getMDIManager().getAllWindows();
156
        int len = ws.length;
157
        FeatureTypesTablePanel table_panel = null;
158
        FeatureStore fsto = null;
159
        for (int i=0; i<len; i++) {
160
            if (ws[i] instanceof FeatureTypesTablePanel) {
161
                table_panel = (FeatureTypesTablePanel) ws[i];
162
                ConfigurableFeatureTableModel cftm =
163
                    table_panel.getTablePanel().getTableModel();
164
                fsto = cftm.getFeatureStore();
165
                if (fsto == featureStore) {
166
                    // refresh featuretype
167
                    cftm.setFeatureType(fsto.getDefaultFeatureType());
168
                }
169
            }
170
        }
171
    }     
172
    
173
    public String toString() {
174
        return getName();
175
    }
111 176
}
112 177

  

Also available in: Unified diff