use of jp.ossc.nimbus.ioc.UnitOfWork in project nimbus by nimbus-org.
the class EJBDriveDispatcher method invokeUnitOfWorkBase.
/**
* ユニットオブワークを実行する
* @param uow 入力ユニットオブワーク
* @return 出力ユニットオブワーク
* @throws Throwable
*/
public UnitOfWork invokeUnitOfWorkBase(UnitOfWork uow) throws Exception {
UnitOfWork retUow = FacadeValueAccess.createCommandsValue();
boolean cmdErrFlg = false;
// 配列分実行する
if (this.getLogger() != null) {
this.getLogger().write(IOC__00002);
}
for (int rcnt = 0; rcnt < uow.size(); rcnt++) {
CommandBase tmp = uow.getCommand(rcnt);
try {
if (tmp.isCommand()) {
if (!cmdErrFlg) {
if (mCommandInvokerRemote == null) {
mCommandInvokerRemote = mCommandInvokerHome.create();
if (this.getLogger() != null) {
this.getLogger().write(IOC__00001, "SLSBCommandHomeLocal get cmpleted.");
}
}
Command ret = this.mCommandInvokerRemote.invokeCommand((Command) tmp);
if (ret.getStatus() == CommandBase.C_STATUS_ERROR) {
if (this.getLogger() != null) {
this.getLogger().write("IOC__00020");
}
this.getContext().setRollbackOnly();
cmdErrFlg = true;
}
retUow.addCommand(ret);
} else {
if (this.getLogger() != null) {
this.getLogger().write("IOC__00021");
}
retUow.addCommand((Command) tmp);
}
} else {
if (this.getLogger() != null) {
this.getLogger().write("IOC__00015");
}
if (mUnitOfWorkInvokerRemote == null) {
mUnitOfWorkInvokerRemote = mUnitOfWorkInvokerHome.create();
if (this.getLogger() != null) {
this.getLogger().write(IOC__00001, "SLSBUnitOfWorkHomeLocal get cmpleted.");
}
}
UnitOfWork ret = this.mUnitOfWorkInvokerRemote.invokeUnitOfWork((UnitOfWork) tmp);
retUow.addUnitOfWork(ret);
}
} catch (EJBException e) {
if (this.getLogger() != null) {
this.getLogger().write("IOC__00017", e.getCausedByException());
}
Exception ex = (Exception) e.getCausedByException();
throw ex;
} catch (Throwable e) {
if (this.getLogger() != null) {
this.getLogger().write("IOC__00017", e);
}
IOCException ex = new IOCException("EJBDispatcher#invokeUnitOfWorkBase Unrecognized Error ", e);
throw ex;
}
}
return retUow;
}
use of jp.ossc.nimbus.ioc.UnitOfWork in project nimbus by nimbus-org.
the class UnitOfWorkJournalEditorService method processBlock.
protected boolean processBlock(EditorFinder finder, Object key, Object value, StringBuilder buf) {
final UnitOfWork unitOfWork = (UnitOfWork) value;
boolean isMake = false;
if (isOutputStatus()) {
makeStatusFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputUnitOfWorkSize()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeUnitOfWorkSizeFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputUnitOfWorkExecuteSize()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeUnitOfWorkExecuteSizeFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputCommandSize()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeCommandSizeFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputCommandExecuteSize()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeCommandExecuteSizeFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputExceptionCount()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeExceptionCountFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputExceptions()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeExceptionsFormat(finder, key, unitOfWork, buf);
isMake = true;
}
if (isOutputCommandBases()) {
if (isMake) {
buf.append(getLineSeparator());
}
makeCommandBasesFormat(finder, key, unitOfWork, buf);
isMake = true;
}
return isMake;
}
Aggregations