Datei "CSG.xml" des Aufrufstubgenerators
Die Datei CSG.xml enthält ein vollständiges Beispiel für das Starten des COBOL-Aufrufstubgenerators über Ant mit der angepassten <csg>-Task oder über Rational Application Developer als Ant-Build.
Eingabeeigenschaften in der Datei "CSG.xml"
In der folgenden Tabelle sind die Eingabeeigenschaften in der Datei CSG.xml beschrieben. Wenn Sie die <csg>-Task in der grafischen Schnittstelle von Rational Application Developer ausführen, können Sie die Eigenschaften im Format "-DEigenschaftsname=Eigenschaftswert" definieren.
Name | Erforderlich oder optional | Beschreibung |
---|---|---|
cobolSource | Erforderlich | Gibt den vollständig qualifizierten Pfad zur COBOL-Quellendatei an.
![]() In der grafischen Schnittstelle von Rational Application Developer können Sie die integrierte Variable ${resource_loc} verwenden, die durch den vollständig qualifizierten Pfad der Ressource ersetzt wird, die momentan im Paketexplorer ausgewählt ist. |
workSpace | Erforderlich | Gibt den vollständig qualifizierten Pfad zum Stammverzeichnis
von Rational Application Developer bzw. zum Eclipse-Arbeitsbereich an, das bzw. der
verwendet werden soll, um die Java™-Klasse für Datenbindungen zu erstellen.
In der grafischen Schnittstelle von Rational Application Developer können Sie die integrierte Variable ${workspace_loc} verwenden, die durch den vollständig qualifizierten Pfad des momentan aktiven Arbeitsbereichs ersetzt wird. |
eclipseProjectName | Erforderlich | Gibt den Namen des Projekts in Rational Application Developer bzw. des Eclipse-Arbeitsbereichs an,
das bzw. der als Ausgangsposition für die generierte Java-Klasse dient.
In der grafischen Schnittstelle von Rational Application Developer können Sie die integrierte Variable ${project_name} verwenden, die durch den Projektnamen der Ressource ersetzt wird, die momentan im Paketexplorer ausgewählt ist. Das Projekt muss vorhanden sein, bevor der Aufrufstubgenerator ausgeführt wird. |
callStubPackage | Erforderlich | Gibt den Paketnamen für den generierten Aufrufstub an.
In der grafischen Schnittstelle von Rational Application Developer können Sie die integrierte Variable ${string_prompt:callStubPackage} verwenden. Zur Laufzeit fordert Sie Rational Application Developer zur Eingabe eines Zeichenfolgewerts auf. Der Titel des Dialogfensters mit der Eingabeaufforderung ist callStubPackage. |
Dateiadresse
Die Ant-Build-Datei CSG.xml hat eine Adresse wie die folgende:
Stammverzeichnis_der_Produktinstallation/CobolCallStubGenerator.V1.2/CSG.xml
Inhalt der Datei "CSG.xml"
Die Datei CSG.xml, die mit dem Produkt bereitgestellt wird, gleicht dem folgenden Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ........................................................................... -->
<!-- Dies ist die Ant-Builddatei zum Aufruf des COBOLCallStubGenerator (CSG)
in Rational Application Developer. Sie umfasst zwei Schritte:
1. Aufruf von CSG für die angegebene cobolSource-Datei
CSG wird mit der angepassten <csg>-Task aufgerufen.
<csg> generiert den Stub für den Java-Aufruf die Ant-Datei für den Datenbinder.
2. Aufruf der mit <csg> generierten Ant-Datei für den Datenbinder.
Die Ant-Datei für den Datenbinder ruft den Datenbinder auf und generiert
für die COBOL-Parameter die Java-Klassen für Datenbindung.
Konfiguration dieser Datei zur Verwendung in Rational Application Developer:
1. Ausführen -> Externe Tools -> Konfiguration für externe Tools.
2. Neue Ant-Build-
Builddatei: vollständiger_Pfad_zu_dieser_Datei.xml
Argumente: -DcobolSource=${resource_loc}
-DworkSpace=${workspace_loc}
-DeclipseProjectName=${project_name}
-DcallStubPackage=${string_prompt:callStubPackage} Refresh: project
Build: project
JRE: entspricht dem Arbeitsbereich (J2C-Tools müssen installiert sein)
Anweisungen:
1. Laden Sie die COBOL-Quelle in das Projekt.
2. Wählen Sie die COBOL-Quellendatei bzw. das COBOL-Quellenverzeichnis im Projektexplorer aus.
3. Klicken Sie auf Ausführen -> Externe Tools -> CSG Ant Build. -->
<!-- ........................................................................... -->
<project default="CSG">
<property name="csgDir" value="${basedir}" />
<property name="debug" value="false" />
<!-- <csg>- und <radlogcheck>-Taskdefinitionen einschließen -->
<taskdef resource="com/ibm/ws/batch/cobol/ant/callstub/antlib.xml"
classpath="${csgDir}/lib/COBOLCallStubGenerator.jar"/>
<!-- Diese Eingabeeigenschaften sind erforderlich. Sie können als Argumente für den Ant-Build angegeben werden. -->
<property name="cobolSource" value="" /> <!-- vollständiger Pfad zur COBOL-Quellendatei -->
<property name="workSpace" value="" /> <!-- vollständiger Pfad zum Eclipse-Arbeitsbereich -->
<property name="eclipseProjectName" value="" />
<property name="callStubPackage" value="" />
<!-- Die Ausgabe von der <csg>-Task ist die Ant-Builddatei für Datenbinder. Die Ant-Builddatei für
Datenbinder ruft den Datenbinder auf und generiert die Datenbindungsklassen für alle
COBOL-Parameter für alle von <csg> verarbeiteten COBOL-Dateien-->
<property name="antBuildFile" value="${workSpace}/${eclipseProjectName}/src/GenAllBindings.xml" />
<!-- Schnelle Möglichkeit, um zum Verzeichnis der COBOL-Eingabedatei zu gelangen, falls diese
verwendet werden soll, um eine Liste der Dateien im Typ <fileset> anzugeben. -->
<dirname property="cobolSourceDir" file="${cobolSource}" />
<target name="CSG">
<csg configFile="${csgDir}/csg.properties"
workSpace="${workSpace}"
eclipseProjectName="${eclipseProjectName}"
antBuildFile="${antBuildFile}" >
<!-- In diesem Beispiel ist die Eingabe eine einzelne COBOL-Datei, die mit <fileset> angegeben wird.
Sie können diese Eingabe so ändern, dass eine Liste von COBOL-Dateien angegeben wird, indem Sie
den Typ <fileset> oder den Typ <filelist> verwenden. So können Sie anstelle der Eigenschaft cobolSource
die Eigenschaft cobolSourceDir verwenden, um alle *.cbl-Dateien im
Verzeichnis anzugeben, oder Sie können mit <filelist> eine Untermenge der Dateien im Verzeichnis auflisten.
Beispiele dazu, wie Sie eine Liste von Dateien eingeben, sind hier angegeben, aber auf Kommentar gesetzt. -->
<fileset file="${cobolSource}" />
<!-- Beispiel: Alle *.cbl-Dateien in einem Verzeichnis Als Eingabe festlegen: -->
<!-- <fileset dir="${cobolSourceDir}" includes="**/*.cbl" /> -->
<!-- Beispiel: Eine Untermenge von Dateien in einem Verzeichnis als Eingabe festlegen: -->
<!-- <filelist dir="${cobolSourceDir}" files="G10M0802.cbl primitve.ccp natltest.ccp" /> -->
<!-- Beispiel: Alle verschachtelten Dateien dem angegebenen <cobolModule> zuordnen: -->
<!-- <cobolModule libname="MyDLLName">
<fileset dir="${cobolSourceDir}" includes="**/*.ccp" />
</cobolModule> -->
<!-- Sie können mehrere <cobolModule>-Elemente angeben. -->
<callStubPackage>${callStubPackage}</callStubPackage>
<!-- Beispiel: Sie können einige interne Generatoreigenschaften des Aufrufstubs als
Substitutionsvariablen verwenden. Wenn Sie z. B. die COBOL-Programm-ID ($_ProgramId_$) in das
callStubPackage aufnehmen möchten, geben Sie Folgendes an: -->
<!-- <callStubPackage>${callStubPackage}.$_ProgramId_$</callStubPackage> -->
<!-- Wenn der Paketname für die Datenbindungsklassen nicht definiert ist, lautet er
${callStubPackage}.parameters. -->
<!-- <dataElementsPackage>${callStubPackage}.parameters</dataElementsPackage> -->
<!-- Beispiel: Verwenden Sie Substitutionsvariable, um die COBOL-Programm-ID dem
Parameterklassennamen voranzustellen.-->
<!-- <dataElementsClass>$_ProgramId_$_$_DataElementName_$</dataElementsClass> -->
<!-- Java-Paket und Klasse für den mit 'name' im COBOL-Programm
'programId' angegebenen Parameter -->
<!-- <dataElement name="#REQUIRED" programId="#REQUIRED" packageName="" className="" /> -->
<!-- Sie können mehrere <dataElement>-Elemente angeben. -->
</csg>
<!-- Aktualisieren des Arbeitsbereichs, um die von <csg> generierten Java-Aufruf-Stubs zu kompilieren -->
<eclipse.refreshLocal depth="infinite" resource="${eclipseProjectName}" />
<!-- radlogcheck erstellt zunächst einen Snapshot des Rational Application Developer-Protokolls
(${workSpace}/.metadata/.log). Später prüft radlogcheck das Protokoll und sucht nach
Fehlern, die während des Datenbindungsschrittes generiert wurden. -->
<radlogcheck workSpace="${workSpace}" stage="begin" />
<!-- Ausführung der Ant-Builddatei für Datenbinder, die von der <csg>-Task generiert wurde. -->
<ant antfile="${antBuildFile}" />
<!-- Prüfen des Protokolls auf Fehler, die während des Datenbindungsschrittes aufgetreten sind.
Werden Fehler gefunden, schreibt das Produkt diese in die Konsole. -->
<radlogcheck workSpace="${workSpace}" stage="end" />
<!-- Löschen der ant-Builddatei (antBuildFile). Sie wird nicht mehr benötigt und ist lediglich ein Buildartefakt. -->
<delete file="${antBuildFile}" failonerror="false"/>
</target>
</project>