Revision 121

View differences:

org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.oracle.app.mainplugin</artifactId>
7
  <packaging>jar</packaging>
8
  <name>${project.artifactId}</name>
9
  <description>
10
Oracle support for DAL and gvSIG.
11
Provides viewing, editing and export/import capabilities for spatial data stored in an Oracle database. 
12
Works on Oracle Spatial and Oracle Locator.
13
  </description>
14

  
15
  <parent>
16
      <groupId>org.gvsig</groupId>
17
      <artifactId>org.gvsig.oracle.app</artifactId>
18
      <version>2.0.9</version>
19
  </parent>
20

  
21
  <dependencies>
22
    <dependency>
23
        <groupId>org.gvsig</groupId>
24
        <artifactId>org.gvsig.tools.lib</artifactId>
25
        <scope>compile</scope>
26
    </dependency>
27
    <dependency>
28
        <groupId>org.gvsig</groupId>
29
        <artifactId>org.gvsig.andami</artifactId>
30
        <scope>compile</scope>
31
    </dependency>
32
    <dependency>
33
        <groupId>org.gvsig</groupId>
34
        <artifactId>org.gvsig.app.mainplugin</artifactId>
35
        <scope>compile</scope>
36
    </dependency>
37
    <dependency>
38
        <groupId>org.gvsig</groupId>
39
        <artifactId>org.gvsig.ui</artifactId>
40
        <scope>compile</scope>
41
    </dependency>
42
    <dependency>
43
      <groupId>org.gvsig</groupId>
44
      <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
45
      <scope>compile</scope>
46
    </dependency>
47
    <dependency>
48
        <groupId>org.gvsig</groupId>
49
        <artifactId>org.gvsig.oracle.provider</artifactId>
50
        <scope>compile</scope>
51
    </dependency>
52
    
53
    <dependency>
54
      <groupId>com.oracle</groupId>
55
      <artifactId>ojdbc</artifactId>
56
      <scope>runtime</scope>
57
    </dependency>
58
    
59
    <dependency>
60
      <groupId>commons-dbcp</groupId>
61
      <artifactId>commons-dbcp</artifactId>
62
      <scope>runtime</scope>
63
    </dependency>
64
    <dependency>
65
      <groupId>commons-pool</groupId>
66
      <artifactId>commons-pool</artifactId>
67
      <scope>runtime</scope>
68
    </dependency>
69
  </dependencies>
70
  
71
    <properties>
72
        <!-- Package info property values -->
73
        <!-- Default values in org.gvsig.desktop -->
74
        <gvsig.package.info.name>Formats: Oracle support</gvsig.package.info.name>
75
        <gvsig.package.info.state>testing</gvsig.package.info.state>
76
        <gvsig.package.info.official>true</gvsig.package.info.official>
77
        <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.0.1</gvsig.package.info.dependencies>
78
        <gvsig.package.info.categories>Formats,Vector,Database</gvsig.package.info.categories>
79
        <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-oracle/pool/</gvsig.package.info.poolURL>
80
    </properties>
81
  
82

  
83
</project>
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/buildNumber.properties
1
#Tue Jun 12 20:26:56 CEST 2018
2
buildNumber=8
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
1
<assembly>
2
  <id>gvsig-plugin-package</id>
3
  <formats>
4
    <format>zip</format>
5
  </formats>
6
  <baseDirectory>${project.artifactId}</baseDirectory>
7
  <includeBaseDirectory>true</includeBaseDirectory>
8
  <files>
9
    <file>
10
      <source>target/${project.artifactId}-${project.version}.jar</source>
11
      <outputDirectory>lib</outputDirectory>
12
    </file>
13
    <file>
14
      <source>target/package.info</source>
15
    </file>
16
  </files>
17
  <fileSets>
18
    <fileSet>
19
      <directory>src/main/resources-plugin</directory>
20
      <outputDirectory>.</outputDirectory>
21
    </fileSet>
22
  </fileSets>
23
  
24
  <dependencySets>
25
  
26
    <dependencySet>
27
      <useProjectArtifact>false</useProjectArtifact>
28
      <useTransitiveDependencies>false</useTransitiveDependencies>
29
      <outputDirectory>lib</outputDirectory>
30
      <includes>
31
            <include>org.gvsig:org.gvsig.oracle.provider</include>
32
            <include>com.oracle:ojdbc</include>
33
            <include>commons-dbcp:commons-dbcp</include>
34
            <include>commons-pool:commons-pool</include>
35
      </includes>
36
    </dependencySet>
37
    
38
  </dependencySets>
39

  
40
</assembly>
41

  
42

  
43

  
44

  
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/java/org/gvsig/oracle/HostPortPanelView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/jjdelcerro/datos/devel/org.gvsig.oracle/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/java/org/gvsig/oracle/HostPortPanelView.xml</at>
28
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE</at>
29
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
30
   <at name="components">
31
    <object classname="java.util.LinkedList">
32
     <item >
33
      <at name="value">
34
       <object classname="com.jeta.forms.store.memento.BeanMemento">
35
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
36
         <at name="cellconstraints">
37
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
38
           <at name="column">2</at>
39
           <at name="row">2</at>
40
           <at name="colspan">1</at>
41
           <at name="rowspan">1</at>
42
           <at name="halign">default</at>
43
           <at name="valign">default</at>
44
           <at name="insets" object="insets">0,0,0,0</at>
45
          </object>
46
         </at>
47
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
48
        </super>
49
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
50
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
51
        <at name="beanproperties">
52
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
53
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
54
          <at name="properties">
55
           <object classname="com.jeta.forms.store.support.PropertyMap">
56
            <at name="border">
57
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
58
              <super classname="com.jeta.forms.store.properties.BorderProperty">
59
               <at name="name">border</at>
60
              </super>
61
              <at name="borders">
62
               <object classname="java.util.LinkedList">
63
                <item >
64
                 <at name="value">
65
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
66
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
67
                    <at name="name">border</at>
68
                   </super>
69
                  </object>
70
                 </at>
71
                </item>
72
               </object>
73
              </at>
74
             </object>
75
            </at>
76
            <at name="name"></at>
77
            <at name="width">38</at>
78
            <at name="text">Server</at>
79
            <at name="fill">
80
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
81
              <at name="name">fill</at>
82
             </object>
83
            </at>
84
            <at name="height">14</at>
85
           </object>
86
          </at>
87
         </object>
88
        </at>
89
       </object>
90
      </at>
91
     </item>
92
     <item >
93
      <at name="value">
94
       <object classname="com.jeta.forms.store.memento.BeanMemento">
95
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
96
         <at name="cellconstraints">
97
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
98
           <at name="column">2</at>
99
           <at name="row">4</at>
100
           <at name="colspan">1</at>
101
           <at name="rowspan">1</at>
102
           <at name="halign">default</at>
103
           <at name="valign">default</at>
104
           <at name="insets" object="insets">0,0,0,0</at>
105
          </object>
106
         </at>
107
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
108
        </super>
109
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
110
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
111
        <at name="beanproperties">
112
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
113
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
114
          <at name="properties">
115
           <object classname="com.jeta.forms.store.support.PropertyMap">
116
            <at name="border">
117
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
118
              <super classname="com.jeta.forms.store.properties.BorderProperty">
119
               <at name="name">border</at>
120
              </super>
121
              <at name="borders">
122
               <object classname="java.util.LinkedList">
123
                <item >
124
                 <at name="value">
125
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
126
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
127
                    <at name="name">border</at>
128
                   </super>
129
                  </object>
130
                 </at>
131
                </item>
132
               </object>
133
              </at>
134
             </object>
135
            </at>
136
            <at name="name"></at>
137
            <at name="width">38</at>
138
            <at name="text">Port</at>
139
            <at name="fill">
140
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
141
              <at name="name">fill</at>
142
             </object>
143
            </at>
144
            <at name="height">14</at>
145
           </object>
146
          </at>
147
         </object>
148
        </at>
149
       </object>
150
      </at>
151
     </item>
152
     <item >
153
      <at name="value">
154
       <object classname="com.jeta.forms.store.memento.BeanMemento">
155
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
156
         <at name="cellconstraints">
157
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
158
           <at name="column">4</at>
159
           <at name="row">2</at>
160
           <at name="colspan">1</at>
161
           <at name="rowspan">1</at>
162
           <at name="halign">default</at>
163
           <at name="valign">default</at>
164
           <at name="insets" object="insets">0,0,0,0</at>
165
          </object>
166
         </at>
167
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
168
        </super>
169
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
170
        <at name="beanclass">javax.swing.JTextField</at>
171
        <at name="beanproperties">
172
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
173
          <at name="classname">javax.swing.JTextField</at>
174
          <at name="properties">
175
           <object classname="com.jeta.forms.store.support.PropertyMap">
176
            <at name="border">
177
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
178
              <super classname="com.jeta.forms.store.properties.BorderProperty">
179
               <at name="name">border</at>
180
              </super>
181
              <at name="borders">
182
               <object classname="java.util.LinkedList">
183
                <item >
184
                 <at name="value">
185
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
186
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
187
                    <at name="name">border</at>
188
                   </super>
189
                  </object>
190
                 </at>
191
                </item>
192
               </object>
193
              </at>
194
             </object>
195
            </at>
196
            <at name="name">txtServer</at>
197
            <at name="width">475</at>
198
            <at name="height">20</at>
199
           </object>
200
          </at>
201
         </object>
202
        </at>
203
       </object>
204
      </at>
205
     </item>
206
     <item >
207
      <at name="value">
208
       <object classname="com.jeta.forms.store.memento.BeanMemento">
209
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
210
         <at name="cellconstraints">
211
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
212
           <at name="column">4</at>
213
           <at name="row">4</at>
214
           <at name="colspan">1</at>
215
           <at name="rowspan">1</at>
216
           <at name="halign">default</at>
217
           <at name="valign">default</at>
218
           <at name="insets" object="insets">0,0,0,0</at>
219
          </object>
220
         </at>
221
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
222
        </super>
223
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
224
        <at name="beanclass">javax.swing.JTextField</at>
225
        <at name="beanproperties">
226
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
227
          <at name="classname">javax.swing.JTextField</at>
228
          <at name="properties">
229
           <object classname="com.jeta.forms.store.support.PropertyMap">
230
            <at name="border">
231
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
232
              <super classname="com.jeta.forms.store.properties.BorderProperty">
233
               <at name="name">border</at>
234
              </super>
235
              <at name="borders">
236
               <object classname="java.util.LinkedList">
237
                <item >
238
                 <at name="value">
239
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
240
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
241
                    <at name="name">border</at>
242
                   </super>
243
                  </object>
244
                 </at>
245
                </item>
246
               </object>
247
              </at>
248
             </object>
249
            </at>
250
            <at name="selectionStart">4</at>
251
            <at name="name">txtPort</at>
252
            <at name="width">475</at>
253
            <at name="selectionEnd">4</at>
254
            <at name="text">5500</at>
255
            <at name="height">20</at>
256
           </object>
257
          </at>
258
         </object>
259
        </at>
260
       </object>
261
      </at>
262
     </item>
263
    </object>
264
   </at>
265
   <at name="properties">
266
    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
267
     <at name="classname">com.jeta.forms.gui.form.GridView</at>
268
     <at name="properties">
269
      <object classname="com.jeta.forms.store.support.PropertyMap">
270
       <at name="border">
271
        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
272
         <super classname="com.jeta.forms.store.properties.BorderProperty">
273
          <at name="name">border</at>
274
         </super>
275
         <at name="borders">
276
          <object classname="java.util.LinkedList"/>
277
         </at>
278
        </object>
279
       </at>
280
       <at name="name"></at>
281
       <at name="fill">
282
        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
283
         <at name="name">fill</at>
284
        </object>
285
       </at>
286
       <at name="scollBars">
287
        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
288
         <at name="name">scollBars</at>
289
         <at name="verticalpolicy">21</at>
290
         <at name="horizontalpolicy">31</at>
291
         <at name="border">
292
          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
293
           <super classname="com.jeta.forms.store.properties.BorderProperty">
294
            <at name="name">border</at>
295
           </super>
296
           <at name="borders">
297
            <object classname="java.util.LinkedList">
298
             <item >
299
              <at name="value">
300
               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
301
                <super classname="com.jeta.forms.store.properties.BorderProperty">
302
                 <at name="name">border</at>
303
                </super>
304
               </object>
305
              </at>
306
             </item>
307
            </object>
308
           </at>
309
          </object>
310
         </at>
311
        </object>
312
       </at>
313
      </object>
314
     </at>
315
    </object>
316
   </at>
317
   <at name="cellpainters">
318
    <object classname="com.jeta.forms.store.support.Matrix">
319
     <at name="rows">
320
      <object classname="[Ljava.lang.Object;" size="5">
321
       <at name="item" index="0">
322
        <object classname="[Ljava.lang.Object;" size="5"/>
323
       </at>
324
       <at name="item" index="1">
325
        <object classname="[Ljava.lang.Object;" size="5"/>
326
       </at>
327
       <at name="item" index="2">
328
        <object classname="[Ljava.lang.Object;" size="5"/>
329
       </at>
330
       <at name="item" index="3">
331
        <object classname="[Ljava.lang.Object;" size="5"/>
332
       </at>
333
       <at name="item" index="4">
334
        <object classname="[Ljava.lang.Object;" size="5"/>
335
       </at>
336
      </object>
337
     </at>
338
    </object>
339
   </at>
340
   <at name="rowgroups">
341
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
342
     <at name="groups">
343
      <object classname="java.util.HashMap"/>
344
     </at>
345
    </object>
346
   </at>
347
   <at name="colgroups">
348
    <object classname="com.jeta.forms.store.memento.FormGroupSet">
349
     <at name="groups">
350
      <object classname="java.util.HashMap"/>
351
     </at>
352
    </object>
353
   </at>
354
  </object>
355
 </at>
356
</object>
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/java/org/gvsig/oracle/HostPortPanelView.java
1
package org.gvsig.oracle;
2

  
3
import com.jeta.open.i18n.I18NUtils;
4
import com.jgoodies.forms.layout.CellConstraints;
5
import com.jgoodies.forms.layout.FormLayout;
6
import java.awt.BorderLayout;
7
import java.awt.ComponentOrientation;
8
import java.awt.Container;
9
import java.awt.Dimension;
10
import javax.swing.Box;
11
import javax.swing.ImageIcon;
12
import javax.swing.JFrame;
13
import javax.swing.JLabel;
14
import javax.swing.JPanel;
15
import javax.swing.JTextField;
16

  
17

  
18
public class HostPortPanelView extends JPanel
19
{
20
   JTextField txtServer = new JTextField();
21
   JTextField txtPort = new JTextField();
22

  
23
   /**
24
    * Default constructor
25
    */
26
   public HostPortPanelView()
27
   {
28
      initializePanel();
29
   }
30

  
31
   /**
32
    * Adds fill components to empty cells in the first row and first column of the grid.
33
    * This ensures that the grid spacing will be the same as shown in the designer.
34
    * @param cols an array of column indices in the first row where fill components should be added.
35
    * @param rows an array of row indices in the first column where fill components should be added.
36
    */
37
   void addFillComponents( Container panel, int[] cols, int[] rows )
38
   {
39
      Dimension filler = new Dimension(10,10);
40

  
41
      boolean filled_cell_11 = false;
42
      CellConstraints cc = new CellConstraints();
43
      if ( cols.length > 0 && rows.length > 0 )
44
      {
45
         if ( cols[0] == 1 && rows[0] == 1 )
46
         {
47
            /** add a rigid area  */
48
            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
49
            filled_cell_11 = true;
50
         }
51
      }
52

  
53
      for( int index = 0; index < cols.length; index++ )
54
      {
55
         if ( cols[index] == 1 && filled_cell_11 )
56
         {
57
            continue;
58
         }
59
         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
60
      }
61

  
62
      for( int index = 0; index < rows.length; index++ )
63
      {
64
         if ( rows[index] == 1 && filled_cell_11 )
65
         {
66
            continue;
67
         }
68
         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
69
      }
70

  
71
   }
72

  
73
   /**
74
    * Helper method to load an image file from the CLASSPATH
75
    * @param imageName the package and name of the file to load relative to the CLASSPATH
76
    * @return an ImageIcon instance with the specified image file
77
    * @throws IllegalArgumentException if the image resource cannot be loaded.
78
    */
79
   public ImageIcon loadImage( String imageName )
80
   {
81
      try
82
      {
83
         ClassLoader classloader = getClass().getClassLoader();
84
         java.net.URL url = classloader.getResource( imageName );
85
         if ( url != null )
86
         {
87
            ImageIcon icon = new ImageIcon( url );
88
            return icon;
89
         }
90
      }
91
      catch( Exception e )
92
      {
93
         e.printStackTrace();
94
      }
95
      throw new IllegalArgumentException( "Unable to load image: " + imageName );
96
   }
97

  
98
   /**
99
    * Method for recalculating the component orientation for 
100
    * right-to-left Locales.
101
    * @param orientation the component orientation to be applied
102
    */
103
   public void applyComponentOrientation( ComponentOrientation orientation )
104
   {
105
      // Not yet implemented...
106
      // I18NUtils.applyComponentOrientation(this, orientation);
107
      super.applyComponentOrientation(orientation);
108
   }
109

  
110
   public JPanel createPanel()
111
   {
112
      JPanel jpanel1 = new JPanel();
113
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE");
114
      CellConstraints cc = new CellConstraints();
115
      jpanel1.setLayout(formlayout1);
116

  
117
      JLabel jlabel1 = new JLabel();
118
      jlabel1.setText("Server");
119
      jpanel1.add(jlabel1,cc.xy(2,2));
120

  
121
      JLabel jlabel2 = new JLabel();
122
      jlabel2.setText("Port");
123
      jpanel1.add(jlabel2,cc.xy(2,4));
124

  
125
      txtServer.setName("txtServer");
126
      jpanel1.add(txtServer,cc.xy(4,2));
127

  
128
      txtPort.setName("txtPort");
129
      txtPort.setSelectionEnd(4);
130
      txtPort.setSelectionStart(4);
131
      txtPort.setText("5500");
132
      jpanel1.add(txtPort,cc.xy(4,4));
133

  
134
      addFillComponents(jpanel1,new int[]{ 1,2,3,4,5 },new int[]{ 1,2,3,4,5 });
135
      return jpanel1;
136
   }
137

  
138
   /**
139
    * Initializer
140
    */
141
   protected void initializePanel()
142
   {
143
      setLayout(new BorderLayout());
144
      add(createPanel(), BorderLayout.CENTER);
145
   }
146

  
147

  
148
}
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/java/org/gvsig/oracle/OracleExtension.java
1

  
2
package org.gvsig.oracle;
3

  
4
import java.awt.event.ActionEvent;
5
import java.awt.event.ActionListener;
6
import org.gvsig.andami.IconThemeHelper;
7
import org.gvsig.andami.plugins.Extension;
8
import org.gvsig.fmap.mapcontext.MapContextLocator;
9
import org.gvsig.fmap.mapcontext.MapContextManager;
10
import org.gvsig.tools.ToolsLocator;
11
import org.gvsig.tools.swing.api.ToolsSwingLocator;
12
import org.gvsig.tools.swing.api.windowmanager.Dialog;
13
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
14
import org.gvsig.webbrowser.WebBrowserPanel;
15
import org.gvsig.webbrowser.WebBrowserFactory;
16

  
17
public class OracleExtension extends Extension {
18

  
19
    @Override
20
    public void initialize() {
21
    }
22

  
23
    @Override
24
    public boolean canQueryByAction() {
25
        return true;
26
    }
27
    
28
    @Override
29
    public void postInitialize() {
30
        MapContextManager mapContextMgr = MapContextLocator.getMapContextManager();
31
        
32
        IconThemeHelper.registerIcon("layer", "layer-icon-oracle", this);
33
        mapContextMgr.registerIconLayer("Oracle", "layer-icon-oracle");
34
    }
35
    
36
    @Override
37
    public void execute(String actionCommand) {
38
        if( "tools-oracle-show-admintool".equalsIgnoreCase(actionCommand) ) {
39
            startbrowser();
40
            return;
41
        }
42
    }
43
    
44
    @Override
45
    public boolean isEnabled() {
46
        return true;
47
    }
48

  
49
    @Override
50
    public boolean isVisible() {
51
        return true;
52
    }
53

  
54
    @Override
55
    public boolean isEnabled(String action) {
56
        if( "tools-oracle-show-admintool".equalsIgnoreCase(action) ) {
57
            return true;
58
        } 
59
        return false;
60
    }
61

  
62
    @Override
63
    public boolean isVisible(String action) {
64
        return true;
65
    }
66

  
67
    private void startbrowser() {
68
        final WindowManager_v2 winmanager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
69
        final HostPortPanelView panel = new HostPortPanelView();
70
        final Dialog dlg = winmanager.createDialog(
71
            panel,
72
            "Oracle Server",
73
            null, 
74
            WindowManager_v2.BUTTONS_OK_CANCEL
75
        );
76
        dlg.addActionListener(new ActionListener() {
77
            @Override
78
            public void actionPerformed(ActionEvent e) {
79
                if( dlg.getAction()==WindowManager_v2.BUTTON_OK ) {
80
                    String url = "http://"+panel.txtServer.getText().trim() + ":" + panel.txtPort.getText().trim() + "/em";
81
                    WebBrowserPanel webbrowser = WebBrowserFactory.createWebBrowserPanel();
82
                    winmanager.showWindow(
83
                        webbrowser.asJComponent(), 
84
                        ToolsLocator.getI18nManager().getTranslation("_Oracle_administration_tool"), 
85
                        WindowManager_v2.MODE.WINDOW
86
                    );
87
                    webbrowser.setPage(url);
88
                }
89
            }
90
        });
91
        dlg.show(WindowManager_v2.MODE.WINDOW);
92
        
93
    }
94
    
95
}
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/org.gvsig.oracle.app.mainplugin/src/main/resources-plugin/config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
  <libraries library-dir="lib/"/>
4
  <depends plugin-name="org.gvsig.app.mainplugin"/>
5
  <resourceBundle name="text"/>
6
  <extensions>
7
    <extension class-name="org.gvsig.oracle.OracleExtension"
8
      description=""
9
      active="true">
10

  
11
      <action
12
        name="tools-oracle-show-admintool"
13
        label="_Oracle_administration_tool"
14
        position="902000200"
15
        icon="tools-oracle-show-admintool"
16
        tooltip="_Show_Oracle_administration_tool"
17
        action-command="tools-oracle-show-admintool"
18
        accelerator=""
19
        />
20

  
21
      <menu
22
        name="tools-oracle-show-admintool"
23
        text="tools/Oracle/_Show_Oracle_administration_tool"
24
        />
25

  
26
    </extension>
27
  </extensions>    
28
</plugin-config>
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.app/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.oracle.app</artifactId>
7
  <packaging>pom</packaging>
8
  <name>${project.artifactId}</name>
9
  <parent>
10
      <groupId>org.gvsig</groupId>
11
      <artifactId>org.gvsig.oracle</artifactId>
12
      <version>2.0.9</version>
13
  </parent>
14

  
15
  <modules>
16
    <module>org.gvsig.oracle.app.mainplugin</module>
17
  </modules>
18

  
19
</project>
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/pom.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4

  
5
  <modelVersion>4.0.0</modelVersion>
6
  <artifactId>org.gvsig.oracle</artifactId>
7
  <version>2.0.9</version>
8
  <packaging>pom</packaging>
9
  <name>${project.artifactId}</name>
10
  <description>
11
Oracle support fort DAL and gvSIG.
12
Provides viewing and editing capabilities for spatial data stored in an Oracle database. 
13
Works on Oracle Spatial and Oracle Locator.    
14
  </description>
15
  <parent>
16
      <groupId>org.gvsig</groupId>
17
      <artifactId>org.gvsig.desktop</artifactId>
18
      <version>2.0.224</version>
19
  </parent>
20

  
21
  <url>https://devel.gvsig.org/redmine/projects/gvsig-oracle</url>
22
  <scm>
23
      <connection>scm:svn:https://devel.gvsig.org/svn/gvsig-oracle/org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9</connection>
24
      <developerConnection>scm:svn:https://devel.gvsig.org/svn/gvsig-oracle/org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9</developerConnection>
25
      <url>https://devel.gvsig.org/redmine/projects/gvsig-oracle/repository/show/org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9</url>
26
  </scm>
27

  
28
  <repositories>
29
      <repository>
30
          <id>gvsig-public-http-repository</id>
31
          <name>gvSIG maven public HTTP repository</name>
32
          <url>http://devel.gvsig.org/m2repo/j2se</url>
33
          <releases>
34
              <enabled>true</enabled>
35
              <updatePolicy>daily</updatePolicy>
36
              <checksumPolicy>warn</checksumPolicy>
37
          </releases>
38
          <snapshots>
39
              <enabled>true</enabled>
40
              <updatePolicy>daily</updatePolicy>
41
              <checksumPolicy>warn</checksumPolicy>
42
          </snapshots>
43
      </repository>
44
  </repositories>
45

  
46
  <build>
47
    <plugins>
48
      <plugin>
49
        <groupId>org.apache.maven.plugins</groupId>
50
        <artifactId>maven-release-plugin</artifactId>
51
        <configuration>
52
          <tagBase>https://devel.gvsig.org/svn/gvsig-oracle/org.gvsig.oracle/tags/</tagBase>
53
          <goals>deploy</goals>
54
        </configuration>
55
      </plugin>
56
    </plugins>
57
  </build>
58

  
59
  <dependencyManagement>
60
      <dependencies>
61
          <dependency>
62
            <groupId>org.gvsig</groupId>
63
            <artifactId>org.gvsig.oracle.provider</artifactId>
64
            <version>2.0.9</version>
65
          </dependency>
66
          <dependency>
67
            <groupId>org.gvsig</groupId>
68
            <artifactId>org.gvsig.oracle.app.mainplugin</artifactId>
69
            <version>2.0.9</version>
70
          </dependency>
71
          <dependency>
72
              <groupId>com.oracle</groupId>
73
              <artifactId>ojdbc</artifactId>
74
              <version>11.2.0.4.0</version>
75
              <!--
76
              <version>12.2.0.1.0</version>
77
              -->
78
          </dependency>
79
    </dependencies>
80
  </dependencyManagement>
81
  
82
  <modules>
83
    <module>org.gvsig.oracle.app</module>
84
    <module>org.gvsig.oracle.provider</module>
85
  </modules>
86

  
87
</project>
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.oracle.dal.OracleLibrary
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/resources/org/gvsig/oracle/dal/OracleMetadata.xml
1
<?xml version="1.0"?>
2
<definitions>
3
  <version>1.0.0</version>
4
  <classes>
5
    <class name="Oracle" namespace="Metadata">
6
      <extends>
7
      	<class name="JDBC2" namespace="Metadata"/>
8
      </extends>
9
      <description>Metadata of a Oracle store</description>
10
      <fields>
11
      </fields>
12
    </class>
13

  
14
  </classes>
15
</definitions>  
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/resources/org/gvsig/oracle/dal/OracleParameters.xml
1
<?xml version="1.0"?>
2
<definitions>
3
  <version>1.0.0</version>
4
  <classes>
5
    <class name="OracleResourceParameters">
6
      <extends>
7
        <class>JDBC2ResourceParameters</class>
8
      </extends>
9
      <fields>
10
        <field name="JDBCDriverClass" type="string" mandatory="true"
11
          defaultValue="oracle.jdbc.driver.OracleDriver" group="Advanced">
12
          <description>JDBC Driver class</description>
13
        </field>
14
		<field name="port" type="integer" mandatory="false"
15
          defaultValue="1521" group="Connection">
16
          <description></description>
17
        </field>
18
        <field name="host" type="string" mandatory="false" 
19
            defaultValue="127.0.0.1" group="Connection">
20
          <description></description>
21
        </field>
22
      </fields>
23
    </class>
24

  
25
    <class name="OracleStoreParameters">
26
      <extends>
27
        <class>JDBC2StoreParameters</class>
28
        <class>OracleResourceParameters</class>
29
      </extends>
30
      <fields/>
31
    </class>
32

  
33
    <class name="OracleNewStoreParameters">
34
      <extends>
35
        <class>JDBC2NewStoreParameters</class>
36
        <class>OracleResourceParameters</class>
37
      </extends>
38
      <fields/>
39
    </class>
40

  
41

  
42
    <class name="OracleServerExplorerParameters">
43
      <extends>
44
        <class>OracleResourceParameters</class>
45
        <class>JDBC2ServerExplorerParameters</class>
46
      </extends>
47
      <fields/>
48
    </class>
49

  
50

  
51
  </classes>
52
</definitions>  
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/GeometryTypeUtils.java
1
package org.gvsig.oracle.dal;
2

  
3
import java.util.HashMap;
4
import java.util.Map;
5

  
6
import org.gvsig.fmap.geom.Geometry;
7
import org.gvsig.fmap.geom.GeometryLocator;
8
import org.gvsig.fmap.geom.GeometryManager;
9
import org.gvsig.fmap.geom.type.GeometryType;
10

  
11
public class GeometryTypeUtils {
12
    private static final int ORACLE_UNKNOWN_GEOMETRY = 0;
13
    private static final int ORACLE_POINT = 1;
14
    private static final int ORACLE_LINE_OR_CURVE = 2;
15
    private static final int ORACLE_POLYGON = 3;
16
    private static final int ORACLE_COLLECTION = 4;
17
    private static final int ORACLE_MULTIPOINT = 5;
18
    private static final int ORACLE_MULTILINE_OR_MULTICURVE = 6;
19
    private static final int ORACLE_MULTIPOLYGON = 7;
20
    private static final int ORACLE_SOLID = 8;
21
    private static final int ORACLE_MULTISOLID = 9;
22
    
23
    public static final int SFS_GEOMETRY = 0;
24
	public static final int SFS_POINT = 1;
25
	public static final int SFS_LINE = 2;
26
	public static final int SFS_POLYGON = 3;
27
	public static final int SFS_MULTIPOINT = 4;
28
	public static final int SFS_MULTILINE = 5;
29
	public static final int SFS_MULTIPOLYGON = 6;
30
	public static final int SFS_GEOMCOLLECTION = 7;
31
	public static final int SFS_CURVE = 13;
32
	public static final int SFS_SURFACE = 14;
33
	public static final int SFS_POLYHEDRALSURFACE = 15;
34
    
35
	public static final int SFS_2D_THOUSANDS = 0;
36
	public static final int SFS_3D_THOUSANDS = 1;
37
	public static final int SFS_2DM_THOUSANDS = 2;
38
	public static final int SFS_3DM_THOUSANDS = 3;
39
	
40
    private static Map<String,GeometryType>databaseGeometryTypes = null;
41
    
42
    private static GeometryType getGT(
43
            GeometryManager manager, 
44
            int type, 
45
            int subtype
46
        ) {
47
        try {
48
            return manager.getGeometryType(type, subtype);
49
        } catch (Exception ex) {
50
            return null;
51
        }
52
    }
53
	
54
	public static GeometryType getGeometryTypeFromDatabaseTypeName(String typeName) {
55
        if( databaseGeometryTypes==null ) {
56
            GeometryManager manager = GeometryLocator.getGeometryManager();
57
            databaseGeometryTypes = new HashMap<>();
58
            databaseGeometryTypes.put("POINT", getGT(manager, Geometry.TYPES.POINT,Geometry.SUBTYPES.GEOM2D));
59
            databaseGeometryTypes.put("POINTZ", getGT(manager, Geometry.TYPES.POINT,Geometry.SUBTYPES.GEOM3D));
60
            databaseGeometryTypes.put("POINTM", getGT(manager, Geometry.TYPES.POINT,Geometry.SUBTYPES.GEOM2DM));
61
            databaseGeometryTypes.put("POINTZM", getGT(manager, Geometry.TYPES.POINT,Geometry.SUBTYPES.GEOM3DM));
62
            
63
            databaseGeometryTypes.put("LINESTRING", getGT(manager, Geometry.TYPES.LINE,Geometry.SUBTYPES.GEOM2D));
64
            databaseGeometryTypes.put("LINESTRINGZ", getGT(manager, Geometry.TYPES.LINE,Geometry.SUBTYPES.GEOM3D));
65
            databaseGeometryTypes.put("LINESTRINGM", getGT(manager, Geometry.TYPES.LINE,Geometry.SUBTYPES.GEOM2DM));
66
            databaseGeometryTypes.put("LINESTRINGZM", getGT(manager, Geometry.TYPES.LINE,Geometry.SUBTYPES.GEOM3DM));
67
            
68
            databaseGeometryTypes.put("POLYGON", getGT(manager, Geometry.TYPES.POLYGON,Geometry.SUBTYPES.GEOM2D));
69
            databaseGeometryTypes.put("POLYGONZ", getGT(manager, Geometry.TYPES.POLYGON,Geometry.SUBTYPES.GEOM3D));
70
            databaseGeometryTypes.put("POLYGONM", getGT(manager, Geometry.TYPES.POLYGON,Geometry.SUBTYPES.GEOM2DM));
71
            databaseGeometryTypes.put("POLYGONZM", getGT(manager, Geometry.TYPES.POLYGON,Geometry.SUBTYPES.GEOM3DM));
72

  
73
            databaseGeometryTypes.put("MULTIPOINT", getGT(manager, Geometry.TYPES.MULTIPOINT,Geometry.SUBTYPES.GEOM2D));
74
            databaseGeometryTypes.put("MULTIPOINTZ", getGT(manager, Geometry.TYPES.MULTIPOINT,Geometry.SUBTYPES.GEOM3D));
75
            databaseGeometryTypes.put("MULTIPOINTM", getGT(manager, Geometry.TYPES.MULTIPOINT,Geometry.SUBTYPES.GEOM2DM));
76
            databaseGeometryTypes.put("MULTIPOINTZM", getGT(manager, Geometry.TYPES.MULTIPOINT,Geometry.SUBTYPES.GEOM3DM));
77

  
78
            databaseGeometryTypes.put("MULTILINESTRING", getGT(manager, Geometry.TYPES.MULTILINE,Geometry.SUBTYPES.GEOM2D));
79
            databaseGeometryTypes.put("MULTILINESTRINGZ", getGT(manager, Geometry.TYPES.MULTILINE,Geometry.SUBTYPES.GEOM3D));
80
            databaseGeometryTypes.put("MULTILINESTRINGM", getGT(manager, Geometry.TYPES.MULTILINE,Geometry.SUBTYPES.GEOM2DM));
81
            databaseGeometryTypes.put("MULTILINESTRINGZM", getGT(manager, Geometry.TYPES.MULTILINE,Geometry.SUBTYPES.GEOM3DM));
82

  
83
            databaseGeometryTypes.put("MULTIPOLYGON", getGT(manager, Geometry.TYPES.MULTIPOLYGON,Geometry.SUBTYPES.GEOM2D));
84
            databaseGeometryTypes.put("MULTIPOLYGONZ", getGT(manager, Geometry.TYPES.MULTIPOLYGON,Geometry.SUBTYPES.GEOM3D));
85
            databaseGeometryTypes.put("MULTIPOLYGONM", getGT(manager, Geometry.TYPES.MULTIPOLYGON,Geometry.SUBTYPES.GEOM2DM));
86
            databaseGeometryTypes.put("MULTIPOLYGONZM", getGT(manager, Geometry.TYPES.MULTIPOLYGON,Geometry.SUBTYPES.GEOM3DM));
87

  
88
            databaseGeometryTypes.put("GEOMETRY", getGT(manager, Geometry.TYPES.GEOMETRY,Geometry.SUBTYPES.GEOM2D));
89
            databaseGeometryTypes.put("GEOMETRYZ", getGT(manager, Geometry.TYPES.GEOMETRY,Geometry.SUBTYPES.GEOM3D));
90
            databaseGeometryTypes.put("GEOMETRYM", getGT(manager, Geometry.TYPES.GEOMETRY,Geometry.SUBTYPES.GEOM2DM));
91
            databaseGeometryTypes.put("GEOMETRYZM", getGT(manager, Geometry.TYPES.GEOMETRY,Geometry.SUBTYPES.GEOM3DM));
92
        }
93
        return databaseGeometryTypes.get(typeName);
94
    }
95
	
96
	public static int getSubType(int numDimensions) {
97
		return getSubType(numDimensions, 0);
98
	}
99
	
100
	public static int getSubType(int numDimensions, int mDimPos) {
101
    	if (numDimensions==2) {
102
    		return Geometry.SUBTYPES.GEOM2D;
103
    	}
104
		if (numDimensions==3) {
105
			if (mDimPos>0) {
106
				return Geometry.SUBTYPES.GEOM2DM;
107
			}
108
			else {
109
				return Geometry.SUBTYPES.GEOM3D;
110
			}
111
		}
112
		else if (numDimensions==4) {
113
			return Geometry.SUBTYPES.GEOM3DM;
114
		}
115
		else {
116
			return Geometry.SUBTYPES.UNKNOWN;
117
		}
118
	}
119

  
120
    public static GeometryType getGeometryTypeFromDatabaseTypeNumber(int typeCode) {
121
    	int dimensions = typeCode/1000;
122
    	int typeCodeRemainder = typeCode - 1000*dimensions;
123
    	int mDimPos = typeCodeRemainder/100;
124
    	int geomType = typeCodeRemainder - 100*mDimPos;
125
    	
126
    	
127
    	int gvsigType, gvsigSubtype;
128
    	// type
129
    	switch(geomType) {
130
    	case ORACLE_POINT:
131
    		gvsigType = Geometry.TYPES.POINT;
132
    		break;
133
    	case ORACLE_LINE_OR_CURVE: //FIXME: shoud we return CURVE?
134
    		gvsigType = Geometry.TYPES.LINE;
135
    		break;
136
    	case ORACLE_POLYGON:
137
    		gvsigType = Geometry.TYPES.POLYGON;
138
    		break;
139
    	case ORACLE_MULTIPOINT:
140
    		gvsigType = Geometry.TYPES.MULTIPOINT;
141
    		break;
142
    	case ORACLE_MULTILINE_OR_MULTICURVE: //FIMXE: should we return MULTICURVE?
143
    		gvsigType = Geometry.TYPES.MULTILINE;
144
    		break;
145
    	case ORACLE_MULTIPOLYGON:
146
    		gvsigType = Geometry.TYPES.MULTIPOLYGON;
147
    		break;
148
    	default:
149
    		gvsigType = Geometry.TYPES.GEOMETRY;
150
    		break;
151
    	}
152
    	
153
		gvsigSubtype = GeometryTypeUtils.getSubType(dimensions, mDimPos);
154
    	GeometryManager manager = GeometryLocator.getGeometryManager();
155
    	return GeometryTypeUtils.getGT(manager, gvsigType, gvsigSubtype);
156
    }
157

  
158
    public static GeometryType getGeometryTypeFromOracleName(String geomType, int dimensions) {
159
    	String geomTypeWKT;
160
    	geomType = geomType.toUpperCase();
161
    	if ("POINT".equals((geomType))) {
162
    		geomTypeWKT = "POINT";
163
    	}
164
    	else if ("LINE".equals(geomType) || "CURVE".equals(geomType)) {
165
    		geomTypeWKT = "LINESTRING";
166
    	}
167
    	else if ("POLYGON".equals(geomType) || "SURFACE".equals(geomType)) {
168
    		geomTypeWKT = "POLYGON";
169
    	}
170
    	else if ("MULTIPOINT".equals(geomType)) {
171
    		geomTypeWKT = "MULTIPOINT";
172
    	}
173
    	else if ("MULTILINE".equals(geomType) || "MULTICURVE".equals(geomType)) {
174
    		geomTypeWKT = "MULTILINESTRING";
175
    	}
176
    	else if ("MULTIPOLYGON".equals(geomType) || "MULTISURFACE".equals(geomType)) {
177
    		geomTypeWKT = "MULTIPOLYGON";
178
    	}
179
    	else {
180
    		geomTypeWKT = "GEOMETRY";
181
    	}
182
    	if (dimensions==3) {
183
    		geomTypeWKT = geomTypeWKT + "Z";
184
    	}
185
    	if (dimensions==4) {
186
    		geomTypeWKT = geomTypeWKT + "ZM";
187
    	}
188
    	return getGeometryTypeFromDatabaseTypeName(geomTypeWKT);
189
    }
190
    
191
    /**
192
     * Converts gvSIG geometry type to Oracle type name
193
     * @param gvsigType One of Geometry.Type
194
     * @return
195
     */
196
    public static String toOracleGeometryTypeName(int gvsigType) {
197
    	switch (gvsigType) {
198
    	case Geometry.TYPES.POINT:
199
    		return "POINT";
200
    	case Geometry.TYPES.MULTIPOINT:
201
    		return "MULTIPOINT";
202
    	case Geometry.TYPES.ARC:
203
    	case Geometry.TYPES.CURVE:
204
    		return "CURVE";
205
    	case Geometry.TYPES.LINE:
206
    		return "LINE";
207
    	case Geometry.TYPES.MULTILINE:
208
    		return "MULTILINE";
209
    	case Geometry.TYPES.MULTICURVE:
210
    		return "MULTICURVE";
211
    	case Geometry.TYPES.POLYGON:
212
    		return "POLYGON";
213
    	case Geometry.TYPES.SURFACE:
214
    		return "SURFACE";
215
    	case Geometry.TYPES.MULTIPOLYGON:
216
    		return "MULTISURFACE";
217
    	case Geometry.TYPES.MULTISURFACE:
218
    		return "MULTIPOLYGON";
219
    	default:
220
    		return "DEFAULT";
221
    	}
222
    }
223
    
224
    /**
225
     * Converts gvSIG geometry type and subtype codes to
226
     * OGC SFS SQL 1.2.1 numeric codes
227
     * 
228
     * @param typeCode
229
     * @return
230
     */
231
    public static int toSFSGeometryTypeCode(int type, int subtype) {
232
    	int sfsType;
233
    	switch (type) {
234
    	case Geometry.TYPES.POINT:
235
    		sfsType = SFS_POINT;
236
    		break;
237
    	case Geometry.TYPES.MULTIPOINT:
238
    		sfsType = SFS_MULTIPOINT;
239
    		break;
240
    	case Geometry.TYPES.ARC:
241
    	case Geometry.TYPES.CURVE:
242
    		sfsType = SFS_CURVE;
243
    		break;
244
    	case Geometry.TYPES.LINE:
245
    		sfsType = SFS_LINE;
246
    		break;
247
    	case Geometry.TYPES.MULTILINE:
248
    		sfsType = SFS_MULTILINE;
249
    		break;
250
    	case Geometry.TYPES.POLYGON:
251
    		sfsType = SFS_POLYGON;
252
    		break;
253
    	case Geometry.TYPES.SURFACE:
254
    		sfsType = SFS_SURFACE;
255
    		break;
256
    	case Geometry.TYPES.MULTIPOLYGON:
257
    		sfsType = SFS_MULTIPOLYGON;
258
    		break;
259
    	case Geometry.TYPES.MULTISURFACE:
260
    	case Geometry.TYPES.MULTICURVE:
261
    	default:
262
    		sfsType = SFS_GEOMETRY;
263
    	}
264
    	switch (type) {
265
    	case Geometry.SUBTYPES.GEOM3D:
266
    		sfsType += 1000;
267
    		break;
268
    	case Geometry.SUBTYPES.GEOM2DM:
269
    		sfsType += 2000;
270
    		break;
271
    	case Geometry.SUBTYPES.GEOM3DM:
272
    		sfsType += 3000;
273
    		break;
274
    	}
275
    	return sfsType;
276
    }
277

  
278
    public static GeometryType getGeometryTypeFromSFSTypeCode(int sfsCode){
279
    	int dimensionCode = sfsCode/1000;
280
    	int sfsBaseType = sfsCode - 1000*dimensionCode;
281
    	int gvsigType, gvsigSubtype;
282
    	switch (sfsBaseType) {
283
    	case SFS_POINT:
284
    		gvsigType = Geometry.TYPES.POINT;
285
    		break;
286
    	case SFS_LINE:
287
    		gvsigType = Geometry.TYPES.LINE;
288
    		break;
289
    	case SFS_POLYGON:
290
    		gvsigType = Geometry.TYPES.POLYGON;
291
    		break;
292
    	case SFS_MULTIPOINT:
293
    		gvsigType = Geometry.TYPES.MULTIPOINT;
294
    		break;
295
    	case SFS_MULTILINE:
296
    		gvsigType = Geometry.TYPES.MULTILINE;
297
    		break;
298
    	case SFS_MULTIPOLYGON:
299
    		gvsigType = Geometry.TYPES.MULTIPOLYGON;
300
    		break;
301
    	case SFS_CURVE:
302
    		gvsigType = Geometry.TYPES.CURVE;
303
    		break;
304
    	case SFS_SURFACE:
305
    		gvsigType = Geometry.TYPES.SURFACE;
306
    		break;
307
    	default:
308
    		gvsigType = Geometry.TYPES.GEOMETRY;
309
    			break;
310
    	}
311
    	switch (dimensionCode) {
312
    	case SFS_2D_THOUSANDS:
313
    		gvsigSubtype = Geometry.SUBTYPES.GEOM2D;
314
    	case SFS_3D_THOUSANDS:
315
    		gvsigSubtype = Geometry.SUBTYPES.GEOM3D;
316
    		break;
317
    	case SFS_2DM_THOUSANDS:
318
    		gvsigSubtype = Geometry.SUBTYPES.GEOM2DM;
319
    		break;
320
    	case SFS_3DM_THOUSANDS:
321
    		gvsigSubtype = Geometry.SUBTYPES.GEOM3DM;
322
    	default:
323
    		gvsigSubtype = Geometry.SUBTYPES.UNKNOWN;
324
    	
325
    	}
326
    	GeometryManager manager = GeometryLocator.getGeometryManager();
327
    	return GeometryTypeUtils.getGT(manager, gvsigType, gvsigSubtype);
328
    }
329

  
330
}
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/OracleExplorerFactory.java
1

  
2
package org.gvsig.oracle.dal;
3

  
4
import org.gvsig.fmap.dal.DataServerExplorerParameters;
5
import org.gvsig.fmap.dal.exception.InitializeException;
6
import org.gvsig.fmap.dal.spi.DataServerExplorerProviderServices;
7
import org.gvsig.fmap.dal.store.jdbc.JDBCConnectionParameters;
8
import org.gvsig.fmap.dal.store.jdbc.JDBCServerExplorerParameters;
9
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
10
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
11
import org.gvsig.fmap.dal.store.jdbc2.impl.JDBCServerExplorerFactory;
12

  
13

  
14
public class OracleExplorerFactory extends JDBCServerExplorerFactory {
15

  
16
    public OracleExplorerFactory() {
17
        super(
18
                OracleLibrary.NAME,
19
                OracleLibrary.NAME + " Server"
20
        );
21
    }
22

  
23
    @Override
24
    public JDBCServerExplorer create(
25
            DataServerExplorerParameters parameters, 
26
            DataServerExplorerProviderServices providerServices
27
        ) throws InitializeException {
28
        JDBCHelper helper = new OracleHelper((JDBCConnectionParameters) parameters);
29
        JDBCServerExplorer server = helper.createServerExplorer(
30
                (JDBCServerExplorerParameters) parameters, 
31
                providerServices
32
        );
33
        return server;
34
    }
35
        
36

  
37
    @Override
38
    public JDBCServerExplorerParameters createParameters() {
39
        JDBCServerExplorerParameters params = new OracleExplorerParameters();
40
        return params;    
41
    }
42
    
43
}
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/OracleNewStoreParameters.java
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
package org.gvsig.oracle.dal;
23

  
24
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
25
import org.gvsig.fmap.dal.store.jdbc.JDBCNewStoreParameters;
26

  
27
public class OracleNewStoreParameters 
28
    extends 
29
        JDBCNewStoreParameters 
30
    implements 
31
        OracleConnectionParameters 
32
    {
33

  
34
    private final OracleConnectionParametersHelper helper;
35
    
36
    public OracleNewStoreParameters() {
37
        super(
38
            OracleLibrary.NAME + "NewStoreParameters", 
39
            OracleLibrary.NAME
40
        );
41
        this.helper = new OracleConnectionParametersHelper(this);
42
    }
43

  
44
    @Override
45
    public String getUrl() {
46
        return this.helper.getUrl();
47
    }
48
    
49
    @Override
50
    public void validate() throws ValidateDataParametersException {
51
        this.helper.validate();
52
    }
53
        
54
}
org.gvsig.oracle/tags/org.gvsig.oracle-2.0.9/org.gvsig.oracle.provider/src/main/java/org/gvsig/oracle/dal/operations/OracleOperationsFactory.java
1

  
2
package org.gvsig.oracle.dal.operations;
3

  
4
import java.util.Iterator;
5
import java.util.List;
6

  
7
import org.cresques.cts.IProjection;
8
import org.gvsig.fmap.dal.feature.EditableFeatureType;
9
import org.gvsig.fmap.dal.feature.FeatureType;
10
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreParameters;
11
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
12
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.AppendOperation;
13
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CanModifyTableOperation;
14
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.DropTableOperation;
15
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.FetchFeatureTypeOperation;
16
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.ListTablesOperation;
17
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.OperationsFactoryBase;
18
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.PerformChangesOperation;
19

  
20

  
21
public class OracleOperationsFactory extends OperationsFactoryBase {
22
    
23
    public OracleOperationsFactory(JDBCHelper helper) {
24
        super(helper);
25
    }
26

  
27
    @Override
28
    public FetchFeatureTypeOperation createFetchFeatureType(EditableFeatureType type, String database, String schema, String table, List<String> primaryKeys, String defaultGeometryField, IProjection crs) {
29
        return new OracleFetchFeatureTypeOperation(
30
                helper, type, database, schema, table, primaryKeys, 
31
                defaultGeometryField, crs
32
        );
33
    }
34
    
35
    @Override
36
    public CanModifyTableOperation createCanModifyTableOperation(
37
            String dbName,
38
            String schemaName, 
39
            String tableName
40
        ) {
41
        return new OracleCanModifyTableOperation(helper, dbName, schemaName, tableName);
42
    }
43
    
44
    @Override
45
    public ListTablesOperation createListTables(
46
            int mode,
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff