Mercurial > mxd2map
view src/java/de/intevation/mxd/ArcGISInitializer.java @ 36:472aa36d0e01
Added a new layer reader and symbol reader.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 12 Apr 2011 14:43:58 +0200 |
parents | c51376f8e24c |
children | ef7ca23c4233 |
line wrap: on
line source
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; } }