|
From: <pe...@us...> - 2004-01-12 22:39:18
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset/controllers/currency
Modified Files:
CurrencyController.java
Log Message:
Completed all the builders and contracts.
Added a new abstract Value class to contain either an amount or a list of serial numbers.
Now ready to finish off the AssetControllers.
Index: CurrencyController.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency/CurrencyController.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** CurrencyController.java 11 Jan 2004 00:39:05 -0000 1.12
--- CurrencyController.java 12 Jan 2004 22:39:14 -0000 1.13
***************
*** 4,15 ****
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.orders.TransferOrder;
import org.neuclear.asset.orders.builders.TransferReceiptBuilder;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.time.TimeTools;
! import org.neuclear.exchange.orders.CancelExchangeOrder;
! import org.neuclear.exchange.orders.ExchangeCompletionOrder;
! import org.neuclear.exchange.orders.ExchangeOrder;
import org.neuclear.exchange.orders.builders.CancelExchangeReceiptBuilder;
! import org.neuclear.exchange.orders.builders.ExchangeReceiptBuilder;
import org.neuclear.id.Identity;
import org.neuclear.id.resolver.NSResolver;
--- 4,15 ----
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.orders.TransferOrder;
+ import org.neuclear.asset.orders.TransferReceipt;
import org.neuclear.asset.orders.builders.TransferReceiptBuilder;
import org.neuclear.commons.NeuClearException;
+ import org.neuclear.commons.crypto.signers.Signer;
import org.neuclear.commons.time.TimeTools;
! import org.neuclear.exchange.orders.*;
import org.neuclear.exchange.orders.builders.CancelExchangeReceiptBuilder;
! import org.neuclear.exchange.orders.builders.ExchangeOrderReceiptBuilder;
import org.neuclear.id.Identity;
import org.neuclear.id.resolver.NSResolver;
***************
*** 30,36 ****
// this(LedgerFactory.getInstance().getLedger(ledgername),title,reserve);
// }
! public CurrencyController(final Ledger ledger, final String assetname) throws LowlevelLedgerException, BookExistsException, NeuClearException {
super();
this.ledger = ledger;
asset = (Asset) NSResolver.resolveIdentity(assetname);
--- 30,37 ----
// this(LedgerFactory.getInstance().getLedger(ledgername),title,reserve);
// }
! public CurrencyController(final Ledger ledger, final Signer signer,final String assetname) throws LowlevelLedgerException, BookExistsException, NeuClearException {
super();
this.ledger = ledger;
+ this.signer=signer;
asset = (Asset) NSResolver.resolveIdentity(assetname);
***************
*** 48,52 ****
}
! public final TransferReceiptBuilder process(final TransferOrder req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
--- 49,53 ----
}
! public final TransferReceipt process(final TransferOrder req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
***************
*** 56,61 ****
final Timestamp valuetime =TimeTools.now();
final PostedTransaction posted = from.transfer(to, req.getAmount(), req.getComment(), valuetime);
! final String transaction = createTransactionId(req, posted);
! return new TransferReceiptBuilder(req, transaction);
} catch (UnknownBookException e) {
throw new InvalidTransferException(e.getSubMessage());
--- 57,61 ----
final Timestamp valuetime =TimeTools.now();
final PostedTransaction posted = from.transfer(to, req.getAmount(), req.getComment(), valuetime);
! return (TransferReceipt) new TransferReceiptBuilder(req, valuetime).convert(asset.getName(),signer);
} catch (UnknownBookException e) {
throw new InvalidTransferException(e.getSubMessage());
***************
*** 97,111 ****
}
! public final ExchangeReceiptBuilder process(final ExchangeOrder req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
! if (!req.getSignatory().equals(req.getFrom()))
! throw new TransferDeniedException(req);
! final Book from = getBook(req.getFrom());
! final Book to = getBook(req.getTo());
!
! final PostedHeldTransaction posted = from.hold(to, req.getAmount(), req.getComment(), req.getValueTime(), req.getValidTo());
! return new ExchangeReceiptBuilder(req, createTransactionId(req, posted));
} catch (UnknownBookException e) { //TODO Implement something like this eg. AccountNotValidException
throw new InvalidTransferException(e.getSubMessage());
--- 97,109 ----
}
! public final ExchangeOrderReceipt process(final ExchangeOrder req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
! final Book from = getBook(req.getSignatory());
! final Book to = getBook(req.getAgent());
! final Timestamp valuetime = TimeTools.now();
+ final PostedHeldTransaction posted = from.hold(to, req.getAmount(), req.getComment(), valuetime,req.getExpiry());
! return (ExchangeOrderReceipt) new ExchangeOrderReceiptBuilder(req, valuetime).convert(asset.getName(),signer);
} catch (UnknownBookException e) { //TODO Implement something like this eg. AccountNotValidException
throw new InvalidTransferException(e.getSubMessage());
***************
*** 121,130 ****
}
! public final TransferReceiptBuilder process(final ExchangeCompletionOrder complete) throws LowLevelPaymentException, InvalidTransferException, TransferDeniedException, NeuClearException {
try {
! if (!complete.getSignatory().equals(complete.getTo()))
! throw new TransferDeniedException(complete);
!
! final PostedHeldTransaction heldTran = ledger.findHeldTransaction(complete.getName());
if (heldTran == null)
throw new InvalidTransferException("holdid");
--- 119,126 ----
}
! public final ExchangeCompletedReceipt process(final ExchangeCompletionOrder complete) throws LowLevelPaymentException, InvalidTransferException, TransferDeniedException, NeuClearException {
try {
! //
! final PostedHeldTransaction heldTran = ledger.findHeldTransaction(complete.getReceipt().getOrder().getDigest());
if (heldTran == null)
throw new InvalidTransferException("holdid");
***************
*** 138,142 ****
final PostedTransaction tran = heldTran.complete(complete.getAmount(), complete.getValueTime(), complete.getComment());
! return new TransferReceiptBuilder(complete, tran.getXid());
} catch (UnknownTransactionException e) {
throw new NonExistantHoldException(complete.getHoldId());
--- 134,138 ----
final PostedTransaction tran = heldTran.complete(complete.getAmount(), complete.getValueTime(), complete.getComment());
! return new ExchangeCompletedReceiptBuilder(complete, tran.getXid());
} catch (UnknownTransactionException e) {
throw new NonExistantHoldException(complete.getHoldId());
***************
*** 150,154 ****
}
! public final CancelExchangeReceiptBuilder process(final CancelExchangeOrder cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
final PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getHoldId());
--- 146,150 ----
}
! public final CancelExchangeReceipt process(final CancelExchangeOrder cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
final PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getHoldId());
***************
*** 202,204 ****
--- 198,201 ----
private final Asset asset;
private final Book issuerBook;
+ private final Signer signer;
}
|