-
Notifications
You must be signed in to change notification settings - Fork 130
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add Java Merge Sample * update * Update * Update
- Loading branch information
Showing
10 changed files
with
204 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
Build/.classpath | ||
Build/.project | ||
Build/.settings/** | ||
|
||
**/bin/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||
<classpathentry kind="src" path="src"/> | ||
<classpathentry kind="src" path="/com.ibm.zoautil"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>JavaMerge</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
</projectDescription> |
11 changes: 11 additions & 0 deletions
11
Automation/Merge/JavaMerge/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=1.8 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.source=1.8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
## Java/Groovy Merge Sample | ||
|
||
This is a sample to demonstrate how to use the Z Open Automation Utilities Java API to merge two datasets. | ||
|
||
The sample creates two datasets to merge, a command dataset, and a merge dataset that contains the output from the sort command. | ||
MVSCmd is then used to call the sort command to sort and merge the two datasets together. | ||
|
||
One must modify the setenv.sh file with the appropriate values for your installation of Java and your installation of Z Open Automation Utilities before running this sample. | ||
|
||
Run `merge.sh -h` for information about program parameters. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#!/bin/sh | ||
#******************************************************************************* | ||
# Licensed Materials - Property of IBM | ||
# (c) Copyright IBM Corporation 2019. All Rights Reserved. | ||
# | ||
# Note to U.S. Government Users Restricted Rights: | ||
# Use, duplication or disclosure restricted by GSA ADP Schedule | ||
# Contract with IBM Corp. | ||
#******************************************************************************* | ||
|
||
scriptDir=$(dirname $0) | ||
. ${scriptDir}/setenv.sh | ||
|
||
cd ${scriptDir}/src | ||
|
||
# Compile the sample | ||
${JAVA_HOME}/bin/javac com/ibm/merge/Merge.java | ||
rc=$? | ||
if [ rc -gt 0 ]; then | ||
echo "Compile failed for Merge.java, rc=$rc" | ||
echo "Check environment settings in setenv.sh" | ||
exit $rc | ||
fi | ||
|
||
# Run the sample | ||
CMD="${JAVA_HOME}/bin/java com.ibm.merge.Merge $@" | ||
$CMD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/sh | ||
#******************************************************************************* | ||
# Licensed Materials - Property of IBM | ||
# (c) Copyright IBM Corporation 2019. All Rights Reserved. | ||
# | ||
# Note to U.S. Government Users Restricted Rights: | ||
# Use, duplication or disclosure restricted by GSA ADP Schedule | ||
# Contract with IBM Corp. | ||
#******************************************************************************* | ||
# | ||
# Set up the environment | ||
# NOTE: Before running this script, you need to have modified this file to match your z/OS system | ||
# | ||
export ZOAUTIL_DIR=/usr/lpp/IBM/zoa | ||
export PATH=${ZOAUTIL_DIR}/bin:$PATH | ||
export JAVA_HOME=/usr/lpp/java/J8.0_64 # Root directory for Java 64-bit | ||
export CLASSPATH=${ZOAUTIL_DIR}/lib/*:. | ||
export LIBPATH=${ZOAUTIL_DIR}/lib |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
package com.ibm.merge; | ||
|
||
import java.io.IOException; | ||
import java.util.ArrayList; | ||
import java.util.List; | ||
|
||
import com.ibm.zoautil.DatasetOptions; | ||
import com.ibm.zoautil.DatasetType; | ||
import com.ibm.zoautil.Datasets; | ||
import com.ibm.zoautil.MVSCmd; | ||
import com.ibm.zoautil.RecordFormat; | ||
import com.ibm.zoautil.types.DDStatement; | ||
|
||
public class Merge | ||
{ | ||
|
||
public static void main(String[] args) throws IOException | ||
{ | ||
String hlq = "BUILDER"; | ||
String mlq = "DFSORT"; | ||
|
||
// Check parameters | ||
if ( args.length >= 1 ) | ||
{ | ||
if ( args[0].equals( "-?" ) || args[0].equals( "-h" ) ) | ||
{ | ||
System.out.println( "Run ZOAU Merge Java API example" ); | ||
System.out.println( "\tjava com.ibm.merge.Merge <hlq or -?> <mlq>" ); | ||
System.out.println( "\t\thlq - High level qualifier for datasets. Defaults to BUILDER." ); | ||
System.out.println( "\t\tmlq - Mid level data set qualifier for datasets. Defaults to DFSORT." ); | ||
System.exit( 0 ); | ||
} | ||
else | ||
{ | ||
hlq = args[0].toUpperCase(); | ||
} | ||
} | ||
if ( args.length >= 2 ) | ||
{ | ||
mlq = args[1].toUpperCase(); | ||
} | ||
|
||
String dsPrefix = hlq + "." + mlq; | ||
System.out.println( "dataset prefix: " + dsPrefix ); | ||
|
||
String dsMaster = dsPrefix + ".master"; | ||
String dsNew = dsPrefix + ".new"; | ||
String dsCmd = dsPrefix + ".cmd"; | ||
String dsMerge = dsPrefix + ".merge"; | ||
|
||
// Options to create a fixed block 80 sequential data set | ||
// maxRC of 8 ignores an error if the dataset already exists | ||
DatasetOptions createDSOptions = new DatasetOptions().type( DatasetType.SEQ ).recordFormat( RecordFormat.FB ).lrecl( 80 ).maxRC( 8 ); | ||
|
||
// Create Master dataset | ||
Datasets.create( dsMaster, createDSOptions ); | ||
Datasets.write( dsMaster, "Charles Field 278 323 6045" ); // write | ||
Datasets.write( dsMaster, "David George 397 132 6025", true ); // append | ||
Datasets.write( dsMaster, "William Young 178 333 5045", true ); // append | ||
|
||
// Create New dataset | ||
Datasets.create( dsNew, createDSOptions ); | ||
Datasets.write( dsNew, "Emma Hill 149 589 5045" ); // write | ||
Datasets.write( dsNew, "Sharon Miller 153 232 6045", true ); // append | ||
Datasets.write( dsNew, "Steve Green 748 111 6025", true ); // append | ||
|
||
// Create Cmd dataset | ||
Datasets.create( dsCmd, createDSOptions ); | ||
Datasets.write( dsCmd, " MERGE FORMAT=CH,FIELDS=(1,9,A)" ); // write | ||
|
||
// Create Merge dataset | ||
Datasets.create( dsMerge, createDSOptions ); | ||
|
||
// Create DD Statements for sort | ||
List<DDStatement> ddStatements = new ArrayList<DDStatement>(); | ||
ddStatements.add( new DDStatement().ddName( "sortin01" ).dataset( dsMaster ) ); | ||
ddStatements.add( new DDStatement().ddName( "sortin02" ).dataset( dsNew ) ); | ||
ddStatements.add( new DDStatement().ddName( "sysin" ).dataset( dsCmd ) ); | ||
ddStatements.add( new DDStatement().ddName( "sortout" ).dataset( dsMerge ) ); | ||
ddStatements.add( new DDStatement().ddName( "sysout" ).dataset( "*" ) ); | ||
|
||
// Sort | ||
int rc = MVSCmd.execute( "sort", "MSGPRT=CRITICAL,LIST", ddStatements ); | ||
System.out.println( "MVSCmd rc: " + rc ); | ||
if ( rc == 0 ) | ||
{ | ||
String results = Datasets.read( dsMerge ); | ||
System.out.println( "Merged dataset contents:\n" + results ); | ||
} | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
############################################################################### | ||
# Licensed Materials - Property of IBM | ||
# (c) Copyright IBM Corporation 2019. All Rights Reserved. | ||
# | ||
# Note to U.S. Government Users Restricted Rights: | ||
# Use, duplication or disclosure restricted by GSA ADP Schedule | ||
# Contract with IBM Corp. | ||
############################################################################### | ||
|
||
# Default logging is for WARN and higher | ||
log4j.rootLogger=WARN,stdout | ||
|
||
# stdout Appender | ||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender | ||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout | ||
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n | ||
|
||
# Uncomment to enable tracing for ZOAU Java interface | ||
#log4j.logger.com.ibm.zoautil=INFO | ||
|