view src/java/de/intevation/mxd/ArcGISInitializer.java @ 41:60ed2164035a

Introduced MapScript writer.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 14 Apr 2011 11:31:29 +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;
    }
}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)