From 5e4034b5cba89460a62fa958fc78c2b85acb3d5f Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 7 Oct 2014 09:18:33 +0200 Subject: Repackage to org.cristalise --- .../gui/tabs/execution/ActivityViewer.java | 345 --------------------- 1 file changed, 345 deletions(-) delete mode 100644 src/main/java/com/c2kernel/gui/tabs/execution/ActivityViewer.java (limited to 'src/main/java/com/c2kernel/gui/tabs/execution/ActivityViewer.java') diff --git a/src/main/java/com/c2kernel/gui/tabs/execution/ActivityViewer.java b/src/main/java/com/c2kernel/gui/tabs/execution/ActivityViewer.java deleted file mode 100644 index 9405937..0000000 --- a/src/main/java/com/c2kernel/gui/tabs/execution/ActivityViewer.java +++ /dev/null @@ -1,345 +0,0 @@ -package com.c2kernel.gui.tabs.execution; -import java.awt.Dimension; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.GridLayout; -import java.awt.Insets; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.ArrayList; - -import javax.swing.Box; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFileChooser; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import com.c2kernel.common.InvalidDataException; -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.entity.agent.Job; -import com.c2kernel.entity.proxy.ItemProxy; -import com.c2kernel.gui.MainFrame; -import com.c2kernel.gui.tabs.ItemTabPane; -import com.c2kernel.gui.tabs.ExecutionPane; -import com.c2kernel.gui.tabs.outcome.InvalidOutcomeException; -import com.c2kernel.gui.tabs.outcome.InvalidSchemaException; -import com.c2kernel.gui.tabs.outcome.OutcomeHandler; -import com.c2kernel.utils.FileStringUtility; -import com.c2kernel.utils.Language; -import com.c2kernel.utils.LocalObjectLoader; -import com.c2kernel.utils.Logger; - -public class ActivityViewer extends JPanel implements Runnable { - - ItemProxy item; - Box outcomeButtons = Box.createHorizontalBox(); - OutcomeHandler outcomePanel; - OutcomeHandler errorPanel; - JPanel outcomeView = new JPanel(new GridLayout(1,1)); - JPanel errorView = new JPanel(new GridLayout(2,1)); - ActivityItem thisAct; - ArrayList requestButtons = new ArrayList(); - JLabel noOutcome = new JLabel(Language.translate("No outcome data is required for this activity")); - ExecutionPane parent; - JLabel status; - JComboBox executors; - JButton saveButton = new JButton("Save"); - JButton loadButton = new JButton("Load"); - GridBagLayout gridbag = new GridBagLayout(); - Job executingJob = null; - static JFileChooser chooser = new JFileChooser(); - static { - chooser.addChoosableFileFilter( - new javax.swing.filechooser.FileFilter() { - @Override - public String getDescription() { - return "XML Files"; - } - @Override - public boolean accept(File f) { - if (f.isDirectory() || (f.isFile() && f.getName().endsWith(".xml"))) { - return true; - } - return false; - } - }); - } - - public ActivityViewer (ActivityItem newAct, ItemProxy item, ExecutionPane parent){ - thisAct = newAct; - this.item = item; - this.parent = parent; - setLayout(gridbag); - - GridBagConstraints c = new GridBagConstraints(); - c.gridx=0; c.gridy=1; c.weightx=1.0; c.weighty=0.0; - c.insets = new Insets(5,5,5,5); - c.anchor = GridBagConstraints.NORTHWEST; - c.fill = GridBagConstraints.HORIZONTAL; - -// activity title - JLabel actTitle = new JLabel(Language.translate("Activity")+": "+newAct.name); - actTitle.setFont(ItemTabPane.titleFont); - gridbag.setConstraints(actTitle, c); - add(actTitle); - - Job firstJob = (thisAct.getJobs().get(0)); -// desc - String desc = firstJob.getDescription(); - if (desc != null && desc.length() > 0) { - Box descBox = Box.createHorizontalBox(); - - String chopDesc = null; - if(desc.length() >= 40) chopDesc = desc.substring(0,40); - else chopDesc = desc; - - descBox.add(new JLabel("Description: "+chopDesc)); - if (desc.length()>chopDesc.length()) { - descBox.add(new JLabel(" ...")); - descBox.add(Box.createHorizontalStrut(7)); - JButton descButton = new JButton("View"); - descButton.setMargin(new Insets(0,0,0,0)); - descButton.setActionCommand(desc); - descButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - JTextArea descArea = new JTextArea(e.getActionCommand()); - descArea.setLineWrap(true); - descArea.setWrapStyleWord(true); - JScrollPane descScroll = new JScrollPane(descArea); - descScroll.setPreferredSize(new Dimension(400,150)); - JOptionPane.showMessageDialog(null, descScroll, "Activity Description", JOptionPane.PLAIN_MESSAGE); - } - }); - descBox.add(descButton); - } - - c.gridy++; - gridbag.setConstraints(descBox, c); - add(descBox); - } - - -// agentid - String roleName = firstJob.getAgentRole(); - if (roleName!= null && roleName.length()>0) { - c.gridy++; - JLabel role = new JLabel(Language.translate("Agent Role")+": "+roleName); - gridbag.setConstraints(role, c); - add(role); - } - - c.gridy++; - c.anchor = GridBagConstraints.EAST; - gridbag.setConstraints(outcomeButtons, c); - add(outcomeButtons); - - executors = MainFrame.getExecutionPlugins(); - if (executors.getItemCount() > 1) { - c.gridx++; - gridbag.setConstraints(executors, c); - add(executors); - c.gridx--; - } - - c.gridy++; - - status = new JLabel(Language.translate("Waiting for request")); - status.setFont(ItemTabPane.titleFont); - gridbag.setConstraints(status, c); - add(status); - - c.gridx++; - Box fileBox = Box.createHorizontalBox(); - fileBox.add(saveButton); fileBox.add(Box.createHorizontalGlue()); fileBox.add(loadButton); - gridbag.setConstraints(fileBox, c); - add(fileBox); - saveButton.setEnabled(false); - loadButton.setEnabled(false); - c.gridx--; - c.gridwidth = 2; - for (Object name2 : thisAct.getJobs()) { - Job thisJob = (Job)name2; - RequestButton newButton = new RequestButton(thisJob, this); - requestButtons.add(newButton); - outcomeButtons.add(newButton); - outcomeButtons.add(Box.createHorizontalStrut(5)); - newButton.setEnabled(false); - - if (thisJob.hasOutcome()) { - - String schemaName; - int schemaVersion; - try { - schemaName = thisJob.getSchemaName(); - schemaVersion = thisJob.getSchemaVersion(); - } catch (Exception e) { - newButton.setToolTipText("Could not load schema for this job."); - continue; - } - - if(!schemaName.equals("Errors") && outcomePanel == null) { - try { - outcomePanel = getOutcomeHandler(thisJob); - outcomeView = outcomePanel.getPanel(); - newButton.setEnabled(true); - } catch (ObjectNotFoundException ex) { - outcomeView.add(new JLabel(Language.translate("Schema not found:")+" "+schemaName+" v"+schemaVersion)); - } catch (Exception ex) { - outcomeView.add(new JLabel(Language.translate("ERROR loading outcome editor: ") - +ex.getClass().getName()+" ("+ex.getMessage()+")")); - Logger.error(ex); - } - } - if (schemaName.equals("Errors")) { - try { - errorPanel = getOutcomeHandler(thisJob); - errorView.add(errorPanel.getPanel()); - newButton.setEnabled(true); - } catch (Exception ex) { - errorView.add(new JLabel(Language.translate("ERROR loading error editor: ") - +ex.getClass().getName()+" ("+ex.getMessage()+")")); - - } - } - } - else - newButton.setEnabled(true); - } - if (outcomePanel == null) - outcomeView.add(noOutcome); - else - enableLoadSaveButtons(); - - - c.gridy++; c.weighty=1.0; - c.anchor = GridBagConstraints.NORTHWEST; - c.fill = GridBagConstraints.BOTH; - gridbag.setConstraints(outcomeView, c); - add(outcomeView); - - } - - public OutcomeHandler getOutcomeHandler(Job thisJob) throws ObjectNotFoundException, InvalidSchemaException, InvalidOutcomeException, InvalidDataException { - String schema; - OutcomeHandler thisForm; - schema = LocalObjectLoader.getSchema(thisJob.getSchemaName(), thisJob.getSchemaVersion()).schema; - thisForm = ItemTabPane.getOutcomeHandler(thisJob.getSchemaName(), thisJob.getSchemaVersion()); - thisForm.setReadOnly(false); - thisForm.setDescription(schema); - String outcomeString = thisJob.getOutcomeString(); - if ( outcomeString!= null && outcomeString.length() > 0) - thisForm.setOutcome(outcomeString); - return thisForm; - } - - public void enableLoadSaveButtons() { - saveButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - String output; - try { - output = outcomePanel.getOutcome(); - int returnVal = chooser.showSaveDialog(null); - if (returnVal == JFileChooser.APPROVE_OPTION) { - File targetFile = chooser.getSelectedFile(); - if (!(targetFile.getAbsolutePath().endsWith(".xml"))) - targetFile = new File(targetFile.getAbsolutePath()+".xml"); - - Logger.msg(2, "ExecutionPane - Exporting outcome to file " + targetFile.getName()); - FileStringUtility.string2File(targetFile, output); - } - } catch (Exception ex) { - Logger.error(ex); - MainFrame.exceptionDialog(ex); - } - } - }); - saveButton.setEnabled(true); - - loadButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - try { - int returnVal = chooser.showOpenDialog(null); - if (returnVal == JFileChooser.APPROVE_OPTION) { - File targetFile = chooser.getSelectedFile(); - - Logger.msg(2, "ViewpointPane.actionPerformed() - Reading outcome from file " + targetFile.getName()); - String outcome = FileStringUtility.file2String(targetFile); - outcomePanel.setOutcome(outcome); - new Thread(outcomePanel).start(); - } - } catch (Exception ex) { - Logger.error(ex); - MainFrame.exceptionDialog(ex); - } - } - }); - loadButton.setEnabled(true); - } - - public void init() { - if (outcomePanel != null) - new Thread(outcomePanel).start(); - if (errorPanel != null) - new Thread(errorPanel).start(); - } - - public void execute(Job thisJob) { - try { - if (thisJob.hasOutcome()) - if (!thisJob.getSchemaName().equals("Errors")) - thisJob.setOutcome(outcomePanel.getOutcome()); - else { - Box errorBox = Box.createVerticalBox(); - errorBox.add(new JLabel("Please give details of the error:")); - errorBox.add(errorView); - int result = JOptionPane.showConfirmDialog(this, errorBox, "Send Error", JOptionPane.OK_CANCEL_OPTION, JOptionPane.ERROR_MESSAGE); - if (result != JOptionPane.OK_OPTION) - return; - thisJob.setOutcome(errorPanel.getOutcome()); - } - executingJob = thisJob; - new Thread(this).start(); - } catch (Exception ex) { - MainFrame.exceptionDialog(ex); - } - - } - - /** - * Submits the job to the database - */ - @Override - public void run() { - Thread.currentThread().setName("Activity Execution"); - enableAllButtons(false); - try { - Executor selectedExecutor = (Executor)executors.getSelectedItem(); - selectedExecutor.execute(executingJob, status); - } catch (Exception e) { - Logger.error(e); - MainFrame.progress.stopBouncing(Language.translate("Error during execution")); - status.setText(Language.translate("Error during execution: "+e.getClass().getSimpleName())); - MainFrame.exceptionDialog(e); - } - enableAllButtons(true); - } - - private void enableAllButtons(boolean enabled) { - - for (RequestButton thisButton : requestButtons) { - thisButton.setEnabled(enabled); - } - } - - public ActivityItem getActivity() { - return thisAct; - } -} -- cgit v1.2.3