Revision 38383
branches/v2_0_0_prep/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/DataTransformGui.java | ||
---|---|---|
92 | 92 |
*/ |
93 | 93 |
public Dimension getMinDimension(); |
94 | 94 |
|
95 |
/** |
|
96 |
* This method will be called right before the transformation is applied |
|
97 |
* to let the instance of this interface perform some action. |
|
98 |
* |
|
99 |
* @param store the {@link FeatureStore} to be transformed |
|
100 |
* @param transform the {@link FeatureStoreTransform} to be applied |
|
101 |
*/ |
|
102 |
public void beforeApplyingTransform(FeatureStore store, FeatureStoreTransform transform); |
|
103 |
|
|
104 |
/** |
|
105 |
* This method will be called right after the transformation is applied |
|
106 |
* to let the instance of this interface perform some action. |
|
107 |
* |
|
108 |
* @param store the {@link FeatureStore} that has been transformed |
|
109 |
* @param transform the {@link FeatureStoreTransform} that has been applied |
|
110 |
*/ |
|
111 |
public void afterApplyingTransform(FeatureStore store, FeatureStoreTransform transform); |
|
112 | 95 |
|
113 | 96 |
} |
114 | 97 |
|
branches/v2_0_0_prep/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/DataTransformSelectionAction.java | ||
---|---|---|
70 | 70 |
//Gets the transform |
71 | 71 |
FeatureStoreTransform featureStoreTransform = featureTransformGui.createFeatureStoreTransform(featureStore); |
72 | 72 |
|
73 |
// before applying |
|
74 |
featureTransformGui.beforeApplyingTransform(featureStore, featureStoreTransform); |
|
75 |
|
|
76 | 73 |
// Apply the transformation |
77 | 74 |
featureStore.getTransforms().add(featureStoreTransform); |
78 | 75 |
|
79 |
// after applying |
|
80 |
featureTransformGui.afterApplyingTransform(featureStore, featureStoreTransform); |
|
81 |
|
|
82 | 76 |
//Create and load a new layer... |
83 | 77 |
if (dataTransformWizard.isLayerLoaded()){ |
84 | 78 |
MapContextManager manager = MapContextLocator.getMapContextManager(); |
branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/daltransform/JoinTransformGui.java | ||
---|---|---|
124 | 124 |
return true; |
125 | 125 |
} |
126 | 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 |
} |
|
127 |
|
|
152 | 128 |
|
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 | 129 |
public String toString() { |
174 | 130 |
return getName(); |
175 | 131 |
} |
branches/v2_0_0_prep/libraries/libFMap_controls/src/org/gvsig/fmap/mapcontrol/dal/feature/swing/table/FeatureTableModel.java | ||
---|---|---|
261 | 261 |
} else if (FeatureStoreNotification.AFTER_UPDATE.equals(type)) { |
262 | 262 |
|
263 | 263 |
reloadIfFeatureUpdated(fsNotification.getFeature()); |
264 |
|
|
264 | 265 |
} else |
265 | 266 |
if (FeatureStoreNotification.AFTER_UPDATE_TYPE.equals(type)) { |
266 | 267 |
|
267 | 268 |
reloadIfTypeChanged(fsNotification.getFeatureType()); |
268 | 269 |
|
269 | 270 |
} else |
270 |
if (FeatureStoreNotification.TRANSFORM_CHANGE.equals(type)) { |
|
271 |
reloadIfTypeTransformed(); |
|
271 |
if (FeatureStoreNotification.TRANSFORM_CHANGE.equals(type) |
|
272 |
// || FeatureStoreNotification.AFTER_UNDO.equals(type) |
|
273 |
|| FeatureStoreNotification.AFTER_REFRESH.equals(type)) { |
|
274 |
|
|
275 |
reloadFeatureType(); |
|
272 | 276 |
|
273 | 277 |
} else |
274 |
if (FeatureStoreNotification.AFTER_FINISHEDITING |
|
275 |
.equals(type) |
|
276 |
|| FeatureStoreNotification.AFTER_CANCELEDITING |
|
277 |
.equals(type)) { |
|
278 |
reloadIfTypeTransformed(); |
|
278 |
if (FeatureStoreNotification.AFTER_FINISHEDITING.equals(type) |
|
279 |
|| FeatureStoreNotification.AFTER_CANCELEDITING.equals(type)) { |
|
280 |
|
|
281 |
reloadFeatureType(); |
|
279 | 282 |
} |
280 | 283 |
|
281 | 284 |
} |
... | ... | |
412 | 415 |
} |
413 | 416 |
} |
414 | 417 |
|
415 |
/** |
|
416 |
* Reloads data and structure if the {@link FeatureType} of the features |
|
417 |
* being shown has been transformed. |
|
418 |
*/ |
|
419 |
private void reloadIfTypeTransformed() { |
|
418 |
|
|
419 |
|
|
420 |
private void reloadFeatureType() { |
|
420 | 421 |
try { |
421 | 422 |
setFeatureType(getHelper().getFeatureStore().getFeatureType( |
422 | 423 |
getHelper().getFeatureType().getId())); |
Also available in: Unified diff