[kepler-users] changing MoML parameters

Edward A. Lee eal at eecs.berkeley.edu
Sun Jun 28 08:12:17 PDT 2009


The problem is that context is null, so the MoML parser is trying to
create an attribute with no container. It tries to put in the Workspace,
but a naked Attribute can't go in the workspace. Only subclasses of Entity
can go in the workspace.  I think you want:

   context = toplevel;

rather than

   context = toplevel.getContainer();

Edward


Ufuk Utku Turuncoglu wrote:
> Hi,
> 
> I try to change parameters of a MoML file but i get following error,
> 
> java.lang.RuntimeException: MoMLSimplApplication.changeFailed(): 
> <property name="gridftp_srv" value="gridftp.frost.ncar.teragrid.org"/> 
> failed:
>    at 
> ptolemy.moml.MoMLSimpleApplication.changeFailed(MoMLSimpleApplication.java:167) 
> 
>    at ptolemy.kernel.util.ChangeRequest.execute(ChangeRequest.java:204)
>    at ptolemy.kernel.util.NamedObj.executeChangeRequests(NamedObj.java:699)
>    at ptolemy.kernel.util.NamedObj.requestChange(NamedObj.java:1686)
>    at ptolemy.actor.CompositeActor.requestChange(CompositeActor.java:1347)
>    at org.earth.loader.JobMail.fire(JobMail.java:146)
>    at org.earth.loader.JobMail.print(JobMail.java:274)
>    at org.earth.loader.CheckMailBox.run(KeplerEarth.java:216)
>    at java.lang.Thread.run(Thread.java:637)
> Caused by: com.microstar.xml.XmlException: Cannot find a suitable 
> constructor (2 args) (class ptolemy.kernel.util.Workspace = 
> "ptolemy.kernel.util.Workspace {}", class java.lang.String = 
> "gridftp_srv") for 'ptolemy.kernel.util.Attribute' in [external stream] 
> at line 1 and column 72
>    at ptolemy.moml.MoMLParser._createInstance(MoMLParser.java:4179)
>    at ptolemy.moml.MoMLParser._handlePropertyElement(MoMLParser.java:5348)
>    at ptolemy.moml.MoMLParser.startElement(MoMLParser.java:2866)
>    at com.microstar.xml.XmlParser.parseElement(XmlParser.java:931)
>    at com.microstar.xml.XmlParser.parseDocument(XmlParser.java:481)
>    at com.microstar.xml.XmlParser.doParse(XmlParser.java:159)
>    at com.microstar.xml.XmlParser.parse(XmlParser.java:132)
>    at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1394)
>    at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1367)
>    at ptolemy.moml.MoMLParser.parse(MoMLParser.java:1522)
>    at ptolemy.moml.MoMLChangeRequest._execute(MoMLChangeRequest.java:270)
>    at ptolemy.kernel.util.ChangeRequest.execute(ChangeRequest.java:170)
>    ... 7 more
> 
> The part of my code as follow,
> 
>            MoMLParser parser = new MoMLParser();
>            MoMLParser.setMoMLFilters(BackwardCompatibility.allFilters());
>            MoMLParser.addMoMLFilter(new RemoveGraphicalClasses());
>            CompositeActor toplevel = (CompositeActor) parser.parse(null, 
> new File(wkdir+"/"+wkname).toURI().toURL());
>                      NamedObj context = toplevel.getContainer();
>                      // create a manager for composite actor and execute it
>            Manager manager = new Manager(toplevel.workspace(), 
> "Follow-up workflow");
>            toplevel.setManager(manager);
>            toplevel.addChangeListener(this);
>            manager.addExecutionListener(this);
>                      // get parameters and values
>            NodeList nodes = (NodeList) 
> reader.read("//parameters/node()", XPathConstants.NODESET);
>            for (int i=0; i<nodes.getLength(); i++) {
>                Node node = nodes.item(i);
>                              if (node.getNodeType() == Node.ELEMENT_NODE) {
>                    String moml = "<property 
> name=\""+node.getNodeName()+"\" value=\""+node.getTextContent()+"\"/>";
>                    ChangeRequest request = new 
> MoMLChangeRequest(context, moml);
>                    toplevel.requestChange(request);
>                }
>                                        }
> 
> I think that problem is related with definition of MoMLChangeRequest but 
> i am not sure.  Any suggestion will be helpful.
> 
> Thanks,
> 
> --ufuk
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: eal.vcf
Type: text/x-vcard
Size: 351 bytes
Desc: not available
URL: <http://lists.nceas.ucsb.edu/kepler/pipermail/kepler-users/attachments/20090628/54ec8ad0/attachment.vcf>


More information about the Kepler-users mailing list