rrenkert@25: //package de.intevation.mxd; rrenkert@25: rrenkert@25: import java.io.IOException; rrenkert@25: rrenkert@25: import com.esri.arcgis.system.AoInitialize; rrenkert@25: import com.esri.arcgis.system.EngineInitializer; rrenkert@25: import com.esri.arcgis.system.esriLicenseProductCode; rrenkert@25: import com.esri.arcgis.system.esriLicenseStatus; rrenkert@25: rrenkert@25: /** rrenkert@25: * Initializes the ArcGIS Engine and Objects. rrenkert@25: * rrenkert@25: * @author Raimund Renkert rrenkert@25: */ rrenkert@25: public class ArcGISInitializer{ rrenkert@25: rrenkert@25: //Member rrenkert@25: private AoInitialize aoInit; rrenkert@25: private String engineInstallDir = ""; rrenkert@25: rrenkert@25: rrenkert@25: //Methods rrenkert@25: /** rrenkert@25: * Init ArcGIS Java Objects. rrenkert@25: */ rrenkert@25: public boolean initArcGIS () throws IOException{ rrenkert@25: EngineInitializer.initializeEngine(); rrenkert@25: aoInit = new AoInitialize(); rrenkert@25: engineInstallDir = System.getenv("AGSENGINEJAVA"); rrenkert@25: return true; rrenkert@25: } rrenkert@25: rrenkert@25: /** rrenkert@25: * Init ArcGIS License. rrenkert@25: */ rrenkert@25: public void initArcGISLicenses() throws IOException{ rrenkert@25: if(aoInit.isProductCodeAvailable rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeEngine) == rrenkert@25: esriLicenseStatus.esriLicenseAvailable){ rrenkert@25: aoInit.initialize rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeEngine); rrenkert@25: } rrenkert@25: else if (aoInit.isProductCodeAvailable rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeArcView) == rrenkert@25: esriLicenseStatus.esriLicenseAvailable){ rrenkert@25: aoInit.initialize rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeArcView); rrenkert@25: } rrenkert@25: else{ rrenkert@25: System.err.println("Engine Runtime or ArcView license not initialized."); rrenkert@25: System.err.println("Exiting application."); rrenkert@25: System.exit(-1); rrenkert@25: } rrenkert@25: } rrenkert@25: rrenkert@25: /** rrenkert@25: * Shutdown the ArcGIS Objects. rrenkert@25: */ rrenkert@25: public boolean shutdownArcGIS() throws IOException{ rrenkert@25: if(aoInit != null){ rrenkert@25: aoInit.shutdown(); rrenkert@25: return true; rrenkert@25: } rrenkert@25: else{ rrenkert@25: return false; rrenkert@25: } rrenkert@25: } rrenkert@25: rrenkert@25: /** rrenkert@25: * Get the ArcGIS Engine Directory. rrenkert@25: */ rrenkert@25: public String getEngineDirectory() throws Exception{ rrenkert@25: if(engineInstallDir == "") rrenkert@25: throw new Exception("Call initArcGIS() first!"); rrenkert@25: else rrenkert@25: return engineInstallDir; rrenkert@25: } rrenkert@25: }