本文整理汇总了Java中nl.strohalm.cyclos.services.accounts.external.exceptions.CannotMarkExternalTransferAsCheckedException类的典型用法代码示例。如果您正苦于以下问题:Java CannotMarkExternalTransferAsCheckedException类的具体用法?Java CannotMarkExternalTransferAsCheckedException怎么用?Java CannotMarkExternalTransferAsCheckedException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CannotMarkExternalTransferAsCheckedException类属于nl.strohalm.cyclos.services.accounts.external.exceptions包,在下文中一共展示了CannotMarkExternalTransferAsCheckedException类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: performAction
import nl.strohalm.cyclos.services.accounts.external.exceptions.CannotMarkExternalTransferAsCheckedException; //导入依赖的package包/类
@Override
public void performAction(final ExternalTransferAction action, final Long... ids) {
for (final Long id : ids) {
final ExternalTransfer externalTransfer = externalTransferDao.load(id, ExternalTransfer.Relationships.TYPE);
final ExternalTransfer.Status status = externalTransfer.getStatus();
if (action == ExternalTransferAction.DELETE) {
if (status != ExternalTransfer.Status.PENDING) {
throw new CannotDeleteExternalTransferException();
}
externalTransferDao.delete(id);
} else if (action == ExternalTransferAction.MARK_AS_CHECKED) {
if (status != ExternalTransfer.Status.PENDING || !externalTransfer.isComplete()) {
throw new CannotMarkExternalTransferAsCheckedException();
}
final ExternalTransferType type = externalTransfer.getType();
if (type != null && type.getAction() == ExternalTransferType.Action.IGNORE) {
// Ignored types are processed as soon as it's checked
externalTransfer.setStatus(ExternalTransfer.Status.PROCESSED);
} else {
externalTransfer.setStatus(ExternalTransfer.Status.CHECKED);
}
externalTransferDao.update(externalTransfer);
} else { // action == ExternalTransferAction.MARK_AS_UNCHECKED
if (status != ExternalTransfer.Status.CHECKED) {
throw new CannotMarkExternalTransferAsUncheckedException();
}
externalTransfer.setStatus(ExternalTransfer.Status.PENDING);
externalTransferDao.update(externalTransfer);
}
}
}