package org.cristalise.gui.tabs.execution; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import org.cristalise.gui.MainFrame; import org.cristalise.kernel.entity.agent.Job; import org.cristalise.kernel.utils.Logger; /** * Each job gets a RequestButton */ public class RequestButton extends JButton implements ActionListener { Job myJob; ActivityViewer parent; public RequestButton(Job myJob, ActivityViewer parent) { super(); this.myJob = myJob; this.parent = parent; String label = myJob.getTransition().getName(); if (myJob.hasOutcome()) { setBackground(Color.white); try { if (myJob.getSchemaName().equals("Errors")) setBackground(Color.pink); } catch (Exception e) { Logger.error(e); MainFrame.exceptionDialog(e); setEnabled(false); } } super.setText(label); addActionListener(this); } @Override public void actionPerformed(ActionEvent event) { parent.execute(myJob); } }