Hi,
I am facing problem in one of the graphs given in CompanyTransactionsTutorial given by CloverEtl.
Here is my graph,
<?xml version="1.0" encoding="UTF-8"?>
<Graph author="mgarg" created="Wed Mar 07 11:25:04 IST 2012" guiVersion="3.2.1" id="1331102882062" licenseCode="CLDEXU13351FA2BE4EX" licenseType="Evaluation" modified="Wed Mar 07 14:06:18 IST 2012" modifiedBy="mgarg" name="A05_CreatingXMLEmplFamCustAm" revision="1.1" showComponentDetails="true">
<Global>
<Metadata fileURL="${META_DIR}/Amounts.fmt" id="Metadata0"/>
<Metadata fileURL="${META_DIR}/AmountsWithEmpID_WithCustID.fmt" id="Metadata1"/>
<Metadata fileURL="${META_DIR}/Children.fmt" id="Metadata2"/>
<Metadata fileURL="${META_DIR}/CustomersFixed.fmt" id="Metadata3"/>
<Metadata fileURL="${META_DIR}/CustomersWithEmployeeID.fmt" id="Metadata4"/>
<Metadata fileURL="${META_DIR}/Employees.fmt" id="Metadata5"/>
<Metadata fileURL="${META_DIR}/IDs.fmt" id="Metadata6"/>
<Metadata fileURL="${META_DIR}/Spouses.fmt" id="Metadata7"/>
<Property fileURL="workspace.prm" id="GraphParameter0"/>
<Dictionary/>
</Global>
<Phase number="0">
<Node enabled="enabled" fileURL="${DATATMP_DIR}/Amounts.dat" guiHeight="93" guiName="AmountsDelimited" guiWidth="135" guiX="57" guiY="352" id="AMOUNTS_DELIMITED" type="DATA_READER"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWthChildren2.xls" guiHeight="93" guiName="ChildrenXLS" guiWidth="128" guiX="49" guiY="50" id="CHILDREN_XLS" type="XLS_READER"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/CustomersFixed.txt" guiHeight="93" guiName="CustomersFixed" guiWidth="128" guiX="49" guiY="153" id="CUSTOMERS_FIXED" type="DATA_READER"/>
<Node dedupKey="EmployeeID(a);CustomerID(a)" enabled="enabled" guiHeight="67" guiName="Dedup" guiWidth="128" guiX="850" guiY="140" id="DEDUP0" type="DEDUP"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmplFamAm$$$.xml" guiHeight="93" guiName="EmployeesCustomersAmounts" guiWidth="198" guiX="1018" guiY="-33" id="EMPLOYEES_CUSTOMERS_AMOUNTS" type="EXT_XML_WRITER">
<attr name="mapping"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns:clover="http://www.cloveretl.com/ns/xmlmapping">
<employee clover:inPort="0" clover:include="$0.*">
<spouse clover:inPort="2" clover:key="EmployeeID" clover:parentKey="EmployeeID" clover:include="$2.*" clover:exclude="$2.EmployeeID">
<children>
<child clover:inPort="1" clover:key="ParentID" clover:parentKey="EmployeeID" clover:include="$1.*" clover:exclude="$1.ParentID"/>
</children>
<customer clover:inPort="3" clover:key="EmployeeID" clover:parentKey="EmployeeID" clover:include="$3.*" clover:exclude="$3.EmployeeID">
<transactions clover:inPort="4" clover:key="EmployeeID;CustomerID" clover:parentKey="EmployeeID;CustomerID" clover:include="$4.*" clover:exclude="$4.EmployeeID;$4.CustomerID"/>
</customer>
</spouse>
</employee>
</Employees>]]></attr>
</Node>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWithChildren1.xls" guiHeight="93" guiName="EmployeesXLS" guiWidth="128" guiX="49" guiY="-46" id="EMPLOYEES_XLS" type="XLS_READER"/>
<Node enabled="enabled" guiHeight="93" guiName="ExtHashJoin" guiWidth="128" guiX="462" guiY="138" id="EXT_HASH_JOIN0" joinKey="$CustomerID=$CustomerID" type="EXT_HASH_JOIN">
<attr name="transform"><![CDATA[//#CTL2
// Transforms input record into output record.
function integer transform() {
$out.0.CustomerSurname = $in.0.CustomerSurname;
$out.0.CustomerFirstname = $in.0.CustomerFirstname;
$out.0.CustomerState = $in.0.CustomerState;
$out.0.EmployeeID = $in.1.EmployeeID;
$out.0.CustomerID = $in.0.CustomerID;
return OK;
}
// Called during component initialization.
// function boolean init() {}
// Called during each graph run before the transform is executed. May be used to allocate and initialize resources
// required by the transform. All resources allocated within this method should be released
// by the postExecute() method.
// function void preExecute() {}
// Called only if transform() throws an exception.
// function integer transformOnError(string errorMessage, string stackTrace) {}
// Called during each graph run after the entire transform was executed. Should be used to free any resources
// allocated within the preExecute() method.
// function void postExecute() {}
// Called to return a user-defined error message when an error occurs.
// function string getMessage() {}
]]></attr>
</Node>
<Node enabled="enabled" guiHeight="93" guiName="ExtHashJoin" guiWidth="128" guiX="482" guiY="300" id="EXT_HASH_JOIN1" joinKey="$AmountID=$AmountID" type="EXT_HASH_JOIN">
<attr name="transform"><![CDATA[//#CTL2
// Transforms input record into output record.
function integer transform() {
$out.0.AmountID = $in.0.AmountID;
$out.0.CustomerID = $in.0.CustomerID;
$out.0.EmployeeID = $in.0.EmployeeID;
$out.0.Amount = $in.1.Amount;
return OK;
}
// Called during component initialization.
// function boolean init() {}
// Called during each graph run before the transform is executed. May be used to allocate and initialize resources
// required by the transform. All resources allocated within this method should be released
// by the postExecute() method.
// function void preExecute() {}
// Called only if transform() throws an exception.
// function integer transformOnError(string errorMessage, string stackTrace) {}
// Called during each graph run after the entire transform was executed. Should be used to free any resources
// allocated within the preExecute() method.
// function void postExecute() {}
// Called to return a user-defined error message when an error occurs.
// function string getMessage() {}
]]></attr>
</Node>
<Node enabled="enabled" guiHeight="93" guiName="ExtSort" guiWidth="128" guiX="646" guiY="168" id="EXT_SORT0" sortKey="EmployeeID(a);CustomerID(a)" type="EXT_SORT"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/IDs.dat" guiHeight="93" guiName="IDsDelimited" guiWidth="128" guiX="49" guiY="251" id="IDS_DELIMITED" type="DATA_READER"/>
<Node enabled="enabled" guiHeight="72" guiName="SimpleCopy" guiWidth="128" guiX="314" guiY="234" id="SIMPLE_COPY0" type="SIMPLE_COPY"/>
<Node enabled="enabled" fileURL="${DATATMP_DIR}/EmployeesWithChildren3.xls" guiHeight="93" guiName="SpousesXLS" guiWidth="128" guiX="638" guiY="50" id="SPOUSES_XLS" type="XLS_READER"/>
<Edge fromNode="AMOUNTS_DELIMITED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge7" inPort="Port 1 (slave)" metadata="Metadata0" outPort="Port 0 (output)" toNode="EXT_HASH_JOIN1:1"/>
<Edge fromNode="CHILDREN_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge1" inPort="Port 1 (in)" metadata="Metadata2" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:1"/>
<Edge fromNode="CUSTOMERS_FIXED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge3" inPort="Port 0 (driver)" metadata="Metadata3" outPort="Port 0 (output)" toNode="EXT_HASH_JOIN0:0"/>
<Edge fromNode="DEDUP0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge10" inPort="Port 3 (in)" metadata="Metadata4" outPort="Port 0 (unique)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:3"/>
<Edge fromNode="EMPLOYEES_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge0" inPort="Port 0 (in)" metadata="Metadata5" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:0"/>
<Edge fromNode="EXT_HASH_JOIN0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge8" inPort="Port 0 (in)" metadata="Metadata4" outPort="Port 0 (out)" toNode="EXT_SORT0:0"/>
<Edge fromNode="EXT_HASH_JOIN1:0" guiBendpoints="" guiRouter="Manhattan" id="Edge11" inPort="Port 4 (in)" metadata="Metadata1" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:4"/>
<Edge fromNode="EXT_SORT0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge9" inPort="Port 0 (in)" metadata="Metadata4" outPort="Port 0 (out)" toNode="DEDUP0:0"/>
<Edge fromNode="IDS_DELIMITED:0" guiBendpoints="" guiRouter="Manhattan" id="Edge4" inPort="Port 0 (in)" metadata="Metadata6" outPort="Port 0 (output)" toNode="SIMPLE_COPY0:0"/>
<Edge fromNode="SIMPLE_COPY0:0" guiBendpoints="" guiRouter="Manhattan" id="Edge5" inPort="Port 1 (slave)" metadata="Metadata6" outPort="Port 0 (out)" toNode="EXT_HASH_JOIN0:1"/>
<Edge fromNode="SIMPLE_COPY0:1" guiBendpoints="" guiRouter="Manhattan" id="Edge6" inPort="Port 0 (driver)" metadata="Metadata6" outPort="Port 1 (out)" toNode="EXT_HASH_JOIN1:0"/>
<Edge fromNode="SPOUSES_XLS:0" guiBendpoints="" guiRouter="Manhattan" id="Edge2" inPort="Port 2 (in)" metadata="Metadata7" outPort="Port 0 (out)" toNode="EMPLOYEES_CUSTOMERS_AMOUNTS:2"/>
</Phase>
</Graph>
When I am executing this graph, it is successfully running… But I am not able to get the output which i should get.I mean, I should get 14 XML files in data-temp folder. But I am getting only one XML file in data-temp folder and that too I am not able to open it. It is showing the following error:
org.eclipse.ui.PartInitException: Editor could not be initialized.
at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3077)
at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3088)
at org.eclipse.wst.sse.ui.StructuredTextEditor.init(StructuredTextEditor.java:2495)
at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:237)
at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:211)
at org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.addSourcePage(XMLMultiPageEditorPart.java:493)
at org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart.createPages(XMLMultiPageEditorPart.java:713)
at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2863)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2768)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2760)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2711)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2707)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2691)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2682)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99)
at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99)
at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:133)
at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:330)
at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:787)
at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:499)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:845)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:843)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1131)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1235)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: java.lang.OutOfMemoryError: Java heap space
Can anyone please tell me what should I do to eradicate this error and how can i get all the output files.
Thanks