Sending Objects from Java - Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg90770] Sending Objects from Java - Mathematica
- From: Jochen Adamek <tronador at cs.tu-berlin.de>
- Date: Wed, 23 Jul 2008 05:59:44 -0400 (EDT)
Dear Mathematica-experts, i have written a Java-code, where i want to send some objects to Mathematica. To call a function(written in Mathematica) with four parameters under Java, i need to send objects to Mathematica. This is my Java-code: public void sendListOfEdgesToMathematica(List<String> edg) throws MathLinkException { try { ml = MathLinkFactory.createKernelLink(argv); } catch (MathLinkException e) { System.out.println("Fatal error opening link: " + e.getMessage()); return; } try { ml.enableObjectReferences(); ml.discardAnswer(); ml.evaluate("<<C:\\Java\\AGG_Engine_Mathematica\\examples.nb"); ml.discardAnswer(); ml.putFunction("EvaluatePacket", 1); ml.putFunction("doGetEdges", 1); ml.put(edg); ml.endPacket();.............. edg( a list) contains the element "e11" and i have written a Function under Mathematica for receiving the object from Java: doGetEdges[edg_] := JavaBlock[Module[{outStream}, outStream = edg@getOutputStream[]; outStream@print["Edges"]; edgesG6 = edg ] ] The problem is, Mathematica does not receive the correct value("e11"). I tried to test my implementation with a PacketListener, but without success. After sending four objects to Mathematica, i want to call the Mathematica-function under Java: "objectGraph[edgesG6, verticesG6, sourcesG6, targetsG6]" Any help would be fantastic. Best regards J.Adamek