Issue on the programmatic usage of Subprocess Operator
jaysonpryde
New Altair Community Member
Hi,
I am currently coding, in Java, a module that utilizes a rapid miner process I've created. The said process contains a Subprocess operator, which in turn, contains operators whose parameters are to be set in the code (i.e filename, csv file, etc).
I was able to that using the below code:
Based on my testing and observation, I am quite sure that this is caused by the usage of the Subprocess operator
because when tried and moved out the operators inside the subprocess and just connect it in the main process,
the module is no longer hanging (both during debug and running as a JAR)
Any ideas on this? Thank you!
I am currently coding, in Java, a module that utilizes a rapid miner process I've created. The said process contains a Subprocess operator, which in turn, contains operators whose parameters are to be set in the code (i.e filename, csv file, etc).
I was able to that using the below code:
The code is OK and the module is working perfectly. Only, it HANGS and it never terminates.
Process process = new Process(new File(filename of the rapidminer process));
...
...
OperatorChain oc = (OperatorChain)process.getOperator(label of the subprocess);
oc.getSubprocess(0).getOperatorByName("Log").setParameter("filename", log filename);
...
...
process.run()
Based on my testing and observation, I am quite sure that this is caused by the usage of the Subprocess operator
because when tried and moved out the operators inside the subprocess and just connect it in the main process,
the module is no longer hanging (both during debug and running as a JAR)
Any ideas on this? Thank you!
0
Answers
-
Any ideas from anybody? Thanks!0
-
Anybody?0
-
Hi,
Put yourself in our position. With what you've provided we can only guess. Perhaps the problem is in the XML, or the combination of the XML and Java call. Perhaps, perhaps, perhaps.0 -
Thanks for feedback haddock!
Like what I mentioned, it's working fine in the rapidMiner GUI. So i think that eliminates/nullifies your hypothesis that it has something to do with the XML.
To somehow rephrase my question/inquiry/request, can someone kindly provide an example on how to access a Subprocess operator on a given process and inside that Subprocess operator, set some parameters of some operators inside it (e.g. filename, csv file, etc)
Again, thank you!0 -
Hi,
I misinterpreted
So I was interested in ....The code is OK and the module is working perfectly. Only, it HANGS and it never terminates.
Good luck with that.or the combination of the XML and Java call 0 -
Hi,
just a quick&dirty example of how to access the parameters of operators in any subprocess:
Regards,
Operator operator = process.getOperator("Subprocess");
SimpleOperatorChain chain = (SimpleOperatorChain) operator;
for (Operator op : chain.getSubprocess(0).getOperators()) {
if (op.getName().equals("YOUR_DESIRED_OPERATOR_NAME")) {
for (ParameterType paramType : op.getParameters().getParameterTypes()) {
// do something here
// or access the needed parameter directly via the operator
}
}
}
Marco0 -
Thank you very much!0