private JPanel createCentrePanel(YDataStateException exception) { JPanel centrePanel = new JPanel(new GridLayout(1, 2)); JPanel msgPanel = new JPanel(new BorderLayout()); msgPanel.setBackground(YAdminGUI._apiColour); msgPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Schema for completing task"), BorderFactory.createEmptyBorder(10, 10, 10, 10))); JTextPane msgTextPane = new JTextPane(); msgTextPane.setContentType("text/plain"); msgTextPane.setFont(new Font("courier", Font.PLAIN, 12)); msgTextPane.setForeground(Color.RED); msgTextPane.setText(exception.getMessage()); msgTextPane.setEditable(false); msgTextPane.setBackground(Color.LIGHT_GRAY); JPanel noWrapPanel = new JPanel(); noWrapPanel.setLayout(new BorderLayout()); noWrapPanel.add(msgTextPane); msgPanel.add(new JScrollPane(noWrapPanel)); centrePanel.add(msgPanel, BorderLayout.NORTH); return centrePanel; }
UserInputValidationErrorBox(Frame parent, YWorkItem item, YDataStateException e) { super(parent, "Problem with your input data"); Container c = getContentPane(); c.setLayout(new BorderLayout()); JPanel p = new JPanel(new BorderLayout()); p.setBackground(YAdminGUI._apiColour); p.add(createTopPanel(item), BorderLayout.NORTH); p.add(createCentrePanel(e), BorderLayout.CENTER); c.add(p, BorderLayout.CENTER); c.add(createBottomPanel(), BorderLayout.SOUTH); c.setBackground(YAdminGUI._apiColour); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { storeData(); this_windowClosing(); } }); Double screenWidth = new Double( GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth()); Double screenHeight = new Double( GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight()); setSize(new Double(screenWidth * 0.8).intValue(), new Double(screenHeight * 0.8).intValue()); Dimension labelSize = this.getSize(); setLocation( screenWidth.intValue() / 2 - (labelSize.width / 2), screenHeight.intValue() / 2 - (labelSize.height / 2)); show(); }
private JPanel createBottomPanel() { JPanel bottomPanel = new JPanel(new BorderLayout()); bottomPanel.setBackground(YAdminGUI._apiColour); JButton releaseButton = new JButton(_okCommand); releaseButton.setToolTipText("OK"); releaseButton.addActionListener(this); JPanel p = new JPanel(); p.setBackground(YAdminGUI._apiColour); p.add(releaseButton); bottomPanel.add(p, BorderLayout.EAST); return bottomPanel; }
private JPanel createTopPanel(YWorkItem item) { JPanel topPanel = new JPanel(new BorderLayout()); topPanel.setBackground(YAdminGUI._apiColour); JPanel leftPanel = new JPanel(new BorderLayout()); leftPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); JTextArea explanatoryText = new JTextArea(); explanatoryText.setText( "The data you submitted for this work item was \n" + "validated against a schema (see below). For some reason the\n" + "this data did not succeed in passing the constrainst set\n" + "inside the schema.\n" + "Usage Note: If this is causing problems try using the Web server\n" + "version of YAWL, which supports automatic forms generation.\n" + "Otherwise you could copy the schema from this page and use it\n " + "to create a valid output document using an XML development tool."); explanatoryText.setEditable(false); explanatoryText.setFont(new Font("Arial", Font.BOLD, 12)); explanatoryText.setForeground(Color.DARK_GRAY); explanatoryText.setBackground(YAdminGUI._apiColour); leftPanel.add(explanatoryText); topPanel.add(leftPanel, BorderLayout.WEST); JPanel rightPanel = new JPanel(new GridLayout(4, 2)); rightPanel.setBackground(YAdminGUI._apiColour); rightPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Work Item Details"), BorderFactory.createEmptyBorder(10, 10, 10, 10))); YTask task = YEngine.getInstance().getTaskDefinition(item.getSpecificationID(), item.getTaskID()); String taskName = task.getName(); String[] text = { item.getSpecificationID().toString(), taskName, item.getIDString(), item.getStartTimeStr() }; String[] labels = {"Specification ID", "Task Name", "WorkItem ID", "Task Started"}; for (int i = 0; i < text.length; i++) { String s = text[i]; rightPanel.add(new JLabel(labels[i])); JTextField t = new JTextField(s); t.setEditable(false); rightPanel.add(t); } topPanel.add(rightPanel, BorderLayout.CENTER); return topPanel; }
SpecificationQueryProcessingValidationErrorBox( Frame parent, YWorkItem item, YDataStateException message) { super(parent, "Runtime Problem with Process Specification detected"); Container c = getContentPane(); c.setLayout(new BorderLayout()); JPanel p = new JPanel(new BorderLayout()); p.setBackground(YAdminGUI._apiColour); p.add(createCentrePanel(message), BorderLayout.CENTER); c.add(p, BorderLayout.CENTER); c.add(createBottomPanel(), BorderLayout.SOUTH); c.setBackground(YAdminGUI._apiColour); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { storeData(); this_windowClosing(); } }); // setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); setSize(800, 600); Double screenWidth = new Double( GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth()); Double screenHeight = new Double( GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight()); // setSize(new Double((screenWidth - guiSize.width) * 2).intValue(), new // Double((screenHeight - guiSize.height) * 2).intValue()); // setLocation(((screenWidth.intValue() - guiSize.width) / 2),0); // pack(); Dimension labelSize = this.getSize(); setLocation( screenWidth.intValue() / 2 - (labelSize.width / 2), screenHeight.intValue() / 2 - (labelSize.height / 2)); show(); }
private JPanel createCentrePanel(YDataStateException exception) { XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat()); JPanel centrePanel = new JPanel(new GridLayout(1, 2)); JPanel schemaPanel = new JPanel(new BorderLayout()); schemaPanel.setBackground(YAdminGUI._apiColour); schemaPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "Schema for completing task"), BorderFactory.createEmptyBorder(10, 10, 10, 10))); JTextPane schemaTextPane = new JTextPane(); schemaTextPane.setContentType("text/xml"); schemaTextPane.setFont(new Font("courier", Font.PLAIN, 12)); String schemaXML = xmlOut.outputString(exception.getSchema()); /** AJH: Trap various XML format errors gracefully. */ try { String xml = schemaXML.substring(schemaXML.indexOf('<'), schemaXML.lastIndexOf("</xsd:schema>") + 13); schemaTextPane.setText(xml); } catch (Exception e) { schemaTextPane.setText(schemaXML); } schemaTextPane.setEditable(false); schemaTextPane.setBackground(Color.LIGHT_GRAY); JPanel noWrapPanel = new JPanel(); noWrapPanel.setLayout(new BorderLayout()); noWrapPanel.add(schemaTextPane); schemaPanel.add(new JScrollPane(noWrapPanel)); JPanel rightPanel = new JPanel(new GridLayout(2, 1)); JPanel dataPanel = new JPanel(new BorderLayout()); dataPanel.setBackground(YAdminGUI._apiColour); dataPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "The data that failed to validate"), BorderFactory.createEmptyBorder(10, 10, 10, 10))); JTextPane dataTextPane = new JTextPane(); dataTextPane.setContentType("text/xml"); dataTextPane.setFont(new Font("courier", Font.PLAIN, 12)); String data = xmlOut.outputString(exception.get_dataInput()); /** AJH: Trap various XML format errors gracefully. */ try { String temp = data.substring(data.lastIndexOf("<?xml"), data.lastIndexOf('>')); dataTextPane.setText(temp); } catch (Exception e) { dataTextPane.setText(data); } dataTextPane.setEditable(false); dataTextPane.setBackground(Color.LIGHT_GRAY); JPanel noWrapPanel2 = new JPanel(); noWrapPanel2.setLayout(new BorderLayout()); noWrapPanel2.add(dataTextPane); dataPanel.add(new JScrollPane(noWrapPanel2)); JPanel errorPanel = new JPanel(new BorderLayout()); errorPanel.setBackground(YAdminGUI._apiColour); errorPanel.setBorder( BorderFactory.createCompoundBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), "The error message from validation engine"), BorderFactory.createEmptyBorder(10, 10, 10, 10))); JTextPane errorTextPane = new JTextPane(); errorTextPane.setContentType("text/plain"); errorTextPane.setFont(new Font("courier", Font.PLAIN, 12)); /** AJH: Trap various XML format errors gracefully. */ try { String error = schemaXML.substring(schemaXML.lastIndexOf("ERRORS ="), schemaXML.length()); errorTextPane.setText(error); } catch (Exception e) { // null action ! } errorTextPane.setText(exception.getErrors()); errorTextPane.setEditable(false); errorTextPane.setBackground(Color.LIGHT_GRAY); JPanel noWrapPanel3 = new JPanel(); noWrapPanel3.setLayout(new BorderLayout()); noWrapPanel3.add(errorTextPane); errorPanel.add(new JScrollPane(noWrapPanel3)); rightPanel.add(dataPanel); rightPanel.add(errorPanel); centrePanel.add(schemaPanel, BorderLayout.NORTH); centrePanel.add(rightPanel, BorderLayout.CENTER); return centrePanel; }