rrenkert@33: 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@43: public class ArcGISInitializer { rrenkert@25: rrenkert@43: /** rrenkert@43: * Private member. rrenkert@43: */ rrenkert@25: private AoInitialize aoInit; rrenkert@25: private String engineInstallDir = ""; rrenkert@25: rrenkert@25: rrenkert@25: /** rrenkert@25: * Init ArcGIS Java Objects. rrenkert@25: */ rrenkert@43: public boolean initArcGIS () rrenkert@43: 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@43: public void initArcGISLicenses() rrenkert@43: throws IOException { rrenkert@25: if(aoInit.isProductCodeAvailable rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeEngine) == rrenkert@43: esriLicenseStatus.esriLicenseAvailable) { rrenkert@25: aoInit.initialize rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeEngine); rrenkert@25: } rrenkert@25: else if (aoInit.isProductCodeAvailable rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeArcView) == rrenkert@43: esriLicenseStatus.esriLicenseAvailable) { rrenkert@25: aoInit.initialize rrenkert@25: (esriLicenseProductCode.esriLicenseProductCodeArcView); rrenkert@25: } rrenkert@43: else { rrenkert@43: System.err.println("Engine Runtime or ArcView" + rrenkert@43: " 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@43: public boolean shutdownArcGIS() rrenkert@43: throws IOException { rrenkert@43: if(aoInit != null) { rrenkert@25: aoInit.shutdown(); rrenkert@25: return true; rrenkert@25: } rrenkert@43: else { rrenkert@25: return false; rrenkert@25: } rrenkert@25: } rrenkert@25: rrenkert@25: /** rrenkert@25: * Get the ArcGIS Engine Directory. rrenkert@25: */ rrenkert@43: public String getEngineDirectory() rrenkert@43: throws Exception { rrenkert@43: if(engineInstallDir == "") { rrenkert@25: throw new Exception("Call initArcGIS() first!"); rrenkert@43: } rrenkert@43: else { rrenkert@25: return engineInstallDir; rrenkert@43: } rrenkert@25: } rrenkert@25: }