package org.csc.phynixx.phynixx.evaluation.howl;
/*
* #%L
* phynixx-howl
* %%
* Copyright (C) 2014 csc
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import org.csc.phynixx.common.logger.IPhynixxLogger;
import org.csc.phynixx.common.logger.PhynixxLogManager;
import org.objectweb.howl.log.LogException;
import org.objectweb.howl.log.LogRecord;
import org.objectweb.howl.log.LogRecordType;
import org.objectweb.howl.log.ReplayListener;
import org.objectweb.howl.log.xa.XALogRecord;
class TestReplayListener implements ReplayListener {
private IPhynixxLogger log = PhynixxLogManager.getLogger(this.getClass());
public void onRecord(LogRecord lr) {
XALogRecord record = (XALogRecord) lr;
byte[][] content = lr.getFields();
log.info("Field size = [" + content.length + "]");
if (content != null) {
for (int i = 0; i < content.length; i++) {
byte[] cc = content[i];
log.info("field[" + i + "]=" + new String(cc));
}
}
log.info("XACommittingTX=" + record.getTx());
/*
if (log.isInfoEnabled()) {
log.info("LogRecord type= " + lr.type);
}
*/
switch (lr.type) {
case LogRecordType.EOB:
if (log.isInfoEnabled()) {
log.info("Howl End of Buffer Record");
}
break;
case LogRecordType.END_OF_LOG:
if (log.isInfoEnabled()) {
log.info("Howl End of Log Record");
}
break;
case LogRecordType.XACOMMIT:
if (log.isInfoEnabled()) {
log.info("Howl XA Commit Record");
}
break;
case LogRecordType.XADONE:
if (log.isInfoEnabled()) {
log.info("Howl XA Done Record");
}
break;
case LogRecordType.USER:
if (log.isInfoEnabled()) {
log.info("Howl User Record");
}
break;
default:
if (log.isInfoEnabled()) {
log.info("Unknown Howl LogRecord");
}
break;
}
}
public void onError(LogException exception) {
if (log.isInfoEnabled()) {
log.info("onError");
}
}
public LogRecord getLogRecord() {
if (log.isInfoEnabled()) {
log.info("getLogRecord - TestReplayListener started for replay");
}
return new XALogRecord(120);
}
}