Mercurial > dive4elements > gnv-client
annotate geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java @ 129:110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Import of SDE-Datasources
geo-backend/trunk@5 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Wed, 02 Sep 2009 09:07:03 +0000 |
parents | |
children | e4eacd613356 |
rev | line source |
---|---|
129
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
1 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
2 * Title: ArcSDEUtils, $Header: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/datasources/sde/ArcSDEUtils.java,v 1.7 2007/11/28 14:05:39 blume Exp $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
3 * Source: $Source: /share/gdi/SDI-Suite/Repository/projekte/BSH-GDI/genericViewer/src/main/java/de/conterra/bsh/gdi/gnviewer/datasources/sde/ArcSDEUtils.java,v $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
4 * created by: Stefan Blume (blume) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
5 * erstellt am: 21.11.2007 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
6 * Copyright: con terra GmbH, 2005 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
7 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
8 * modified by: $Author: blume $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 * modified on: $Date: 2007/11/28 14:05:39 $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 * Version: $Revision: 1.7 $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
11 * TAG: $Name: $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
12 * locked from: $Locker: $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
13 * CVS State: $State: Exp $ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
14 * Project: $ProjectName$ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
15 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
16 package de.intevation.gnv.geobackend.sde.datasources; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
17 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
18 import java.util.Vector; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
19 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
20 import org.apache.log4j.Logger; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
21 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
22 import com.esri.sde.sdk.client.SDEPoint; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
23 import com.esri.sde.sdk.client.SeColumnDefinition; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
24 import com.esri.sde.sdk.client.SeConnection; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
25 import com.esri.sde.sdk.client.SeError; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
26 import com.esri.sde.sdk.client.SeException; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
27 import com.esri.sde.sdk.client.SeQuery; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
28 import com.esri.sde.sdk.client.SeQueryInfo; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
29 import com.esri.sde.sdk.client.SeSqlConstruct; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
30 import com.esri.sde.sdk.client.SeTable; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
31 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
32 import de.intevation.gnv.geobackend.sde.datasources.exception.ConnectionException; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
33 import de.intevation.gnv.geobackend.sde.datasources.exception.TechnicalException; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
34 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
35 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
36 * The class <code>ArcSDEUtils</code> fulfills the following purposes: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
37 * <ol> |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
38 * <li></li> |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
39 * </ol> |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
40 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
41 * @author blume |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
42 * @version 1.0 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
43 * @serial 1.0 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
44 * @see |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
45 * @since 21.11.2007 08:20:40 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
46 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 public class ArcSDEUtils { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
48 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
49 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
50 * Default Logging instance |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
51 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
52 private static Logger sLogger = Logger.getLogger(ArcSDEUtils.class); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
53 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
54 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
55 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 * @param pTable e.g. "BSH.ARCMARINE_TIMESERIES_VIEW" |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 * @param pWhere where-Clause (can be empty, null-case not tested) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
58 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 public void getTableStats(String pTable, String pWhere) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 sLogger.debug("getTableStats()"); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 SeConnection conn = null; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
62 SeTable.SeTableStats tableStats; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 try { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 conn = getConnection(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
65 SeTable table = new SeTable(conn, pTable); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
66 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
67 SeSqlConstruct sqlCons = new SeSqlConstruct(table.getQualifiedName()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
68 sqlCons.setWhere(pWhere); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
69 SeQuery query = new SeQuery(conn); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
70 SeQueryInfo queryInfo = new SeQueryInfo(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
71 queryInfo.setConstruct(sqlCons); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
72 int mask = SeTable.SeTableStats.SE_ALL_STATS; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
73 int maxDistinct = 0; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
74 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
75 SeColumnDefinition[] colDefs = table.describe(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
76 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 for (SeColumnDefinition lColDef : colDefs) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
78 sLogger.debug(lColDef.getName() + " - " + ArcSDEUtils.resolveType(lColDef.getType())); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
79 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
80 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
81 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
82 tableStats = query.calculateTableStatistics(colDefs[1].getName(), mask, queryInfo, maxDistinct); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
83 displayStats(tableStats); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
84 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
85 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
86 } catch (SeException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
87 printError(e); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
88 } catch (ConnectionException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
89 sLogger.error(e.getMessage(), e); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
90 e.printError(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 } catch (TechnicalException e) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
92 sLogger.error(e.getMessage(), e); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 } finally { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
94 // return connection |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
95 returnConnection(conn); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
96 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
98 }// End method getTableStats |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
99 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
100 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 public void displayStats(SeTable.SeTableStats tableStats) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
102 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 sLogger.debug("\n--> Table Statistics\n"); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
104 if (tableStats != null) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
105 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
106 sLogger.debug("Average - " + tableStats.getAverage()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
107 sLogger.debug("No of rows - " + tableStats.getCount()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
108 sLogger.debug("Maximum Value - " + tableStats.getMax()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
109 sLogger.debug("Minimum Value - " + tableStats.getMin()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
110 sLogger.debug("No of distinct values - " + tableStats.getNumDistinct()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
111 sLogger.debug("Standard Deviation - " + tableStats.getStdDev()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
112 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
113 sLogger.debug("Distinct type - " + ArcSDEUtils.resolveType(tableStats.getDistinctType())); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
114 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
115 int[] distinctFreq = tableStats.getDistinctValueFrequencies(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
116 Vector distinctValues = tableStats.getDistinctValues(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 sLogger.debug("Distinct values & their frequencies : "); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
118 for (int i = 0; i < distinctFreq.length; i++) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
119 sLogger.debug(distinctValues.elementAt(i) + " - " + distinctFreq[i]); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
120 }// End if |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
121 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
122 }// End displayStats |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
123 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
124 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
125 /** |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
126 * Takes an integer corresponding to an ArcSDE data type |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
127 * and returns a string description of the type. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
128 * |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
129 * @param type SDE data type bit-mask. |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
130 */ |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 public static String resolveType(int type) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
132 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
133 String typeName = "Invalid Type"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
134 switch (type) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
135 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
136 case SeColumnDefinition.TYPE_SMALLINT: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
137 typeName = "Small Int"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
138 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
139 case SeColumnDefinition.TYPE_INTEGER: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
140 typeName = "Int"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
141 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
142 case SeColumnDefinition.TYPE_FLOAT: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
143 typeName = "Float"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
144 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
145 case SeColumnDefinition.TYPE_DOUBLE: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
146 typeName = "Double"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
147 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
148 case SeColumnDefinition.TYPE_STRING: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
149 typeName = "String"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
150 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
151 case SeColumnDefinition.TYPE_BLOB: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
152 typeName = "Blob"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
153 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
154 case SeColumnDefinition.TYPE_DATE: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
155 typeName = "Date"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
156 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
157 case SeColumnDefinition.TYPE_SHAPE: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
158 typeName = "Shape"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
159 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
160 case SeColumnDefinition.TYPE_RASTER: |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
161 typeName = "Raster"; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
162 break; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
163 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
164 return typeName; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
165 }// End method resolveType |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
166 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
167 public static void printError(SeException exception) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
168 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
169 SeError error = exception.getSeError(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
170 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
171 sLogger.debug("\n ArcSDE Error Number : " + error.getSdeError()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
172 sLogger.debug(" Error Description : " + error.getErrDesc()); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
173 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
174 int extError = error.getExtError(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
175 if (extError != 0) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
176 sLogger.debug(" Extended Error Number : " + extError); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
177 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
178 String desc = error.getSdeErrMsg(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
179 if (desc != null && desc.length() != 0) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
180 sLogger.debug(" Extended Error Description : " + desc); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
181 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
182 desc = error.getExtErrMsg(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
183 if (desc != null && desc.length() != 0) |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
184 sLogger.debug(" Extended Error Description : " + desc); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
185 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
186 sLogger.debug(exception); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
187 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
188 }// End printError |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
189 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
190 private SeConnection getConnection() throws TechnicalException { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
191 //DatasourceConnection lConnection = ConnectionPoolManager.getInstance().getConnection(ConnectionPoolManager.CON_SDE); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
192 //return ((SDEConnection) lConnection).getConnection(); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
193 return null; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
194 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
195 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
196 private void returnConnection(SeConnection pConnection) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
197 //ConnectionPoolManager.getInstance().returnConnection(pConnection); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
198 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
199 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
200 public static SDEPoint[] createPoints(double[][] pPoints) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
201 sLogger.debug("createPoints()"); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
202 SDEPoint[] lSDEPoints = new SDEPoint[pPoints.length]; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
203 for (int i = 0; i < pPoints.length; i++) { |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
204 double[] lPoint = pPoints[i]; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
205 lSDEPoints[i] = new SDEPoint(lPoint[0], lPoint[1]); |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
206 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
207 return lSDEPoints; |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
208 |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
209 } |
110e3ac1b7d2
Library Dependencies Added to pom.xml-File
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
210 } |