package com.hp.mwtests.ts.arjuna.resources;
import com.arjuna.ats.arjuna.common.Uid;
import com.arjuna.ats.arjuna.coordinator.AbstractRecord;
import com.arjuna.ats.arjuna.coordinator.OnePhaseResource;
import com.arjuna.ats.arjuna.coordinator.RecordType;
import com.arjuna.ats.arjuna.coordinator.TwoPhaseOutcome;
import com.arjuna.ats.arjuna.state.InputObjectState;
import com.arjuna.ats.arjuna.state.OutputObjectState;
import com.arjuna.ats.internal.arjuna.abstractrecords.LastResourceRecord;
import java.io.PrintWriter;
public class LastResourceShutdownRecord extends LastResourceRecord
{
private final boolean failInPrepare;
public LastResourceShutdownRecord(OnePhaseResource onePhaseResource) {
this(onePhaseResource, false);
}
public LastResourceShutdownRecord(OnePhaseResource onePhaseResource, boolean failInPrepare) {
super(onePhaseResource);
this.failInPrepare = failInPrepare;
}
public int topLevelPrepare()
{
if (failInPrepare) {
super.topLevelAbort();
return TwoPhaseOutcome.PREPARE_NOTOK;
} else {
return super.topLevelPrepare();
}
}
public void print(PrintWriter strm)
{
strm.println("LastResourceShutdownRecord for:");
super.print(strm);
}
public String type()
{
return "/StateManager/AbstractRecord/LastResourceShutdownRecord";
}
}