package connector;
import javax.resource.spi.work.*;
import javax.resource.spi.endpoint.MessageEndpoint;
import javax.resource.spi.XATerminator;
import javax.transaction.xa.Xid;
import java.util.List;
import java.util.ArrayList;
public class NestedWork_Child extends DeliveryWork implements WorkContextProvider {
// private WorkContexts ics = null;
private List<WorkContext> contextsList = new ArrayList<WorkContext>();
private MessageEndpoint ep;
private int numOfMessages ;
private int workCount = 1;
private String op = null;
private WorkManager wm;
private XATerminator xa;
private boolean transacted;
private boolean translationRequired;
public NestedWork_Child(MessageEndpoint ep, int numOfMessages, String op, boolean transacted
, boolean translationRequired){
super(ep, numOfMessages, op);
this.ep = ep;
this.numOfMessages = numOfMessages;
this.op = op;
this.transacted = transacted;
this.translationRequired = translationRequired;
}
public NestedWork_Child(MessageEndpoint ep, int numOfMessages, String op, boolean keepCount,
int workCount, WorkManager wm, XATerminator xa, boolean transacted
, boolean translationRequired){
super(ep, numOfMessages, op, keepCount);
this.workCount = workCount;
this.ep = ep;
this.numOfMessages = numOfMessages;
this.op = op;
this.wm = wm;
this.xa = xa;
this.transacted = transacted;
this.translationRequired = translationRequired;
}
public List<WorkContext> getWorkContexts() {
return contextsList;
}
public void addWorkContext(WorkContext ic){
contextsList.add(ic);
}
public void run() {
debug("executing nested work - child");
if(transacted){
super.run();
}
debug("completed executing nested work - child");
}
public void debug(String message){
System.out.println("JSR-322 [RA] [NestedWork - Child]: " + message);
}
}