Revision 42775 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/DefaultDataSwingManager.java

View differences:

DefaultDataSwingManager.java
23 23
package org.gvsig.fmap.dal.swing.impl;
24 24

  
25 25
import org.gvsig.featureform.swing.CreateJFeatureFormException;
26
import org.gvsig.featureform.swing.FeatureFormDefinitionsProvider;
26
import org.gvsig.featureform.swing.JFeatureForm;
27 27

  
28
import org.gvsig.featureform.swing.JFeatureForm;
28
import org.gvsig.featureform.swing.JFeaturesForm;
29 29
import org.gvsig.featureform.swing.impl.DefaultJFeatureForm;
30
import org.gvsig.featureform.swing.impl.DefaultJFeaturesForm;
31
import org.gvsig.fmap.dal.DALLocator;
32
import org.gvsig.fmap.dal.feature.Feature;
33
import org.gvsig.fmap.dal.feature.FeatureQuery;
30 34
import org.gvsig.fmap.dal.feature.FeatureStore;
35
import org.gvsig.fmap.dal.feature.FeatureType;
36
import org.gvsig.fmap.dal.feature.FeatureTypeDefinitionsManager;
37
import org.gvsig.fmap.dal.feature.paging.FeaturePagingHelper;
31 38
import org.gvsig.fmap.dal.swing.DataSwingManager;
39
import org.gvsig.fmap.dal.swing.FeatureTableModel;
40
import org.gvsig.fmap.dal.swing.JFeatureTable;
41
import org.gvsig.fmap.dal.swing.impl.featuretable.FeatureTablePanel;
42
import org.gvsig.fmap.dal.swing.impl.featuretable.table.DefaultFeatureTableModel;
43
import org.gvsig.fmap.dal.swing.impl.featuretable.table.EmptyFeatureTableModel;
32 44
import org.gvsig.fmap.dal.swing.impl.jdbc.DefaultJDBCConnectionPanel;
33 45
import org.gvsig.fmap.dal.swing.impl.queryfilter.DefaultQueryFilterExpresion;
34 46
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionPanel;
35 47
import org.gvsig.fmap.dal.swing.queryfilter.QueryFilterExpresion;
36 48
import org.gvsig.tools.dynform.DynFormLocator;
37 49
import org.gvsig.tools.dynobject.DynClass;
50
import org.gvsig.tools.dynobject.DynStruct;
51
import org.gvsig.tools.exception.BaseException;
38 52

  
39 53

  
40 54
/**
41 55
 * @author fdiaz
42 56
 *
43 57
 */
44
public class DefaultDataSwingManager implements
45
DataSwingManager {
58
public class DefaultDataSwingManager implements DataSwingManager {
46 59

  
47
    private FeatureFormDefinitionsProvider featureFormDefinitionsProvider = null;
48
            
49 60
    @Override
50
    public JFeatureForm createJFeatureForm(FeatureStore store) throws CreateJFeatureFormException {
51
        DefaultJFeatureForm form = new DefaultJFeatureForm();
61
    public JFeaturesForm createJFeaturesForm(FeatureStore store) throws CreateJFeatureFormException {
52 62
        try {
53
            if( featureFormDefinitionsProvider!=null ) {
54
                DynClass dynClass = this.featureFormDefinitionsProvider.getDynClass(store);
55
                DynFormLocator.getDynFormManager().removeDefinition(dynClass.getFullName());
56
                form.bind(store, dynClass);
57
            } else {
58
                form.bind(store);
63
            FeatureType featureType = store.getDefaultFeatureType();
64
            FeatureTypeDefinitionsManager featureTypeDefinitionsManager = DALLocator.getFeatureTypeDefinitionsManager();
65
            if( featureTypeDefinitionsManager.contains(store,featureType) ) {
66
                // Force reload next call to get.
67
                featureTypeDefinitionsManager.remove(store,featureType);
59 68
            }
60
        } catch (Exception e) {
61
            throw new CreateJFeatureFormException(e);
69
            DynClass dynClass = featureTypeDefinitionsManager.get(store,featureType);
70
            DynFormLocator.getDynFormManager().removeDefinition(dynClass.getName());
71
            
72
            DefaultJFeaturesForm form = new DefaultJFeaturesForm();
73
            form.bind(store, dynClass);
74
            return form;
75
            
76
        } catch (Exception ex) {
77
            throw new CreateJFeatureFormException(ex);
62 78
        }
63
        return form;
64 79
    }
65 80

  
66
    public void registerFeatureFormDefinitionsProvider(FeatureFormDefinitionsProvider provider) {
67
        this.featureFormDefinitionsProvider = provider;
68
    }
69

  
70 81
    @Override
71
    public FeatureFormDefinitionsProvider getFeatureFormDefinitionsProvider() {
72
        return this.featureFormDefinitionsProvider;
73
    }
74

  
75
    @Override
76 82
    public JDBCConnectionPanel createJDBCConnectionPanel() {
77 83
        JDBCConnectionPanel x = new DefaultJDBCConnectionPanel();
78 84
        return x;
......
83 89
        return new DefaultQueryFilterExpresion(store);
84 90
    }
85 91

  
92
    @Override
93
    public JFeatureForm createJFeatureForm(FeatureStore store) throws CreateJFeatureFormException {
94
        JFeatureForm form = new DefaultJFeatureForm();
95
        form.setStore(store);
96
        return form;
97
    }
98

  
99
    @Override
100
    public JFeatureForm createJFeatureForm(Feature feature) throws CreateJFeatureFormException {
101
        JFeatureForm form = new DefaultJFeatureForm();
102
        form.setFeature(feature);
103
        return form;
104
    }
105

  
106
    public JFeatureTable createJFeatureTable(FeatureTableModel model) {
107
        return this.createJFeatureTable(model, true);
108
    }
109
    
110
    public JFeatureTable createJFeatureTable(FeatureTableModel model, boolean isDoubleBuffered) {
111
        return new FeatureTablePanel(model, isDoubleBuffered);
112
    }
113
    
114
    public FeatureTableModel createEmptyFeatureTableModel(DynStruct struct) {
115
        return new EmptyFeatureTableModel(struct);
116
    }
117
    
118
    public FeatureTableModel createFeatureTableModel(FeatureStore featureStore,
119
            FeatureQuery featureQuery) {
120
        try {
121
            FeaturePagingHelper pager = DALLocator.getDataManager().createFeaturePagingHelper(
122
                    featureStore, featureQuery,
123
                    FeaturePagingHelper.DEFAULT_PAGE_SIZE
124
            );
125
            return this.createFeatureTableModel(pager);
126
        } catch (BaseException ex) {
127
            throw new RuntimeException("Can't create a FeatureTableModel.", ex);
128
        }
129
    }
130
    
131
    public FeatureTableModel createFeatureTableModel(FeaturePagingHelper featurePager) {
132
        return new DefaultFeatureTableModel(featurePager);
133
    }
86 134
}

Also available in: Unified diff