Bug #4671
closedcannot export workflow runs when workflow has actors with <> in the names
0%
Description
Title says it all. This is at r22494.
Updated by ben leinfelder almost 15 years ago
this was for kruger tpc09?
Where was the actor with the ">" in the name?
This might be a larger ptolemy restriction and therefore not something we'll resolve.
Updated by Oliver Soong almost 15 years ago
In tpc09, it's nested in one of the composite actors. I think the one towards the bottom called structure/abundance or something similar.
Any simple test case will cause a problem, though.
Updated by Derik Barseghian almost 15 years ago
The error I get is:
[Fatal Error] :66:19: The value of attribute "name" associated with an element type "entity" must not contain the '<' character.
org.kepler.provenance.QueryException: XML error: The value of attribute "name" associated with an element type "entity" must not contain the '<' character.
at org.kepler.provenance.sql.SQLQueryV8._changeUnnamedWorkflow(SQLQueryV8.java:3208)
This happens during:
XMLParser parser = new XMLParser();
org.w3c.dom.Document doc = parser.parser(workflowStr);
The solution that comes to mind is to instead use the momlparser. However Dan has previously fixed a bug of mine that was caused by using momlparser in SQLRecordingV8 (r22173): "the wf contains a prov recorder outputting to a text file and when it's parsed, opens the text file. so there ends up being 2 objects trying to write to the text file"
I'll look into this...
Updated by ben leinfelder almost 15 years ago
can you just not use those characters in your names in this [heavily-XML-based] application?
I'm mostly being serious.
Updated by Oliver Soong almost 15 years ago
Well, I'm not sure what the restrictions are on actor names other than no dots. I wouldn't mind others, but then there should be an error or something when I put in weird things like that.
Updated by Derik Barseghian almost 15 years ago
As a test, locally I changed the method to instead use a momlparser, but unfortunately the same error crops up in KeplerActorMetadataExtractor which uses a DocumentBuilder for parsing KeplerActorMetadata.
Updated by ben leinfelder almost 15 years ago
retargeting to wrp - though perhaps it's a larger kepler issue?
Updated by Derik Barseghian over 14 years ago
This is a general Kepler issue. If we consider it a bug and not an enhancement request, it's a bug in 2.0 and trunk, so retargeting it to 2.0 for now.
To replicate in 2.0 or trunk:
Create a Workflow that contains a Display actor with the name: <>Display, and then File => Save Archive, and you'll get a stacktrace that starts:
[Fatal Error] :93:15: The value of attribute "name" associated with an element type "entity" must not contain the '<' character.
org.xml.sax.SAXParseException: The value of attribute "name" associated with an element type "entity" must not contain the '<' character.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at org.kepler.moml.KeplerMetadataExtractor.extractActorMetadata(KeplerMetadataExtractor.java:101)
at org.kepler.objectmanager.cache.ActorCacheObject.<init>(ActorCacheObject.java:142)
at org.kepler.kar.handlers.ActorMetadataKAREntryHandler.cache(ActorMetadataKAREntryHandler.java:169)
Updated by Derik Barseghian over 14 years ago
I've written part of a patch for this issue and am discussing it with Christopher.
Updated by Derik Barseghian over 14 years ago
Christopher checked in part of the fix in r57600 and r57601, and updated kepler to trunk and 2.0 branch to use these pt revs. I've just emailed him some more patches - if they seem good, I'll also check in a few changes to Kepler, and should be able to close this bug.
Updated by Derik Barseghian over 14 years ago
This is fixed at r23778. I've restricted the gui to not allow < in the name of a kar, or in the workflow rename dialog. We can probably relax this later. The user may still save a workflow with < in the name, and it will change to %3C, as before.