Mercurial > mxd2map
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; + } +}