🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

Passing values from Java to .rmp

User: "Seldimi"
New Altair Community Member
Updated by Jocelyn
Hello,
I want to make a proccess that will call RM process from java that reads a mysql table. My problem is that I want to define the name of the table outside the RM proccess file. Is there any way of passing any values from my java app to the .rmp with RM functions or i would load .rmp as text, made modifications with regural expressions and then call the process() ?

I need to share the table name from java app to .rmp. or use a java defined mysql shared connection to avoid edditing...
Another solution, is to custom make an operator but I couldnt find any usable examples.

Thx in advance.

Find more posts tagged with

Sort by:
1 - 3 of 31
    User: "Marco_Boeck"
    New Altair Community Member
    Hi,

    please have a look here first, there you can see how to execute processes via java.
    On to your question: Yes you can easily ceate the process as described above, then set the parameters of any operators you like via for example

    process.getOperator("operatorName").setParameter("key", "value");
    Regards,
    Marco
    User: "Seldimi"
    New Altair Community Member
    OP
    Yea I read the API etc but that small quote doesn't solve my problem. I wanted to pass a java mysql connection variable to RM but couldn't find the 'read from mysql' class... anyways I did something else.

    I read a 'rmp file', find the xml for the mysql table and change the table name then save file and run().
    Thats not the best solution but gave me a hand to move on.

    Now I have another poblem... I want to use kMeans from a java Array. Can I have some help on that?
    As I thought i should make the array an example table, then exampleSet, then pass it to the kMeans cluster object?
    User: "Seldimi"
    New Altair Community Member
    OP
    I manaed to create an examplset set (with MemoryExampleTable and I try to get it work with a kMeans clusterer)
    My problem is how can I tell kMeans to get the ExampleSet I ve got as input ? How can I connect the input port with the kmeans?

    I found the solution myself  (in case everyone else wants to)

    IOContainer ioInput = new IOContainer(new IOObject[] {exampleSet});
               Operator kMeans = OperatorService.createOperator(KMeans.class);
               myprocess.getRootOperator().getSubprocess(0).addOperator(kMeans);
               myprocess.getRootOperator().getSubprocess(0).getInnerSources().getPortByName("input 1").connectTo(kMeans.getInputPorts().getPortByName("example set"));
               
               kMeans.getInputPorts().getPortByName("example set").receive(exSet);
               kMeans.getOutputPorts().getPortByName("cluster model").connectTo(myprocess.getRootOperator().getSubprocess(0).getInnerSinks().getPortByName("result 1"));
               
               IOContainer ioResult=myprocess.run(ioInput);