[
https://issues.apache.org/jira/browse/OOZIE-580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13134687#comment-13134687
]
[email protected] commented on OOZIE-580:
-----------------------------------------------------
bq. On 2011-10-25 00:19:19, Santhosh Srinivasan wrote:
bq. > Need comments in the methods to explain the significance of code
segments.
added it.
bq. On 2011-10-25 00:19:19, Santhosh Srinivasan wrote:
bq. >
/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java,
line 456
bq. > <https://reviews.apache.org/r/2427/diff/4/?file=52966#file52966line456>
bq. >
bq. > actionName is not used in the method
fixed it.
- Angelo K.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2427/#review2812
-----------------------------------------------------------
On 2011-10-24 23:56:50, Angelo K. Huang wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/2427/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2011-10-24 23:56:50)
bq.
bq.
bq. Review request for oozie.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. try {
bq. String valueElem = "<value>"+value+"</value>";
bq. XmlUtils.parseXml(valueElem);
bq. }
bq. catch (JDOMException ex) {
bq. // It should not happen, so escape the characters for xml
bq. value = XmlUtils.escapeCharsForXML(value);
bq. }
bq.
bq. With above check, for element CDATA can be avoided for escaping, EX:
bq.
bq. For these two elements, first one has to convert because of '&', however
second one can be avoided.
bq.
bq. <property>
bq. <name>test.ampsign</name>
bq.
<value>http://app1.soln-stage.nova.cp.vip.ne1.yahoo.com/nova-webservices?urlSigner=signUrl&namespace=nova.proxy</value>
bq. </property>
bq. <property>
bq. <name>test.cdata</name>
bq.
<value><![CDATA[?redirect=http%3A%2F%2Fapp1.soln-stage.nova.cp.vip.ne1.yahoo.com%3A4080%2Fnova-webservices%2Fv1%2FurlSigner%2FsignUrl&namespace=nova.proxy&keyDBHash=Vsy6n_C7K6NG0z4R2eBlKg--]]></value>
bq. </property>
bq.
bq.
bq. *** & has to convert to & ***
bq. *** <![CDATA[]] does not need to convert. ***
bq.
bq. <property>
bq. <name>test.ampsign</name>
bq.
<value>http://app1.soln-stage.nova.cp.vip.ne1.yahoo.com/nova-webservices?urlSigner=signUrl&namespace=nova.proxy</value>
bq. </property>
bq. <property>
bq. <name>test.cdata</name>
bq.
<value><![CDATA[?redirect=http%3A%2F%2Fapp1.soln-stage.nova.cp.vip.ne1.yahoo.com%3A4080%2Fnova-webservices%2Fv1%2FurlSigner%2FsignUrl&namespace=nova.proxy&keyDBHash=Vsy6n_C7K6NG0z4R2eBlKg--]]></value>
bq. </property>
bq.
bq.
bq. This addresses bug OOZIE-580.
bq. https://issues.apache.org/jira/browse/OOZIE-580
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. /trunk/core/src/main/java/org/apache/oozie/DagELFunctions.java 1185461
bq.
/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionStartXCommand.java
1185461
bq.
/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java
1185461
bq. /trunk/release-log.txt 1185461
bq.
bq. Diff: https://reviews.apache.org/r/2427/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq.
bq. Thanks,
bq.
bq. Angelo K.
bq.
bq.
> use xml element to handle string escape when configure evaluator
> ----------------------------------------------------------------
>
> Key: OOZIE-580
> URL: https://issues.apache.org/jira/browse/OOZIE-580
> Project: Oozie
> Issue Type: Improvement
> Reporter: Angelo K. Huang
> Assignee: Angelo K. Huang
>
> Instead of using string value to do escape, xml element is able to do it and
> also avoid escaping legit character at XML element, such as <![CDATA[]]>.
> public static void configureEvaluator(ELEvaluator evaluator, WorkflowJobBean
> workflow, WorkflowActionBean action) {
> evaluator.setVariable(WORKFLOW, workflow);
> evaluator.setVariable(ACTION, action);
> for (Map.Entry<String, String> entry :
> workflow.getWorkflowInstance().getConf()) {
> if (ParamChecker.isValidIdentifier(entry.getKey())) {
> String value = entry.getValue().trim();
> // escape the characters for xml
> value = XmlUtils.escapeCharsForXML(value);
> evaluator.setVariable(entry.getKey().trim(), value);
> }
> }
> try {
> evaluator.setVariable(ACTION_PROTO_CONF,
> new XConfiguration(new
> StringReader(workflow.getProtoActionConf())));
> }
> catch (IOException ex) {
> throw new RuntimeException("It should not happen", ex);
> }
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira