Statistics
| Revision:

root / branches / v2_0_0_prep / extensions / extDalTransformJoin / src / org / gvsig / app / join / RemoveTableUnion.java @ 31496

History | View | Annotate | Download (3.31 KB)

1
package org.gvsig.app.join;
2

    
3
import org.gvsig.andami.PluginServices;
4
import org.gvsig.andami.plugins.Extension;
5
import org.gvsig.andami.ui.mdiManager.IWindow;
6
import org.gvsig.app.join.dal.feature.JoinTransform;
7
import org.gvsig.app.project.documents.table.TableDocument;
8
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel;
9
import org.gvsig.fmap.dal.feature.FeatureStore;
10
import org.gvsig.fmap.dal.feature.FeatureStoreTransform;
11
import org.gvsig.fmap.dal.feature.FeatureStoreTransforms;
12

    
13

    
14
/**
15
 * @author Fernando Gonz?lez Cort?s
16
 */
17
public class RemoveTableUnion extends Extension{
18

    
19
        /**
20
         * @see org.gvsig.andami.plugins.IExtension#initialize()
21
         */
22
        public void initialize() {
23
                // TODO Auto-generated method stub
24

    
25
        }
26

    
27
        /**
28
         * @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String)
29
         */
30
        public void execute(String actionCommand) {
31
                FeatureTableDocumentPanel t = (FeatureTableDocumentPanel) PluginServices.getMDIManager().getActiveWindow();
32
                TableDocument pt = t.getModel();
33
                FeatureStore fs = pt.getStore();
34
                this.removeJoinTransfor(fs);
35

    
36
                //                TODO
37
                //                if (fs instanceof JoinFeatureStore) {
38
                //                        DataManager dm = DALLocator.getDataManager();
39
                //                        DataStoreParameters originalParams = ((JoinFeatureStoreParameters) fs
40
                //                                        .getParameters()).getStorePrimary();
41
                //                        FeatureStore original = null;
42
                //                        try {
43
                //                                original = (FeatureStore) dm.createStore(originalParams);
44
                //                        } catch (InitializeException e) {
45
                //                                NotificationManager.addError(e.getMessage(), e);
46
                //                                return;
47
                //                        }
48
                //
49
                //                        pt.setStore(original);
50
                //                        try {
51
                //                                fs.dispose();
52
                //                        } catch (CloseException e) {
53
                //                                NotificationManager.addError(e);
54
                //                        }
55
                //                        t.setModel(pt);
56
                //
57
                //                }
58

    
59
                //                t.clearSelectedFields();
60
                t.getModel().setModified(true);
61
        }
62

    
63
        public void removeJoinTransfor(FeatureStore store) {
64
                FeatureStoreTransforms transforms = store.getTransforms();
65
                int size = transforms.size();
66
                if (size < 1) {
67
                        return;
68
                }
69
                FeatureStoreTransform join = transforms.getTransform(size - 1);
70
                if (join instanceof JoinTransform) {
71
                        transforms.remove(join);
72
                } else {
73
                        return;
74
                }
75

    
76

    
77

    
78
        }
79

    
80
        public boolean hasJoinTransform(FeatureStore store) {
81

    
82
                FeatureStoreTransforms transforms = store.getTransforms();
83
                int size = transforms.size();
84
                if (size < 1) {
85
                        return false;
86
                }
87
                return (transforms.getTransform(size - 1) instanceof JoinTransform);
88

    
89
        }
90

    
91
        /**
92
         * @see org.gvsig.andami.plugins.IExtension#isEnabled()
93
         */
94
        public boolean isEnabled() {
95
                IWindow v = PluginServices.getMDIManager().getActiveWindow();
96

    
97
                if (v == null) {
98
                        return false;
99
                }
100

    
101
                if (v.getClass() == FeatureTableDocumentPanel.class) {
102
                        FeatureTableDocumentPanel t = (FeatureTableDocumentPanel) v;
103
                        // FIXME !!!! Asi se hacia antes
104
                        //                        if (t.getModel().getOriginal() != null){
105
                        //                                return true;
106
                        //                        }
107

    
108
                        TableDocument pt = t.getModel();
109
                        FeatureStore fs = pt.getStore();
110

    
111
                        return this.hasJoinTransform(fs);
112
//                        TODO
113
//                        if (fs instanceof JoinFeatureStore) {
114
//                                return true;
115
//                        }
116

    
117
                }
118
                return false;
119
        }
120

    
121
        /**
122
         * @see org.gvsig.andami.plugins.IExtension#isVisible()
123
         */
124
        public boolean isVisible() {
125
                IWindow v = PluginServices.getMDIManager().getActiveWindow();
126

    
127
                if (v == null) {
128
                        return false;
129
                }
130

    
131
                if (v instanceof FeatureTableDocumentPanel) {
132
                        return true;
133
                } else {
134
                        return false;
135
                }
136

    
137
        }
138

    
139
}