|
From: <pe...@us...> - 2003-11-21 04:43:07
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency
In directory sc8-pr-cvs1:/tmp/cvs-serv10286/src/java/org/neuclear/asset/controllers/currency
Modified Files:
CurrencyController.java
Log Message:
EncryptedFileStore now works. It uses the PBECipher with DES3 afair.
Otherwise You will Finaliate.
Anything that can be final has been made final throughout everyting. We've used IDEA's Inspector tool to find all instance of variables that could be final.
This should hopefully make everything more stable (and secure).
Index: CurrencyController.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency/CurrencyController.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** CurrencyController.java 12 Nov 2003 23:47:04 -0000 1.5
--- CurrencyController.java 21 Nov 2003 04:43:04 -0000 1.6
***************
*** 24,28 ****
// this(LedgerFactory.getInstance().getLedger(ledgername),title,reserve);
// }
! public CurrencyController(Ledger ledger, String assetname) throws LowlevelLedgerException, BookExistsException, NeuClearException {
super();
this.ledger = ledger;
--- 24,28 ----
// this(LedgerFactory.getInstance().getLedger(ledgername),title,reserve);
// }
! public CurrencyController(final Ledger ledger, final String assetname) throws LowlevelLedgerException, BookExistsException, NeuClearException {
super();
this.ledger = ledger;
***************
*** 38,53 ****
}
! public boolean canProcess(Asset asset) {
return this.asset.getName().equals(asset.getName());
}
! public final TransferReceiptBuilder processTransfer(TransferRequest req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException {
try {
if (!req.getSignatory().equals(req.getFrom()))
throw new TransferDeniedException(req);
! Book from = getBook(req.getFrom());
! Book to = getBook(req.getTo());
! PostedTransaction posted = from.transfer(to, req.getAmount(), req.getComment(), req.getValueTime());
return new TransferReceiptBuilder(req, createTransactionId(req, posted));
} catch (UnknownBookException e) {
--- 38,53 ----
}
! public boolean canProcess(final Asset asset) {
return this.asset.getName().equals(asset.getName());
}
! public final TransferReceiptBuilder processTransfer(final TransferRequest 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 PostedTransaction posted = from.transfer(to, req.getAmount(), req.getComment(), req.getValueTime());
return new TransferReceiptBuilder(req, createTransactionId(req, posted));
} catch (UnknownBookException e) {
***************
*** 64,72 ****
}
! private String createTransactionId(TransferRequest req, PostedTransaction posted) {
return req.getAsset().getName() + "/" + posted.getXid();
}
! private Book getBook(Identity id) throws UnknownBookException, LowlevelLedgerException {
return ledger.getBook(id.getName());
}
--- 64,72 ----
}
! private String createTransactionId(final TransferRequest req, final PostedTransaction posted) {
return req.getAsset().getName() + "/" + posted.getXid();
}
! private Book getBook(final Identity id) throws UnknownBookException, LowlevelLedgerException {
return ledger.getBook(id.getName());
}
***************
*** 80,84 ****
* @throws LowLevelPaymentException
*/
! public double getBalance(Identity id, Date time) throws LowLevelPaymentException {
try {
return getBook(id).getBalance(time);
--- 80,84 ----
* @throws LowLevelPaymentException
*/
! public double getBalance(final Identity id, final Date time) throws LowLevelPaymentException {
try {
return getBook(id).getBalance(time);
***************
*** 90,101 ****
}
! public final HeldTransferReceiptBuilder processHeldTransfer(HeldTransferRequest req) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException {
try {
if (!req.getSignatory().equals(req.getFrom()))
throw new TransferDeniedException(req);
! Book from = getBook(req.getFrom());
! Book to = getBook(req.getTo());
! PostedHeldTransaction posted = from.hold(to, req.getAmount(), req.getComment(), req.getValueTime(), req.getHeldUntil());
--- 90,101 ----
}
! public final HeldTransferReceiptBuilder processHeldTransfer(final HeldTransferRequest 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.getHeldUntil());
***************
*** 114,126 ****
}
! public final TransferReceiptBuilder processCompleteHold(CompleteHeldTransferRequest complete) throws LowLevelPaymentException, InvalidTransferException, TransferDeniedException {
try {
if (!complete.getSignatory().equals(complete.getTo()))
throw new TransferDeniedException(complete);
! PostedHeldTransaction heldTran = ledger.findHeldTransaction(complete.getName());
if (heldTran == null)
throw new InvalidTransferException("holdid");
! double amount = getTransactionAmount(heldTran);
if (amount > complete.getAmount())
throw new TransferLargerThanHeldException(complete, amount);
--- 114,126 ----
}
! public final TransferReceiptBuilder processCompleteHold(final CompleteHeldTransferRequest 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");
! final double amount = getTransactionAmount(heldTran);
if (amount > complete.getAmount())
throw new TransferLargerThanHeldException(complete, amount);
***************
*** 130,134 ****
throw new ExpiredHeldTransferException(complete);
! PostedTransaction tran = heldTran.complete(complete.getAmount(), complete.getValueTime(), complete.getComment());
return new TransferReceiptBuilder(complete, tran.getXid());
} catch (UnknownTransactionException e) {
--- 130,134 ----
throw new ExpiredHeldTransferException(complete);
! final PostedTransaction tran = heldTran.complete(complete.getAmount(), complete.getValueTime(), complete.getComment());
return new TransferReceiptBuilder(complete, tran.getXid());
} catch (UnknownTransactionException e) {
***************
*** 143,149 ****
}
! public final CancelHeldTransferReceiptBuilder processCancelHold(CancelHeldTransferRequest cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException {
try {
! PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getHoldId());
if (!isRecipient(cancel.getSignatory(), heldTran))
throw new TransferDeniedException(cancel);
--- 143,149 ----
}
! public final CancelHeldTransferReceiptBuilder processCancelHold(final CancelHeldTransferRequest cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
! final PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getHoldId());
if (!isRecipient(cancel.getSignatory(), heldTran))
throw new TransferDeniedException(cancel);
***************
*** 164,172 ****
* @return
*/
! private static double getTransactionAmount(PostedTransaction tran) {
! Iterator iter = tran.getItems();
double amount = 0;
while (iter.hasNext()) {
! TransactionItem item = (TransactionItem) iter.next();
if (item.getAmount() > 0)
amount += item.getAmount();
--- 164,172 ----
* @return
*/
! private static double getTransactionAmount(final PostedTransaction tran) {
! final Iterator iter = tran.getItems();
double amount = 0;
while (iter.hasNext()) {
! final TransactionItem item = (TransactionItem) iter.next();
if (item.getAmount() > 0)
amount += item.getAmount();
***************
*** 182,189 ****
* @return
*/
! private static boolean isRecipient(Identity id, PostedTransaction tran) {
! Iterator iter = tran.getItems();
while (iter.hasNext()) {
! TransactionItem item = (TransactionItem) iter.next();
if (item.getAmount() >= 0 && item.getBook().getBookID().equals(id.getName()))
return true;
--- 182,189 ----
* @return
*/
! private static boolean isRecipient(final Identity id, final PostedTransaction tran) {
! final Iterator iter = tran.getItems();
while (iter.hasNext()) {
! final TransactionItem item = (TransactionItem) iter.next();
if (item.getAmount() >= 0 && item.getBook().getBookID().equals(id.getName()))
return true;
|