www.pudn.com > yidong.rar > MOProcess.java
package sample;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import aiismg.jcmppapi30.CMPPDeliverResp;
import aiismg.jcmppapi30.VirCallback;
public class MOProcess extends VirCallback {
private String sParamFile;
private String sMsgFile;
private int nOutput = 1;
private static int nCounter = 0;
public MOProcess( String sPF, String sMF, int nOt )
{
sParamFile = sPF;
sMsgFile = sMF;
nOutput = nOt;
}
public synchronized int Callback(CMPPDeliverResp pDeliverResp, byte[] sDestNo )
{
String sFileName = sParamFile + "." + Integer.toString( nCounter );
FileOutputStream pFile;
try{
pFile = new FileOutputStream( sFileName );
int nLen;
pFile = new FileOutputStream( sParamFile );
pFile.write( pDeliverResp.sMsgID.getBytes() );
pFile.write( '\n' );
pFile.write( (Byte.toString( pDeliverResp.nMsgLevel )).getBytes() );
for( nLen = 0; nLen < pDeliverResp.sServiceID.length; nLen++ )
if( pDeliverResp.sServiceID[nLen] == 0 )
break;
pFile.write( '\n' );
pFile.write( pDeliverResp.sServiceID, 0, nLen );
pFile.write( '\n' );
pFile.write( (Byte.toString( pDeliverResp.nMsgFormat )).getBytes() );
pFile.write( '\n' );
for( nLen = 0; nLen < pDeliverResp.sSrcTermID.length; nLen++ )
if( pDeliverResp.sSrcTermID[nLen] == 0 )
break;
pFile.write( pDeliverResp.sSrcTermID, 0, nLen );
pFile.write( '\n' );
pFile.write( (Byte.toString( pDeliverResp.nIsReply )).getBytes() );
pFile.write( '\n' );
pFile.write( (Integer.toString( pDeliverResp.nMsgLen )).getBytes() );
pFile.write( '\n' );
for( nLen = 0; nLen < sDestNo.length; nLen++ )
if( sDestNo[nLen] == 0 )
break;
pFile.write( sDestNo, 0, nLen );
pFile.write( '\n' );
pFile.close();
} catch( SecurityException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to create file " + sFileName );
return 1;
} catch( FileNotFoundException nfcpt ) {
if( nOutput == 1 )
System.err.println( "No such file:" + sFileName );
return 1;
} catch( IOException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to write file " + sFileName );
return 1;
}
sFileName = sMsgFile + "." + Integer.toString( nCounter );
try{
pFile = new FileOutputStream( sFileName );
pFile.write( pDeliverResp.sMsgContent, 0, pDeliverResp.nMsgLen );
pFile.close();
} catch( SecurityException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to create file " + sFileName );
return 1;
} catch( FileNotFoundException nfcpt ) {
if( nOutput == 1 )
System.err.println( "No such file:" + sFileName );
return 1;
} catch( IOException excpt ) {
if( nOutput == 1 )
System.err.println( "Fail to write file " + sFileName );
return 1;
}
nCounter++;
return 0;
}
}