summaryrefslogtreecommitdiffstats
path: root/src/software/lmi/software/core/InstMethodCall.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/software/lmi/software/core/InstMethodCall.py')
-rw-r--r--src/software/lmi/software/core/InstMethodCall.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/software/lmi/software/core/InstMethodCall.py b/src/software/lmi/software/core/InstMethodCall.py
index ec9356e..358d342 100644
--- a/src/software/lmi/software/core/InstMethodCall.py
+++ b/src/software/lmi/software/core/InstMethodCall.py
@@ -109,10 +109,17 @@ def job2model(job, pre=True):
type="instance", value=src_instance)
inst['SourceInstanceModelPath'] = \
str(src_instance.path) #pylint: disable=E1103
- inst['MethodName'] = Job.JOB_METHOD_NAMES[
- job.metadata["method"]]
- inst['MethodParameters'] = Job.make_method_params(
- job, '__MethodParameters', True, not pre)
+ method_name = Job.JOB_METHOD_NAMES[job.metadata["method"]]
+ inst['MethodName'] = method_name
+ # TODO: uncomment when Pegasus can correctly handle instances
+ # of unregistered classes
+ #inst['MethodParameters'] = Job.make_method_params(
+ # job, '__MethodParameters', True, not pre)
+ # TODO: until then, use this workaround
+ if not pre:
+ inst["MethodParameters"] = Job.make_method_params(
+ job, '__MethodParameters_' + method_name, False, True)
+
inst['PreCall'] = pre
if not pre: