Statistics
| Revision:

gvsig-raster / org.gvsig.raster.postgis / trunk / org.gvsig.raster.postgis / org.gvsig.raster.postgis.io / src / main / java / org / gvsig / raster / postgis / io / PostGISRasterDataParameters.java @ 938

History | View | Annotate | Download (5.07 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22

    
23
package org.gvsig.raster.postgis.io;
24

    
25
import org.gvsig.fmap.dal.DataParameters;
26
import org.gvsig.fmap.dal.serverexplorer.db.DBServerExplorer;
27
import org.gvsig.fmap.dal.spi.AbstractDataParameters;
28
import org.gvsig.raster.impl.store.AbstractRasterDataParameters;
29
import org.gvsig.tools.ToolsLocator;
30
import org.gvsig.tools.dynobject.DelegatedDynObject;
31
import org.gvsig.tools.dynobject.DynClass;
32
import org.gvsig.tools.dynobject.DynField;
33
import org.gvsig.tools.dynobject.DynObjectManager;
34
import org.gvsig.tools.dynobject.DynStruct;
35
import org.gvsig.tools.persistence.PersistenceManager;
36
import org.gvsig.tools.persistence.PersistentState;
37
import org.gvsig.tools.persistence.exception.PersistenceException;
38

    
39
/**
40
 * Parameters for the PostGIS provider
41
 * @author Nacho Brodin (nachobrodin@gmail.com)
42
 */
43
public class PostGISRasterDataParameters extends AbstractRasterDataParameters {
44
        public static final String         DYNCLASS_NAME                = "PostGISRasterDataParameters";
45
        protected DelegatedDynObject       delegatedDynObject           = null;
46
        private static DynClass            DYNCLASS                     = null;
47
        public static final String         FIELD_DBPARAMS               = "DBPARAMS";
48
        public static final String         FIELD_DBEXPLORER             = "DBEXPLORER";
49
        
50
        public static void registerDynClass() {
51
                DynObjectManager dynman = ToolsLocator.getDynObjectManager();
52
                DynClass dynClass;
53
                DynField field;
54
                
55
                if(dynman == null)
56
                        return;
57
                
58
                if (DYNCLASS == null) {
59
                        dynClass = AbstractRasterDataParameters.registerDynClass(DYNCLASS_NAME);
60
                        
61
                        field = dynClass.addDynFieldObject(FIELD_DBPARAMS);
62
                        field.setDescription("Parameters for the selected table");
63
                        field.setClassOfValue(Object.class);
64
                        field.setMandatory(false);
65
                        
66
                        field = dynClass.addDynFieldObject(FIELD_DBEXPLORER);
67
                        field.setDescription("Explorer for databases");
68
                        field.setClassOfValue(Object.class);
69
                        field.setMandatory(false);
70
                        
71
                        DYNCLASS = dynClass;
72
                }
73
        }
74
        
75
        public PostGISRasterDataParameters() {
76
                super();
77
                initialize();
78
        }
79
        
80
        protected void initialize() {
81
                this.delegatedDynObject = (DelegatedDynObject) ToolsLocator
82
                                .getDynObjectManager().createDynObject(
83
                                                DYNCLASS);
84
        }
85
        
86
        /*
87
         * (non-Javadoc)
88
         * @see org.gvsig.fmap.dal.DataStoreParameters#getDataStoreName()
89
         */
90
        public String getDataStoreName() {
91
                return PostGISRasterProvider.NAME;
92
        }
93

    
94
        /*
95
         * (non-Javadoc)
96
         * @see org.gvsig.fmap.dal.DataStoreParameters#getDescription()
97
         */
98
        public String getDescription() {
99
                return PostGISRasterProvider.DESCRIPTION;
100
        }
101

    
102
        /*
103
         * (non-Javadoc)
104
         * @see org.gvsig.raster.impl.store.AbstractRasterDataParameters#loadFromState(org.gvsig.tools.persistence.PersistentState)
105
         */
106
        public void loadFromState(PersistentState state)
107
        throws PersistenceException {
108
                super.loadFromState(state);
109
        }
110

    
111
        /*
112
         * (non-Javadoc)
113
         * @see org.gvsig.raster.impl.store.AbstractRasterDataParameters#saveToState(org.gvsig.tools.persistence.PersistentState)
114
         */
115
        public void saveToState(PersistentState state) throws PersistenceException {
116
                super.saveToState(state);
117
        }        
118

    
119
        public static void registerPersistence() {
120
                PersistenceManager manager = ToolsLocator.getPersistenceManager();
121
                DynStruct definition = manager.getDefinition("PostGISRasterDataParameters_Persistent");
122
                if( definition == null ) {
123
                        definition = manager.addDefinition(
124
                                        PostGISRasterDataParameters.class,
125
                                        "PostGISRasterDataParameters_Persistent",
126
                                        "PostGISRasterDataParameters Persistent",
127
                                        null, 
128
                                        null
129
                        );
130
                        AbstractRasterDataParameters.registerPersistence(definition);
131
                }
132
        }
133

    
134
        @Override
135
        protected DelegatedDynObject getDelegatedDynObject() {
136
                return delegatedDynObject;
137
        }
138

    
139
        public boolean isOverridingHost() {
140
                return false;
141
        }
142

    
143
        public void setOverrideHost(boolean over) {
144
                
145
        }
146
        
147
        public DataParameters getDBStoreParameters() {
148
                return (DataParameters) this.getDynValue(FIELD_DBPARAMS);
149
        }
150
        
151
        public void setDBStoreParameters(DataParameters dbStoreParameters) {
152
                this.setDynValue(FIELD_DBPARAMS, dbStoreParameters);
153
        }
154
        
155
        public DBServerExplorer getDBExplorer() {
156
                return (DBServerExplorer) this.getDynValue(FIELD_DBEXPLORER);
157
        }
158
        
159
        public void setDBExplorer(DBServerExplorer dbStoreParameters) {
160
                this.setDynValue(FIELD_DBEXPLORER, dbStoreParameters);
161
        }
162
}