Author: toad
Date: 2008-04-05 15:26:51 +0000 (Sat, 05 Apr 2008)
New Revision: 19038

Modified:
   trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
   trunk/freenet/src/freenet/node/fcp/GetNode.java
   trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
   trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
   trunk/freenet/src/freenet/node/fcp/NodeData.java
   trunk/freenet/src/freenet/node/fcp/PeerNote.java
Log:
Peer Notes, GetNode etc.

Modified: trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-04-05 15:21:11 UTC (rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-04-05 15:26:51 UTC (rev 19038)
@@ -10,14 +10,18 @@

        final String nodeIdentifier;
        static final String name = "EndListPeerNotes";
+       private String identifier;

-       public EndListPeerNotesMessage(String id) {
+       public EndListPeerNotesMessage(String id, String identifier) {
                this.nodeIdentifier = id;
+               this.identifier = identifier;
        }

        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("NodeIdentifier", nodeIdentifier);
+               if(identifier != null)
+                       sfs.putSingle("Identifier", identifier);
                return sfs;
        }


Modified: trunk/freenet/src/freenet/node/fcp/GetNode.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetNode.java     2008-04-05 15:21:11 UTC 
(rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/GetNode.java     2008-04-05 15:26:51 UTC 
(rev 19038)
@@ -13,15 +13,21 @@
        final boolean withPrivate;
        final boolean withVolatile;
        static final String NAME = "GetNode";
+       final String identifier;

        public GetNode(SimpleFieldSet fs) {
                giveOpennetRef = Fields.stringToBool(fs.get("GiveOpennetRef"), 
false);
                withPrivate = Fields.stringToBool(fs.get("WithPrivate"), false);
                withVolatile = Fields.stringToBool(fs.get("WithVolatile"), 
false);
+               identifier = fs.get("Identifier");
+               fs.removeValue("Identifier");
        }

        public SimpleFieldSet getFieldSet() {
-               return new SimpleFieldSet(true);
+               SimpleFieldSet fs = new SimpleFieldSet(true);
+               if(identifier != null)
+                       fs.putSingle("Identifier", identifier);
+               return fs;
        }

        public String getName() {
@@ -31,9 +37,9 @@
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "GetNode requires 
full access", null, false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "GetNode requires 
full access", identifier, false);
                }
-               handler.outputHandler.queue(new NodeData(node, giveOpennetRef, 
withPrivate, withVolatile));
+               handler.outputHandler.queue(new NodeData(node, giveOpennetRef, 
withPrivate, withVolatile, identifier));
        }

 }

Modified: trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-04-05 15:21:11 UTC (rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-04-05 15:26:51 UTC (rev 19038)
@@ -12,9 +12,12 @@

        static final String NAME = "ListPeerNotes";
        final SimpleFieldSet fs;
+       final String identifier;

        public ListPeerNotesMessage(SimpleFieldSet fs) {
                this.fs = fs;
+               this.identifier = fs.get("Identifier");
+               fs.removeValue("Identifier");
        }

        public SimpleFieldSet getFieldSet() {
@@ -28,11 +31,11 @@
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ListPeerNotes 
requires full access", fs.get("Identifier"), false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ListPeerNotes 
requires full access", identifier, false);
                }
                String nodeIdentifier = fs.get("NodeIdentifier");
                if( nodeIdentifier == null ) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: 
NodeIdentifier field missing", null, false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: 
NodeIdentifier field missing", identifier, false);
                }
                PeerNode pn = node.getPeerNode(nodeIdentifier);
                if(pn == null) {
@@ -41,13 +44,13 @@
                        return;
                }
                if(!(pn instanceof DarknetPeerNode)) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.DARKNET_ONLY, "ModifyPeer only 
available for darknet peers", fs.get("Identifier"), false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.DARKNET_ONLY, "ModifyPeer only 
available for darknet peers", identifier, false);
                }
                DarknetPeerNode dpn = (DarknetPeerNode) pn;
                // **FIXME** this should be generalized for multiple peer notes 
per peer, after PeerNode is similarly generalized
                String noteText = dpn.getPrivateDarknetCommentNote();
-               handler.outputHandler.queue(new PeerNote(nodeIdentifier, 
noteText, Node.PEER_NOTE_TYPE_PRIVATE_DARKNET_COMMENT));
-               handler.outputHandler.queue(new 
EndListPeerNotesMessage(nodeIdentifier));
+               handler.outputHandler.queue(new PeerNote(nodeIdentifier, 
noteText, Node.PEER_NOTE_TYPE_PRIVATE_DARKNET_COMMENT, identifier));
+               handler.outputHandler.queue(new 
EndListPeerNotesMessage(nodeIdentifier, identifier));
        }

 }

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2008-04-05 
15:21:11 UTC (rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2008-04-05 
15:26:51 UTC (rev 19038)
@@ -17,9 +17,12 @@
        static final String NAME = "ModifyPeerNote";

        final SimpleFieldSet fs;
+       final String identifier;

        public ModifyPeerNote(SimpleFieldSet fs) {
                this.fs = fs;
+               identifier = fs.get("Identifier");
+               fs.removeValue("Identifier");
        }

        public SimpleFieldSet getFieldSet() {
@@ -32,11 +35,11 @@

        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ModifyPeerNote 
requires full access", fs.get("Identifier"), false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ModifyPeerNote 
requires full access", identifier, false);
                }
                String nodeIdentifier = fs.get("NodeIdentifier");
                if( nodeIdentifier == null ) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: 
NodeIdentifier field missing", null, false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: 
NodeIdentifier field missing", identifier, false);
                }
                PeerNode pn = node.getPeerNode(nodeIdentifier);
                if(pn == null) {
@@ -45,18 +48,18 @@
                        return;
                }
                if(!(pn instanceof DarknetPeerNode)) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.DARKNET_ONLY, "ModifyPeerNote only 
available for darknet peers", fs.get("Identifier"), false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.DARKNET_ONLY, "ModifyPeerNote only 
available for darknet peers", identifier, false);
                }
                DarknetPeerNode dpn = (DarknetPeerNode) pn;
                int peerNoteType;
                try {
                        peerNoteType = fs.getInt("PeerNoteType");
                } catch (FSParseException e) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_FIELD, "Error parsing 
PeerNoteType field: "+e.getMessage(), null, false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_FIELD, "Error parsing 
PeerNoteType field: "+e.getMessage(), identifier, false);
                }
                String encodedNoteText = fs.get("NoteText");
                if( encodedNoteText == null ) {
-                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: NoteText 
field missing", null, false);
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: NoteText 
field missing", identifier, false);
                }
                String noteText;
                // **FIXME** this should be generalized for multiple peer notes 
per peer, after PeerNode is similarly generalized
@@ -73,7 +76,7 @@
                        handler.outputHandler.queue(msg);
                        return;
                }
-               handler.outputHandler.queue(new PeerNote(nodeIdentifier, 
noteText, peerNoteType));
+               handler.outputHandler.queue(new PeerNote(nodeIdentifier, 
noteText, peerNoteType, identifier));
        }

 }

Modified: trunk/freenet/src/freenet/node/fcp/NodeData.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeData.java    2008-04-05 15:21:11 UTC 
(rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/NodeData.java    2008-04-05 15:26:51 UTC 
(rev 19038)
@@ -13,12 +13,14 @@
        final boolean giveOpennetRef;
        final boolean withPrivate;
        final boolean withVolatile;
+       final String identifier;

-       public NodeData(Node node, boolean giveOpennetRef, boolean withPrivate, 
boolean withVolatile) {
+       public NodeData(Node node, boolean giveOpennetRef, boolean withPrivate, 
boolean withVolatile, String identifier) {
                this.node = node;
                this.giveOpennetRef = giveOpennetRef;
                this.withPrivate = withPrivate;
                this.withVolatile = withVolatile;
+               this.identifier = identifier;
        }

        public SimpleFieldSet getFieldSet() {
@@ -42,6 +44,8 @@
                                fs.put("volatile", vol);
                        }
                }
+               if(identifier != null)
+                       fs.putSingle("Identifier", identifier);
                return fs;
        }

@@ -51,7 +55,7 @@

        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
-               throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "NodeData goes 
from server to client not the other way around", null, false);
+               throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "NodeData goes 
from server to client not the other way around", identifier, false);
        }

 }

Modified: trunk/freenet/src/freenet/node/fcp/PeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerNote.java    2008-04-05 15:21:11 UTC 
(rev 19037)
+++ trunk/freenet/src/freenet/node/fcp/PeerNote.java    2008-04-05 15:26:51 UTC 
(rev 19038)
@@ -15,11 +15,13 @@
        final String noteText;
        final int peerNoteType;
        final String nodeIdentifier;
+       final String identifier;

-       public PeerNote(String nodeIdentifier, String noteText, int 
peerNoteType) {
+       public PeerNote(String nodeIdentifier, String noteText, int 
peerNoteType, String identifier) {
                this.nodeIdentifier = nodeIdentifier;
                this.noteText = noteText;
                this.peerNoteType = peerNoteType;
+               this.identifier = identifier;
        }

        public SimpleFieldSet getFieldSet() {
@@ -31,6 +33,8 @@
                } catch (UnsupportedEncodingException e) {
                        throw new Error(e);
                }
+               if(identifier != null)
+                       fs.putSingle("Identifier", identifier);
                return fs;
        }

@@ -40,7 +44,7 @@

        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
-               throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PeerNote goes 
from server to client not the other way around", null, false);
+               throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PeerNote goes 
from server to client not the other way around", identifier, false);
        }

 }


Reply via email to