Statistics
| Revision:

svn-gvsig-desktop / 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 / DefaultDALSwingLibrary.java @ 46421

History | View | Annotate | Download (8.31 KB)

1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright � 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.fmap.dal.swing.impl;
24

    
25
import org.gvsig.featureform.swing.impl.DefaultJFeaturesForm;
26
import org.gvsig.featureform.swing.impl.dynformfield.ImageByteArray.JDynFormFieldImageByteArrayFactory;
27
import org.gvsig.featureform.swing.impl.dynformfield.ImageFile.JDynFormFieldImageFileFactory;
28
import org.gvsig.featureform.swing.impl.dynformfield.ImageURL.JDynFormFieldImageURLFactory;
29
import org.gvsig.featureform.swing.impl.dynformfield.deprecated.linkedentities.JDynFormFieldFeaturesTableLinkFactory;
30
import org.gvsig.featureform.swing.impl.dynformfield.deprecated.linkedentity.JDynFormFieldFeatureLinkFactory;
31
import org.gvsig.featureform.swing.impl.dynformfield.features.JDynFormFieldRelatedFeaturesFactory;
32
import org.gvsig.featureform.swing.impl.dynformfield.linkforeingkey.JDynFormFieldForeingKeyFactory;
33
import org.gvsig.featureform.swing.impl.dynformfield.selectableforeingkey.JDynFormFieldSelectableForeingKeyFactory;
34
import org.gvsig.fmap.dal.impl.DefaultEditingNotificationManager;
35
import org.gvsig.fmap.dal.swing.DALSwingLibrary;
36
import org.gvsig.fmap.dal.swing.DALSwingLocator;
37
import org.gvsig.fmap.dal.swing.dataStoreParameters.DataStoreParametersPanelManager;
38
import org.gvsig.fmap.dal.swing.impl.actions.ShowFormForOpenStoreParametersAction;
39
import org.gvsig.fmap.dal.swing.impl.dataStoreParameters.DataStoreDynObjectParametersPanelFactory;
40
import org.gvsig.fmap.dal.swing.impl.dataStoreParameters.DefaultDataStoreParametersPanelManager;
41
import org.gvsig.fmap.dal.swing.impl.dynobjectutils.CreateComboModelFromTable;
42
import org.gvsig.fmap.dal.swing.impl.expressionevaluator.FeatureStoreElementFactory;
43
import org.gvsig.fmap.dal.swing.impl.featurequery.DefaultFeatureQueryCalculatedColumnsPanel;
44
import org.gvsig.fmap.dal.swing.impl.featurequery.DefaultFeatureQueryGroupByPanel;
45
import org.gvsig.fmap.dal.swing.impl.featurequery.DefaultFeatureQueryOrderPanel;
46
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributePanel;
47
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributeSelectionPanel;
48
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributesSelectionPanel;
49
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureTypePanel;
50
import org.gvsig.fmap.dal.swing.impl.jdbc.JDBCConnectionPickerController;
51
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.DistinctOn;
52
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.DistinctOnFactory;
53
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.FirstAggregateOperation.FirstAggregateOperationFactory;
54
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.LastAggregateOperation.LastAggregateOperationFactory;
55
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.MaxAggregateOperation.MaxAggregateOperationFactory;
56
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.MinAggregateOperation.MinAggregateOperationFactory;
57
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.NullAggregateOperation.NullAggregateOperationFactory;
58
import org.gvsig.fmap.dal.swing.impl.searchPostProcess.distinctOn.SumAggregateOperation.SumAggregateOperationFactory;
59
import org.gvsig.fmap.dal.swing.impl.searchpanel.DefaultSearchPanel;
60
import org.gvsig.fmap.dal.swing.impl.searchpanel.DefaultSearchParameters;
61
import org.gvsig.tools.ToolsLocator;
62
import org.gvsig.tools.dynform.spi.DynFormSPILibrary;
63
import org.gvsig.tools.dynobject.DynObjectManager;
64
import org.gvsig.tools.library.AbstractLibrary;
65
import org.gvsig.tools.library.LibraryException;
66
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
67
import org.slf4j.Logger;
68
import org.slf4j.LoggerFactory;
69

    
70

    
71
/**
72
 * @author fdiaz
73
 *
74
 */
75
@SuppressWarnings("UseSpecificCatch")
76
public class DefaultDALSwingLibrary  extends AbstractLibrary{
77

    
78
    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultDALSwingLibrary.class);
79

    
80
    @Override
81
    public void doRegistration() {
82
        registerAsImplementationOf(DALSwingLibrary.class);
83
        require(DynFormSPILibrary.class);
84
    }
85

    
86

    
87
    @Override
88
    protected void doInitialize() throws LibraryException {
89
        DALSwingLocator.registerSwingManager(DefaultDataSwingManager.class);
90
        DALSwingLocator.registerEditingNotificationManager(DefaultEditingNotificationManager.class);
91

    
92
        DALSwingLocator.registerDataStoreParametersPanelManager(DefaultDataStoreParametersPanelManager.class);
93
    }
94

    
95

    
96
    @Override
97
    protected void doPostInitialize() throws LibraryException {
98
        try {
99
            JDynFormFieldFeatureLinkFactory.selfRegister();
100
            JDynFormFieldFeaturesTableLinkFactory.selfRegister();
101
            
102
            JDynFormFieldImageByteArrayFactory.selfRegister();
103
            JDynFormFieldImageFileFactory.selfRegister();
104
            JDynFormFieldImageURLFactory.selfRegister();
105
            JDynFormFieldForeingKeyFactory.selfRegister();
106
            JDynFormFieldSelectableForeingKeyFactory.selfRegister();
107
            JDynFormFieldRelatedFeaturesFactory.selfRegister();
108
            
109
            DefaultFeatureAttributePanel.selfRegister();
110
            DefaultFeatureAttributeSelectionPanel.selfRegister();
111
            DefaultFeatureAttributesSelectionPanel.selfRegister();
112
            DefaultFeatureTypePanel.selfRegister();
113
            
114
            DefaultFeatureQueryCalculatedColumnsPanel.selfRegister();
115
            DefaultFeatureQueryGroupByPanel.selfRegister();
116
            DefaultFeatureQueryOrderPanel.selfRegister();
117
            
118
            DefaultSearchPanel.selfRegister();
119
            
120
            JDBCConnectionPickerController.selfRegister();
121
            DefaultJFeaturesForm.selfRegister();
122
            DefaultSearchParameters.registerPersistence();
123

    
124
            DynObjectManager dynObjectmanager = ToolsLocator.getDynObjectManager();
125
            dynObjectmanager.registerDynMethod(new CreateComboModelFromTable("DAL.createComboModelFromTable", "XXXXXXXXXXXXXXXXXXXX."));
126
            
127
            
128
            DataStoreParametersPanelManager dataStoreParametersPanelManager;
129
            try {
130
                dataStoreParametersPanelManager = DALSwingLocator.getDataStoreParametersPanelManager();
131
                dataStoreParametersPanelManager.registerFactory(new DataStoreDynObjectParametersPanelFactory());
132
            } catch(ReferenceNotRegisteredException ex) {
133
                LOGGER.debug("Can't locate DataStoreParametersPanelManager");
134
            }
135
            
136

    
137
            DefaultEditingNotificationManager.selfRegister();
138
            ProjectionPickerControllerImpl.selfRegister();
139
            
140
            DistinctOnFactory.selfRegister();
141
            DistinctOn.registerAggregateOperation(new MinAggregateOperationFactory());
142
            DistinctOn.registerAggregateOperation(new MaxAggregateOperationFactory());
143
            DistinctOn.registerAggregateOperation(new SumAggregateOperationFactory());
144
            DistinctOn.registerAggregateOperation(new FirstAggregateOperationFactory());
145
            DistinctOn.registerAggregateOperation(new LastAggregateOperationFactory());
146
            DistinctOn.registerAggregateOperation(new NullAggregateOperationFactory());
147
            
148
            ShowFormForOpenStoreParametersAction.selfRegister();
149

    
150
        } catch(Exception ex) {
151
            LOGGER.warn("Can't register DAL components in DynForms",ex);
152
        }
153
        try {
154
            FeatureStoreElementFactory.selfRegister();
155
        } catch(Exception ex) {
156
            LOGGER.warn("Can't register DAL components in ExpressionEvaluator",ex);
157
        }
158
    }
159

    
160
}