Revision 38382 branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/daltransform/JoinTransformGui.java
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