This section contains the following examples:
Notes
This simply transforms a populated array of Java objects (of type "Player") found in the Game object into an array of "Person" objects. To run, the classpath must include:
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aSrcTMJavaAdapter =
TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aSrcTMJavaAdapter);
TMJavaAdapter aTgtTMJavaAdapter =
TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTgtTMJavaAdapter);
aTMTransformer.openProjectAndResources();
aSrcTMJavaAdapter.addObjects(aGame.getPlayers());
TMDHIterator aTMDHIterator= aSrcTMJavaAdapter.getObjectsOfInterest(
TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
SimpleUtilities.showJavaObjects(aTgtTMJavaAdapter, "Player");
}
catch (TMException ...
Java to XML (as serialised file)
This example of Java to XML (as a serialised file) simply transforms a populated array of Java objects (of type "Player") found in the Game object into an XML file. To run, the classpath must include
In this example, the file "xmltarget.xml" will be created in the current directory.
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this);
aTMTransformer.addProject( projectName, 2,false);
TMJavaAdapter aTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter);
aTMXMLAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMXMLAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMXMLAdapter);
Map params = new HashMap();
params.put(TMXMLAdapter.NAME_URL,AllExamplesInJava.EXAMPLE_TGT_PATH + "xmltarget.xml");
aTMTransformer.openProjectAndResources();
aTMJavaAdapter.addObjects(aGame.getPlayers());
aTMXMLAdapter.setSessionLevelUsedToConnect(0);
TMDHIterator aTMDHIterator=
aTMJavaAdapter.getObjectsOfInterest(net.etltm.qp.TMQueryObjectsFactory.createTMQuerySet(null));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.beginSession(0,null);
aTMTransformer.transform(aTMDH);
aTMTransformer.endSession(0);
}
}
catch (TMException
Java to XML (as DOM in memory)
This example simply transforms a populated array of Java objects (of type "Player") found in the Game object into a org.w3c.dom.Document object (or DOM). To run, the classpath must include:
The transform returns an org.w3c.dom.Document object.
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter);
// but we DON'T specify a file to write to as we are going to ask for the
// DOM output
aTMXMLAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMXMLAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMXMLAdapter);
aTMTransformer.openProjectAndResources();
// add some data to the read adapter
aTMJavaAdapter.addObjects(aGame.getPlayers());
aTMTransformer.setTxtLogging(System.out, TMC.eLogNONE);
TMDHIterator aTMDHIterator=
aTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
aTMXMLAdapter.finish();
aDocument = aTMXMLAdapter.getXMLDocument();
Java to XML (as serialised memory output)
This example transforms a populated an array of Java objects (of type "Player") found in the Game object into an serialised version of the XML text. To run, the classpath must include:
The output returns as an OutputStream.
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter);
// the following line is very similar to the JAVA output line
// but we DON'T specify a file to write to as we are going to ask for the
// serializeStream output
aTMXMLAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMXMLAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMXMLAdapter);
aTMTransformer.openProjectAndResources();
// add some data to the read adapter
aTMJavaAdapter.addObjects(aGame.getPlayers());
aTMTransformer.setTxtLogging(System.out, TMC.eLogNONE);
TMDHIterator aTMDHIterator= aTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
aTMTransformer.finish();
aTMXMLAdapter.serializeStream(System.out);
This XML (as serialised file) to Java example simply transforms an XML file into an array of "Person" objects. To run the classpath must include:
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this,projectName,3);
TMXMLAdapter aTMXMLAdapter = TMBuiltInAdaptorFactory.makeNewReadTMXMLAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMXMLAdapter);
aWriteAdapter = TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aWriteAdapter);
Map param = new HashMap ();
param.put(TMXMLAdapter.NAME_URL, AllExamplesInJava.EXAMPLE_SRC_PATH+"xmlsource.xml");
aTMXMLAdapter.setInstanceConnectionData(param);
aTMTransformer.openProjectAndResources();
TMDHIterator aTMDHIterator= aTMXMLAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException ...
XML (as W3C Document ) to Java
This XML (as W3C Document ) to Java example simply transforms an XML file into an array of "Person" objects. To run, the classpath must include:
The code must also provide a populated org.w3c.dom.Document called aDocument;
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this,projectName,3);
TMAdapter aSrcTMAdapter = TMBuiltInAdaptorFactory.makeNewReadTMXMLAdapter(aTMTransformer);
aTgtTMAdapter = TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aSrcTMAdapter);
aTMTransformer.setTarget(projectName,aTgtTMAdapter);
Document aDocument = SimpleUtilities.getDomFromFile(AllExamplesInJava.EXAMPLE_SRC_PATH+"xmlsource.xml");
Map srcConnectionData = new HashMap();
srcConnectionData.put(TMXMLAdapter.NAME_ORG_W3C_DOM_DOCUMENT,aDocument);
aSrcTMAdapter.setInstanceConnectionData(srcConnectionData);
aTMTransformer.openProjectAndResources();
TMDHIterator aTMDHIterator= aSrcTMAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException ...
This XML (as inputStream) to Java example simply transforms an XML file into an array of "Person" objects. To run, the classpath must include:
The code must also provide an InputStream containing a valid relevant XML serialization.
Code
try
{
FileInputStream aFileInputStream = new FileInputStream(AllExamplesInJava.EXAMPLE_SRC_PATH + "xmlsource.xml");
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this,projectName,3);
TMXMLAdapter aTMXMLAdapter = TMBuiltInAdaptorFactory.makeNewReadTMXMLAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMXMLAdapter);
aWriteAdapter = TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aWriteAdapter);
Map param = new HashMap ();
param.put(TMXMLAdapter.NAME_JAVA_IO_INPUTSTREAM,aFileInputStream);
aTMXMLAdapter.setInstanceConnectionData(param);
aTMTransformer.openProjectAndResources();
TMDHIterator aTMDHIterator= aTMXMLAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException
This Java to Database URL example simply transforms a populated array of Java objects (of type "Player") found in the Game object into a database identified by URL, name and password. To run, the classpath must include:
Code
try
{
// set the system up to run
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aTMJavaAdapter=TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter );
TMJDBCAdapter aTMJDBCAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMJDBCAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMJDBCAdapter);
Map params = new HashMap();
params.put(TMJDBCAdapter.NAME_URL,theURL);
params.put(TMJDBCAdapter.NAME_DRIVER,TMC.sDC_ACCESS_DRV);
aTMJDBCAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
// add some data to the read adapter
aTMJavaAdapter.addObjects(aGame.getPlayers());
TMDHIterator aTMDHIterator= aTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException ...
This Java to Open RDBMS example simply transforms a populated array of Java objects (of type "Player") found in the Game object into a database via an open database connection. To run, the classpath must include:
Code
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aTMJavaAdapter=TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter);
TMJDBCAdapter aTMJDBCAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMJDBCAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMJDBCAdapter);
Map params = new HashMap();
params.put(TMJDBCAdapter.NAME_SQL_CONNECTION,aConnection);
aTMJDBCAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
// add some data to the read adapter
aTMJavaAdapter.addObjects(aGame.getPlayers());
TMDHIterator aTMDHIterator= aTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException ...
This example transforms from a database to an array of Java objects. To run, the classpath must include:
The URL, name password must refer to a database accessible via JDBC.
Code
TMJavaAdapter aTMJavaAdapter = null;
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJDBCAdapter aTMJDBCAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJDBCAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJDBCAdapter);
aTMJavaAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMJavaAdapter);
Map params = new HashMap();
params.put(TMJDBCAdapter.NAME_URL,theURL);
params.put(TMJDBCAdapter.NAME_DRIVER,TMC.sDC_ACCESS_DRV);
aTMJDBCAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
TMDHIterator aTMDHIterator = aTMJDBCAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{break;
}
aTMTransformer.transform(aTMDH);
}
}
This Open RDBMS Connection to Java example transforms from the player items found via the open JDBC connection to an array of "Person" objects. It shows how sessions may be used to run the transform piecemeal. To run the classpath must include:
The connection must be an open JDBC Connection object/.
Code
TMJavaAdapter aTMJavaAdapter;
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this);
aTMTransformer.addProject(projectName, 1,false);
TMJDBCAdapter aTMJDBCAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJDBCAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJDBCAdapter);
aTMJavaAdapter=TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMJavaAdapter);
Map params = new HashMap();
params.put(TMJDBCAdapter.NAME_SQL_CONNECTION,aConnection);
aTMJDBCAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
readSomeItems(aTMTransformer, projectName,aTMJDBCAdapter,aTMJavaAdapter,"PLUM");
readSomeItems(aTMTransformer, projectName,aTMJDBCAdapter,aTMJavaAdapter,"MUSTARD");
readSomeItems(aTMTransformer, projectName,aTMJDBCAdapter,aTMJavaAdapter,"WHITE");
readSomeItems(aTMTransformer, projectName,aTMJDBCAdapter,aTMJavaAdapter,"GREEN");
}
catch (TMException ....
private void readSomeItems(TMTransformExecutor aTMTransformer,
String projectName,
TMJDBCAdapter theTMJDBCAdapter,
TMJavaAdapter theTMJavaAdapter,
String nameToGet) throws TMException
{
aTMTransformer.addKeyValuePair(LOOKUPNAME,nameToGet);
net.etltm.qp.TMQuerySet sourceQuery = net.etltm.qp.TMQueryObjectsFactory.createTMQuerySet("Person");
boolean filtered= aTMTransformer.interpretMapFilter(projectName,sourceQuery,null);
TMDHIterator aTMDHIterator= theTMJDBCAdapter.getObjectsOfInterest(sourceQuery);
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
if (filtered)
{
System.out.println("snapshot for \""+nameToGet+"\"");
SimpleUtilities.showJavaObjects(theTMJavaAdapter,"samples.deployment.examples.tgt.Player");
System.out.println("");
}
else
{
System.out.println("no filtering is defined");
}
}
Java to Java (with Error Handler)
This example is the same as the first Java to Java example except that it introduces an error handler.
If no error handlers are defined, then errors are regarded as unhandled and sent to the general purpose output text stream. Once an error handler has been added, the error is transformed by the code in the error handler and placed into the output device specified by the error handler (which maybe XML, Java or a database). The error will not be sent to the general purpose output text stream.
Any number of error handlers may be defined. Every error is handled by every error handler in turn. The only exception to this is if an error should occur within an error handler. In this case the error is not handled by the error handler which threw the exception but by all the other error handlers .
It is important not to confuse the concept of an error handler - that is to say a project dedicated to the transformation of errors from TMError into any output target - with the code contained within an SML catch error block. The two concepts are quite separate. Thus if both an SML catch error block and an error handler exist then error is processed in the following manner:
Note also that Error Handlers of registered with a given TMTransformer object. Thus where the TMTransformer object creates other TMTransformer objects during the course of the execution (see next example) then those new TMTransformer objects will not inherit currently registered Error Handler.
Code
TMJavaAdapter aTgtTMJavaAdapter = null;
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 2);
TMJavaAdapter aSrcTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aSrcTMJavaAdapter);
aTgtTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTgtTMJavaAdapter);
// add an error handler - it only needs a target
aTMTransformer.addProject(errorHandlerProjectName, 1, true);
TMXMLAdapter errorHandlerOutput= TMBuiltInAdaptorFactory.makeNewWriteTMXMLAdapter(aTMTransformer);
aTMTransformer.setTarget(errorHandlerProjectName,errorHandlerOutput);
Map params = new HashMap();
params.put(TMXMLAdapter.NAME_URL,"errorExample.xml");
errorHandlerOutput.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
// add some data to the read adapter
aSrcTMJavaAdapter.addObjects(aGame.getPlayers());
aTMTransformer.setTxtLogging(System.out, TMC.eLogNONE);
TMDHIterator aTMDHIterator= aSrcTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException . . .
Java to Java (with embedded objects)
This example expands the Java to Java example to show how an embedded XML stream may be forwarded from one transformation to another. This is typical of the techniques used to gain access to any embedded XML document placed within a JMS message.
Basic Java Code
This is identical to the Java to Java example. The only difference in the distributed examples is that the "game" object contains a populated XML string in addition to its other data.
SML Code
The SML code contained logic to discover the presence of the XML String and to send it to a Java function defined within translation builder.
This is the SML code:
TRANSFORM (Location) <- (Weapon)
IF (myName='XML-Data') THEN
X:=23;
LOGS('Calling out!');
myName := MakeDOM(myColour);
ELSE
myName := myColour+CHARAT(myName,2);
END_IF;
The function makeDOM has the following body. The header section in italics is automatically generated by TM Design Tool. The rest of the function is basically boiler plate code to get the initial user object passed into to the first transformation and then invoke a further transformation upon at code.
public static java.math.BigDecimal MakeDOM(
TMContext theTMContext,
java.lang.String P1) throws Exception
{
// get the theTMTransformer that started this transform
TMTransformer theTMTransformer = theTMContext.getTMTransformer();
// now get the user's object set when they started the TMTransformer
// cast it to the type we set
JavatoJavaEmbeddedXML aUserObjct = (JavatoJavaEmbeddedXML)
theTMTransformer.getUserReferenceObject();
// get the current write adapter
TMJavaAdapter aTMJavaAdapter=theTMTransformer.getWriteTMJavaAdapter();
// start another transform - with same target and the source is the
// String containing the embedded XML
aUserObject.runExampleForXML(P1,aTMJavaAdapter); //user code
return null;
}
The method runExampleForXML is now able to create another TMTransformer object in the conventional manner. Apart from using the method setTargetAdapterFromExistingAdapter to allow it to use the existing target adapter there is nothing special about this Java code - it follows the same pattern as the previous Java code.
Note that any TMException's which are thrown from this transformation will be sent back to the calling project and maybe caught by the Error Handlers defined in the calling project.
Code
public void runExampleForXML(String P1, TMJavaAdapter aTMJavaAdapter)
{
String projectName = "XMLToJava";
TMJavaAdapter aWriteAdapter = null;
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 3);
StringReader aStringReader = new StringReader(P1);
Document aDocument = makeDomObj(P1);
TMXMLAdapter aTMXMLAdapter = TMBuiltInAdaptorFactory.makeNewReadTMXMLAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMXMLAdapter);
Map param = new HashMap ();
param.put(TMXMLAdapter.NAME_ORG_W3C_DOM_DOCUMENT,aDocument);
aTMXMLAdapter.setInstanceConnectionData(param);
aTMTransformer.setTargetAdapterFromExistingAdapter(null, aTMJavaAdapter);
TMDHIterator aTMDHIterator= aTMXMLAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException aTMException)
{
System.out.println(aTMException.toString());
return;
}
}
This example transforms from an array of Java objects to a set of CSV files. The CSV is written using the class 'samples.openinterfaces.csv.write.TmExampleCSVWriteAdapter' which is also supplied in the distribution.
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 1);
TMJavaAdapter aTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewReadTMJavaAdapter(aTMTransformer);
aTMTransformer.setSource(projectName,aTMJavaAdapter);
TMAdapter aTMAdapter = new
samples.openinterfaces.csv.write.TmExampleCSVWriteAdapter();
aTMTransformer.setTarget(projectName,aTMAdapter);
Map params = new HashMap();
params.put(samples.openinterfaces.csv.write.TmExampleCSVWriteAdapter.DIRECTORY,
AllExamplesInJava.EXAMPLE_TGT_PATH+"csv");
aTMAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
aTMJavaAdapter.addObjects(aGame.getPlayers());
TMDHIterator aTMDHIterator= aTMJavaAdapter.getObjectsOfInterest(TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
}
catch (TMException
This example transforms from a set of CSV files to an array of Java objects. The CSV is read using the class 'samples.openinterfaces.csv.read.TmExampleCSVReadAdapter' which is also supplied in the distribution.
try
{
TMTransformExecutor aTMTransformer = TMTransformerFactory.getNewTMTransformExecutor(this, projectName, 1);
TMAdapter aTMAdapter = new samples.openinterfaces.csv.read.TmExampleCSVReadAdapter();
aTMTransformer.setSource(projectName,aTMAdapter);
TMJavaAdapter aTMJavaAdapter = TMBuiltInAdaptorFactory.makeNewWriteTMJavaAdapter(aTMTransformer);
aTMTransformer.setTarget(projectName,aTMJavaAdapter);
Map params = new HashMap();
params.put(samples.openinterfaces.csv.read.TmExampleCSVReadAdapter.
DIRECTORY, AllExamplesInJava.EXAMPLE_SRC_PATH+"csv");
params.put(samples.openinterfaces.csv.read.TmExampleCSVReadAdapter.
EXTENSION, "csv");
aTMAdapter.setInstanceConnectionData(params);
aTMTransformer.openProjectAndResources();
TMDHIterator aTMDHIterator= aTMAdapter.getObjectsOfInterest(net.etltm.qp.TMQueryObjectsFactory.createTMQuerySet("samples.deployment.examples.src.Person"));
while (true)
{
TMDH aTMDH = aTMDHIterator.getNextDH();
if (null==aTMDH)
{
break;
}
aTMTransformer.transform(aTMDH);
}
SimpleUtilities.showJavaObjects(aTMJavaAdapter, "samples.deployment.examples.tgt.Player");
}
catch (TMException ...