You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(119) |
Oct
(111) |
Nov
(238) |
Dec
(395) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(239) |
Feb
(59) |
Mar
(354) |
Apr
(489) |
May
(23) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(5) |
Jun
(2) |
Jul
|
Aug
|
Sep
(3) |
Oct
(14) |
Nov
(17) |
Dec
(9) |
| 2007 |
Jan
(4) |
Feb
(3) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(7) |
May
(3) |
Jun
(6) |
Jul
(4) |
Aug
(3) |
Sep
(15) |
Oct
(13) |
Nov
(35) |
Dec
(40) |
| 2009 |
Jan
(19) |
Feb
(21) |
Mar
(16) |
Apr
(18) |
May
(36) |
Jun
(20) |
Jul
(32) |
Aug
(11) |
Sep
(3) |
Oct
(2) |
Nov
(2) |
Dec
(13) |
| 2010 |
Jan
(5) |
Feb
(5) |
Mar
(7) |
Apr
(1) |
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(3) |
| 2012 |
Jan
(3) |
Feb
(3) |
Mar
(1) |
Apr
(4) |
May
(8) |
Jun
(4) |
Jul
(9) |
Aug
(2) |
Sep
(8) |
Oct
(3) |
Nov
(8) |
Dec
(4) |
| 2013 |
Jan
(2) |
Feb
(1) |
Mar
(5) |
Apr
(6) |
May
(10) |
Jun
(5) |
Jul
(6) |
Aug
(7) |
Sep
(5) |
Oct
(2) |
Nov
(4) |
Dec
(4) |
| 2014 |
Jan
(13) |
Feb
(4) |
Mar
(7) |
Apr
(9) |
May
(20) |
Jun
(13) |
Jul
(10) |
Aug
(3) |
Sep
(5) |
Oct
(2) |
Nov
(2) |
Dec
(2) |
| 2015 |
Jan
(3) |
Feb
(3) |
Mar
(5) |
Apr
(4) |
May
(3) |
Jun
(2) |
Jul
(4) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
(4) |
Sep
(3) |
Oct
(3) |
Nov
(4) |
Dec
(2) |
| 2017 |
Jan
|
Feb
(2) |
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <pe...@us...> - 2004-01-13 15:11:21
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/builders
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/exchange/orders/builders
Modified Files:
CancelExchangeReceiptBuilder.java
Log Message:
Now builds.
Now need to do unit tests
Index: CancelExchangeReceiptBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/CancelExchangeReceiptBuilder.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** CancelExchangeReceiptBuilder.java 12 Jan 2004 22:39:14 -0000 1.3
--- CancelExchangeReceiptBuilder.java 13 Jan 2004 15:11:17 -0000 1.4
***************
*** 7,12 ****
--- 7,15 ----
import org.neuclear.commons.NeuClearException;
import org.neuclear.exchange.orders.CancelExchangeOrder;
+ import org.neuclear.exchange.orders.ExchangeGlobals;
import org.neuclear.id.NSTools;
+ import java.util.Date;
+
/**
* (C) 2003 Antilles Software Ventures SA
***************
*** 16,19 ****
--- 19,26 ----
* $Id$
* $Log$
+ * Revision 1.4 2004/01/13 15:11:17 pelle
+ * Now builds.
+ * Now need to do unit tests
+ *
* Revision 1.3 2004/01/12 22:39:14 pelle
* Completed all the builders and contracts.
***************
*** 57,62 ****
*/
public final class CancelExchangeReceiptBuilder extends ReceiptBuilder {
! public CancelExchangeReceiptBuilder(final CancelExchangeOrder req) throws InvalidTransferException, NegativeTransferException, NeuClearException {
! super(NSTools.createUniqueTransactionID(req.getAsset().getName(), req.getSignatory().getName()), TransferGlobals.CANCEL_RCPT_TAGNAME, req.getAsset(), req.getHoldId());
}
--- 64,69 ----
*/
public final class CancelExchangeReceiptBuilder extends ReceiptBuilder {
! public CancelExchangeReceiptBuilder(final CancelExchangeOrder req,Date time) throws InvalidTransferException, NegativeTransferException, NeuClearException {
! super(ExchangeGlobals.createQName(ExchangeGlobals.CANCEL_RCPT_TAGNAME), req,time);
}
|
|
From: <pe...@us...> - 2004-01-13 15:11:21
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/asset/servlet
Added Files:
AssetControllerServlet.java TransferRequestServlet.java
Log Message:
Now builds.
Now need to do unit tests
--- NEW FILE: AssetControllerServlet.java ---
package org.neuclear.asset.servlet;
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.contracts.AssetGlobals;
import org.neuclear.asset.controllers.currency.CurrencyController;
import org.neuclear.asset.orders.TransferGlobals;
import org.neuclear.asset.AssetController;
import org.neuclear.commons.servlets.ServletTools;
import org.neuclear.commons.sql.JNDIConnectionSource;
import org.neuclear.commons.sql.statements.SimpleStatementFactory;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.ledger.implementations.SQLLedger;
import org.neuclear.receiver.ReceiverServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
/*
NeuClear Distributed Transaction Clearing Platform
(C) 2003 Pelle Braendgaard
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id: AssetControllerServlet.java,v 1.1 2004/01/13 15:11:17 pelle Exp $
$Log: AssetControllerServlet.java,v $
Revision 1.1 2004/01/13 15:11:17 pelle
Now builds.
Now need to do unit tests
Revision 1.10 2004/01/10 00:00:45 pelle
Implemented new Schema for Transfer*
Working on it for Exchange*, so far all Receipts are implemented.
Added SignedNamedDocument which is a generic SignedNamedObject that works with all Signed XML.
Changed SignedNamedObject.getDigest() from byte array to String.
The whole malarchy in neuclear-pay does not build yet. The refactoring is a big job, but getting there.
Revision 1.9 2004/01/05 23:47:09 pelle
Create new Document classification "order", which is really just inherint in the new
package layout.
Got rid of much of the inheritance that was lying around and thought a bit further about the format of the exchange orders.
Revision 1.8 2004/01/02 23:18:06 pelle
Added StatementFactory pattern and refactored the ledger to use it.
Revision 1.7 2003/12/17 23:52:57 pelle
Added SignatureRequestServlet which is abstract and can be used for building SignatureRequests for various applications.
Revision 1.6 2003/12/15 23:31:54 pelle
added ServletTools.getInitParam() which first tries the ServletConfig, then the context config.
All the web.xml's have been updated to support this. Also various further generalizations have been done throughout
for getServiceid(), getTitle(), getSigner()
Revision 1.5 2003/12/10 23:52:39 pelle
Did some cleaning up in the builders
Fixed some stuff in IdentityCreator
New maven goal to create executable jarapp
We are close to 0.8 final of ID, 0.11 final of XMLSIG and 0.5 of commons.
Will release shortly.
Revision 1.4 2003/11/22 00:22:28 pelle
All unit tests in commons, id and xmlsec now work.
AssetController now successfully processes payments in the unit test.
Payment Web App has working form that creates a TransferOrder presents it to the signer
and forwards it to AssetControlServlet. (Which throws an XML Parser Exception) I think the XMLReaderServlet is bust.
Revision 1.3 2003/11/21 04:43:04 pelle
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).
Revision 1.2 2003/11/19 23:32:20 pelle
Signers now can generatekeys via the generateKey() method.
Refactored the relationship between SignedNamedObject and NamedObjectBuilder a bit.
SignedNamedObject now contains the full xml which is returned with getEncoded()
This means that it is now possible to further receive on or process a SignedNamedObject, leaving
NamedObjectBuilder for its original purposes of purely generating new Contracts.
NamedObjectBuilder.sign() now returns a SignedNamedObject which is the prefered way of processing it.
Updated all major interfaces that used the old model to use the new model.
Revision 1.1 2003/11/18 23:34:29 pelle
Payment Web Application is getting there.
*/
/**
* User: pelleb
* Date: Nov 18, 2003
* Time: 6:18:18 PM
*/
public final class AssetControllerServlet extends ReceiverServlet {
public final void init(final ServletConfig config) throws ServletException {
super.init(config);
datasource = ServletTools.getInitParam("datasource",config);
AssetGlobals.registerReaders();
TransferGlobals.registerReaders();
try {
asset = (Asset) NSResolver.resolveIdentity(getServiceid());
final AssetController receiver = new CurrencyController(
new SQLLedger(
new SimpleStatementFactory(new JNDIConnectionSource(datasource)),
getServiceid()
),
getSigner(),
getServiceid()
);
setReceiver(receiver);
} catch (Exception e) {
ctx.log("AssetControllerServer: "+e.getLocalizedMessage());
throw new ServletException(e);
}
}
public final Asset getAsset() {
return asset;
}
public final String getDatasource() {
return datasource;
}
private Asset asset;
private String datasource;
}
--- NEW FILE: TransferRequestServlet.java ---
package org.neuclear.asset.servlet;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.orders.builders.TransferOrderBuilder;
import org.neuclear.asset.orders.Amount;
import org.neuclear.asset.contracts.Asset;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.Utility;
import org.neuclear.commons.time.TimeTools;
import org.neuclear.id.Identity;
import org.neuclear.id.InvalidNamedObjectException;
import org.neuclear.id.builders.Builder;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.signers.servlet.SignatureRequestServlet;
import javax.servlet.http.HttpServletRequest;
/*
NeuClear Distributed Transaction Clearing Platform
(C) 2003 Pelle Braendgaard
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id: TransferRequestServlet.java,v 1.1 2004/01/13 15:11:17 pelle Exp $
$Log: TransferRequestServlet.java,v $
Revision 1.1 2004/01/13 15:11:17 pelle
Now builds.
Now need to do unit tests
Revision 1.5 2004/01/12 22:39:14 pelle
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.
Revision 1.4 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
The Order/Receipt pairs for neuclear pay, should now work. They all have Readers using the latest
Schema.
The TransferBuilders are done and the ExchangeBuilders are nearly there.
The new EmbeddedSignedNamedObject builder is useful for creating new Receipts. The new ReceiptBuilder uses
this to create the embedded transaction.
ExchangeOrders now have the concept of BidItem's, you could create an ExchangeOrder bidding on various items at the same time, to be exchanged as one atomic multiparty exchange.
Still doesnt build yet, but very close now ;-)
Revision 1.3 2004/01/10 00:00:45 pelle
Implemented new Schema for Transfer*
Working on it for Exchange*, so far all Receipts are implemented.
Added SignedNamedDocument which is a generic SignedNamedObject that works with all Signed XML.
Changed SignedNamedObject.getDigest() from byte array to String.
The whole malarchy in neuclear-pay does not build yet. The refactoring is a big job, but getting there.
Revision 1.2 2004/01/05 23:47:09 pelle
Create new Document classification "order", which is really just inherint in the new
package layout.
Got rid of much of the inheritance that was lying around and thought a bit further about the format of the exchange orders.
Revision 1.1 2003/12/20 00:17:41 pelle
overwrote the standard Object.toString(), hashCode() and equals() methods for SignedNamedObject/Core
fixed cactus tests
Added TransferRequestServlet
Added cactus tests to pay
*/
/**
* User: pelleb
* Date: Dec 19, 2003
* Time: 6:37:19 PM
*/
public class TransferRequestServlet extends SignatureRequestServlet{
protected Builder createBuilder(HttpServletRequest request) throws NeuClearException {
Asset asset=(Asset) NSResolver.resolveIdentity(getServiceid());
Identity user=(Identity) request.getUserPrincipal();
if (user==null)
user=NSResolver.resolveIdentity(request.getParameter("sender"));
Identity to=NSResolver.resolveIdentity(request.getParameter("recipient"));
double amount=Double.parseDouble(Utility.denullString(request.getParameter("amount"),"0"));
String comment=Utility.denullString(request.getParameter("comment"));
try {
return new TransferOrderBuilder(asset,to,new Amount(amount),comment);
} catch (InvalidTransferException e) {
throw new InvalidNamedObjectException(user.getName(),e);
}
}
}
|
|
From: <pe...@us...> - 2004-01-13 15:11:20
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/asset
Modified Files:
AssetController.java ExpiredHeldTransferException.java
Log Message:
Now builds.
Now need to do unit tests
Index: AssetController.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/AssetController.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** AssetController.java 12 Jan 2004 22:39:14 -0000 1.12
--- AssetController.java 13 Jan 2004 15:11:17 -0000 1.13
***************
*** 8,11 ****
--- 8,13 ----
import org.neuclear.exchange.orders.*;
import org.neuclear.id.SignedNamedObject;
+ import org.neuclear.receiver.Receiver;
+ import org.neuclear.receiver.UnsupportedTransaction;
/*
***************
*** 29,32 ****
--- 31,38 ----
$Id$
$Log$
+ Revision 1.13 2004/01/13 15:11:17 pelle
+ Now builds.
+ Now need to do unit tests
+
Revision 1.12 2004/01/12 22:39:14 pelle
Completed all the builders and contracts.
***************
*** 107,111 ****
* Time: 3:53:17 PM
*/
! public abstract class AssetController {
/**
--- 113,117 ----
* Time: 3:53:17 PM
*/
! public abstract class AssetController implements Receiver {
/**
***************
*** 114,130 ****
* @param contract
* @return
- * @throws TransferDeniedException
- * @throws LowLevelPaymentException
- * @throws InvalidTransferException
*/
! public final SignedNamedObject process(final AssetTransactionContract contract) throws TransferDeniedException, LowLevelPaymentException, InvalidTransferException, NeuClearException {
! if (contract instanceof TransferOrder)
! return process((TransferOrder) contract);
! if (contract instanceof org.neuclear.exchange.orders.ExchangeOrder)
! return process((ExchangeOrder) contract);
! if (contract instanceof ExchangeCompletionOrder)
! return process((ExchangeCompletionOrder) contract);
! if (contract instanceof CancelExchangeOrder)
! return process((CancelExchangeOrder) contract);
return null;
--- 120,141 ----
* @param contract
* @return
*/
! public final SignedNamedObject receive(final SignedNamedObject contract) throws UnsupportedTransaction , NeuClearException {
! try {
! if (contract instanceof TransferOrder)
! return process((TransferOrder) contract);
! if (contract instanceof ExchangeOrder)
! return process((ExchangeOrder) contract);
! if (contract instanceof ExchangeCompletionOrder)
! return process((ExchangeCompletionOrder) contract);
! if (contract instanceof CancelExchangeOrder)
! return process((CancelExchangeOrder) contract);
! } catch (LowLevelPaymentException e) {
! throw new NeuClearException(e);
! } catch (TransferDeniedException e) {
! throw new NeuClearException(e);
! } catch (InvalidTransferException e) {
! throw new NeuClearException(e);
! }
return null;
Index: ExpiredHeldTransferException.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/ExpiredHeldTransferException.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ExpiredHeldTransferException.java 10 Jan 2004 00:00:45 -0000 1.7
--- ExpiredHeldTransferException.java 13 Jan 2004 15:11:17 -0000 1.8
***************
*** 21,25 ****
public String getSubMessage() {
! return "Not possible to complete held payment at this time: " + held.getValuetime();
}
}
--- 21,25 ----
public String getSubMessage() {
! return "Not possible to complete held payment at this time: " + held.getExchangeTime();
}
}
|
|
From: <pe...@us...> - 2004-01-13 15:11:20
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/asset/orders
Modified Files:
TransferGlobals.java TransferOrder.java
Log Message:
Now builds.
Now need to do unit tests
Index: TransferGlobals.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/TransferGlobals.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** TransferGlobals.java 12 Jan 2004 22:39:14 -0000 1.5
--- TransferGlobals.java 13 Jan 2004 15:11:17 -0000 1.6
***************
*** 37,40 ****
--- 37,44 ----
$Id$
$Log$
+ Revision 1.6 2004/01/13 15:11:17 pelle
+ Now builds.
+ Now need to do unit tests
+
Revision 1.5 2004/01/12 22:39:14 pelle
Completed all the builders and contracts.
***************
*** 161,165 ****
}
! public static String getCommentElement(final Element element) {
final Element value=element.element(createQName(COMMENT_TAG));
if (value==null)
--- 165,169 ----
}
! public static String parseCommentElement(final Element element) {
final Element value=element.element(createQName(COMMENT_TAG));
if (value==null)
Index: TransferOrder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** TransferOrder.java 12 Jan 2004 22:39:14 -0000 1.4
--- TransferOrder.java 13 Jan 2004 15:11:17 -0000 1.5
***************
*** 53,57 ****
TransferGlobals.parseRecipientTag(elem),
TransferGlobals.parseValueTag(elem),
! TransferGlobals.getCommentElement(elem)
);
}
--- 53,57 ----
TransferGlobals.parseRecipientTag(elem),
TransferGlobals.parseValueTag(elem),
! TransferGlobals.parseCommentElement(elem)
);
}
|
|
From: <pe...@us...> - 2004-01-13 15:11:20
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/asset/orders/builders
Modified Files:
TransferOrderBuilder.java
Log Message:
Now builds.
Now need to do unit tests
Index: TransferOrderBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** TransferOrderBuilder.java 12 Jan 2004 22:39:14 -0000 1.2
--- TransferOrderBuilder.java 13 Jan 2004 15:11:17 -0000 1.3
***************
*** 10,13 ****
--- 10,14 ----
import org.neuclear.commons.Utility;
import org.neuclear.id.Identity;
+ import org.neuclear.id.builders.Builder;
import org.neuclear.xml.xmlsec.SignedElement;
***************
*** 32,35 ****
--- 33,40 ----
$Id$
$Log$
+ Revision 1.3 2004/01/13 15:11:17 pelle
+ Now builds.
+ Now need to do unit tests
+
Revision 1.2 2004/01/12 22:39:14 pelle
Completed all the builders and contracts.
***************
*** 124,129 ****
* Time: 3:13:27 PM
*/
! public class TransferOrderBuilder extends SignedElement {
! protected TransferOrderBuilder(final Asset asset, final Identity recipient, final Value amount, final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(TransferGlobals.createQName(TransferGlobals.XFER_TAGNAME));
if (amount.getAmount() < 0)
--- 129,134 ----
* Time: 3:13:27 PM
*/
! public class TransferOrderBuilder extends Builder {
! public TransferOrderBuilder(final Asset asset, final Identity recipient, final Value amount, final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(TransferGlobals.createQName(TransferGlobals.XFER_TAGNAME));
if (amount.getAmount() < 0)
|
|
From: <pe...@us...> - 2004-01-13 15:11:20
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency
In directory sc8-pr-cvs1:/tmp/cvs-serv28986/src/java/org/neuclear/asset/controllers/currency
Modified Files:
CurrencyController.java
Log Message:
Now builds.
Now need to do unit tests
Index: CurrencyController.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/controllers/currency/CurrencyController.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** CurrencyController.java 12 Jan 2004 22:39:14 -0000 1.13
--- CurrencyController.java 13 Jan 2004 15:11:17 -0000 1.14
***************
*** 12,15 ****
--- 12,16 ----
import org.neuclear.exchange.orders.builders.CancelExchangeReceiptBuilder;
import org.neuclear.exchange.orders.builders.ExchangeOrderReceiptBuilder;
+ import org.neuclear.exchange.orders.builders.ExchangeCompletedReceiptBuilder;
import org.neuclear.id.Identity;
import org.neuclear.id.resolver.NSResolver;
***************
*** 56,60 ****
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) {
--- 57,61 ----
final Timestamp valuetime =TimeTools.now();
! final PostedTransaction posted = from.transfer(to, req.getAmount().getAmount(), req.getComment(), valuetime);
return (TransferReceipt) new TransferReceiptBuilder(req, valuetime).convert(asset.getName(),signer);
} catch (UnknownBookException e) {
***************
*** 103,107 ****
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);
--- 104,108 ----
final Timestamp valuetime = TimeTools.now();
! final PostedHeldTransaction posted = from.hold(to, req.getAmount().getAmount(), req.getComment(), valuetime,req.getExpiry());
return (ExchangeOrderReceipt) new ExchangeOrderReceiptBuilder(req, valuetime).convert(asset.getName(),signer);
***************
*** 126,140 ****
throw new InvalidTransferException("holdid");
final double amount = getTransactionAmount(heldTran);
! if (amount > complete.getAmount())
throw new TransferLargerThanHeldException(complete, amount);
! if (complete.getAmount() < 0)
throw new NegativeTransferException(complete.getAmount());
! if (heldTran.getExpiryTime().before(complete.getValueTime()) || heldTran.getTransactionTime().after(complete.getValueTime()))
throw new ExpiredHeldTransferException(complete);
! 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());
} catch (TransactionExpiredException e) {
throw new ExpiredHeldTransferException(complete);
--- 127,141 ----
throw new InvalidTransferException("holdid");
final double amount = getTransactionAmount(heldTran);
! if (amount > complete.getAmount().getAmount())
throw new TransferLargerThanHeldException(complete, amount);
! if (complete.getAmount().getAmount() < 0)
throw new NegativeTransferException(complete.getAmount());
! if (heldTran.getExpiryTime().before(complete.getExchangeTime()) || heldTran.getTransactionTime().after(complete.getExchangeTime()))
throw new ExpiredHeldTransferException(complete);
! final PostedTransaction tran = heldTran.complete(complete.getAmount().getAmount(), complete.getExchangeTime(), complete.getComment());
! return (ExchangeCompletedReceipt) new ExchangeCompletedReceiptBuilder(complete,TimeTools.now()).convert(asset.getName(),signer);
} catch (UnknownTransactionException e) {
! throw new NonExistantHoldException(complete.getReceipt().getOrder().getDigest());
} catch (TransactionExpiredException e) {
throw new ExpiredHeldTransferException(complete);
***************
*** 148,158 ****
public final CancelExchangeReceipt process(final CancelExchangeOrder cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
! final PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getHoldId());
if (!isRecipient(cancel.getSignatory(), heldTran))
throw new TransferDeniedException(cancel);
heldTran.cancel();
! return new CancelExchangeReceiptBuilder(cancel);
} catch (UnknownTransactionException e) {
! throw new NonExistantHoldException(cancel.getHoldId());
} catch (LowlevelLedgerException e) {
throw new LowLevelPaymentException(e);
--- 149,159 ----
public final CancelExchangeReceipt process(final CancelExchangeOrder cancel) throws InvalidTransferException, LowLevelPaymentException, TransferDeniedException, NeuClearException {
try {
! final PostedHeldTransaction heldTran = ledger.findHeldTransaction(cancel.getReceipt().getOrder().getDigest());
if (!isRecipient(cancel.getSignatory(), heldTran))
throw new TransferDeniedException(cancel);
heldTran.cancel();
! return (CancelExchangeReceipt) new CancelExchangeReceiptBuilder(cancel,TimeTools.now()).convert(asset.getName(),signer);
} catch (UnknownTransactionException e) {
! throw new NonExistantHoldException(cancel.getReceipt().getOrder().getDigest());
} catch (LowlevelLedgerException e) {
throw new LowLevelPaymentException(e);
|
|
From: <pe...@us...> - 2004-01-13 15:10:58
|
Update of /cvsroot/neuclear/neuclear-id-sample/src/java/org/neuclear/id/sample
In directory sc8-pr-cvs1:/tmp/cvs-serv28961/src/java/org/neuclear/id/sample
Modified Files:
MessageSenderReceiver.java
Log Message:
Now builds.
Now need to do unit tests
Index: MessageSenderReceiver.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id-sample/src/java/org/neuclear/id/sample/MessageSenderReceiver.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** MessageSenderReceiver.java 16 Dec 2003 17:55:52 -0000 1.1
--- MessageSenderReceiver.java 13 Jan 2004 15:10:53 -0000 1.2
***************
*** 12,15 ****
--- 12,18 ----
import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.commons.NeuClearException;
+ import org.neuclear.commons.crypto.signers.TestCaseSigner;
+ import org.neuclear.commons.crypto.signers.Signer;
+ import org.neuclear.commons.crypto.signers.InvalidPassphraseException;
import org.neuclear.store.Store;
import org.neuclear.senders.Sender;
***************
*** 21,26 ****
*/
public class MessageSenderReceiver implements Receiver{
! public ElementProxy receive(SignedNamedObject obj) throws UnsupportedTransaction, NeuClearException {
if (obj instanceof SignedMessage) {
String recipient=((SignedMessage)obj).getRecipient();
--- 24,36 ----
*/
public class MessageSenderReceiver implements Receiver{
+ public MessageSenderReceiver(){
+ try {
+ signer=new TestCaseSigner();
+ } catch (InvalidPassphraseException e) {
+ throw new RuntimeException(e);
+ }
+ }
! public SignedNamedObject receive(SignedNamedObject obj) throws UnsupportedTransaction, NeuClearException {
if (obj instanceof SignedMessage) {
String recipient=((SignedMessage)obj).getRecipient();
***************
*** 36,41 ****
// Send copy to signer
obj.getSignatory().receive(obj);
! return new SimpleReceipt("success");
}
!
}
--- 46,51 ----
// Send copy to signer
obj.getSignatory().receive(obj);
! return new SimpleReceipt("success").convert("neu://bob@test",signer);
}
! private final Signer signer;
}
|
|
From: <pe...@us...> - 2004-01-13 02:15:34
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet In directory sc8-pr-cvs1:/tmp/cvs-serv21282/src/java/org/neuclear/asset/servlet Log Message: Directory /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/servlet added to the repository |
|
From: <pe...@us...> - 2004-01-13 02:14:26
|
Update of /cvsroot/neuclear/neuclear-pay/src/test-cactus/org/neuclear/asset/servlet In directory sc8-pr-cvs1:/tmp/cvs-serv21096/src/test-cactus/org/neuclear/asset/servlet Log Message: Directory /cvsroot/neuclear/neuclear-pay/src/test-cactus/org/neuclear/asset/servlet added to the repository |
|
From: <pe...@us...> - 2004-01-12 22:39:30
|
Update of /cvsroot/neuclear/neuclear-id
In directory sc8-pr-cvs1:/tmp/cvs-serv13078
Modified Files:
neuclear.iws
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: neuclear.iws
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/neuclear.iws,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** neuclear.iws 11 Jan 2004 00:39:14 -0000 1.1
--- neuclear.iws 12 Jan 2004 22:39:26 -0000 1.2
***************
*** 67,71 ****
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="changed use of base36 encoding to base32 to ensure compatibility with other schemes." />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
--- 67,71 ----
<option name="SHOW_CHECKIN_OPTIONS" value="true" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
! <option name="LAST_COMMIT_MESSAGE" value="Cleaned up the schemas even more they now all verifiy. The Order/Receipt pairs for neuclear pay, should now work. They all have Readers using the latest Schema. The TransferBuilders are done and the ExchangeBuilders are nearly there. The new EmbeddedSignedNamedObject builder is useful for creating new Receipts. The new ReceiptBuilder uses this to create the embedded transaction. ExchangeOrders now have the concept of BidItem's, you could create an ExchangeOrder bidding on various items at the same time, to be exchanged as one atomic multiparty exchange. Still doesnt build yet, but very close now ;-)" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
***************
*** 107,177 ****
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/AssetController.java">
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="52" column="51" selection-start="1808" selection-end="1808" vertical-scroll-proportion="1.1538461">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="113" column="19" selection-start="5400" selection-end="5400" vertical-scroll-proportion="0.06860707">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="123" column="53" selection-start="6078" selection-end="6078" vertical-scroll-proportion="0.5821206">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/exch.xsd" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="49" column="41" selection-start="2336" selection-end="2336" vertical-scroll-proportion="0.39314517">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeGlobals.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="186" column="10" selection-start="8729" selection-end="8729" vertical-scroll-proportion="0.42411643">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeReceiptBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="0" selection-start="4327" selection-end="4327" vertical-scroll-proportion="0.62993765">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/AssetController.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="126" column="48" selection-start="6191" selection-end="6191" vertical-scroll-proportion="0.5821206">
! <folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="251" column="15" selection-start="11310" selection-end="11310" vertical-scroll-proportion="0.5800416">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="203" column="47" selection-start="10140" selection-end="10140" vertical-scroll-proportion="0.36382535">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="144" column="92" selection-start="7579" selection-end="7579" vertical-scroll-proportion="0.33264032">
<folding />
</state>
--- 107,179 ----
</component>
<component name="FileEditorManager" split-orientation="vertical" split-proportion="0.5">
! <first-group selected-file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java">
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/SerialNumbers.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="22" column="26" selection-start="649" selection-end="649" vertical-scroll-proportion="0.4177215">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferGlobals.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="241" column="41" selection-start="10747" selection-end="10761" vertical-scroll-proportion="0.20645161">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="21" column="19" selection-start="544" selection-end="544" vertical-scroll-proportion="-0.6967742">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/BidItem.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="27" column="57" selection-start="606" selection-end="606" vertical-scroll-proportion="0.49367088">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/exch.xsd" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="90" column="12" selection-start="4348" selection-end="4348" vertical-scroll-proportion="0.66451615">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="74" selection-start="7346" selection-end="7346" vertical-scroll-proportion="0.70064515">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeCompletionOrderBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="28" column="36" selection-start="1249" selection-end="1249" vertical-scroll-proportion="0.42967743">
! <folding>
! <element signature="imports" expanded="true" />
! </folding>
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="134" column="0" selection-start="6747" selection-end="6808" vertical-scroll-proportion="0.54580647">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/NegativeTransferException.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="19" column="22" selection-start="404" selection-end="404" vertical-scroll-proportion="0.3227848">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java" pinned="false">
<provider selected="true" editor-type-id="text-editor">
! <state line="24" column="22" selection-start="689" selection-end="689" vertical-scroll-proportion="0.3483871">
<folding />
</state>
***************
*** 194,220 ****
<component name="PackagesPane" />
<component name="ProjectPane">
! <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders" module="neuclear-pay" type="directory" />
! <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders" module="neuclear-pay" type="directory" />
! <expanded_node url="file:///home/pelleb/code/neuclear-commons" module="neuclear-commons" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src" module="neuclear-pay" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders" module="neuclear-pay" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java" module="neuclear-commons" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/contracts/builders" module="neuclear-pay" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-commons/src" module="neuclear-commons" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders" module="neuclear-pay" type="directory" />
- <expanded_node url="file://$PROJECT_DIR$/src/schemas" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay" module="neuclear-pay" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders" module="neuclear" type="directory" />
- <expanded_node url="file://$PROJECT_DIR$-sample/src/webapp/WEB-INF" module="neuclear-id-sample" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/schemas" module="neuclear-pay" type="directory" />
- <expanded_node url="file://$PROJECT_DIR$" module="neuclear" type="directory" />
- <expanded_node url="file://$PROJECT_DIR$-sample/src" module="neuclear-id-sample" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto" module="neuclear-commons" type="directory" />
- <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java" module="neuclear-pay" type="directory" />
- <expanded_node url="file://$PROJECT_DIR$/src/java" module="neuclear" type="directory" />
<expanded_node url="file://$PROJECT_DIR$-sample" module="neuclear-id-sample" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id" module="neuclear" type="directory" />
<expanded_node url="file://$PROJECT_DIR$-sample/src/webapp" module="neuclear-id-sample" type="directory" />
</component>
<component name="ProjectView">
--- 196,224 ----
<component name="PackagesPane" />
<component name="ProjectPane">
! <expanded_node url="file://$PROJECT_DIR$/src/schemas" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java/org/neuclear/commons/crypto" module="neuclear-commons" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src" module="neuclear" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders" module="neuclear-pay" type="directory" />
<expanded_node url="file:///home/pelleb/code/neuclear-pay" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src" module="neuclear-commons" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/contracts" module="neuclear-pay" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders" module="neuclear" type="directory" />
<expanded_node url="file://$PROJECT_DIR$-sample" module="neuclear-id-sample" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders" module="neuclear-pay" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders" module="neuclear-pay" type="directory" />
+ <expanded_node url="file://$PROJECT_DIR$" module="neuclear" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons" module="neuclear-commons" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/schemas" module="neuclear-pay" type="directory" />
+ <expanded_node url="file://$PROJECT_DIR$-sample/src/webapp/WEB-INF" module="neuclear-id-sample" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-commons/src/java" module="neuclear-commons" type="directory" />
<expanded_node url="file://$PROJECT_DIR$/src/java/org/neuclear/id" module="neuclear" type="directory" />
<expanded_node url="file://$PROJECT_DIR$-sample/src/webapp" module="neuclear-id-sample" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java" module="neuclear-pay" type="directory" />
+ <expanded_node url="file://$PROJECT_DIR$/src/java" module="neuclear" type="directory" />
+ <expanded_node url="file://$PROJECT_DIR$-sample/src" module="neuclear-id-sample" type="directory" />
+ <expanded_node url="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/contracts/builders" module="neuclear-pay" type="directory" />
</component>
<component name="ProjectView">
***************
*** 331,338 ****
<window_info id="CVS" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
! <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.27901787" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
! <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.33026466" order="8" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
--- 335,342 ----
<window_info id="CVS" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
! <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.27380952" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
! <window_info id="Messages" active="false" anchor="bottom" auto_hide="true" internal_type="docked" type="docked" visible="false" weight="0.33026466" order="8" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
***************
*** 415,428 ****
</component>
<component name="editorHistoryManager">
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/NamedObjectBuilder.java">
! <provider selected="true" editor-type-id="text-editor">
! <state line="338" column="32" selection-start="15024" selection-end="15024" vertical-scroll-proportion="-2.931393">
! <folding />
! </state>
! </provider>
! </entry>
! <entry file="file://$PROJECT_DIR$/src/java/org/neuclear/id/builders/EmbeddedSignedObjectBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="18" column="0" selection-start="582" selection-end="582" vertical-scroll-proportion="0.36290324">
<folding>
<element signature="imports" expanded="true" />
--- 419,425 ----
</component>
<component name="editorHistoryManager">
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderReceiptBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="89" column="56" selection-start="4440" selection-end="4440" vertical-scroll-proportion="0.32387096">
<folding>
<element signature="imports" expanded="true" />
***************
*** 433,437 ****
<entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/ReceiptBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="9" column="16" selection-start="319" selection-end="319" vertical-scroll-proportion="0.27217743">
<folding>
<element signature="imports" expanded="true" />
--- 430,434 ----
<entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/ReceiptBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="21" column="1" selection-start="663" selection-end="753" vertical-scroll-proportion="0.39873418">
<folding>
<element signature="imports" expanded="true" />
***************
*** 440,446 ****
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferReceiptBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="91" column="13" selection-start="4252" selection-end="4252" vertical-scroll-proportion="0.53638256">
<folding />
</state>
--- 437,443 ----
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/Amount.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="9" column="21" selection-start="209" selection-end="209" vertical-scroll-proportion="0.17088607">
<folding />
</state>
***************
*** 449,523 ****
<entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/xfer.xsd">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.4556962">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="52" column="51" selection-start="1808" selection-end="1808" vertical-scroll-proportion="1.1538461">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/SignedElement.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="251" column="15" selection-start="11310" selection-end="11310" vertical-scroll-proportion="0.5800416">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/XMLSecTools.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="203" column="47" selection-start="10140" selection-end="10140" vertical-scroll-proportion="0.36382535">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-xmlsig/src/java/org/neuclear/xml/xmlsec/QuickEmbeddedSignature.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="144" column="92" selection-start="7579" selection-end="7579" vertical-scroll-proportion="0.33264032">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="113" column="19" selection-start="5400" selection-end="5400" vertical-scroll-proportion="0.06860707">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeGlobals.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="186" column="10" selection-start="8729" selection-end="8729" vertical-scroll-proportion="0.42411643">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="123" column="53" selection-start="6078" selection-end="6078" vertical-scroll-proportion="0.5821206">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/exch.xsd">
<provider selected="true" editor-type-id="text-editor">
! <state line="49" column="41" selection-start="2336" selection-end="2336" vertical-scroll-proportion="0.39314517">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/AssetController.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="126" column="48" selection-start="6191" selection-end="6191" vertical-scroll-proportion="0.5821206">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeReceiptBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="88" column="0" selection-start="4327" selection-end="4327" vertical-scroll-proportion="0.62993765">
<folding />
</state>
--- 446,529 ----
<entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/xfer.xsd">
<provider selected="true" editor-type-id="text-editor">
! <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.23225807">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/Value.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="11" column="9" selection-start="240" selection-end="240" vertical-scroll-proportion="0.20886075">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/SerialNumbers.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="22" column="26" selection-start="649" selection-end="649" vertical-scroll-proportion="0.4177215">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="24" column="22" selection-start="689" selection-end="689" vertical-scroll-proportion="0.3483871">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/NegativeTransferException.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="19" column="22" selection-start="404" selection-end="404" vertical-scroll-proportion="0.3227848">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/TransferGlobals.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="241" column="41" selection-start="10747" selection-end="10761" vertical-scroll-proportion="0.20645161">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="134" column="0" selection-start="6747" selection-end="6808" vertical-scroll-proportion="0.54580647">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeCompletionOrderBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="28" column="36" selection-start="1249" selection-end="1249" vertical-scroll-proportion="0.42967743">
! <folding>
! <element signature="imports" expanded="true" />
! </folding>
! </state>
! </provider>
! </entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/BidItem.java">
! <provider selected="true" editor-type-id="text-editor">
! <state line="27" column="57" selection-start="606" selection-end="606" vertical-scroll-proportion="0.49367088">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="21" column="19" selection-start="544" selection-end="544" vertical-scroll-proportion="-0.6967742">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java">
<provider selected="true" editor-type-id="text-editor">
! <state line="142" column="74" selection-start="7346" selection-end="7346" vertical-scroll-proportion="0.70064515">
<folding />
</state>
</provider>
</entry>
! <entry file="file:///home/pelleb/code/neuclear-pay/src/schemas/exch.xsd">
<provider selected="true" editor-type-id="text-editor">
! <state line="90" column="12" selection-start="4348" selection-end="4348" vertical-scroll-proportion="0.66451615">
<folding />
</state>
|
|
From: <pe...@us...> - 2004-01-12 22:39:30
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/signers/servlet
In directory sc8-pr-cvs1:/tmp/cvs-serv13078/src/java/org/neuclear/signers/servlet
Modified Files:
SignatureRequestServlet.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: SignatureRequestServlet.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/signers/servlet/SignatureRequestServlet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** SignatureRequestServlet.java 22 Dec 2003 22:15:27 -0000 1.3
--- SignatureRequestServlet.java 12 Jan 2004 22:39:26 -0000 1.4
***************
*** 8,13 ****
import org.neuclear.id.Identity;
import org.neuclear.id.resolver.NSResolver;
- import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.builders.SignatureRequestBuilder;
import org.neuclear.xml.xmlsec.XMLSecTools;
import org.neuclear.xml.xmlsec.XMLSecurityException;
--- 8,13 ----
import org.neuclear.id.Identity;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.id.builders.SignatureRequestBuilder;
+ import org.neuclear.id.builders.Builder;
import org.neuclear.xml.xmlsec.XMLSecTools;
import org.neuclear.xml.xmlsec.XMLSecurityException;
***************
*** 44,47 ****
--- 44,52 ----
$Id$
$Log$
+ Revision 1.4 2004/01/12 22:39:26 pelle
+ 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.
+
Revision 1.3 2003/12/22 22:15:27 pelle
Last minute cleanups and documentation prior to release 0.8.1
***************
*** 120,124 ****
try {
final Identity user = getUserNS(request);
! final NamedObjectBuilder namedreq = createBuilder(request);
final SignatureRequestBuilder sigreq = new SignatureRequestBuilder(serviceid, user.getName(), namedreq, "Login to Site");
sigreq.sign(serviceid, signer);
--- 125,129 ----
try {
final Identity user = getUserNS(request);
! final Builder namedreq = createBuilder(request);
final SignatureRequestBuilder sigreq = new SignatureRequestBuilder(serviceid, user.getName(), namedreq, "Login to Site");
sigreq.sign(serviceid, signer);
***************
*** 156,160 ****
}
! protected abstract NamedObjectBuilder createBuilder(HttpServletRequest request) throws NeuClearException;
private Signer signer;
--- 161,165 ----
}
! protected abstract Builder createBuilder(HttpServletRequest request) throws NeuClearException;
private Signer signer;
|
|
From: <pe...@us...> - 2004-01-12 22:39:30
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv13078/src/java/org/neuclear/id
Modified Files:
SignatureRequest.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: SignatureRequest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/SignatureRequest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** SignatureRequest.java 19 Dec 2003 18:03:34 -0000 1.10
--- SignatureRequest.java 12 Jan 2004 22:39:26 -0000 1.11
***************
*** 6,9 ****
--- 6,10 ----
import org.neuclear.commons.NeuClearException;
import org.neuclear.id.builders.NamedObjectBuilder;
+ import org.neuclear.id.builders.Builder;
import org.neuclear.xml.xmlsec.XMLSecurityException;
***************
*** 28,31 ****
--- 29,37 ----
$Id$
$Log$
+ Revision 1.11 2004/01/12 22:39:26 pelle
+ 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.
+
Revision 1.10 2003/12/19 18:03:34 pelle
Revamped a lot of exception handling throughout the framework, it has been simplified in most places:
***************
*** 102,106 ****
*/
public final class SignatureRequest extends SignedNamedObject {
! private SignatureRequest(final SignedNamedCore core, final String userid, final NamedObjectBuilder unsigned, final String description) {
super(core);
this.userid = userid;
--- 108,112 ----
*/
public final class SignatureRequest extends SignedNamedObject {
! private SignatureRequest(final SignedNamedCore core, final String userid, final Builder unsigned, final String description) {
super(core);
this.userid = userid;
***************
*** 135,139 ****
final Document doc = DocumentHelper.createDocument(uelem);
try {
! final NamedObjectBuilder unsigned = new NamedObjectBuilder(uelem);
String description = null;
final Element descrelem = elem.element(DocumentHelper.createQName("Description", NSTools.NS_NEUID));
--- 141,145 ----
final Document doc = DocumentHelper.createDocument(uelem);
try {
! final Builder unsigned = new NamedObjectBuilder(uelem);
String description = null;
final Element descrelem = elem.element(DocumentHelper.createQName("Description", NSTools.NS_NEUID));
***************
*** 151,155 ****
private final String userid;
! private final NamedObjectBuilder unsigned;
private final String description;
public final static String SIGREQUEST_TAG = "SignatureRequest";
--- 157,161 ----
private final String userid;
! private final Builder unsigned;
private final String description;
public final static String SIGREQUEST_TAG = "SignatureRequest";
|
|
From: <pe...@us...> - 2004-01-12 22:39:29
|
Update of /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id
In directory sc8-pr-cvs1:/tmp/cvs-serv13078/src/test/org/neuclear/id
Modified Files:
SignedNamedCoreTest.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: SignedNamedCoreTest.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/test/org/neuclear/id/SignedNamedCoreTest.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SignedNamedCoreTest.java 11 Dec 2003 23:57:30 -0000 1.4
--- SignedNamedCoreTest.java 12 Jan 2004 22:39:26 -0000 1.5
***************
*** 6,10 ****
import org.neuclear.commons.crypto.signers.TestCaseSigner;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
! import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.xml.XMLException;
--- 6,10 ----
import org.neuclear.commons.crypto.signers.TestCaseSigner;
import org.neuclear.id.builders.AuthenticationTicketBuilder;
! import org.neuclear.id.builders.Builder;
import org.neuclear.xml.XMLException;
***************
*** 32,35 ****
--- 32,40 ----
$Id$
$Log$
+ Revision 1.5 2004/01/12 22:39:26 pelle
+ 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.
+
Revision 1.4 2003/12/11 23:57:30 pelle
Trying to test the ReceiverServlet with cactus. Still no luck. Need to return a ElementProxy of some sort.
***************
*** 72,76 ****
public final void testRead() throws NeuClearException, GeneralSecurityException, XMLException, FileNotFoundException {
final String name = "neu://bob@test";
! final NamedObjectBuilder builder = new AuthenticationTicketBuilder(name, "neu://test", "http://slashdot.org");
final JCESigner signer = new TestCaseSigner();
builder.sign(name, signer);
--- 77,81 ----
public final void testRead() throws NeuClearException, GeneralSecurityException, XMLException, FileNotFoundException {
final String name = "neu://bob@test";
! final Builder builder = new AuthenticationTicketBuilder(name, "neu://test", "http://slashdot.org");
final JCESigner signer = new TestCaseSigner();
builder.sign(name, signer);
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders
In directory sc8-pr-cvs1:/tmp/cvs-serv13078/src/java/org/neuclear/id/builders
Modified Files:
EmbeddedSignedObjectBuilder.java NamedObjectBuilder.java
SignatureRequestBuilder.java
Added Files:
Builder.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.
--- NEW FILE: Builder.java ---
package org.neuclear.id.builders;
import org.neuclear.xml.xmlsec.SignedElement;
import org.neuclear.xml.xmlsec.XMLSecurityException;
import org.neuclear.id.SignedNamedObject;
import org.neuclear.id.InvalidNamedObjectException;
import org.neuclear.id.NameResolutionException;
import org.neuclear.id.NSTools;
import org.neuclear.id.verifier.VerifyingReader;
import org.neuclear.commons.time.TimeTools;
import org.dom4j.QName;
import org.dom4j.Namespace;
import org.dom4j.Element;
import org.dom4j.DocumentHelper;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 10, 2004
* Time: 10:21:48 PM
* To change this template use Options | File Templates.
*/
public class Builder extends SignedElement {
public Builder(final QName qname) {
super(qname);
}
public Builder(final String name, final Namespace ns) {
super(name, ns);
}
public Builder(final Element elem) throws XMLSecurityException {
super(elem);
}
public Builder(final String name, final String prefix, final String nsURI) {
super(name, prefix, nsURI);
}
final public SignedNamedObject convert() throws InvalidNamedObjectException, NameResolutionException{
return VerifyingReader.getInstance().read(getElement());
}
/**
* Sign NamedObject using given PrivateKey. This also adds a timestamp to the root element prior to signing
*/
protected final void preSign() throws XMLSecurityException {
// We need to timestamp it before we sign it
getElement().addAttribute(DocumentHelper.createQName("timestamp", NSTools.NS_NEUID), TimeTools.createTimeStamp());
}
}
Index: EmbeddedSignedObjectBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders/EmbeddedSignedObjectBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** EmbeddedSignedObjectBuilder.java 11 Jan 2004 00:39:14 -0000 1.1
--- EmbeddedSignedObjectBuilder.java 12 Jan 2004 22:39:26 -0000 1.2
***************
*** 4,7 ****
--- 4,12 ----
import org.neuclear.xml.xmlsec.XMLSecurityException;
import org.neuclear.id.SignedNamedObject;
+ import org.neuclear.id.NameResolutionException;
+ import org.neuclear.id.InvalidNamedObjectException;
+ import org.neuclear.commons.crypto.signers.Signer;
+ import org.neuclear.commons.crypto.signers.NonExistingSignerException;
+ import org.neuclear.commons.crypto.passphraseagents.UserCancellationException;
import org.dom4j.QName;
import org.dom4j.DocumentHelper;
***************
*** 15,19 ****
* To change this template use Options | File Templates.
*/
! public class EmbeddedSignedObjectBuilder extends SignedElement {
public EmbeddedSignedObjectBuilder(final QName qname, final SignedNamedObject embedded) {
super(qname);
--- 20,24 ----
* To change this template use Options | File Templates.
*/
! public class EmbeddedSignedObjectBuilder extends Builder {
public EmbeddedSignedObjectBuilder(final QName qname, final SignedNamedObject embedded) {
super(qname);
***************
*** 28,30 ****
--- 33,48 ----
return "#"; //To change body of implemented methods use Options | File Templates.
}
+
+ public final SignedNamedObject convert(String name,Signer signer) throws NameResolutionException, InvalidNamedObjectException {
+ try {
+ sign(name,signer);
+ } catch (XMLSecurityException e) {
+ throw new InvalidNamedObjectException("Problem in XML Sig",e);
+ } catch (NonExistingSignerException e) {
+ throw new InvalidNamedObjectException("Can not Sign",e);
+ } catch (UserCancellationException e) {
+ throw new InvalidNamedObjectException("User Cancelled Signing",e);
+ }
+ return convert();
+ }
}
Index: NamedObjectBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders/NamedObjectBuilder.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** NamedObjectBuilder.java 20 Dec 2003 00:21:19 -0000 1.21
--- NamedObjectBuilder.java 12 Jan 2004 22:39:26 -0000 1.22
***************
*** 2,5 ****
--- 2,10 ----
* $Id$
* $Log$
+ * Revision 1.22 2004/01/12 22:39:26 pelle
+ * 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.
+ *
* Revision 1.21 2003/12/20 00:21:19 pelle
* overwrote the standard Object.toString(), hashCode() and equals() methods for SignedNamedObject/Core
***************
*** 241,245 ****
* This simple wrapper takes most of the contents of a NamedObject and puts it into a Serializable form that can be signed.
*/
! public class NamedObjectBuilder extends SignedElement implements Cloneable {
protected NamedObjectBuilder(final String name, final String tagName, final String prefix, final String nsURI) throws InvalidNamedObjectException {
super(tagName, prefix, nsURI);
--- 246,251 ----
* This simple wrapper takes most of the contents of a NamedObject and puts it into a Serializable form that can be signed.
*/
! public class NamedObjectBuilder extends Builder implements Cloneable {
! /*
protected NamedObjectBuilder(final String name, final String tagName, final String prefix, final String nsURI) throws InvalidNamedObjectException {
super(tagName, prefix, nsURI);
***************
*** 247,250 ****
--- 253,257 ----
setName(name);
}
+ */
protected NamedObjectBuilder(final String name, final String tagName, final Namespace ns) throws InvalidNamedObjectException {
***************
*** 289,297 ****
}
- final public SignedNamedObject convert() throws InvalidNamedObjectException, NameResolutionException{
-
- return VerifyingReader.getInstance().read(getElement());
- }
-
/**
* The full name (URI) of an object
--- 296,299 ----
***************
*** 360,372 ****
/**
- * Sign NamedObject using given PrivateKey. This also adds a timestamp to the root element prior to signing
- */
- protected final void preSign() throws XMLSecurityException {
- // We need to timestamp it before we sign it
- getElement().addAttribute(DocumentHelper.createQName("timestamp", NSTools.NS_NEUID), TimeTools.createTimeStamp());
- }
-
-
- /**
* Adds a TargetReference to a NamedObject.<br>
* This can only be done if the object isn't signed.
--- 362,365 ----
***************
*** 439,456 ****
*/
- public final Timestamp getTimeStamp() {
- final String timeString = getElement().attributeValue(DocumentHelper.createQName("timestamp", NSTools.NS_NEUID));
- if (isSigned() && !Utility.isEmpty(timeString)) {
- try {
- return TimeTools.parseTimeStamp(timeString);
- } catch (ParseException e) {
- return null;
- }
- }
-
-
- return null;
-
- }
--- 432,435 ----
***************
*** 459,515 ****
}
! /**
! * Creates and returns a copy of this object. The precise meaning
! * of "copy" may depend on the class of the object. The general
! * intent is that, for any object <tt>x</tt>, the expression:
! * <blockquote>
! * <pre>
! * x.clone() != x</pre></blockquote>
! * will be true, and that the expression:
! * <blockquote>
! * <pre>
! * x.clone().getClass() == x.getClass()</pre></blockquote>
! * will be <tt>true</tt>, but these are not absolute requirements.
! * While it is typically the case that:
! * <blockquote>
! * <pre>
! * x.clone().equals(x)</pre></blockquote>
! * will be <tt>true</tt>, this is not an absolute requirement.
! * <p/>
! * By convention, the returned object should be obtained by calling
! * <tt>super.clone</tt>. If a class and all of its superclasses (except
! * <tt>Object</tt>) obey this convention, it will be the case that
! * <tt>x.clone().getClass() == x.getClass()</tt>.
! * <p/>
! * By convention, the object returned by this method should be independent
! * of this object (which is being cloned). To achieve this independence,
! * it may be necessary to modify one or more fields of the object returned
! * by <tt>super.clone</tt> before returning it. Typically, this means
! * copying any mutable objects that comprise the internal "deep structure"
! * of the object being cloned and replacing the references to these
! * objects with references to the copies. If a class contains only
! * primitive fields or references to immutable objects, then it is usually
! * the case that no fields in the object returned by <tt>super.clone</tt>
! * need to be modified.
! * <p/>
! * The method <tt>clone</tt> for class <tt>Object</tt> performs a
! * specific cloning operation. First, if the class of this object does
! * not implement the interface <tt>Cloneable</tt>, then a
! * <tt>CloneNotSupportedException</tt> is thrown. Note that all arrays
! * are considered to implement the interface <tt>Cloneable</tt>.
! * Otherwise, this method creates a new instance of the class of this
! * object and initializes all its fields with exactly the contents of
! * the corresponding fields of this object, as if by assignment; the
! * contents of the fields are not themselves cloned. Thus, this method
! * performs a "shallow copy" of this object, not a "deep copy" operation.
! * <p/>
! * The class <tt>Object</tt> does not itself implement the interface
! * <tt>Cloneable</tt>, so calling the <tt>clone</tt> method on an object
! * whose class is <tt>Object</tt> will result in throwing an
! * exception at run time.
! *
! * @return a clone of this instance.
! * @see Cloneable
! */
public Object clone() {
try {
--- 438,442 ----
}
!
public Object clone() {
try {
Index: SignatureRequestBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/id/builders/SignatureRequestBuilder.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** SignatureRequestBuilder.java 11 Dec 2003 23:57:29 -0000 1.7
--- SignatureRequestBuilder.java 12 Jan 2004 22:39:26 -0000 1.8
***************
*** 27,30 ****
--- 27,35 ----
$Id$
$Log$
+ Revision 1.8 2004/01/12 22:39:26 pelle
+ 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.
+
Revision 1.7 2003/12/11 23:57:29 pelle
Trying to test the ReceiverServlet with cactus. Still no luck. Need to return a ElementProxy of some sort.
***************
*** 72,76 ****
*/
public final class SignatureRequestBuilder extends NamedObjectBuilder {
! public SignatureRequestBuilder(final String requestor, final String userid, final NamedObjectBuilder unsigned, final String description) throws NeuClearException {
super(NSTools.createUniqueTransactionID(requestor, userid), SignatureRequest.SIGREQUEST_TAG);
final Element unsignedElem = addElement("Unsigned");
--- 77,81 ----
*/
public final class SignatureRequestBuilder extends NamedObjectBuilder {
! public SignatureRequestBuilder(final String requestor, final String userid, final Builder unsigned, final String description) throws NeuClearException {
super(NSTools.createUniqueTransactionID(requestor, userid), SignatureRequest.SIGREQUEST_TAG);
final Element unsignedElem = addElement("Unsigned");
|
|
From: <pe...@us...> - 2004-01-12 22:39:29
|
Update of /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/auth
In directory sc8-pr-cvs1:/tmp/cvs-serv13078/src/java/org/neuclear/auth
Modified Files:
AuthenticationServlet.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: AuthenticationServlet.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-id/src/java/org/neuclear/auth/AuthenticationServlet.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** AuthenticationServlet.java 17 Dec 2003 23:53:50 -0000 1.12
--- AuthenticationServlet.java 12 Jan 2004 22:39:26 -0000 1.13
***************
*** 9,13 ****
import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.id.builders.SignatureRequestBuilder;
! import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.id.Identity;
--- 9,13 ----
import org.neuclear.id.builders.AuthenticationTicketBuilder;
import org.neuclear.id.builders.SignatureRequestBuilder;
! import org.neuclear.id.builders.Builder;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.id.Identity;
***************
*** 49,52 ****
--- 49,57 ----
$Id$
$Log$
+ Revision 1.13 2004/01/12 22:39:26 pelle
+ 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.
+
Revision 1.12 2003/12/17 23:53:50 pelle
Added SignatureRequestServlet which is abstract and can be used for building SignatureRequests for various applications.
***************
*** 117,121 ****
public class AuthenticationServlet extends SignatureRequestServlet {
! protected NamedObjectBuilder createBuilder(final HttpServletRequest request) throws NeuClearException {
final String userns = request.getParameter("identity");
request.getSession(true).setAttribute("auth", userns);
--- 122,126 ----
public class AuthenticationServlet extends SignatureRequestServlet {
! protected Builder createBuilder(final HttpServletRequest request) throws NeuClearException {
final String userns = request.getParameter("identity");
request.getSession(true).setAttribute("auth", userns);
|
|
From: <pe...@us...> - 2004-01-12 22:39:19
|
Update of /cvsroot/neuclear/neuclear-pay/src/schemas
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/schemas
Modified Files:
exch.xsd
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: exch.xsd
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/schemas/exch.xsd,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** exch.xsd 11 Jan 2004 00:39:06 -0000 1.4
--- exch.xsd 12 Jan 2004 22:39:15 -0000 1.5
***************
*** 3,6 ****
--- 3,11 ----
$Id$
$Log$
+ Revision 1.5 2004/01/12 22:39:15 pelle
+ 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.
+
Revision 1.4 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
***************
*** 89,94 ****
<xs:complexType>
<xs:sequence>
- <xs:element ref="xfer:Value" minOccurs="1" maxOccurs="1"/>
<xs:element ref="ExchangeTime" minOccurs="1" maxOccurs="1"/>
<xs:element ref="ExchangeOrderReceipt" minOccurs="1" maxOccurs="1"/>
<xs:element ref="xfer:Comment" minOccurs="0" maxOccurs="1" />
--- 94,99 ----
<xs:complexType>
<xs:sequence>
<xs:element ref="ExchangeTime" minOccurs="1" maxOccurs="1"/>
+ <xs:element ref="xfer:Value" minOccurs="1" maxOccurs="1"/>
<xs:element ref="ExchangeOrderReceipt" minOccurs="1" maxOccurs="1"/>
<xs:element ref="xfer:Comment" minOccurs="0" maxOccurs="1" />
***************
*** 101,105 ****
<xs:complexType>
<xs:sequence>
- <xs:element ref="xfer:Value" minOccurs="0" maxOccurs="1"/>
<xs:element ref="xfer:ValueTime" minOccurs="1" maxOccurs="1" />
<xs:element ref="ExchangeOrder" minOccurs="1" maxOccurs="1"/>
--- 106,109 ----
|
|
From: <pe...@us...> - 2004-01-12 22:39:19
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/contracts
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/exchange/contracts
Modified Files:
ExchangeAgent.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: ExchangeAgent.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/contracts/ExchangeAgent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ExchangeAgent.java 5 Jan 2004 23:47:10 -0000 1.1
--- ExchangeAgent.java 12 Jan 2004 22:39:14 -0000 1.2
***************
*** 26,29 ****
--- 26,34 ----
$Id$
$Log$
+ Revision 1.2 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.1 2004/01/05 23:47:10 pelle
Create new Document classification "order", which is really just inherint in the new
***************
*** 39,44 ****
*/
public class ExchangeAgent extends Identity{
! public ExchangeAgent(SignedNamedCore core, String repository, String signer, String logger, String receiver, PublicKey pub) {
! super(core, repository, signer, logger, receiver, pub);
}
--- 44,49 ----
*/
public class ExchangeAgent extends Identity{
! public ExchangeAgent(SignedNamedCore core, PublicKey pub) {
! super(core, pub);
}
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset/orders/builders
Modified Files:
ReceiptBuilder.java TransferOrderBuilder.java
TransferReceiptBuilder.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: ReceiptBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders/ReceiptBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ReceiptBuilder.java 11 Jan 2004 00:39:06 -0000 1.1
--- ReceiptBuilder.java 12 Jan 2004 22:39:14 -0000 1.2
***************
*** 1,10 ****
package org.neuclear.asset.orders.builders;
- import org.neuclear.id.builders.EmbeddedSignedObjectBuilder;
- import org.neuclear.id.SignedNamedObject;
- import org.neuclear.commons.time.TimeTools;
- import org.neuclear.asset.orders.TransferGlobals;
import org.dom4j.QName;
! import org.dom4j.DocumentException;
import java.util.Date;
--- 1,9 ----
package org.neuclear.asset.orders.builders;
import org.dom4j.QName;
! import org.neuclear.asset.orders.TransferGlobals;
! import org.neuclear.commons.time.TimeTools;
! import org.neuclear.id.SignedNamedObject;
! import org.neuclear.id.builders.EmbeddedSignedObjectBuilder;
import java.util.Date;
Index: TransferOrderBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferOrderBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TransferOrderBuilder.java 11 Jan 2004 00:39:06 -0000 1.1
--- TransferOrderBuilder.java 12 Jan 2004 22:39:14 -0000 1.2
***************
*** 2,16 ****
import org.dom4j.Element;
- import org.dom4j.QName;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.contracts.Asset;
- import org.neuclear.asset.orders.transfers.TransferGlobals;
import org.neuclear.asset.orders.TransferGlobals;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.Utility;
import org.neuclear.id.Identity;
- import org.neuclear.id.NSTools;
- import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.xml.xmlsec.SignedElement;
--- 2,13 ----
import org.dom4j.Element;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.orders.TransferGlobals;
+ import org.neuclear.asset.orders.Value;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.Utility;
import org.neuclear.id.Identity;
import org.neuclear.xml.xmlsec.SignedElement;
***************
*** 35,38 ****
--- 32,40 ----
$Id$
$Log$
+ Revision 1.2 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.1 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
***************
*** 123,129 ****
*/
public class TransferOrderBuilder extends SignedElement {
! protected TransferOrderBuilder(final Asset asset, final Identity recipient, final double amount, final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(TransferGlobals.createQName(TransferGlobals.XFER_TAGNAME));
! if (amount < 0)
throw new NegativeTransferException(amount);
if (asset==null)
--- 125,131 ----
*/
public class TransferOrderBuilder extends SignedElement {
! protected TransferOrderBuilder(final Asset asset, final Identity recipient, final Value amount, final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(TransferGlobals.createQName(TransferGlobals.XFER_TAGNAME));
! if (amount.getAmount() < 0)
throw new NegativeTransferException(amount);
if (asset==null)
***************
*** 135,139 ****
element.add(TransferGlobals.createElement(TransferGlobals.RECIPIENT_TAG, recipient.getName()));
element.add(TransferGlobals.createElement(TransferGlobals.ASSET_TAG, asset.getName()));
! element.add(TransferGlobals.createElement(TransferGlobals.AMOUNT_TAG,Double.toString(amount)));
if (!Utility.isEmpty(comment))
--- 137,141 ----
element.add(TransferGlobals.createElement(TransferGlobals.RECIPIENT_TAG, recipient.getName()));
element.add(TransferGlobals.createElement(TransferGlobals.ASSET_TAG, asset.getName()));
! element.add(TransferGlobals.createValueTag(amount));
if (!Utility.isEmpty(comment))
Index: TransferReceiptBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/builders/TransferReceiptBuilder.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** TransferReceiptBuilder.java 11 Jan 2004 00:39:06 -0000 1.3
--- TransferReceiptBuilder.java 12 Jan 2004 22:39:14 -0000 1.4
***************
*** 1,5 ****
package org.neuclear.asset.orders.builders;
- import org.dom4j.Element;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
--- 1,4 ----
***************
*** 7,14 ****
import org.neuclear.asset.orders.TransferOrder;
import org.neuclear.commons.NeuClearException;
- import org.neuclear.commons.time.TimeTools;
- import org.neuclear.exchange.orders.ExchangeCompletionOrder;
- import java.sql.Timestamp;
import java.util.Date;
--- 6,10 ----
***************
*** 33,36 ****
--- 29,37 ----
$Id$
$Log$
+ Revision 1.4 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.3 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/exchange/orders
Modified Files:
ExchangeCompletionOrder.java ExchangeOrder.java
ExchangeOrderReceipt.java
Added Files:
BidItem.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.
--- NEW FILE: BidItem.java ---
package org.neuclear.exchange.orders;
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.orders.Value;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 5:27:24 PM
* To change this template use Options | File Templates.
*/
public class BidItem {
public BidItem(Asset asset, Value amount) {
this.asset = asset;
this.amount = amount;
}
public final Asset getAsset() {
return asset;
}
public final Value getAmount() {
return amount;
}
private final Asset asset;
private final Value amount;
}
Index: ExchangeCompletionOrder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeCompletionOrder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ExchangeCompletionOrder.java 11 Jan 2004 00:39:06 -0000 1.4
--- ExchangeCompletionOrder.java 12 Jan 2004 22:39:15 -0000 1.5
***************
*** 22,25 ****
--- 22,26 ----
this.amount = amount;
this.counterparty=counterparty;
+ this.receipt=receipt;
}
***************
*** 36,42 ****
--- 37,48 ----
}
+ public ExchangeOrderReceipt getReceipt() {
+ return receipt;
+ }
+
private final long exchangetime;
private final double amount;
private final Identity counterparty;
+ private final ExchangeOrderReceipt receipt;
public static final class Reader implements NamedObjectReader {
***************
*** 55,59 ****
(ExchangeOrderReceipt)TransferGlobals.parseEmbedded(elem,ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_RCPT_TAGNAME)),
TransferGlobals.parseRecipientTag(elem),
! TransferGlobals.parseAmountTag(elem),
TransferGlobals.parseTimeStampElement(elem,ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_TIME_TAGNAME))
);
--- 61,65 ----
(ExchangeOrderReceipt)TransferGlobals.parseEmbedded(elem,ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_RCPT_TAGNAME)),
TransferGlobals.parseRecipientTag(elem),
! TransferGlobals.parseValueTag(elem),
TransferGlobals.parseTimeStampElement(elem,ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_TIME_TAGNAME))
);
Index: ExchangeOrder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrder.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** ExchangeOrder.java 11 Jan 2004 00:39:06 -0000 1.4
--- ExchangeOrder.java 12 Jan 2004 22:39:15 -0000 1.5
***************
*** 5,8 ****
--- 5,9 ----
import org.neuclear.asset.contracts.AssetGlobals;
import org.neuclear.asset.orders.TransferGlobals;
+ import org.neuclear.asset.orders.Value;
import org.neuclear.exchange.contracts.ExchangeAgent;
import org.neuclear.id.*;
***************
*** 21,29 ****
public final class ExchangeOrder extends ExchangeTransactionContract {
private ExchangeOrder(final SignedNamedCore core,
! final Asset bidAsset, final ExchangeAgent agent, final double bid,
BidItem items[], final String comment, final Date expires) {
super(core, bidAsset,agent);
this.items =makeSafeCopy(items);
! this.bidAmount = bid;
this.comment = (comment != null) ? comment : "";
this.expires = expires.getTime();
--- 22,30 ----
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);
this.items =makeSafeCopy(items);
! this.amount = amount;
this.comment = (comment != null) ? comment : "";
this.expires = expires.getTime();
***************
*** 45,50 ****
! public final double getBidAmount() {
! return bidAmount;
}
--- 46,51 ----
! public final Value getAmount() {
! return amount;
}
***************
*** 68,93 ****
};
}
! private final double bidAmount;
private final String comment;
private final long expires;
private final BidItem items[];
- public static class BidItem {
- private BidItem(Asset asset, double amount) {
- this.asset = asset;
- this.amount = amount;
- }
-
- public final Asset getAsset() {
- return asset;
- }
-
- public final double getAmount() {
- return amount;
- }
-
- private final Asset asset;
- private final double amount;
- }
public static final class Reader implements NamedObjectReader {
/**
--- 69,77 ----
};
}
! private final Value amount;
private final String comment;
private final long expires;
private final BidItem items[];
public static final class Reader implements NamedObjectReader {
/**
***************
*** 105,109 ****
TransferGlobals.parseAssetTag(elem),
ExchangeGlobals.parseAgentTag(elem),
! TransferGlobals.parseAmountTag(elem),
parseBidItems(elem),
TransferGlobals.getCommentElement(elem),
--- 89,93 ----
TransferGlobals.parseAssetTag(elem),
ExchangeGlobals.parseAgentTag(elem),
! TransferGlobals.parseValueTag(elem),
parseBidItems(elem),
TransferGlobals.getCommentElement(elem),
***************
*** 124,128 ****
return new BidItem(
TransferGlobals.parseAssetTag(element),
! TransferGlobals.parseAmountTag(element));
}
--- 108,112 ----
return new BidItem(
TransferGlobals.parseAssetTag(element),
! TransferGlobals.parseValueTag(element));
}
Index: ExchangeOrderReceipt.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/ExchangeOrderReceipt.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ExchangeOrderReceipt.java 10 Jan 2004 00:00:46 -0000 1.3
--- ExchangeOrderReceipt.java 12 Jan 2004 22:39:15 -0000 1.4
***************
*** 24,28 ****
this.order=order;
}
! public ExchangeOrder getExchangeOrder(){
return order;
}
--- 24,28 ----
this.order=order;
}
! public ExchangeOrder getOrder(){
return order;
}
|
|
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;
}
|
|
From: <pe...@us...> - 2004-01-12 22:39:18
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/builders
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/exchange/orders/builders
Modified Files:
CancelExchangeReceiptBuilder.java ExchangeOrderBuilder.java
Added Files:
CancelExchangeOrderBuilder.java
ExchangeCompletedReceiptBuilder.java
ExchangeCompletionOrderBuilder.java
ExchangeOrderReceiptBuilder.java
Removed Files:
ExchangeReceiptBuilder.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.
--- NEW FILE: CancelExchangeOrderBuilder.java ---
package org.neuclear.exchange.orders.builders;
import org.neuclear.id.builders.EmbeddedSignedObjectBuilder;
import org.neuclear.id.SignedNamedObject;
import org.neuclear.exchange.orders.ExchangeOrder;
import org.neuclear.exchange.orders.ExchangeGlobals;
import org.dom4j.QName;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 4:31:10 PM
* To change this template use Options | File Templates.
*/
public class CancelExchangeOrderBuilder extends EmbeddedSignedObjectBuilder {
public CancelExchangeOrderBuilder(final ExchangeOrder embedded) {
super(ExchangeGlobals.createQName(ExchangeGlobals.CANCEL_TAGNAME), embedded);
}
}
--- NEW FILE: ExchangeCompletedReceiptBuilder.java ---
package org.neuclear.exchange.orders.builders;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.orders.builders.ReceiptBuilder;
import org.neuclear.commons.NeuClearException;
import org.neuclear.exchange.orders.ExchangeGlobals;
import org.neuclear.exchange.orders.ExchangeOrder;
import org.neuclear.exchange.orders.ExchangeCompletionOrder;
import java.util.Date;
/*
NeuClear Distributed Transaction Clearing Platform
(C) 2003 Pelle Braendgaard
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id: ExchangeCompletedReceiptBuilder.java,v 1.1 2004/01/12 22:39:14 pelle Exp $
$Log: ExchangeCompletedReceiptBuilder.java,v $
Revision 1.1 2004/01/12 22:39:14 pelle
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.
Revision 1.3 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
The Order/Receipt pairs for neuclear pay, should now work. They all have Readers using the latest
Schema.
The TransferBuilders are done and the ExchangeBuilders are nearly there.
The new EmbeddedSignedNamedObject builder is useful for creating new Receipts. The new ReceiptBuilder uses
this to create the embedded transaction.
ExchangeOrders now have the concept of BidItem's, you could create an ExchangeOrder bidding on various items at the same time, to be exchanged as one atomic multiparty exchange.
Still doesnt build yet, but very close now ;-)
Revision 1.2 2004/01/10 00:00:46 pelle
Implemented new Schema for Transfer*
Working on it for Exchange*, so far all Receipts are implemented.
Added SignedNamedDocument which is a generic SignedNamedObject that works with all Signed XML.
Changed SignedNamedObject.getDigest() from byte array to String.
The whole malarchy in neuclear-pay does not build yet. The refactoring is a big job, but getting there.
Revision 1.1 2004/01/05 23:47:10 pelle
Create new Document classification "order", which is really just inherint in the new
package layout.
Got rid of much of the inheritance that was lying around and thought a bit further about the format of the exchange orders.
Revision 1.1 2004/01/03 20:36:25 pelle
Renamed HeldTransfer to Exchange
Dropped valuetime from the request objects.
Doesnt yet compile. New commit to follow soon.
Revision 1.3 2003/11/21 04:43:03 pelle
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).
Revision 1.2 2003/11/11 21:17:19 pelle
Further vital reshuffling.
org.neudist.crypto.* and org.neudist.utils.* have been moved to respective areas under org.neuclear.commons
org.neuclear.signers.* as well as org.neuclear.passphraseagents have been moved under org.neuclear.commons.crypto as well.
Did a bit of work on the Canonicalizer and changed a few other minor bits.
Revision 1.1 2003/11/08 01:39:57 pelle
WARNING this rev is majorly unstable and will almost certainly not compile.
More major refactoring in neuclear-pay.
Got rid of neuclear-ledger like features of pay such as Account and Issuer.
Accounts have been replaced by Identity from neuclear-id
Issuer is now Asset which is a subclass of Identity
AssetController supports more than one Asset. Which is important for most non ecurrency implementations.
TransferOrder/Receipt and its Exchange companions are now SignedNamedObjects. Thus to create them you must use
their matching TransferOrder/ReceiptBuilder classes.
PaymentProcessor has been renamed CurrencyController. I will extract a superclass later to be named AbstractLedgerController
which will handle all neuclear-ledger based AssetControllers.
*/
/**
* User: pelleb
* Date: Nov 7, 2003
* Time: 8:05:15 PM
*/
public final class ExchangeCompletedReceiptBuilder extends ReceiptBuilder {
public ExchangeCompletedReceiptBuilder(final ExchangeCompletionOrder order,Date valuetime) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(ExchangeGlobals.createQName(ExchangeGlobals.COMPLETE_RCPT_TAGNAME), order,valuetime);
}
}
--- NEW FILE: ExchangeCompletionOrderBuilder.java ---
package org.neuclear.exchange.orders.builders;
import org.neuclear.id.builders.EmbeddedSignedObjectBuilder;
import org.neuclear.id.SignedNamedObject;
import org.neuclear.exchange.orders.ExchangeOrder;
import org.neuclear.exchange.orders.ExchangeGlobals;
import org.neuclear.asset.orders.TransferGlobals;
import org.neuclear.asset.orders.Value;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.commons.Utility;
import org.neuclear.commons.time.TimeTools;
import org.dom4j.QName;
import org.dom4j.Element;
import java.util.Date;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 4:33:52 PM
* To change this template use Options | File Templates.
*/
public class ExchangeCompletionOrderBuilder extends EmbeddedSignedObjectBuilder{
public ExchangeCompletionOrderBuilder(final ExchangeOrder embedded, final Date exchangedate,final Value amount, final String comment) throws InvalidTransferException {
super(ExchangeGlobals.createQName(ExchangeGlobals.COMPLETE_TAGNAME), embedded);
final Element element = getElement();
getElement().addElement(ExchangeGlobals.EXCHANGE_TIME_TAGNAME).setText(TimeTools.formatTimeStamp(exchangedate));
element.add(TransferGlobals.createValueTag(amount));
if (!Utility.isEmpty(comment))
element.add(TransferGlobals.createElement(TransferGlobals.COMMENT_TAG, comment));
}
}
--- NEW FILE: ExchangeOrderReceiptBuilder.java ---
package org.neuclear.exchange.orders.builders;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.orders.builders.ReceiptBuilder;
import org.neuclear.commons.NeuClearException;
import org.neuclear.exchange.orders.ExchangeGlobals;
import org.neuclear.exchange.orders.ExchangeOrder;
import java.util.Date;
/*
NeuClear Distributed Transaction Clearing Platform
(C) 2003 Pelle Braendgaard
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
$Id: ExchangeOrderReceiptBuilder.java,v 1.1 2004/01/12 22:39:15 pelle Exp $
$Log: ExchangeOrderReceiptBuilder.java,v $
Revision 1.1 2004/01/12 22:39:15 pelle
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.
Revision 1.3 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
The Order/Receipt pairs for neuclear pay, should now work. They all have Readers using the latest
Schema.
The TransferBuilders are done and the ExchangeBuilders are nearly there.
The new EmbeddedSignedNamedObject builder is useful for creating new Receipts. The new ReceiptBuilder uses
this to create the embedded transaction.
ExchangeOrders now have the concept of BidItem's, you could create an ExchangeOrder bidding on various items at the same time, to be exchanged as one atomic multiparty exchange.
Still doesnt build yet, but very close now ;-)
Revision 1.2 2004/01/10 00:00:46 pelle
Implemented new Schema for Transfer*
Working on it for Exchange*, so far all Receipts are implemented.
Added SignedNamedDocument which is a generic SignedNamedObject that works with all Signed XML.
Changed SignedNamedObject.getDigest() from byte array to String.
The whole malarchy in neuclear-pay does not build yet. The refactoring is a big job, but getting there.
Revision 1.1 2004/01/05 23:47:10 pelle
Create new Document classification "order", which is really just inherint in the new
package layout.
Got rid of much of the inheritance that was lying around and thought a bit further about the format of the exchange orders.
Revision 1.1 2004/01/03 20:36:25 pelle
Renamed HeldTransfer to Exchange
Dropped valuetime from the request objects.
Doesnt yet compile. New commit to follow soon.
Revision 1.3 2003/11/21 04:43:03 pelle
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).
Revision 1.2 2003/11/11 21:17:19 pelle
Further vital reshuffling.
org.neudist.crypto.* and org.neudist.utils.* have been moved to respective areas under org.neuclear.commons
org.neuclear.signers.* as well as org.neuclear.passphraseagents have been moved under org.neuclear.commons.crypto as well.
Did a bit of work on the Canonicalizer and changed a few other minor bits.
Revision 1.1 2003/11/08 01:39:57 pelle
WARNING this rev is majorly unstable and will almost certainly not compile.
More major refactoring in neuclear-pay.
Got rid of neuclear-ledger like features of pay such as Account and Issuer.
Accounts have been replaced by Identity from neuclear-id
Issuer is now Asset which is a subclass of Identity
AssetController supports more than one Asset. Which is important for most non ecurrency implementations.
TransferOrder/Receipt and its Exchange companions are now SignedNamedObjects. Thus to create them you must use
their matching TransferOrder/ReceiptBuilder classes.
PaymentProcessor has been renamed CurrencyController. I will extract a superclass later to be named AbstractLedgerController
which will handle all neuclear-ledger based AssetControllers.
*/
/**
* User: pelleb
* Date: Nov 7, 2003
* Time: 8:05:15 PM
*/
public final class ExchangeOrderReceiptBuilder extends ReceiptBuilder {
public ExchangeOrderReceiptBuilder(final ExchangeOrder order,Date valuetime) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_RCPT_TAGNAME), order,valuetime);
}
}
Index: CancelExchangeReceiptBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/CancelExchangeReceiptBuilder.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** CancelExchangeReceiptBuilder.java 10 Jan 2004 00:00:46 -0000 1.2
--- CancelExchangeReceiptBuilder.java 12 Jan 2004 22:39:14 -0000 1.3
***************
*** 4,7 ****
--- 4,8 ----
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.orders.TransferGlobals;
+ import org.neuclear.asset.orders.builders.ReceiptBuilder;
import org.neuclear.commons.NeuClearException;
import org.neuclear.exchange.orders.CancelExchangeOrder;
***************
*** 15,18 ****
--- 16,24 ----
* $Id$
* $Log$
+ * Revision 1.3 2004/01/12 22:39:14 pelle
+ * 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.
+ *
* Revision 1.2 2004/01/10 00:00:46 pelle
* Implemented new Schema for Transfer*
***************
*** 50,54 ****
* AssetControlClient implementes a remote client for communicating with AssetControllers
*/
! public final class CancelExchangeReceiptBuilder extends CancelExchangeBuilder {
public CancelExchangeReceiptBuilder(final CancelExchangeOrder req) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(NSTools.createUniqueTransactionID(req.getAsset().getName(), req.getSignatory().getName()), TransferGlobals.CANCEL_RCPT_TAGNAME, req.getAsset(), req.getHoldId());
--- 56,60 ----
* AssetControlClient implementes a remote client for communicating with AssetControllers
*/
! public final class CancelExchangeReceiptBuilder extends ReceiptBuilder {
public CancelExchangeReceiptBuilder(final CancelExchangeOrder req) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(NSTools.createUniqueTransactionID(req.getAsset().getName(), req.getSignatory().getName()), TransferGlobals.CANCEL_RCPT_TAGNAME, req.getAsset(), req.getHoldId());
Index: ExchangeOrderBuilder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/exchange/orders/builders/ExchangeOrderBuilder.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ExchangeOrderBuilder.java 11 Jan 2004 00:39:06 -0000 1.1
--- ExchangeOrderBuilder.java 12 Jan 2004 22:39:15 -0000 1.2
***************
*** 2,19 ****
import org.dom4j.Element;
- import org.dom4j.QName;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.contracts.Asset;
- import org.neuclear.asset.orders.transfers.TransferGlobals;
import org.neuclear.asset.orders.TransferGlobals;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.Utility;
- import org.neuclear.id.Identity;
- import org.neuclear.id.NSTools;
- import org.neuclear.id.builders.NamedObjectBuilder;
- import org.neuclear.xml.xmlsec.SignedElement;
- import org.neuclear.exchange.orders.ExchangeGlobals;
import org.neuclear.exchange.contracts.ExchangeAgent;
/*
--- 2,17 ----
import org.dom4j.Element;
import org.neuclear.asset.InvalidTransferException;
import org.neuclear.asset.NegativeTransferException;
import org.neuclear.asset.contracts.Asset;
import org.neuclear.asset.orders.TransferGlobals;
+ import org.neuclear.asset.orders.Value;
import org.neuclear.commons.NeuClearException;
import org.neuclear.commons.Utility;
import org.neuclear.exchange.contracts.ExchangeAgent;
+ import org.neuclear.exchange.orders.ExchangeGlobals;
+ import org.neuclear.exchange.orders.BidItem;
+ import org.neuclear.xml.xmlsec.SignedElement;
+ import org.neuclear.id.builders.Builder;
/*
***************
*** 37,40 ****
--- 35,43 ----
$Id$
$Log$
+ Revision 1.2 2004/01/12 22:39:15 pelle
+ 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.
+
Revision 1.1 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
***************
*** 124,131 ****
* Time: 3:13:27 PM
*/
! public class ExchangeOrderBuilder extends SignedElement {
! protected ExchangeOrderBuilder(final Asset asset, final ExchangeAgent agent, final double amount, final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_TAGNAME));
! if (amount < 0)
throw new NegativeTransferException(amount);
if (asset==null)
--- 127,134 ----
* Time: 3:13:27 PM
*/
! public class ExchangeOrderBuilder extends Builder {
! protected ExchangeOrderBuilder(final Asset asset, final ExchangeAgent agent, final Value amount, final BidItem items[], final String comment) throws InvalidTransferException, NegativeTransferException, NeuClearException {
super(ExchangeGlobals.createQName(ExchangeGlobals.EXCHANGE_TAGNAME));
! if (amount.getAmount() < 0)
throw new NegativeTransferException(amount);
if (asset==null)
***************
*** 137,141 ****
element.add(ExchangeGlobals.createElement(ExchangeGlobals.AGENT_TAG, agent.getName()));
element.add(TransferGlobals.createElement(TransferGlobals.ASSET_TAG, asset.getName()));
! element.add(TransferGlobals.createElement(TransferGlobals.AMOUNT_TAG,Double.toString(amount)));
if (!Utility.isEmpty(comment))
--- 140,151 ----
element.add(ExchangeGlobals.createElement(ExchangeGlobals.AGENT_TAG, agent.getName()));
element.add(TransferGlobals.createElement(TransferGlobals.ASSET_TAG, asset.getName()));
! element.add(TransferGlobals.createValueTag(amount));
!
! for (int i = 0; i < items.length; i++) {
! BidItem item = items[i];
! Element bidelem=element.addElement(ExchangeGlobals.BID_ITEM_TAG);
! bidelem.addElement(TransferGlobals.createQName(TransferGlobals.ASSET_TAG)).setText(item.getAsset().getName());
! bidelem.add(TransferGlobals.createValueTag(item.getAmount()));
! }
if (!Utility.isEmpty(comment))
--- ExchangeReceiptBuilder.java DELETED ---
|
|
From: <pe...@us...> - 2004-01-12 22:39:18
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset
Modified Files:
AssetController.java NegativeTransferException.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: AssetController.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/AssetController.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** AssetController.java 10 Jan 2004 00:00:45 -0000 1.11
--- AssetController.java 12 Jan 2004 22:39:14 -0000 1.12
***************
*** 4,13 ****
import org.neuclear.asset.orders.AssetTransactionContract;
import org.neuclear.asset.orders.TransferOrder;
import org.neuclear.commons.NeuClearException;
! 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.id.builders.NamedObjectBuilder;
/*
--- 4,11 ----
import org.neuclear.asset.orders.AssetTransactionContract;
import org.neuclear.asset.orders.TransferOrder;
+ import org.neuclear.asset.orders.TransferReceipt;
import org.neuclear.commons.NeuClearException;
! import org.neuclear.exchange.orders.*;
! import org.neuclear.id.SignedNamedObject;
/*
***************
*** 31,34 ****
--- 29,37 ----
$Id$
$Log$
+ Revision 1.12 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.11 2004/01/10 00:00:45 pelle
Implemented new Schema for Transfer*
***************
*** 115,119 ****
* @throws InvalidTransferException
*/
! public final NamedObjectBuilder process(final AssetTransactionContract contract) throws TransferDeniedException, LowLevelPaymentException, InvalidTransferException, NeuClearException {
if (contract instanceof TransferOrder)
return process((TransferOrder) contract);
--- 118,122 ----
* @throws InvalidTransferException
*/
! public final SignedNamedObject process(final AssetTransactionContract contract) throws TransferDeniedException, LowLevelPaymentException, InvalidTransferException, NeuClearException {
if (contract instanceof TransferOrder)
return process((TransferOrder) contract);
***************
*** 146,150 ****
* @throws InvalidTransferException
*/
! public abstract org.neuclear.asset.orders.builders.TransferReceiptBuilder process(TransferOrder req) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
--- 149,153 ----
* @throws InvalidTransferException
*/
! public abstract TransferReceipt process(TransferOrder req) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
***************
*** 154,163 ****
*
* @param req Valid ExchangeOrder
! * @return Unsigned ExchangeReceiptBuilder
* @throws LowLevelPaymentException
* @throws TransferDeniedException
* @throws InvalidTransferException
*/
! public abstract org.neuclear.exchange.orders.builders.ExchangeReceiptBuilder process(ExchangeOrder req) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
--- 157,166 ----
*
* @param req Valid ExchangeOrder
! * @return Unsigned ExchangeOrderReceiptBuilder
* @throws LowLevelPaymentException
* @throws TransferDeniedException
* @throws InvalidTransferException
*/
! public abstract ExchangeOrderReceipt process(ExchangeOrder req) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
***************
*** 170,174 ****
* @throws InvalidTransferException
*/
! public abstract org.neuclear.asset.orders.builders.TransferReceiptBuilder process(ExchangeCompletionOrder complete) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
--- 173,177 ----
* @throws InvalidTransferException
*/
! public abstract ExchangeCompletedReceipt process(ExchangeCompletionOrder complete) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
/**
***************
*** 182,186 ****
*/
! public abstract CancelExchangeReceiptBuilder process(CancelExchangeOrder cancel) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
--- 185,189 ----
*/
! public abstract CancelExchangeReceipt process(CancelExchangeOrder cancel) throws LowLevelPaymentException, TransferDeniedException, InvalidTransferException, NeuClearException;
Index: NegativeTransferException.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/NegativeTransferException.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** NegativeTransferException.java 21 Nov 2003 04:43:04 -0000 1.4
--- NegativeTransferException.java 12 Jan 2004 22:39:14 -0000 1.5
***************
*** 1,4 ****
--- 1,6 ----
package org.neuclear.asset;
+ import org.neuclear.asset.orders.Value;
+
/**
***************
*** 8,20 ****
*/
public final class NegativeTransferException extends InvalidTransferException {
! public NegativeTransferException(final double amount) {
super("negative amount");
this.amount = amount;
}
! private final double amount;
! public final double getAmount() {
return amount;
}
--- 10,22 ----
*/
public final class NegativeTransferException extends InvalidTransferException {
! public NegativeTransferException(final Value amount) {
super("negative amount");
this.amount = amount;
}
! private final Value amount;
! public final Value getAmount() {
return amount;
}
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset/orders
Modified Files:
TransferGlobals.java TransferOrder.java
Added Files:
Amount.java SerialNumbers.java Value.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.
--- NEW FILE: Amount.java ---
package org.neuclear.asset.orders;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 4:44:24 PM
* To change this template use Options | File Templates.
*/
public final class Amount extends Value {
public Amount(double amount){
this.amount=amount;
}
public double getAmount() {
return amount;
}
private final double amount;
}
--- NEW FILE: SerialNumbers.java ---
package org.neuclear.asset.orders;
import org.neuclear.exchange.orders.ExchangeOrder;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 4:46:51 PM
* To change this template use Options | File Templates.
*/
public final class SerialNumbers extends Value{
public SerialNumbers(String[] src) {
numbers= new String[src.length];
for (int i=0;i<src.length;i++)
numbers[i]=src[i];
}
public double getAmount() {
return numbers.length; //To change body of implemented methods use Options | File Templates.
}
public String getNumber(int i){
return numbers[i];
}
private final String numbers[];
}
--- NEW FILE: Value.java ---
package org.neuclear.asset.orders;
/**
* Created by IntelliJ IDEA.
* User: pelleb
* Date: Jan 12, 2004
* Time: 4:43:12 PM
* To change this template use Options | File Templates.
*/
public abstract class Value {
Value(){
;
}
public abstract double getAmount();
}
Index: TransferGlobals.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/TransferGlobals.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** TransferGlobals.java 11 Jan 2004 00:39:06 -0000 1.4
--- TransferGlobals.java 12 Jan 2004 22:39:14 -0000 1.5
***************
*** 3,6 ****
--- 3,7 ----
import org.dom4j.*;
import org.neuclear.asset.contracts.Asset;
+ import org.neuclear.asset.InvalidTransferException;
import org.neuclear.commons.Utility;
import org.neuclear.commons.time.TimeTools;
***************
*** 14,17 ****
--- 15,19 ----
import java.sql.Timestamp;
import java.text.ParseException;
+ import java.util.StringTokenizer;
/*
***************
*** 35,38 ****
--- 37,45 ----
$Id$
$Log$
+ Revision 1.5 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.4 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
***************
*** 215,226 ****
}
! public static final double parseAmountTag(Element elem) throws InvalidNamedObjectException {
final String amount=getElementValue(elem,AMOUNT_TAG);
try {
! return Double.parseDouble(amount);
} catch (NumberFormatException e) {
throw new InvalidNamedObjectException("Badly formatted number",e);
}
}
public static final SignedNamedObject parseEmbedded(Element elem,QName name) throws InvalidNamedObjectException {
Element embedded=elem.element(name);
--- 222,262 ----
}
! public static final Value parseValueTag(Element elem) throws InvalidNamedObjectException {
! if (elem.elements(createQName(AMOUNT_TAG))!=null)
! return parseAmountTag(elem);
! else
! return parseSerialNumbers(elem);
!
! }
!
! private static SerialNumbers parseSerialNumbers(Element elem) throws InvalidNamedObjectException {
! final String numbers=getElementValue(elem,SERIAL_NOS_TAG);
! return new SerialNumbers(numbers.split("\\s*"));
! }
!
! private static Amount parseAmountTag(Element elem) throws InvalidNamedObjectException {
final String amount=getElementValue(elem,AMOUNT_TAG);
+
try {
! return new Amount(Double.parseDouble(amount));
} catch (NumberFormatException e) {
throw new InvalidNamedObjectException("Badly formatted number",e);
}
}
+
+ public static Element createValueTag(Value value) throws InvalidTransferException {
+ if (value instanceof Amount){
+ return createElement(TransferGlobals.AMOUNT_TAG,Double.toString(value.getAmount()));
+ }
+ SerialNumbers nos=((SerialNumbers)value);
+ if (value.getAmount()>0) {
+ final StringBuffer buf=new StringBuffer((int) (nos.getAmount()*(nos.getNumber(0).length())+1));
+ for (int i=0;i<nos.getAmount();i++)
+ buf.append(nos.getNumber(i));
+ buf.append("\n");
+ return createElement(TransferGlobals.SERIAL_NOS_TAG,buf.toString());
+ }
+ throw new InvalidTransferException("Cant have an empty list");
+ }
public static final SignedNamedObject parseEmbedded(Element elem,QName name) throws InvalidNamedObjectException {
Element embedded=elem.element(name);
***************
*** 245,248 ****
--- 281,285 ----
public static final String ASSET_TAG="Asset";
public static final String AMOUNT_TAG="Amount";
+ public static final String SERIAL_NOS_TAG="SerialNumbers";
public static final String RECIPIENT_TAG = "Recipient";
}
Index: TransferOrder.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/orders/TransferOrder.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** TransferOrder.java 11 Jan 2004 00:39:06 -0000 1.3
--- TransferOrder.java 12 Jan 2004 22:39:14 -0000 1.4
***************
*** 13,17 ****
public final class TransferOrder extends AssetTransactionContract {
! private TransferOrder(final SignedNamedCore core, final Asset asset, final Identity recipient, final double amount, final String comment) {
super(core, asset);
this.amount = amount;
--- 13,17 ----
public final class TransferOrder extends AssetTransactionContract {
! private TransferOrder(final SignedNamedCore core, final Asset asset, final Identity recipient, final Value amount, final String comment) {
super(core, asset);
this.amount = amount;
***************
*** 23,27 ****
return recipient;
}
! public final double getAmount() {
return amount;
}
--- 23,27 ----
return recipient;
}
! public final Value getAmount() {
return amount;
}
***************
*** 33,37 ****
private final Identity recipient;
! private final double amount;
private final String comment;
--- 33,37 ----
private final Identity recipient;
! private final Value amount;
private final String comment;
***************
*** 52,56 ****
TransferGlobals.parseAssetTag(elem),
TransferGlobals.parseRecipientTag(elem),
! TransferGlobals.parseAmountTag(elem),
TransferGlobals.getCommentElement(elem)
);
--- 52,56 ----
TransferGlobals.parseAssetTag(elem),
TransferGlobals.parseRecipientTag(elem),
! TransferGlobals.parseValueTag(elem),
TransferGlobals.getCommentElement(elem)
);
|
|
From: <pe...@us...> - 2004-01-12 22:39:17
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/receiver
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset/receiver
Modified Files:
AssetControllerReceiver.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: AssetControllerReceiver.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/receiver/AssetControllerReceiver.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** AssetControllerReceiver.java 10 Jan 2004 00:00:45 -0000 1.10
--- AssetControllerReceiver.java 12 Jan 2004 22:39:14 -0000 1.11
***************
*** 12,16 ****
import org.neuclear.commons.crypto.signers.Signer;
import org.neuclear.id.SignedNamedObject;
! import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.verifier.VerifyingReader;
import org.neuclear.receiver.Receiver;
--- 12,16 ----
import org.neuclear.commons.crypto.signers.Signer;
import org.neuclear.id.SignedNamedObject;
! import org.neuclear.id.builders.Builder;
import org.neuclear.id.verifier.VerifyingReader;
import org.neuclear.receiver.Receiver;
***************
*** 67,71 ****
try {
System.out.println("Processing: "+transfer.getName());
! final NamedObjectBuilder sigReceipt = proc.process(transfer);
sigReceipt.sign(transfer.getAsset().getName(), signer);
return sigReceipt;
--- 67,71 ----
try {
System.out.println("Processing: "+transfer.getName());
! final Builder sigReceipt = proc.process(transfer);
sigReceipt.sign(transfer.getAsset().getName(), signer);
return sigReceipt;
|
|
From: <pe...@us...> - 2004-01-12 22:39:17
|
Update of /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/receiver/servlet
In directory sc8-pr-cvs1:/tmp/cvs-serv12929/src/java/org/neuclear/asset/receiver/servlet
Modified Files:
TransferRequestServlet.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: TransferRequestServlet.java
===================================================================
RCS file: /cvsroot/neuclear/neuclear-pay/src/java/org/neuclear/asset/receiver/servlet/TransferRequestServlet.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** TransferRequestServlet.java 11 Jan 2004 00:39:06 -0000 1.4
--- TransferRequestServlet.java 12 Jan 2004 22:39:14 -0000 1.5
***************
*** 8,12 ****
import org.neuclear.id.Identity;
import org.neuclear.id.InvalidNamedObjectException;
! import org.neuclear.id.builders.NamedObjectBuilder;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.signers.servlet.SignatureRequestServlet;
--- 8,12 ----
import org.neuclear.id.Identity;
import org.neuclear.id.InvalidNamedObjectException;
! import org.neuclear.id.builders.Builder;
import org.neuclear.id.resolver.NSResolver;
import org.neuclear.signers.servlet.SignatureRequestServlet;
***************
*** 34,37 ****
--- 34,42 ----
$Id$
$Log$
+ Revision 1.5 2004/01/12 22:39:14 pelle
+ 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.
+
Revision 1.4 2004/01/11 00:39:06 pelle
Cleaned up the schemas even more they now all verifiy.
***************
*** 70,74 ****
*/
public class TransferRequestServlet extends SignatureRequestServlet{
! protected NamedObjectBuilder createBuilder(HttpServletRequest request) throws NeuClearException {
Asset asset=(Asset) NSResolver.resolveIdentity(getServiceid());
Identity user=(Identity) request.getUserPrincipal();
--- 75,79 ----
*/
public class TransferRequestServlet extends SignatureRequestServlet{
! protected Builder createBuilder(HttpServletRequest request) throws NeuClearException {
Asset asset=(Asset) NSResolver.resolveIdentity(getServiceid());
Identity user=(Identity) request.getUserPrincipal();
|