jtopenlite.com.ibm.jtopenlite.components.ListJobLogMessagesImpl 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
///////////////////////////////////////////////////////////////////////////////
//
// JTOpenLite
//
// Filename: ListJobLogMessagesImpl.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) 2011-2012 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.jtopenlite.components;
import com.ibm.jtopenlite.*;
import com.ibm.jtopenlite.command.*;
import com.ibm.jtopenlite.command.program.message.*;
import com.ibm.jtopenlite.command.program.openlist.*;
import java.io.*;
class ListJobLogMessagesImpl implements OpenListOfJobLogMessagesOLJL0100Listener, OpenListOfJobLogMessagesSelectionListener
{
private final OpenListOfJobLogMessagesOLJL0100 messageFormat_ = new OpenListOfJobLogMessagesOLJL0100();
private final OpenListOfJobLogMessages messageList_ = new OpenListOfJobLogMessages(1000, 1, messageFormat_);
private final OpenListHandler handler_ = new OpenListHandler(messageList_, messageFormat_, this);
private int counter_ = -1;
private MessageInfo[] messages_;
private final char[] charBuffer_ = new char[4096];
private String jobName_;
public ListJobLogMessagesImpl()
{
messageList_.setSelectionListener(this);
}
public void openComplete()
{
}
public void totalRecordsInList(int total)
{
messages_ = new MessageInfo[total];
counter_ = -1;
}
public boolean stopProcessing()
{
return false;
}
public synchronized MessageInfo[] getMessages(final CommandConnection conn, JobInfo job) throws IOException
{
messages_ = null;
counter_ = -1;
jobName_ = job.getJobName();
while (jobName_.length() < 10) jobName_ = jobName_+" ";
jobName_ = jobName_ + job.getUserName();
while (jobName_.length() < 20) jobName_ = jobName_+" ";
jobName_ = jobName_ + job.getJobNumber();
handler_.process(conn, 1000);
return messages_;
}
// OLJL0100 listener.
public void newMessageEntry(int numberOfFieldsReturned, int messageSeverity,
String messageIdentifier, String messageType,
int messageKey, String messageFileName,
String messageFileLibrarySpecifiedAtSendTime,
String dateSent, String timeSent, String microseconds, byte[] threadID)
{
messages_[++counter_] = new MessageInfo(messageSeverity, messageIdentifier, messageType, messageKey, dateSent, timeSent, microseconds);
}
public void newIdentifierField(int identifierField, String typeOfData, String statusOfData,
int lengthOfData, byte[] tempData, int offsetOfTempData)
{
switch (identifierField)
{
case 1001:
messages_[counter_].setReplyStatus(Conv.ebcdicByteArrayToString(tempData, offsetOfTempData, lengthOfData, charBuffer_));
break;
case 302:
messages_[counter_].setText(Conv.ebcdicByteArrayToString(tempData, offsetOfTempData, lengthOfData, charBuffer_));
break;
}
}
// Selection listener.
public String getListDirection()
{
return "*NEXT";
}
public String getQualifiedJobName()
{
return jobName_;
}
public byte[] getInternalJobIdentifier()
{
return null;
}
public int getStartingMessageKey()
{
return 0;
}
public int getMaximumMessageLength()
{
return 8192;
}
public int getMaximumMessageHelpLength()
{
return 0;
}
private static final int[] fields_ = new int[] { 1001, 302 };
public int getFieldIdentifierCount()
{
return fields_.length;
}
public int getFieldIdentifier(int index)
{
return fields_[index];
}
public String getCallMessageQueueName()
{
return "*";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy