package edu.stanford.sulair.dlss.dor.dao.mock; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import edu.stanford.sulair.dlss.dor.admin.Process; import edu.stanford.sulair.dlss.dor.dao.ProcessDao; public class ProcessDaoMock implements ProcessDao { public void deleteProcessesByRepoDruidAndWorkflowName(String repository, String druid, String workflowName) { // TODO Auto-generated method stub } // Used by WorkflowResourceTests.testGetWorkflowProcessStep // dor/objects/pid:123/workflows/googleScannedWF/convert // <process name="convert" status="waiting" datetime="2008.11.15 13:30:00 PST"/> public Process findProcess(String repository, String druid, String datastream, String name) { if(name.equals("convert")){ Process p = new Process(); p.setRepository(repository); p.setDruid(druid); p.setDatastream(datastream); p.setName(name); p.setStatus("waiting"); return p; } return null; } public List<Process> findProcessesByDruidAndDatastream(String repository, String druid, String datastream) { // TODO Auto-generated method stub return null; } public List<String> findWaitingDruids(String repository, String datastream, String waitingProcessName) { List<String> list = createResponseList(); return list; } private List<String> createResponseList() { List<String>list = new ArrayList<String>(); list.add("dr:123"); list.add("dr:abc"); return list; } public List<String> findWaitingDruidsByDatastreamNameAndCompleted( String repository, String datastream, String waitingProcessName, String completedProcessName) { if(waitingProcessName.equals("no-objects-found")) return new ArrayList<String>(); else return createResponseList(); } public void persistProcess(Process p) { // TODO Auto-generated method stub } public List<String> findCompletedDruids(String repository, String datastream, String completedProcessName) { List<String> list = createResponseList(); return list; } //<object druid=\"dr:123\" url=\"http://localhost:9999/jersey-spring/objects/dr:123\" errorMessage=\"NullPointer\" errorText=\"some trace\" /> //<object druid=\"dr:abc\" url=\"http://localhost:9999/jersey-spring/objects/dr:abc\" errorMessage=\"NullPointer\" /> public List<Process> findErrorProcessesByDatastreamAndName( String repository, String datastream, String errorProcessName) { if(datastream.equals("noError") || errorProcessName.equals("noError")){ return new ArrayList<Process>(); } Process e1 = new Process(); e1.setDruid("dr:123"); e1.setErrorMessage("NullPointer"); e1.setErrorText("some trace"); List<Process> l = new ArrayList<Process>(); l.add(e1); e1 = new Process(); e1.setDruid("dr:abc"); e1.setErrorMessage("NullPointer"); l.add(e1); return l; } public List<String> findWaitingDruidsWithTwoCompletedProcesses( String repository, String datastream, String waitingProcessName, String completed1, String completed2) { return createResponseList(); } public List<Process> findLifecycleCompletedProcesses(String repository, String druid) { try { List<Process> procs = new ArrayList<Process>(); if(druid.equals("dr:nolifecycle123")){ return procs; } Process p = new Process(); p.setDruid("dr:123"); p.setLifecycle("registered"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss z"); Date d = sdf.parse("2010.11.15 13:30:00 PST"); p.setDatetime(d); procs.add(p); p = new Process(); p.setDruid("dr:123"); p.setLifecycle("inprocess"); d = sdf.parse("2010.11.16 13:30:00 PST"); p.setDatetime(d); procs.add(p); p = new Process(); p.setDruid("dr:123"); p.setLifecycle("released"); d = sdf.parse("2010.11.17 13:30:00 PST"); p.setDatetime(d); procs.add(p); return procs; } catch (Exception e){ throw new RuntimeException(e); } } public List<String> findQueuedDruids(String repository, String datastream, String queuedProcessName) { List<String> list = createResponseList(); return list; } public int countWaitingDruids(String repository, String datastream, String waitingProcessName) { return 2; } public int countWaitingDruidsByDatastreamNameAndCompleted(String repository, String datastream, String waitingProcessName, String completedProcessName) { if(waitingProcessName.equals("no-objects-found")) return 0; else return 3; } public int countWaitingDruidsWithTwoCompletedProcesses(String repository, String datastream, String waitingProcessName, String completed1, String completed2) { return 2; } public int countCompletedDruids(String repository, String datastream, String completedProcessName) { return 2; } public int countErrorProcessesByDatastreamAndName(String repository, String datastream, String errorProcessName) { return 2; } public int countQueuedDruids(String repository, String datastream, String queuedProcessName) { return 3; //To change body of implemented methods use File | Settings | File Templates. } /*** * " <milestone date=\"somedate\">registered</milestone>" + " <milestone date=\"anotherdate\">inprocess</milestone>" + " <milesteon date=\"anotherone\">released</milestone>" */ }