Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20268/src/java/org/neuclear/exchange/orders Modified Files: CancelExchangeOrder.java ExchangeCompletionOrder.java ExchangeOrder.java ExchangeTransactionContract.java Log Message: Added two new Data Objects IssuerOrder and IssueReceipt for managing the issuance process. Added Issuance support to the Asset and Audit Controllers. Implemented access control for complete and cancel exchange orders. Index: CancelExchangeOrder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/CancelExchangeOrder.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CancelExchangeOrder.java 5 Apr 2004 16:31:43 -0000 1.6 --- CancelExchangeOrder.java 6 Apr 2004 16:24:34 -0000 1.7 *************** *** 38,45 **** throw new InvalidNamedObjectException(core.getName(), "Not in XML NameSpace: " + ExchangeOrderGlobals.NS_EXCHANGE.getURI()); ! if (elem.getName().equals(ExchangeOrderGlobals.CANCEL_TAGNAME)) ! return new CancelExchangeOrder(core, ! (ExchangeOrderReceipt) TransferGlobals.parseEmbedded(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_RCPT_TAGNAME))); ! throw new InvalidNamedObjectException(core.getName(), "Not Matched"); } --- 38,48 ---- throw new InvalidNamedObjectException(core.getName(), "Not in XML NameSpace: " + ExchangeOrderGlobals.NS_EXCHANGE.getURI()); ! if (elem.getName().equals(ExchangeOrderGlobals.CANCEL_TAGNAME)) { ! final ExchangeOrderReceipt receipt = (ExchangeOrderReceipt) TransferGlobals.parseEmbedded(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_RCPT_TAGNAME)); ! if (core.getSignatory().getName().equals(receipt.getOrder().getSignatory().getName()) ! || core.getSignatory().getPublicKey().equals(receipt.getOrder().getAgent().getServiceKey())) ! return new CancelExchangeOrder(core, receipt); ! throw new InvalidNamedObjectException("Signer does not have permission to Cancel"); ! } throw new InvalidNamedObjectException(core.getName(), "Not Matched"); } Index: ExchangeCompletionOrder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeCompletionOrder.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ExchangeCompletionOrder.java 5 Apr 2004 16:31:43 -0000 1.8 --- ExchangeCompletionOrder.java 6 Apr 2004 16:24:34 -0000 1.9 *************** *** 65,74 **** if (elem.getName().equals(ExchangeOrderGlobals.COMPLETE_TAGNAME)) { ! return new ExchangeCompletionOrder(core, ! (ExchangeOrderReceipt) TransferGlobals.parseEmbedded(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_RCPT_TAGNAME)), ! TransferGlobals.parseRecipientTag(elem), ! TransferGlobals.parseValueTag(elem), ! TransferGlobals.parseTimeStampElement(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_TIME_TAGNAME)), ! TransferGlobals.parseCommentElement(elem)); } throw new InvalidNamedObjectException(core.getName(), "Not Matched"); --- 65,78 ---- if (elem.getName().equals(ExchangeOrderGlobals.COMPLETE_TAGNAME)) { ! final ExchangeOrderReceipt receipt = (ExchangeOrderReceipt) TransferGlobals.parseEmbedded(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_RCPT_TAGNAME)); ! if (core.getSignatory().getPublicKey().equals(receipt.getOrder().getAgent().getServiceKey())) ! return new ExchangeCompletionOrder(core, ! receipt, ! TransferGlobals.parseRecipientTag(elem), ! TransferGlobals.parseValueTag(elem), ! TransferGlobals.parseTimeStampElement(elem, ExchangeOrderGlobals.createQName(ExchangeOrderGlobals.EXCHANGE_TIME_TAGNAME)), ! TransferGlobals.parseCommentElement(elem)); ! throw new InvalidNamedObjectException("Signer does not have permission to Complete"); ! } throw new InvalidNamedObjectException(core.getName(), "Not Matched"); Index: ExchangeTransactionContract.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeTransactionContract.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ExchangeTransactionContract.java 5 Apr 2004 16:31:43 -0000 1.3 --- ExchangeTransactionContract.java 6 Apr 2004 16:24:34 -0000 1.4 *************** *** 1,7 **** package org.neuclear.exchange.orders; import org.neuclear.asset.orders.AssetTransactionContract; import org.neuclear.exchange.contracts.ExchangeAgent; - import org.neuclear.id.Service; import org.neuclear.id.SignedNamedCore; --- 1,7 ---- package org.neuclear.exchange.orders; + import org.neuclear.asset.contracts.Asset; import org.neuclear.asset.orders.AssetTransactionContract; import org.neuclear.exchange.contracts.ExchangeAgent; import org.neuclear.id.SignedNamedCore; *************** *** 26,29 **** --- 26,34 ---- $Id$ $Log$ + Revision 1.4 2004/04/06 16:24:34 pelle + Added two new Data Objects IssuerOrder and IssueReceipt for managing the issuance process. + Added Issuance support to the Asset and Audit Controllers. + Implemented access control for complete and cancel exchange orders. + Revision 1.3 2004/04/05 16:31:43 pelle Created new ServiceBuilder class for creating services. A service is an identity that has a seperate service URL and Service Public Key. *************** *** 48,52 **** */ public abstract class ExchangeTransactionContract extends AssetTransactionContract { ! ExchangeTransactionContract(SignedNamedCore core, Service asset, ExchangeAgent agent) { super(core, asset); this.agent = agent; --- 53,57 ---- */ public abstract class ExchangeTransactionContract extends AssetTransactionContract { ! ExchangeTransactionContract(SignedNamedCore core, Asset asset, ExchangeAgent agent) { super(core, asset); this.agent = agent; Index: ExchangeOrder.java =================================================================== RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrder.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ExchangeOrder.java 5 Apr 2004 16:31:43 -0000 1.8 --- ExchangeOrder.java 6 Apr 2004 16:24:34 -0000 1.9 *************** *** 2,5 **** --- 2,6 ---- import org.dom4j.Element; + import org.neuclear.asset.contracts.Asset; import org.neuclear.asset.orders.TransferGlobals; import org.neuclear.asset.orders.Value; *************** *** 19,23 **** public final class ExchangeOrder extends ExchangeTransactionContract { private ExchangeOrder(final SignedNamedCore core, ! final Service bidAsset, final ExchangeAgent agent, final Value amount, BidItem items[], final String comment, final Date expires) { super(core, bidAsset, agent); --- 20,24 ---- public final class ExchangeOrder extends ExchangeTransactionContract { private ExchangeOrder(final SignedNamedCore core, ! final Asset bidAsset, final ExchangeAgent agent, final Value amount, BidItem items[], final String comment, final Date expires) { super(core, bidAsset, agent); |