private void checkCoordAction(String actionId) throws StoreException {
   CoordinatorStore store = new CoordinatorStore(false);
   try {
     CoordinatorActionBean action = store.getCoordinatorAction(actionId, false);
     SLAStore slaStore = new SLAStore(store);
     long lastSeqId[] = new long[1];
     List<SLAEventBean> slaEvents = slaStore.getSLAEventListNewerSeqLimited(0, 10, lastSeqId);
     // System.out.println("AAA " + slaEvents.size() + " : " +
     // lastSeqId[0]);
     if (slaEvents.size() == 0) {
       fail("Unable to GET any record of sequence id greater than 0");
     }
   } catch (StoreException se) {
     se.printStackTrace();
     fail("Action ID " + actionId + " was not stored properly in db");
   }
 }
 private void addRecordToJobTable(String jobId, Date startTime, Date endTime)
     throws StoreException {
   CoordinatorStore store = new CoordinatorStore(false);
   CoordinatorJobBean coordJob = new CoordinatorJobBean();
   coordJob.setId(jobId);
   coordJob.setAppName("testApp");
   coordJob.setStartTime(startTime);
   coordJob.setEndTime(endTime);
   coordJob.setTimeUnit(Timeunit.DAY);
   coordJob.setAppPath("testAppPath");
   coordJob.setStatus(CoordinatorJob.Status.PREMATER);
   coordJob.setCreatedTime(new Date()); // TODO: Do we need that?
   coordJob.setLastModifiedTime(new Date());
   coordJob.setUser("testUser");
   coordJob.setGroup("testGroup");
   coordJob.setTimeZone("America/Los_Angeles");
   String confStr = "<configuration></configuration>";
   coordJob.setConf(confStr);
   String appXml =
       "<coordinator-app xmlns='uri:oozie:coordinator:0.1' xmlns:sla='uri:oozie:sla:0.1' name='NAME' frequency=\"1\" start='2009-03-06T010:00Z' end='2009-03-11T10:00Z' timezone='America/Los_Angeles' freq_timeunit='DAY' end_of_duration='NONE'>";
   appXml += "<controls>";
   appXml += "<timeout>10</timeout>";
   appXml += "<concurrency>2</concurrency>";
   appXml += "<execution>LIFO</execution>";
   appXml += "</controls>";
   appXml += "<input-events>";
   appXml += "<data-in name='A' dataset='a'>";
   appXml +=
       "<dataset name='a' frequency='7' initial-instance='2009-02-01T01:00Z' timezone='UTC' freq_timeunit='DAY' end_of_duration='NONE'>";
   appXml += "<uri-template>file:///tmp/coord/workflows/${YEAR}/${MONTH}/${DAY}</uri-template>";
   appXml += "</dataset>";
   appXml += "<instance>${coord:current(0)}</instance>";
   appXml += "<instance>${coord:latest(-1)}</instance>";
   // appXml += "<start-instance>${coord:current(-2)}</start-instance>";
   // appXml += "<end-instance>${coord:current(0)}</end-instance>";
   appXml += "</data-in>";
   appXml += "</input-events>";
   appXml += "<output-events>";
   appXml += "<data-out name='LOCAL_A' dataset='local_a'>";
   appXml +=
       "<dataset name='local_a' frequency='7' initial-instance='2009-02-01T01:00Z' timezone='UTC' freq_timeunit='DAY' end_of_duration='NONE'>";
   appXml += "<uri-template>file:///tmp/coord/workflows/${YEAR}/${DAY}</uri-template>";
   appXml += "</dataset>";
   appXml += "<instance>${coord:current(-1)}</instance>";
   appXml += "</data-out>";
   appXml += "</output-events>";
   appXml += "<action>";
   appXml += "<workflow>";
   appXml += "<app-path>hdfs:///tmp/workflows/</app-path>";
   appXml += "<configuration>";
   appXml += "<property>";
   appXml += "<name>inputA</name>";
   appXml += "<value>${coord:dataIn('A')}</value>";
   appXml += "</property>";
   appXml += "<property>";
   appXml += "<name>inputB</name>";
   appXml += "<value>${coord:dataOut('LOCAL_A')}</value>";
   appXml += "</property>";
   appXml += "</configuration>";
   appXml += "</workflow>";
   appXml +=
       " <sla:info>"
           // + " <sla:client-id>axonite-blue</sla:client-id>"
           + " <sla:app-name>test-app</sla:app-name>"
           + " <sla:nominal-time>${coord:nominalTime()}</sla:nominal-time>"
           + " <sla:should-start>5</sla:should-start>"
           + " <sla:should-end>120</sla:should-end>"
           + " <sla:notification-msg>Notifying User for ${coord:nominalTime()} nominal time </sla:notification-msg>"
           + " <sla:alert-contact>[email protected]</sla:alert-contact>"
           + " <sla:dev-contact>[email protected]</sla:dev-contact>"
           + " <sla:qa-contact>[email protected]</sla:qa-contact>"
           + " <sla:se-contact>[email protected]</sla:se-contact>"
           + "</sla:info>";
   appXml += "</action>";
   appXml += "</coordinator-app>";
   /*try {
       System.out.println(XmlUtils.prettyPrint(XmlUtils.parseXml(appXml)));
       ;
   }
   catch (JDOMException e1) {
       // TODO Auto-generated catch block
       e1.printStackTrace();
   }*/
   coordJob.setJobXml(appXml);
   coordJob.setLastActionNumber(0);
   coordJob.setFrequency(1);
   try {
     coordJob.setEndTime(DateUtils.parseDateUTC("2009-03-11T10:00Z"));
   } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     fail("Could not set end time");
   }
   try {
     store.beginTrx();
     store.insertCoordinatorJob(coordJob);
     store.commitTrx();
   } catch (StoreException se) {
     se.printStackTrace();
     store.rollbackTrx();
     fail("Unable to insert the test job record to table");
     throw se;
   } finally {
     store.closeTrx();
   }
 }