Revision 38382

View differences:

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