package org.jboss.narayana.blacktie.jatmibroker.xatmi.services; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.jboss.narayana.blacktie.jatmibroker.core.conf.ConfigurationException; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Connection; import org.jboss.narayana.blacktie.jatmibroker.xatmi.ConnectionException; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Response; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Service; import org.jboss.narayana.blacktie.jatmibroker.xatmi.TPSVCINFO; import org.jboss.narayana.blacktie.jatmibroker.xatmi.X_OCTET; public class TPCallXOctetService implements Service { private static final Logger log = LogManager.getLogger(TPCallXOctetService.class); public Response tpservice(TPSVCINFO svcinfo) throws ConnectionException, ConfigurationException { log.info("test_tpcall_x_octet_service"); boolean ok = false; if (svcinfo.getBuffer() != null) { byte[] received = ((X_OCTET) svcinfo.getBuffer()).getByteArray(); byte[] expected = "test_tpcall_x_octet".getBytes(); for (int i = 0; i < expected.length; i++) { if (expected[i] != received[i]) { ok = false; break; } ok = true; } // byte[] expected = new // byte["test_tpcall_x_octet".getBytes().length + 1]; // System.arraycopy("test_tpcall_x_octet".getBytes(), 0, expected, // 0, // received.length - 1); // if (Arrays.equals(received, expected)) { // ok = true; // } } int len = 60; X_OCTET toReturn; toReturn = (X_OCTET) svcinfo.getConnection().tpalloc("X_OCTET", null); if (ok) { toReturn.setByteArray("tpcall_x_octet".getBytes()); } else { StringBuffer buffer = new StringBuffer("fail"); if (svcinfo.getBuffer() != null) { buffer.append(new String(((X_OCTET) svcinfo.getBuffer()).getByteArray())); } else { buffer.append("dud"); } toReturn.setByteArray("fail".getBytes()); } return new Response(Connection.TPSUCCESS, 20, toReturn, 0); } }