com.ibm.as400.vaccess.PrinterStartAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: PrinterStartAction.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2000 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.as400.vaccess;
import com.ibm.as400.access.Printer;
import com.ibm.as400.access.CommandCall;
import com.ibm.as400.access.Trace;
import com.ibm.as400.access.AS400Message;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JComponent;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTabbedPane;
import javax.swing.border.EmptyBorder;
/**
The PrinterStartAction class represents the action of starting a writer
for the selected printer.
**/
class PrinterStartAction
extends DialogAction
{
private static final String copyright = "Copyright (C) 1997-2000 International Business Machines Corporation and others.";
// Private data.
private static final String displayName_ = ResourceLoader.getText("ACTION_START");
private static String generalTabText_; // @A2A
private static String prtStartWtrText_;
private static String outQText_;
private static String outQLibText_;
private static String msgQText_;
private static String msgQLibText_;
private static String libListText_;
private static String curLibText_ ;
private static String prtrDefText_;
private static String userDefText_ ;
private static String dvceDefText_;
private static String fileDefText_ ;
private static String inqMsgTypeText_ ;
private static String inqInfoMsgTypeText_;
private static String infoMsgTypeText_ ;
private static String noneMsgTypeText_;
private static String formTypeText_;
private static String formTypeNotifyText_;
private static String formTypeAllText_;
private static String formTypeStdText_ ;
private static String formTypeAGBTText_;
private static String numSepPagesText_;
private static String sepDrawerText_ ;
// Advanced tab controls
private static String advancedTabText_ ;
private static String autoEndText_ ;
private static String whenToEndText_ ;
private static String directPrintText_;
private static String formAlignText_ ;
private static String firstFileText_ ;
private static String jobNameText_ ;
private static String jobUserText_ ;
private static String jobNumberText_ ;
private static String fileNumberText_ ;
private static String startPageText_;
private static String writerNameText_ ;
// Advanced pane option strings
private static String noText_ ;
private static String yesText_ ;
private static String onlyText_ ;
private static String afterAllText_;
private static String afterCurrentText_ ;
private static String writerDefText_ ;
private static String onlyFirstFileText_;
private static String fileFirstAvailText_;
private static String fileLastAvailText_ ;
private static String defStartPageText_ ;
private static boolean stringsLoaded_ = false; // Load MRI only once when needed
private Object stringsLock_ = new Object();
/* RDS- NOTE: Add "browse" buttons later */
private Printer printer_ = null; // the printer
private JComboBox outqBox_ = null; // Output Queue name
private JComboBox outqLibBox_ = null; // Output Queue Library name
private JComboBox msgqBox_ = null; // Message Queue name
private JComboBox msgqLibBox_ = null; // Message Queue Lib name
private JComboBox formTypeBox_ = null; // Form Type
private JComboBox formNotifyBox_ = null; // Form Type notification message
private JComboBox numSepPageBox_ = null; // Number of separator pages
private JComboBox sepDrawerBox_ = null; // Separator Drawer number
// Advanced start options
private JComboBox writerNameBox_ = null; // Writer name
private JComboBox autoEndBox_ = null; // Automatically end?
private JComboBox whenToEndBox_ = null; // when to end
private JComboBox directPrintBox_ = null; // allow direct printing?
private JComboBox formAlignBox_ = null; // Form alignment
private JComboBox firstFileBox_ = null; // First file to print
private JComboBox fileNumberBox_ = null; // file Number
private JComboBox startingPageBox_ = null; // Starting page number
private JTextField jobNameField_ = null; // Name of owning job
private JTextField jobUserField_ = null; // user name of owning job
private JTextField jobNumberField_ = null; // number of owning job
/**
Constructs an PrinterStartAction object.
@param object The object.
@param printer The printer.
**/
public PrinterStartAction (VObject object, Printer printer)
{
super (object);
printer_ = printer;
}
/* Builds the general settings pane
*/
private JPanel buildGeneralPane()
throws Exception
{
JPanel panel = new JPanel();
GridBagLayout layout = new GridBagLayout ();
GridBagConstraints constraints;
panel.setLayout (layout);
panel.setBorder (new EmptyBorder (10, 10, 10, 10));
try
{
// build components to display the start writer options
String tempStr = prtStartWtrText_;
VUtilities.constrain( new JLabel(tempStr), panel, layout, 0,0,1,1);
// get the printer name
JTextField text = new JTextField(printer_.getName().trim());
text.setEditable(false);
VUtilities.constrain( text, panel, layout, 1,0,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 1, 2, 1);
// The output queue
VUtilities.constrain (new JLabel (outQText_), panel, layout, 0, 2, 1, 1);
outqBox_ = new JComboBox();
outqBox_.setEditable(true);
outqBox_.addItem(prtrDefText_);
outqBox_.setSelectedItem(prtrDefText_);
VUtilities.constrain( outqBox_, panel, layout, 1,2,1,1);
VUtilities.constrain (new JLabel (outQLibText_), panel, layout, 0, 3, 1, 1);
outqLibBox_ = new JComboBox();
outqLibBox_.setEditable(true);
outqLibBox_.addItem(libListText_);
outqLibBox_.addItem(curLibText_);
outqLibBox_.setSelectedItem(libListText_); //@A1A
VUtilities.constrain( outqLibBox_, panel, layout, 1,3,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 4, 2, 1);
// The writer message queue
VUtilities.constrain (new JLabel (msgQText_), panel, layout, 0, 5, 1, 1);
msgqBox_ = new JComboBox();
msgqBox_.setEditable(true);
msgqBox_.addItem(prtrDefText_);
msgqBox_.addItem(userDefText_);
msgqBox_.setSelectedItem(prtrDefText_);
VUtilities.constrain( msgqBox_, panel, layout, 1,5,1,1);
VUtilities.constrain (new JLabel (msgQLibText_), panel, layout, 0, 6, 1, 1);
msgqLibBox_ = new JComboBox();
msgqLibBox_.setEditable(true);
msgqLibBox_.addItem(libListText_);
msgqLibBox_.addItem(curLibText_);
msgqLibBox_.setSelectedItem(libListText_); //@A1A
VUtilities.constrain( msgqLibBox_, panel, layout, 1,6,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 7, 2, 1);
// The form type boxes
VUtilities.constrain (new JLabel (formTypeText_), panel, layout, 0, 8, 1, 1);
formTypeBox_ = new JComboBox();
formTypeBox_.setEditable(true);
formTypeBox_.addItem(formTypeAllText_);
formTypeBox_.addItem(formTypeStdText_);
formTypeBox_.addItem(formTypeAGBTText_);
formTypeBox_.setSelectedItem(formTypeAllText_);
VUtilities.constrain( formTypeBox_, panel, layout, 1,8,1,1);
VUtilities.constrain (new JLabel (formTypeNotifyText_), panel, layout, 0, 9, 1, 1);
formNotifyBox_ = new JComboBox();
formNotifyBox_.setEditable(false);
formNotifyBox_.addItem(inqMsgTypeText_);
formNotifyBox_.addItem(inqInfoMsgTypeText_);
formNotifyBox_.addItem(infoMsgTypeText_);
formNotifyBox_.addItem(noneMsgTypeText_);
VUtilities.constrain( formNotifyBox_, panel, layout, 1,9,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 10, 2, 1);
// The separator page box
VUtilities.constrain (new JLabel (numSepPagesText_), panel, layout, 0, 11, 1, 1);
numSepPageBox_ = new JComboBox();
numSepPageBox_.setEditable(false);
numSepPageBox_.addItem(fileDefText_);
// Add 0 thru 9
for(int i=0; i < 10; i++) numSepPageBox_.addItem(String.valueOf(i));
numSepPageBox_.addItem(userDefText_);
VUtilities.constrain( numSepPageBox_, panel, layout, 1,11,1,1);
// The drawer box
VUtilities.constrain (new JLabel (sepDrawerText_), panel, layout, 0, 12, 1, 1);
sepDrawerBox_ = new JComboBox();
sepDrawerBox_.setEditable(false);
sepDrawerBox_.addItem(dvceDefText_);
// Add 255 more drawer choices
for(int i=1; i < 256; i++) sepDrawerBox_.addItem(String.valueOf(i));
VUtilities.constrain( sepDrawerBox_, panel, layout, 1,12,1,1);
// Don't forget to add the browse buttons and advanced dialog someday
}
catch (Exception e)
{
panel = null;
fireError (e);
}
return panel;
} // end buildGeneralPane()
/* Builds the advanced settings pane
*/
private JPanel buildAdvancedPane()
throws Exception
{
JPanel panel = new JPanel();
GridBagLayout layout = new GridBagLayout ();
GridBagConstraints constraints;
panel.setLayout (layout);
panel.setBorder (new EmptyBorder (10, 10, 10, 10));
try
{
// build components to display the start writer advanced options
// The writer name
VUtilities.constrain (new JLabel (writerNameText_), panel, layout, 0, 0, 1, 1);
writerNameBox_ = new JComboBox();
writerNameBox_.setEditable(true);
writerNameBox_.addItem(prtrDefText_);
writerNameBox_.setSelectedItem(prtrDefText_);
VUtilities.constrain( writerNameBox_, panel, layout, 1,0,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 1, 2, 1);
// Auto end boxes
VUtilities.constrain (new JLabel (autoEndText_), panel, layout, 0, 2, 1, 1);
autoEndBox_ = new JComboBox();
autoEndBox_.setEditable(false);
autoEndBox_.addItem(noText_);
autoEndBox_.addItem(yesText_);
// autoEndBox_.setSelectedItem(noText_); //@A1D
VUtilities.constrain( autoEndBox_, panel, layout, 1,2,1,1);
VUtilities.constrain (new JLabel (whenToEndText_), panel, layout, 0, 3, 1, 1);
whenToEndBox_ = new JComboBox();
whenToEndBox_.setEditable(false);
whenToEndBox_.addItem(afterAllText_);
whenToEndBox_.addItem(afterCurrentText_);
// whenToEndBox_.setSelectedItem(afterAllText_); //@A1D
VUtilities.constrain( whenToEndBox_, panel, layout, 1,3,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 4, 2, 1);
// Allow Direct Printing
VUtilities.constrain (new JLabel (directPrintText_), panel, layout, 0, 5, 1, 1);
directPrintBox_ = new JComboBox();
directPrintBox_.setEditable(false);
directPrintBox_.addItem(noText_);
directPrintBox_.addItem(yesText_);
// directPrintBox_.setSelectedItem(noText_); //@A1D
VUtilities.constrain( directPrintBox_, panel, layout, 1,5,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 6, 2, 1);
// Forms alignment
VUtilities.constrain (new JLabel (formAlignText_), panel, layout, 0, 7, 1, 1);
formAlignBox_ = new JComboBox();
formAlignBox_.setEditable(false);
formAlignBox_.addItem(fileDefText_);
formAlignBox_.addItem(writerDefText_);
formAlignBox_.addItem(onlyFirstFileText_);
formAlignBox_.setSelectedItem(writerDefText_);
VUtilities.constrain( formAlignBox_, panel, layout, 1,7,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 8, 2, 1);
// The first file to print controls
// First file name
VUtilities.constrain (new JLabel (firstFileText_), panel, layout, 0, 9, 1, 1);
firstFileBox_ = new JComboBox();
firstFileBox_.setEditable(true);
firstFileBox_.addItem(fileFirstAvailText_);
firstFileBox_.addItem(fileLastAvailText_);
firstFileBox_.setSelectedItem(fileFirstAvailText_);
VUtilities.constrain( firstFileBox_, panel, layout, 1,9,1,1);
// First file job name
VUtilities.constrain (new JLabel (jobNameText_), panel, layout, 0, 10, 1, 1);
jobNameField_ = new JTextField(10);
jobNameField_.setText("*");
jobNameField_.setEditable(true);
VUtilities.constrain( jobNameField_, panel, layout, 1,10,1,1);
// First file job user name
VUtilities.constrain (new JLabel (jobUserText_), panel, layout, 0, 11, 1, 1);
jobUserField_ = new JTextField(10);
jobUserField_.setText("");
jobUserField_.setEditable(true);
VUtilities.constrain( jobUserField_, panel, layout, 1,11,1,1);
// First file job number
VUtilities.constrain (new JLabel (jobNumberText_), panel, layout, 0, 12, 1, 1);
jobNumberField_ = new JTextField(10);
jobNumberField_.setText("");
jobNumberField_.setEditable(true);
VUtilities.constrain( jobNumberField_, panel, layout, 1,12,1,1);
// First spooled file number
VUtilities.constrain (new JLabel (fileNumberText_), panel, layout, 0, 13, 1, 1);
fileNumberBox_ = new JComboBox();
fileNumberBox_.setEditable(true);
fileNumberBox_.addItem(onlyText_);
fileNumberBox_.addItem(fileLastAvailText_);
fileNumberBox_.setSelectedItem(onlyText_);
VUtilities.constrain( fileNumberBox_, panel, layout, 1,13,1,1);
VUtilities.constrain (new JLabel (" "), panel, layout, 0, 14, 2, 1);
// The starting page box
VUtilities.constrain (new JLabel (startPageText_), panel, layout, 0, 15, 1, 1);
startingPageBox_ = new JComboBox();
startingPageBox_.setEditable(true);
startingPageBox_.addItem(defStartPageText_);
startingPageBox_.setSelectedItem(defStartPageText_);
VUtilities.constrain( startingPageBox_, panel, layout, 1,15,1,1);
// Don't forget to add the browse buttons someday
}
catch (Exception e)
{
panel = null;
fireError (e);
}
return panel;
} // end buildAdvancedPane()
/**
Returns the component for the dialog box.
@return The component.
**/
public JComponent getInputComponent()
{
JTabbedPane tabbedPane = null;
try
{
if(stringsLoaded_ == false)
loadMRI();
tabbedPane = new JTabbedPane();
tabbedPane.addTab (generalTabText_, null, buildGeneralPane()); // @A2C
tabbedPane.addTab (advancedTabText_, null, buildAdvancedPane());
tabbedPane.setSelectedIndex (0);
return tabbedPane;
}
catch (Exception e) {
tabbedPane = null;
fireError (e);
}
return tabbedPane;
}
/**
Returns the display name for the action.
@return The display name.
**/
public String getText ()
{
return displayName_;
}
/*
Loads the MRI strings. This is called only once per class
*/
private void loadMRI()
{
synchronized (stringsLock_)
{
prtStartWtrText_ = ResourceLoader.getPrintText("PRINTER_TO_START")+ ":";
generalTabText_ = ResourceLoader.getPrintText("GENERAL"); // @A2A
outQText_ = ResourceLoader.getPrintText("OUTPUT_QUEUE") + ":";
outQLibText_ = ResourceLoader.getPrintText("OUTPUT_QUEUE_LIB")+ ":";
msgQText_ = ResourceLoader.getText("MESSAGE_QUEUE_DESCRIPTION")+ ":";
msgQLibText_ = ResourceLoader.getPrintText("MESSAGE_QUEUE_LIB_DESCRIPTION") + ":";
libListText_ = ResourceLoader.getPrintText("USE_LIBRARY_LIST");
curLibText_ = ResourceLoader.getPrintText("USE__CURRENT_LIBRARY");
prtrDefText_ = ResourceLoader.getPrintText("PRINTER_DEFAULT");
userDefText_ = ResourceLoader.getPrintText("USER_DEFAULT");
dvceDefText_ = ResourceLoader.getPrintText("DEVICE_DEFAULT");
fileDefText_ = ResourceLoader.getPrintText("FILE_DEFAULT");
inqMsgTypeText_ = ResourceLoader.getPrintText("MESSAGE_TYPE_INQUIRY");
inqInfoMsgTypeText_ = ResourceLoader.getPrintText("MESSAGE_TYPE_INQ_INFO");
infoMsgTypeText_ = ResourceLoader.getPrintText("MESSAGE_TYPE_INFO");
noneMsgTypeText_ = ResourceLoader.getPrintText("MESSAGE_TYPE_NONE");
formTypeText_ = ResourceLoader.getPrintText("FORM_TYPE")+ ":";
formTypeNotifyText_ = ResourceLoader.getPrintText("FORM_TYPE_NOTIFY")+ ":";
formTypeAllText_ = ResourceLoader.getPrintText("FORM_TYPE_ALL");
formTypeStdText_ = ResourceLoader.getPrintText("FORM_TYPE_STANDARD");
formTypeAGBTText_ = ResourceLoader.getPrintText("FORM_TYPE_ALL_GBT");
numSepPagesText_ = ResourceLoader.getPrintText("NUMBER_OF_SEP_PAGES")+ ":";
sepDrawerText_ = ResourceLoader.getPrintText("SEPARATOR_DRAWER") + ":";
// Advanced tab controls
advancedTabText_ = ResourceLoader.getPrintText("ADVANCED");
autoEndText_ = ResourceLoader.getPrintText("WRITER_AUTO_END") + ":";
whenToEndText_ = ResourceLoader.getPrintText("WRITER_WHEN_TO_END") + ":";
directPrintText_ = ResourceLoader.getPrintText("DIRECT_PRINT") + ":";
formAlignText_ = ResourceLoader.getPrintText("FORM_ALIGN") + ":";
firstFileText_ = ResourceLoader.getPrintText("FIRST_FILE_NAME") + ":";
jobNameText_ = ResourceLoader.getPrintText("FIRST_JOB_NAME") + ":";
jobUserText_ = ResourceLoader.getPrintText("FIRST_JOB_USER") + ":";
jobNumberText_ = ResourceLoader.getPrintText("FIRST_JOB_NUMBER") + ":";
fileNumberText_ = ResourceLoader.getPrintText("FIRST_FILE_NUMBER") + ":";
startPageText_ = ResourceLoader.getPrintText("FIRST_START_PAGE") + ":";
writerNameText_ = ResourceLoader.getPrintText("WRITER_NAME") + ":";
// Advanced pane option strings
noText_ = ResourceLoader.getPrintText("NO");
yesText_ = ResourceLoader.getPrintText("YES");
onlyText_ = ResourceLoader.getPrintText("ONLY");
afterAllText_ = ResourceLoader.getPrintText("FILE_AFTER_ALL");
afterCurrentText_ = ResourceLoader.getPrintText("FILE_AFTER_CURRENT");
writerDefText_ = ResourceLoader.getPrintText("WRITER_DEFAULT");
onlyFirstFileText_ = ResourceLoader.getPrintText("FILE_FORM_ALIGNMENT");
fileFirstAvailText_ = ResourceLoader.getPrintText("FILE_FIRST_AVAILABLE");
fileLastAvailText_ = ResourceLoader.getPrintText("FILE_LAST");
defStartPageText_ = ResourceLoader.getPrintText("DEF_START_PAGE");
stringsLoaded_ = true;
}
} // endof loadMRI()
/**
Performs the action.
**/
public void perform2 ()
{
try
{
String selectedItem = null;
String selectedItem2 = null;
// fire started working event
fireStartWorking();
// Create a string that contains the command, printer name, and all parameters
StringBuffer cmdString_ = new StringBuffer("STRPRTWTR DEV(" + printer_.getName().trim() + ") OUTQ(");
// Get the outq
selectedItem = (String)outqBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(prtrDefText_)))
cmdString_.append("*DEV) MSGQ(");
else
{
// The user typed in an outq
// Get the outq Library
selectedItem2 = (String)outqLibBox_.getModel().getSelectedItem();
if(selectedItem2.equals(libListText_))
cmdString_.append("*LIBL/");
else if(selectedItem2.equals(curLibText_))
cmdString_.append("*CURLIB/");
else if(selectedItem2.equals(""))
cmdString_.append("*LIBL/");
else
cmdString_.append(selectedItem2 + "/");
// Now add the outq name
cmdString_.append(selectedItem + ") MSGQ(");
}
// Get the message queue
selectedItem = (String)msgqBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(prtrDefText_)))
cmdString_.append("*DEVD) FORMTYPE(");
else if(selectedItem.equals(userDefText_))
cmdString_.append("*REQUESTER) FORMTYPE(");
else
{
// The user typed in an msgq
// Get the msgq Library
selectedItem2 = (String)msgqLibBox_.getModel().getSelectedItem();
if(selectedItem2.equals(libListText_))
cmdString_.append("*LIBL/");
else if(selectedItem2.equals(curLibText_))
cmdString_.append("*CURLIB/");
else if(selectedItem2.equals(""))
cmdString_.append("*LIBL/");
else
cmdString_.append(selectedItem2 + "/");
// Now add the msgq name
cmdString_.append(selectedItem + ") FORMTYPE(");
}
// Get the form type
selectedItem = (String)formTypeBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(formTypeAllText_)))
cmdString_.append("*ALL ");
else if(selectedItem.equals(formTypeStdText_))
cmdString_.append("*STD ");
else if(selectedItem.equals(formTypeAGBTText_))
cmdString_.append("*FORMS ");
else
cmdString_.append(selectedItem + " ");
// Get the form message type
selectedItem = (String)formNotifyBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(inqMsgTypeText_)))
cmdString_.append("*INQMSG) FILESEP(");
else if(selectedItem.equals(inqInfoMsgTypeText_))
cmdString_.append("*MSG) FILESEP(");
else if(selectedItem.equals(infoMsgTypeText_))
cmdString_.append("*INFOMSG) FILESEP(");
else
cmdString_.append("*NOMSG) FILESEP(");
// Get the number of separator pages
selectedItem = (String)numSepPageBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(fileDefText_)))
cmdString_.append("*FILE) SEPDRAWER(");
else
cmdString_.append(selectedItem + ") SEPDRAWER(");
// Get the separator source drawer
selectedItem = (String)sepDrawerBox_.getModel().getSelectedItem();
if((selectedItem == null) || (selectedItem.equals(dvceDefText_)))
cmdString_.append("*DEVD)");
else if(selectedItem.equals(fileDefText_))
cmdString_.append("*FILE)");
else
cmdString_.append(selectedItem + ")");
// Get the advanced options
// Writer name
selectedItem = (String)writerNameBox_.getModel().getSelectedItem();
if((selectedItem != null) && (!selectedItem.equals(prtrDefText_)))
cmdString_.append(" WTR(" + selectedItem + ")");
// Auto End
selectedItem = (String)autoEndBox_.getModel().getSelectedItem();
if((selectedItem != null) && (!selectedItem.equals(noText_)))
{
cmdString_.append(" AUTOEND(*YES ");
selectedItem = (String)whenToEndBox_.getModel().getSelectedItem();
if(selectedItem.equals(afterCurrentText_))
cmdString_.append("*FILEEND)");
else
cmdString_.append("*NORDYF)");
}
// Direct Printing
selectedItem = (String)directPrintBox_.getModel().getSelectedItem();
if((selectedItem != null) && (selectedItem.equals(yesText_)))
cmdString_.append(" ALWDRTPRT(*YES)");
// Forms alignment
selectedItem = (String)formAlignBox_.getModel().getSelectedItem();
if(selectedItem != null)
{
if(selectedItem.equals(fileDefText_))
cmdString_.append(" ALIGN(*FILE)");
else if(!selectedItem.equals(onlyFirstFileText_))
cmdString_.append(" ALIGN(*FIRST)");
}
else cmdString_.append(" ALIGN(*FIRST)");
// First file to print boxes
selectedItem = (String)firstFileBox_.getModel().getSelectedItem();
if((selectedItem != null) && (!selectedItem.equals(fileFirstAvailText_)))
{
if(selectedItem.equals(fileLastAvailText_))
cmdString_.append(" FILE(*LAST)");
else
{
// The user specified a file so get all the parms
cmdString_.append(" FILE(" + selectedItem + ") JOB(");
cmdString_.append(jobNumberField_.getText() + "/");
cmdString_.append(jobUserField_.getText() + "/");
cmdString_.append(jobNameField_.getText() + ") SPLNBR(");
selectedItem = (String)fileNumberBox_.getModel().getSelectedItem();
if(selectedItem.equals(onlyText_))
cmdString_.append("*ONLY)");
else if(selectedItem.equals(fileLastAvailText_))
cmdString_.append("*LAST)");
else
cmdString_.append(selectedItem + ")"); // @A2C
}
}
// Starting page
selectedItem = (String)startingPageBox_.getModel().getSelectedItem();
if((selectedItem != null) && (!selectedItem.equals(defStartPageText_))) //@A1C
cmdString_.append(" PAGE(" + selectedItem + ")");
// send the command to start the writer
CommandCall cmd = new CommandCall( printer_.getSystem());
try
{
if (cmd.run(cmdString_.toString())!=true)
{
// Note that there was an error
if (Trace.isTraceOn())
Trace.log (Trace.ERROR, "STRPRTWTR cmd=false for [" + printer_.getName () + "].");
// fire an error event
Exception e = new Exception(ResourceLoader.getText("EXC_AS400_ERROR"));
fireError(e);
}
else //@A1A
{
// trace the send
if (Trace.isTraceOn()) //@A1M
Trace.log (Trace.INFORMATION, "Started writer for printer[" + printer_.getName() + "].");//@A1M
fireObjectChanged (); //@A1M
}
// Trace the messages (returned whether or not there was an error)
if (Trace.isTraceOn())
{
AS400Message[] messagelist = cmd.getMessageList();
for (int i=0; i < messagelist.length; i++)
{
// show each message
Trace.log (Trace.INFORMATION, messagelist[i].getText());
}
}
}
catch (Exception e)
{
if (Trace.isTraceOn())
Trace.log (Trace.ERROR, "ERROR CommandCall exception for starting [" + printer_.getName () + "].");
fireError(e); //@A1M
}
// fire stopped working event
fireStopWorking();
} // end try block
catch (Exception e)
{
// trace the error
if (Trace.isTraceOn())
Trace.log (Trace.ERROR, "ERROR Starting writer for printer [" + printer_.getName () + "].");
fireError (e);
}
}
} // end PrinterStartAction class
© 2015 - 2025 Weber Informatics LLC | Privacy Policy