GH-402: Eliminate methods of bean copying in JPA executor or store class
------------------------------------------------------------------------
Key: OOZIE-277
URL: https://issues.apache.org/jira/browse/OOZIE-277
Project: Oozie
Issue Type: Bug
Reporter: Hadoop QA
JPA executors and store classes very often can see the copy methods to copy the
bean.
Ex.
private WorkflowActionBean getBeanForRunningAction(WorkflowActionBean a) {
if (a != null) {
WorkflowActionBean action = new WorkflowActionBean();
action.setId(a.getId());
}
}
The reason for that is :
# In Oozie's bean classes, we have several fields have two variables associated
with it. Like "Status", there is enum object "status" and string object
"statusStr", or like "StartTime", there is timestamp object "startTimestamp"
and date object "startTime". JPA only assign the value to default object
without going through the setter methods. A fresh bean from JPA will contain
the value in all default variables, not the other transient ones. The caller
might need to use those values when the bean is being passed to client side
where the JSON bean is used. That's why the value needs to be reset to both
variables to make sure the consistent behaviors.
This issue is used to address these copy methods and try to make it simpler.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira