summaryrefslogtreecommitdiff
path: root/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java')
-rw-r--r--src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java b/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java
new file mode 100644
index 0000000..bccf99f
--- /dev/null
+++ b/src/main/java/org/cristalise/gui/tabs/execution/RequestButton.java
@@ -0,0 +1,44 @@
+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);
+ }
+ }