diff src/java/de/intevation/mxd/ArcGISInitializer.java @ 25:cbd67b1100d8

Initial commit of the first prototype.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 08 Apr 2011 11:47:59 +0200
parents
children c51376f8e24c
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/java/de/intevation/mxd/ArcGISInitializer.java	Fri Apr 08 11:47:59 2011 +0200
@@ -0,0 +1,78 @@
+//package de.intevation.mxd;
+
+import java.io.IOException;
+
+import com.esri.arcgis.system.AoInitialize;
+import com.esri.arcgis.system.EngineInitializer;
+import com.esri.arcgis.system.esriLicenseProductCode;
+import com.esri.arcgis.system.esriLicenseStatus;
+
+/**
+ * Initializes the ArcGIS Engine and Objects.
+ *
+ * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a>
+ */
+public class ArcGISInitializer{
+
+    //Member
+    private AoInitialize    aoInit;
+    private String          engineInstallDir = "";
+
+
+    //Methods
+    /**
+     * Init ArcGIS Java Objects.
+     */
+    public boolean initArcGIS () throws IOException{
+        EngineInitializer.initializeEngine();
+        aoInit              = new AoInitialize();
+        engineInstallDir    = System.getenv("AGSENGINEJAVA");
+        return true;
+    }
+
+    /**
+     * Init ArcGIS License.
+     */
+    public void initArcGISLicenses() throws IOException{
+        if(aoInit.isProductCodeAvailable
+           (esriLicenseProductCode.esriLicenseProductCodeEngine) ==
+           esriLicenseStatus.esriLicenseAvailable){
+           aoInit.initialize
+               (esriLicenseProductCode.esriLicenseProductCodeEngine);
+        }
+        else if (aoInit.isProductCodeAvailable
+                 (esriLicenseProductCode.esriLicenseProductCodeArcView) ==
+                 esriLicenseStatus.esriLicenseAvailable){
+                 aoInit.initialize
+                     (esriLicenseProductCode.esriLicenseProductCodeArcView);
+        }
+        else{
+            System.err.println("Engine Runtime or ArcView license not initialized.");
+            System.err.println("Exiting application.");
+            System.exit(-1);
+        }
+    }
+
+    /**
+     * Shutdown the ArcGIS Objects.
+     */
+    public boolean shutdownArcGIS() throws IOException{
+        if(aoInit != null){
+            aoInit.shutdown();
+            return true;
+        }
+        else{
+            return false;
+        }
+    }
+
+    /**
+     * Get the ArcGIS Engine Directory.
+     */
+    public String getEngineDirectory() throws Exception{
+        if(engineInstallDir == "")
+            throw new Exception("Call initArcGIS() first!");
+        else
+            return engineInstallDir;
+    }
+}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)