// ---------------------------------------------------------------------------------------------------- protected synchronized void taskDone(ParserTask task) { // Solo hace algo si la tarea finalizada era del trabajo en curso y no una antigua if (task.jobID.equals(getCurrentJobID())) { // Crea el status ParserWorkerStatus pws = new ParserWorkerStatus(); pws.hotelDataList = task.hotelDataList; // Decrementa el numero de tareas en ejecucion m_numTasksForJob--; // Actua dependiendo de lo que quede if (m_numTasksForJob > 0) { // **** AVISAR DE QUE SE HA TERMINADO CON UNA DE LAS PAGINAS pws.type = PWStatusType.PageEnded; m_monitor.processingEnded(false, pws); } else if (m_numTasksForJob == 0) { // **** AVISAR DE QUE SE HA TERMINADO CON TODAS LAS PAGINAS Tracer._info("***** All parsing tasks have ended *********************************"); pws.type = PWStatusType.AllPagesEnded; m_monitor.processingEnded(false, pws); } else { // No debería salir una cuenta negativa String MSG = "Task count for job decremented below zero"; Tracer._error(MSG); m_monitor.processingEnded(true, MSG); } } }
// ---------------------------------------------------------------------------------------------------- public synchronized void reset() { Tracer._info("***** Reset parsing JOB ****************************************************"); Tracer._info(""); m_numTasksForJob = 0; createNewJobID(); }