/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.dataprocess.gui.launcher.result; import net.codjo.dataprocess.common.DataProcessConstants; import net.codjo.dataprocess.gui.launcher.result.table.ResultPanel; import net.codjo.workflow.common.message.Arguments; import net.codjo.workflow.common.message.JobAudit; import net.codjo.workflow.common.message.JobEvent; import net.codjo.workflow.common.subscribe.JobEventHandler; import java.beans.PropertyChangeSupport; /** * */ public class TreatmentResultListener extends JobEventHandler { private ResultPanel resultPanel; private PropertyChangeSupport propertyChangeListeners; private String operationReport; public TreatmentResultListener(PropertyChangeSupport propertyChangeListeners) { this.propertyChangeListeners = propertyChangeListeners; } public boolean hasWarning() { return DataProcessConstants.TRT_WARNING.equals(operationReport); } public void setResultPanel(ResultPanel resultPanel) { this.resultPanel = resultPanel; } @Override public boolean receive(JobEvent event) { if (event.isAudit()) { JobAudit audit = event.getAudit(); if (audit.getType() == JobAudit.Type.MID) { Arguments auditArguments = audit.getArguments(); operationReport = auditArguments.get(DataProcessConstants.OPERATION_REPORT); if (operationReport != null) { return true; } resultPanel.updateTreatmentResult(auditArguments, propertyChangeListeners); } } return true; } }