# Intersection is not working

**URL:** <https://forum.cloverdx.com/t/intersection-is-not-working/361>\
**Category:** CloverDX Platform\
**Created:** [July 25, 2008, 12:00am UTC](https://forum.cloverdx.com/t/intersection-is-not-working/361 "2008-07-25T00:00:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mishrahanuyahoocoin](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@mishrahanuyahoocoin](https://forum.cloverdx.com/u/mishrahanuyahoocoin)\
**Post date:** [July 25, 2008, 12:00am UTC](https://forum.cloverdx.com/t/intersection-is-not-working/361/1 "2008-07-25T00:00:00Z")

</div>

Hi,  
I want to integrate two files but my code is not going in the transform calss

my code is:

String childFileName=controller.inputFileName;  
boolean isDone = false;  
DBConnection dbCon;  
Phase PHASE\_0 = new Phase(1);  
// initialization; must be present  
EngineInitializer.initEngine(null, null, null);  
System.out  
.println(“\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*”);  
// create connection object. Get driver and connect string from cfg file  
// specified as a first argument

DataBaseConnection dbConn=new DataBaseConnection();  
[//System.out.println](https://System.out.println)(“Test3333333333333”);  
dbCon=dbConn.getConnection();  
//dbCon = new DBConnection(“dbConnection”, “src/mysql.cfg”);

System.out.println(“…Db connections…”+dbCon);  
try {  
System.out.println(“Id of the DB Connection:::”+dbCon.getId());  
dbCon.init();

} catch (Exception ex) {  
ex.printStackTrace();  
}  
/\*Connection conn = dbCon.getConnection(“Conn0”);  
Statement st=null;  
ResultSet rs1=null;

try {  
st=conn.createStatement();

rs1=st.executeQuery(“select code from feed\_institution”);  
rs1.next();  
System.out.println("Result Setttt "+rs1.getString(“code”));

} catch (SQLException e2) {  
// TODO Auto-generated catch block  
e2.printStackTrace();  
} \*/  
[//this.createConnection](https://this.createConnection)();

// initialization; must be present

//DataRecordMetadata childMetadata=controller.MetadataInput;  
// DataRecordMetadata parentMetadata=metadataInput;

DataRecordMetadata mergerd\_metada = new DataRecordMetadata(  
“metadaat3”, DataRecordMetadata.DELIMITED\_RECORD);

mergerd\_metada.addField(new DataFieldMetadata(“contortia\_id1”,  
DataFieldMetadata.STRING\_FIELD, null));

mergerd\_metada.addField(new DataFieldMetadata(“contortia\_name”,  
DataFieldMetadata.STRING\_FIELD, null));

mergerd\_metada.addField(new DataFieldMetadata(“institution\_id”,  
DataFieldMetadata.STRING\_FIELD, null));  
mergerd\_metada.addField(new DataFieldMetadata(“contortia\_id2”,  
DataFieldMetadata.STRING\_FIELD, null));

mergerd\_metada.setFieldDelimiter(separator);  
mergerd\_metada.setRecordDelimiters(“\n”);

DataRecordMetadata parentMetadata = new DataRecordMetadata(  
“metadaat1”, DataRecordMetadata.DELIMITED\_RECORD);

parentMetadata.addField(new DataFieldMetadata(“contortia\_id”,  
DataFieldMetadata.STRING\_FIELD, null));

parentMetadata.addField(new DataFieldMetadata(“contortia\_name”,  
DataFieldMetadata.STRING\_FIELD, null));

parentMetadata.setFieldDelimiter(“,”);  
parentMetadata.setRecordDelimiters(“\n”);

DataRecordMetadata childMetadata = new DataRecordMetadata(  
“metadaat”, DataRecordMetadata.DELIMITED\_RECORD);

childMetadata.addField(new DataFieldMetadata(“institution\_id”,  
DataFieldMetadata.STRING\_FIELD, null));

childMetadata.addField(new DataFieldMetadata(“contortia\_id”,  
DataFieldMetadata.STRING\_FIELD, null));

childMetadata.setFieldDelimiter(“,”);  
childMetadata.setRecordDelimiters(“\n”);

Map parentmap=parentMetadata.getFieldNames();  
String str=parentMetadata.getFieldDelimiters();

System.out.println(str[0]+“delimiter”);  
Set entrySet1 =parentmap.entrySet();  
Iterator iter1=entrySet1.iterator();  
while (iter1.hasNext()) {  
Map.Entry entry1 = (Map.Entry) iter1.next();  
System.out.println(entry1.getKey()+“—parent—”+entry1.getValue());

}

Map childmap=childMetadata.getFieldNames();  
Set entrySet =childmap.entrySet();

String common=null;  
Iterator iter=entrySet.iterator();

while (iter.hasNext()) {  
Map.Entry entry = (Map.Entry) iter.next();  
System.out.println(entry.getKey()+“—child—”+entry.getValue());  
}

Map mergerd\_metadamap=mergerd\_metada.getFieldNames();  
Set entrySet2 =mergerd\_metadamap.entrySet();

//String common=null;  
Iterator iter2=entrySet2.iterator();

while (iter2.hasNext()) {  
Map.Entry entry2 = (Map.Entry) iter2.next();  
System.out.println(entry2.getKey()+“—merge—”+entry2.getValue());  
}

TransformationGraph institutionOrphanCheckGraph = new TransformationGraph();

/\* String parentQuery=“select code from feed\_institution”;  
String childQuery=“select pub\_code from ip\_institutions”;\*/  
// Nodes…  
System.out.println(“PArent File:”+parentFileName);  
System.out.println(“Child File:”+childFileName);  
DelimitedDataReader parentDBReader = new DelimitedDataReader(“parentReader”,parentFileName);  
parentDBReader.setSkipFirstLine(true);

Node parentDBReaderNode = parentDBReader;  
// System.out.println(“Child File”+controller.inputFileName);  
DelimitedDataReader childDBReader = new DelimitedDataReader(“childReader”,childFileName);

childDBReader.setSkipFirstLine(true);  
Node childDBReaderNode = childDBReader;

String dedupKeys={“contortia\_id”};  
String sortKeys={“contortia\_id”};  
String joinKeys={“contortia\_id”};  
[//System.out.println](https://System.out.println)(“Join Keys::::”+joinKeys[0]);  
Dedup parentDedup=new Dedup(“parentDedup”,dedupKeys,-1);

Node parentDedupNode = parentDedup;

Dedup childDedup=new Dedup(“childDedup”,dedupKeys,-1);

Node childDedupNode = childDedup;

Sort parentSort=new Sort(“parentSort”,sortKeys);  
Node parentSortNode=parentSort;

Sort childSort=new Sort(“childSort”,sortKeys);  
Node childSortNode=childSort;

OrphanTransform orphanDatTrans=new OrphanTransform();

orphanDatTrans.init();

DataIntersection dataIntrsection=new DataIntersection(“dataIntersection”,joinKeys,orphanDatTrans);  
Node dataIntrsectionNode=dataIntrsection;

String outputFile1 = “C:/hanu/feeds/parent.csv”;  
String outputFile2 = “C:/hanu/feeds/parent\_child.csv”;  
String outputFile3 = “C:/hanu/feeds/child.csv”;  
XLSWriter xlsReport\_A=new XLSWriter(“DataWriter1”,outputFile1,false);  
XLSWriter xlsReport\_A\_B=new XLSWriter(“DataWriter2”,outputFile2,false);  
XLSWriter xlsReport\_B=new XLSWriter(“DataWriter3”,outputFile3,false);

//XLSWriter xlsReport1=new XLSWriter(“DataWriter2”,outputFile3,false);  
[//xlsReport.setName](https://xlsReport.setName)(“report1”); xlsReport1.setName(“report2”); Node  
// nodeWrite2=xlsReport; Node nodeWrite3=xlsReport1;

Node xlsReport\_ANode = new DelimitedDataWriter(“DataWriter1”, outputFile1,  
false);  
Node xlsReport\_A\_BNode = new DelimitedDataWriter(“DataWriter2”, outputFile2,  
false);

Node xlsReport\_BNode = new DelimitedDataWriter(“DataWriter3”, outputFile3,  
false);

// /Edges…

Edge egde1 = new Edge(“InEdge1”, parentMetadata);

Edge egde2 = new Edge(“OutEdge2”, childMetadata);

Edge egde3 = new Edge(“OutEdge3”, parentMetadata);  
Edge egde4 = new Edge(“OutEdge4”, childMetadata);  
Edge egde5 = new Edge(“OutEdge5”, parentMetadata);  
Edge egde6 = new Edge(“OutEdge6”, childMetadata);  
Edge egde7 = new Edge(“OutEdge7”, parentMetadata);  
Edge egde8 = new Edge(“OutEdge8”, mergerd\_metada);  
Edge egde9 = new Edge(“OutEdge9”, childMetadata);

egde1.connectReader(parentDBReaderNode, 0);  
egde1.connectWriter(parentSortNode, 0);  
egde2.connectReader(childDBReaderNode, 0);  
egde2.connectWriter(childSortNode, 0);  
egde3.connectReader(parentSortNode, 0);  
egde3.connectWriter(parentDedupNode, 0);  
egde4.connectReader(childSortNode, 0);  
egde4.connectWriter(childDedupNode, 0);  
egde5.connectReader(parentDedupNode, 0);  
egde5.connectWriter(dataIntrsectionNode, 0);  
egde6.connectReader(childDedupNode, 0);  
egde6.connectWriter(dataIntrsectionNode, 1);  
// egde4.connectWriter(dbOutPut, 0);  
egde7.connectReader(dataIntrsectionNode, 0);  
egde7.connectWriter(xlsReport\_ANode, 0);

egde8.connectReader(dataIntrsectionNode, 1);  
egde8.connectWriter(xlsReport\_A\_BNode, 0);  
egde9.connectReader(dataIntrsectionNode, 2);  
egde9.connectWriter(xlsReport\_BNode, 0);

////nodes…

parentDBReaderNode.addOutputPort(0, egde1);

childDBReaderNode.addOutputPort(0, egde2);

parentSortNode.addInputPort(0, egde1);  
parentSortNode.addOutputPort(0, egde3);

childSortNode.addInputPort(0, egde2);  
childSortNode.addOutputPort(0, egde4);

parentDedupNode.addInputPort(0, egde3);  
parentDedupNode.addOutputPort(0, egde5);

childDedupNode.addInputPort(0, egde4);  
childDedupNode.addOutputPort(0, egde6);

dataIntrsectionNode.addInputPort(0, egde5);  
dataIntrsectionNode.addInputPort(1, egde6);  
dataIntrsectionNode.addOutputPort(0, egde7);  
dataIntrsectionNode.addOutputPort(1, egde8);  
dataIntrsectionNode.addOutputPort(2, egde9);

xlsReport\_ANode.addInputPort(0, egde7);  
xlsReport\_A\_BNode.addInputPort(0, egde8);  
xlsReport\_BNode.addInputPort(0, egde9);

// add Edges & Nodes & Phases to graph  
try {  
[//institutionOrphanCheckGraph.addConnection](https://institutionOrphanCheckGraph.addConnection)(dbConnection);  
[//institutionOrphanCheckGraph.addConnection](https://institutionOrphanCheckGraph.addConnection)(dbCon);  
institutionOrphanCheckGraph.addPhase(PHASE\_0);  
PHASE\_0.addNode(parentDBReaderNode);  
PHASE\_0.addNode(childDBReaderNode);  
PHASE\_0.addNode(parentDedupNode);  
PHASE\_0.addNode(parentSortNode);  
PHASE\_0.addNode(childDedupNode);  
PHASE\_0.addNode(childSortNode);  
PHASE\_0.addNode(dataIntrsectionNode);

PHASE\_0.addNode(xlsReport\_ANode);  
PHASE\_0.addNode(xlsReport\_A\_BNode);  
PHASE\_0.addNode(xlsReport\_BNode);  
// PHASE\_0.addNode(dbOutPutTable);

// institutionGraph.addPhase(PHASE\_0);

institutionOrphanCheckGraph.addEdge(egde1);  
institutionOrphanCheckGraph.addEdge(egde2);

institutionOrphanCheckGraph.addEdge(egde3);  
institutionOrphanCheckGraph.addEdge(egde4);  
institutionOrphanCheckGraph.addEdge(egde5);  
institutionOrphanCheckGraph.addEdge(egde6);  
institutionOrphanCheckGraph.addEdge(egde7);  
institutionOrphanCheckGraph.addEdge(egde8);  
institutionOrphanCheckGraph.addEdge(egde9);  
// institutionGraph.addEdge(egde6);

} catch (GraphConfigurationException ex) {

System.out.println(“::::::::::::::::::::::::::File Not Found:::::::::::::::::::::::::::::::::::::::::::::::::::::::”);

ex.printStackTrace();  
}

// prepare runtime parameters - JMX is turned off  
GraphRuntimeContext runtimeContext = new GraphRuntimeContext();  
runtimeContext.setUseJMX(false);

GraphExecutor executor = new GraphExecutor();

System.out.println(“Grapgh Executer…” + executor);  
System.out.println(“…Graph…” + institutionOrphanCheckGraph);  
try {  
GraphExecutor.initGraph(institutionOrphanCheckGraph);  
} catch (ComponentNotReadyException e) {  
System.out.println(“::::::::::::::::::::::::::File Not Found in Compontnt not ready:::::::::::::::::::::::::::::::::::::::::::::::::::::::”);  
System.out.println(“Failed graph initialization!\n”  
+ e.getMessage());  
return false;  
}  
Future result;  
try {  
result = executor.runGraph(institutionOrphanCheckGraph, runtimeContext);

Result rs = result.get();  
executor.free();  
institutionOrphanCheckGraph.free();  
System.out.println(result.isDone() + “\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>\>”);  
if (result.isDone()) {  
System.out.println(“Done”);  
isDone = true;  
}  
if (!result.get().equals(Result.FINISHED\_OK)) {  
System.out.println(result.get().message());  
// System.out.println(“Failed graph execution!”);  
// return false;  
}  
} catch (Exception e) {  
System.out.println(“Failed graph execution!\n” + e.getMessage());  
// return false;  
}  
return isDone;  
}

---

<div class="post-metadata">

**Author:** ![jurban](https://avatars.discourse-cdn.com/v4/letter/j/cc9497/32.png) [@jurban](https://forum.cloverdx.com/u/jurban)\
**Post date:** [July 25, 2008, 1:45pm UTC](https://forum.cloverdx.com/t/intersection-is-not-working/361/2 "2008-07-25T13:45:41Z")

</div>

Hi,  
can you please describe what is happening in more detail? E.g. the output of the executed code etc. I can’t find the error just by looking at the code.

Jaro

---

<div class="post-metadata">

**Author:** ![mishrahanuyahoocoin](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@mishrahanuyahoocoin](https://forum.cloverdx.com/u/mishrahanuyahoocoin)\
**Post date:** [July 25, 2008, 4:18pm UTC](https://forum.cloverdx.com/t/intersection-is-not-working/361/3 "2008-07-25T16:18:52Z")

</div>

Hi Jaro,

I got solution…It was silly…

Thanks,
