Imported from dev1.link2tek.net CommEngine.git
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

89 rindas
2.7 KiB

  1. package altk.comm.engine;
  2. public class JobReport
  3. {
  4. private String broadcastId;
  5. private String launchRecordId;
  6. private String contactId;
  7. private String recordId; // id into table, e.g. call_record, sms_record, etc.
  8. private String jobStatus; // Note: not enum
  9. private String errorText;
  10. private long startTime;
  11. private String activityRecordIdParamName;
  12. private String xmlRootNodeName;
  13. protected JobReport()
  14. {
  15. }
  16. protected final void initBase(Job job, String broadcastId, String launchRecordId,
  17. String activityRecordIdParamName, String xmlRootNodeName)
  18. {
  19. if (broadcastId == null || broadcastId.length() == 0)
  20. {
  21. throw new IllegalArgumentException("JobReport given null or empty broadcastId");
  22. }
  23. if (launchRecordId == null || launchRecordId.length() == 0)
  24. {
  25. throw new IllegalArgumentException("JobReport given null or empty launchRecordId");
  26. }
  27. this.broadcastId = broadcastId;
  28. this.launchRecordId = launchRecordId;
  29. this.activityRecordIdParamName = activityRecordIdParamName;
  30. this.xmlRootNodeName = xmlRootNodeName;
  31. startTime = job.startTime;
  32. contactId = job.recipient.contact_id;
  33. recordId = job.recipient.activity_record_id;
  34. jobStatus = job.jobStatus.toString();
  35. errorText = job.errorText;
  36. }
  37. /**
  38. * Derived class may initialize its own attributes.
  39. * @param job
  40. */
  41. public void init(Job job)
  42. {
  43. }
  44. public String toString()
  45. {
  46. StringBuffer xml = new StringBuffer();
  47. appendXML(xml);
  48. return xml.toString();
  49. }
  50. public final StringBuffer appendXML(StringBuffer xml)
  51. {
  52. xml.append("<" + xmlRootNodeName + " broadcast_id=\"" + broadcastId
  53. + "\" launch_record_id=\"" + launchRecordId
  54. + "\" " + activityRecordIdParamName + "=\"" + recordId
  55. + "\" contact_id=\"" + contactId
  56. + "\" recipient_status=\"" + jobStatus + "\" >\r\n");
  57. xml.append("<start_time>" + startTime/1000 + "</start_time>\r\n");
  58. xml = appendSpecificXML(xml);
  59. if (errorText != null && errorText.length() > 0)
  60. {
  61. xml.append("<error_text>");
  62. xml.append(errorText.replaceAll("&", "&amp;").replaceAll("<", "&lt;"));
  63. xml.append("</error_text>\r\n");
  64. }
  65. xml.append("</" + xmlRootNodeName + ">");
  66. return xml;
  67. }
  68. /**
  69. * Append data to xml which is specific to the derived class. For example, email
  70. * address for EmailJobReport.
  71. * @param xml
  72. * @return
  73. */
  74. protected StringBuffer appendSpecificXML(StringBuffer xml)
  75. {
  76. return xml;
  77. }
  78. }