Revision 38382
branches/v2_0_0_prep/extensions/extDalTransformEventTheme/src/org/gvsig/app/eventtheme/daltransform/EventThemeTransformGui.java | ||
---|---|---|
112 | 112 |
return false; |
113 | 113 |
} |
114 | 114 |
} |
115 |
|
|
116 |
/* (non-Javadoc) |
|
117 |
* @see org.gvsig.daltransform.swing.DataTransformGui#beforeApplyingTransform(org.gvsig.fmap.dal.feature.FeatureStore, org.gvsig.fmap.dal.feature.FeatureStoreTransform) |
|
118 |
*/ |
|
119 |
public void beforeApplyingTransform(FeatureStore store, |
|
120 |
FeatureStoreTransform transform) { |
|
121 |
// nothing to do |
|
122 |
} |
|
123 |
|
|
124 |
/* (non-Javadoc) |
|
125 |
* @see org.gvsig.daltransform.swing.DataTransformGui#afterApplyingTransform(org.gvsig.fmap.dal.feature.FeatureStore, org.gvsig.fmap.dal.feature.FeatureStoreTransform) |
|
126 |
*/ |
|
127 |
public void afterApplyingTransform(FeatureStore store, |
|
128 |
FeatureStoreTransform transform) { |
|
129 |
// nothing to do |
|
130 |
|
|
131 |
} |
|
115 | 132 |
} |
116 | 133 |
|
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 |
//Apply the transformation |
|
73 |
// before applying |
|
74 |
featureTransformGui.beforeApplyingTransform(featureStore, featureStoreTransform); |
|
75 |
|
|
76 |
// Apply the transformation |
|
74 | 77 |
featureStore.getTransforms().add(featureStoreTransform); |
75 | 78 |
|
79 |
// after applying |
|
80 |
featureTransformGui.afterApplyingTransform(featureStore, featureStoreTransform); |
|
81 |
|
|
76 | 82 |
//Create and load a new layer... |
77 | 83 |
if (dataTransformWizard.isLayerLoaded()){ |
78 | 84 |
MapContextManager manager = MapContextLocator.getMapContextManager(); |
79 |
FLayer layer = manager.createLayer(featureTransformGui.toString(), featureStore); |
|
85 |
FLayer layer = manager.createLayer( |
|
86 |
featureTransformGui.toString(), |
|
87 |
featureStore); |
|
80 | 88 |
dataTransformWizard.getMapContext().getLayers().addLayer(layer); |
81 | 89 |
layer.dispose(); |
82 | 90 |
} |
branches/v2_0_0_prep/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/DataTransformGui.java | ||
---|---|---|
91 | 91 |
* The minimum size for the panels. |
92 | 92 |
*/ |
93 | 93 |
public Dimension getMinDimension(); |
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 |
|
|
94 | 113 |
} |
95 | 114 |
|
branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/daltransform/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 |
|
branches/v2_0_0_prep/extensions/extDalTransformJoin/src/org/gvsig/app/join/dal/feature/JoinTransform.java | ||
---|---|---|
136 | 136 |
this.originalFeatureType = this.getFeatureStore() |
137 | 137 |
.getDefaultFeatureType(); |
138 | 138 |
|
139 |
// keep index of geometry and att desc ============== |
|
140 |
int orig_geom_field_index = |
|
141 |
this.originalFeatureType.getDefaultGeometryAttributeIndex(); |
|
142 |
FeatureAttributeDescriptor orig_geom_field_att = |
|
143 |
this.originalFeatureType.getDefaultGeometryAttribute(); |
|
144 |
|
|
139 | 145 |
// Create the feature type and copy the store 1 type |
140 | 146 |
EditableFeatureType editableFeatureType = this.getFeatureStore().getDefaultFeatureType().getEditable(); |
141 | 147 |
FeatureAttributeDescriptor[] featureAttributeDescriptors = editableFeatureType.getAttributeDescriptors(); |
... | ... | |
144 | 150 |
} |
145 | 151 |
addFeatureType(editableFeatureType, featureAttributeDescriptors, prefix1, store1NamesMap); |
146 | 152 |
|
153 |
// =========== set the new geom field name and restore geometry values |
|
154 |
if (orig_geom_field_index >= 0) { |
|
155 |
EditableFeatureAttributeDescriptor ed_att = null; |
|
156 |
ed_att = (EditableFeatureAttributeDescriptor) |
|
157 |
editableFeatureType.getAttributeDescriptor(orig_geom_field_index); |
|
158 |
ed_att.setSRS(orig_geom_field_att.getSRS()); |
|
159 |
ed_att.setObjectClass(orig_geom_field_att.getObjectClass()); |
|
160 |
ed_att.setGeometryType(orig_geom_field_att.getGeomType()); |
|
161 |
ed_att.setDefaultValue(orig_geom_field_att.getDefaultValue()); |
|
162 |
|
|
163 |
String new_geom_field_name = ed_att.getName(); |
|
164 |
editableFeatureType.setDefaultGeometryAttributeName(new_geom_field_name); |
|
165 |
} |
|
166 |
// ===================================================================== |
|
167 |
|
|
147 | 168 |
// Add the store 2 fields |
148 | 169 |
FeatureType featureType2 = store2.getDefaultFeatureType(); |
149 | 170 |
|
branches/v2_0_0_prep/extensions/extDalTransformJoin/resources/org/gvsig/app/join/i18n/text_en.properties | ||
---|---|---|
5 | 5 |
join_first_prefix=Type a prefix for the first table |
6 | 6 |
join_second_prefix=Type a prefix for the second table |
7 | 7 |
join_select_attributes=Select the attributes to join |
8 |
_Unable_to_refresh_table_contents=Unable to refresh table contents |
branches/v2_0_0_prep/extensions/extDalTransformJoin/resources/org/gvsig/app/join/i18n/text.properties | ||
---|---|---|
5 | 5 |
join_first_prefix=Escriba el prefijo de la primera tabla |
6 | 6 |
join_second_prefix=Escriba el prefijo de la segunda tabla |
7 | 7 |
join_select_attributes=Selecciona los atributos a unir |
8 |
_Unable_to_refresh_table_contents=No se ha podido actualizar la tabla |
Also available in: Unified diff