Altova MapForce 2024 Professional Edition

Ejemplo de proyecto en Java

Inicio Anterior Inicio Siguiente

Una vez haya instalado MapForce podrá encontrar un ejemplo de proyecto cliente de la API de MapForce en Java en el directorio C:/Users/<username>/Documents/Altova/MapForce2024/MapForceExamples/API.

 

Puede probar el ejemplo en Java directamente desde la línea de comandos usando el archivo BuildAndRun.bat o puede compilar y ejecutar el proyecto de ejemplo desde Eclipse. Ambas opciones vienen explicadas a continuación.

 

Lista de archivos

La carpeta de ejemplos en Java contiene todos los archivos necesarios para ejecutar el proyecto de ejemplo. Estos archivos son los siguientes:

 

AltovaAutomation.dll

puente Java-COM bridge: parte DLL

AltovaAutomation.jar

puente Java-COM: parte de biblioteca Java

MapForceAPI.jar

clases Java de la API de MapForce

RunMapForce.java

código fuente del ejemplo en Java

BuildAndRun.bat

fichero batch para compilar y ejecutar el código del ejemplo desde la línea de comandos. Se necesita una carpeta en la que la Java Virtual Machine esté como parámetro.

.classpath

archivo de ayuda del proyecto de Eclipse

.project        

archivo del proyecto de Eclipse

MapForceAPI_JavaDoc.zip

archivo Javadoc que contiene la documentación de ayuda para la Java API

 

¿Qué hace el ejemplo?

El ejemplo inicia MapForce y realiza algunas operaciones como abrir y cerrar documentos. Al finalizar, MapForce sigue abierto y debe cerrarlo de forma manual.

 

Ejecutar el ejemplo desde la línea de comandos

Para ejecutar el ejemplo desde la línea de comandos, abra la ventana del símbolo del sistema, vaya a la carpeta de Java de los ejemplos de la API (encontrará más arriba la ubicación) y teclee:

 

 buildAndRun.bat "<Path-to-the-Java-bin-folder>"

 

La carpeta binaria de Java debe ser la del Java Development Kit (JDK) 7 o superior.
 
Pulse la tecla de retorno. La fuente en Java en RunMapForce.java se compilará y después se ejecutará.

 

Cargar el ejemplo en Eclipse

Abra Eclipse y use el comando Archivo | Importar... | General | Proyectos existentes en el espacio de trabajo para añadir el archivo del proyecto de Eclipse (.project) ubicado en la carpeta de Java de la carpeta de ejemplos de la API (encontrará más arriba su ubicación). El proyecto RunMapForce aparecerá en su explorador de paquetes o explorador.
 
Seleccione el proyecto y después el comando Ejecutar como | Aplicación en Java para ejecutar el ejemplo.

 

Nota:Puede seleccionar un nombre o un método de clase de la Java API y pulsar F1 para obtener ayuda para esa clase o ese método.

 

Fragmento de código fuente en Java

A continuación se muestra el código fuente en Java del archivo de ejemplo RunMapForce.java con comentarios.

 

// access general JAVA-COM bridge classes
import java.util.Iterator;
 
import com.altova.automation.libs.*;
 
// access XMLSpy Java-COM bridge
import com.altova.automation.MapForce.*;
import com.altova.automation.MapForce.Enums.ENUMProgrammingLanguage;
 
/**
* A simple example that starts XMLSpy COM server and performs a few operations on it.
* Feel free to extend.
*/
public class RunMapForce
{
  public static void main(String[] args)
  {
    // an instance of the application.
    Application mapforce = null;
 
    // instead of COM error handling use Java exception mechanism.
    try
    {
        // Start MapForce as COM server.
        mapforce = new Application();
        // COM servers start up invisible so we make it visible
        mapforce.setVisible(true);
       
        // The following lines attach to the application events using a default implementation
        // for the events and override one of its methods.
        // If you want to override all document events it is better to derive your listener class
        // from DocumentEvents and implement all methods of this interface.
        mapforce.addListener(new ApplicationEventsDefaultHandler()
        {
          @Override
          public void onDocumentOpened(Document i_ipDoc) throws AutomationException
          {
              String name = i_ipDoc.getName();
             
              if (name.length() > 0)
                System.out.println("Document " + name + " was opened.");
              else
                System.out.println("A new mapping was created.");
          }
        });
 
        // Locate samples installed with the product.
        int majorVersionYear = mapforce.getMajorVersion() + 1998;
        String strExamplesFolder = System.getenv("USERPROFILE") + "\\Documents\\Altova\\MapForce" + Integer.toString(majorVersionYear) + "\\MapForceExamples\\";
        // create a new MapForce mapping and generate c++ code
        Document newDoc = mapforce.newMapping();
        ErrorMarkers err1 = newDoc.generateCodeEx(ENUMProgrammingLanguage.eCpp);
        display(err1);
        // open CompletePO.mfd and generate c++ code
        Document doc = mapforce.openDocument(strExamplesFolder + "CompletePO.mfd");
        ErrorMarkers err2 = doc.generateCodeEx(ENUMProgrammingLanguage.eCpp);
        display(err2);
       
        doc.close();
        doc = null;
           
        System.out.println("Watch MapForce!");
    }
    catch (AutomationException e)
    {
        // e.printStackTrace();
    }
    finally
    {
        // Make sure that MapForce can shut down properly.
        if (mapforce != null)
          mapforce.dispose();
 
        // Since the COM server was made visible and still is visible, it will keep running
        // and needs to be closed manually.
        System.out.println("Now close MapForce!");
    }
  }
 
  public static void display(ErrorMarkers err) throws AutomationException
  {
    Iterator<ErrorMarker> itr = err.iterator();
           
    if (err.getCount() == 0)
        System.out.print("Code generation completed successfully.\");
     
    while (itr.hasNext())
    {
        String sError = "";
        Object element = itr.next();
        if (element instanceof ErrorMarker)
            sError = ((ErrorMarker)element).getText();
        System.out.print("Error text: " + sError + "\");
    }
  }
}

© 2018-2024 Altova GmbH