Mercurial > mxd2map
diff src/java/de/intevation/mxd/ArcGISInitializer.java @ 103:163d474165b0
Added check for ArcGISDesktop environment.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Fri, 10 Jun 2011 14:04:03 +0200 |
parents | ef7ca23c4233 |
children | 104af51a4717 |
line wrap: on
line diff
--- a/src/java/de/intevation/mxd/ArcGISInitializer.java Fri Jun 10 11:35:41 2011 +0200 +++ b/src/java/de/intevation/mxd/ArcGISInitializer.java Fri Jun 10 14:04:03 2011 +0200 @@ -1,6 +1,9 @@ package de.intevation.mxd; import java.io.IOException; +import java.io.File; + +import org.apache.log4j.Logger; import com.esri.arcgis.system.AoInitialize; import com.esri.arcgis.system.EngineInitializer; @@ -15,6 +18,11 @@ public class ArcGISInitializer { /** + * The Logger. + */ + private static final Logger logger = Logger.getLogger(ArcGISInitializer.class); + + /** * Private member. */ private AoInitialize aoInit; @@ -26,17 +34,32 @@ */ public boolean initArcGIS () throws IOException { + logger.debug("initArcGIS()"); EngineInitializer.initializeEngine(); aoInit = new AoInitialize(); engineInstallDir = System.getenv("AGSENGINEJAVA"); + File installDir = new File(engineInstallDir); + if(!installDir.exists()) { + engineInstallDir = System.getenv("AGSDESKTOPJAVA"); + installDir = new File(engineInstallDir); + if(!installDir.exists()) { + logger.error("Could not find ArcGIS Environment. \n" + + "AGSENGINEJAVA or AGSDESKTOPJAVA not set."); + return false; + } + } + else { + return true; + } return true; } /** * Init ArcGIS License. */ - public void initArcGISLicenses() + public boolean initArcGISLicenses() throws IOException { + logger.debug("initArcGISLicenses()"); if(aoInit.isProductCodeAvailable (esriLicenseProductCode.esriLicenseProductCodeEngine) == esriLicenseStatus.esriLicenseAvailable) { @@ -50,11 +73,13 @@ (esriLicenseProductCode.esriLicenseProductCodeArcView); } else { - System.err.println("Engine Runtime or ArcView" + - " license not initialized."); - System.err.println("Exiting application."); - System.exit(-1); + logger.error("Engine Runtime or ArcView" + + " license not initialized.\n" + + "Please install an ArcGIS product and set the" + + " PATH-variable correctly."); + return false; } + return true; } /**