org.opencyc.jxta
Class Peer

java.lang.Object
  |
  +--org.opencyc.jxta.Peer
All Implemented Interfaces:
net.jxta.resolver.QueryHandler

public class Peer
extends java.lang.Object
implements net.jxta.resolver.QueryHandler

Provides generic jxta peer capablilities for cyc agents.

See www.jxta.org for more information on the Juxtaposition peer to peer infrastructure. OpenCyc uses the JXTA Resolver Service to pass messages to discovered JXTA peers. Between OpenCyc peers, the message content is a FIPA-OS envelope and an enclosed FIPA-OS message represented in XML format.

Author:
Stephen L. Reed

Copyright 2001 Cycorp, Inc., license is open source GNU LGPL.

the license

www.opencyc.org

OpenCyc at SourceForge

THIS SOFTWARE AND KNOWLEDGE BASE CONTENT ARE PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENCYC ORGANIZATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE AND KNOWLEDGE BASE CONTENT, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Field Summary
protected  CycAccess cycAccess
          CycAccess connection to the local cyc server.
static int DEFAULT_VERBOSITY
          The default verbosity of the solution output.
static java.lang.String ECHO_HANDLER_NAME
          A name to use to register the example handler with the Resolver service.
static java.lang.String JXTA_CREDENTIALS
          JXTA credentials
 int msgSerialNumber
          outbound message serial number
protected  net.jxta.peergroup.PeerGroup peerGroup
          jxta peer group
 int queryId
          jxta ResolverService query id
protected  net.jxta.resolver.ResolverService resolverService
          jxta ResolverService
protected  int verbosity
          Sets verbosity of the constraint solver output.
 
Constructor Summary
Peer()
          Constructs a new Peer object.
 
Method Summary
 void close()
          Closes the peer's local cyc connection and disconnects the peer from JXTA.
 void doResolverEcho(java.lang.String echoMessageText, int waitSeconds)
          Sends the echo message to peers via the ResolverService, and displays the echo responses.
static void main(java.lang.String[] args)
          Provides a main method for testing this class.
 java.lang.String nextMessageId()
          Returns the next message serial number identifier.
 net.jxta.protocol.ResolverResponseMsg processQuery(net.jxta.protocol.ResolverQueryMsg resolverQueryMsg)
          Receives the echo query from a peer, and generates the echo response.
 void processResponse(net.jxta.protocol.ResolverResponseMsg resolverResponseMsg)
          Processes the echo response messages.
protected  void registerEchoService()
          Registers the echo service.
protected  void sendQuery(java.lang.String receivingPeer, net.jxta.protocol.ResolverQueryMsg resolverQueryMsg)
          Sends the query to the given peer.
 void setVerbosity(int verbosity)
          Sets verbosity of the output.
protected  void startJxta()
          Starts the JXTA system and obtains a reference to the netPeerGroup.
protected  void test()
          Tests the Peer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ECHO_HANDLER_NAME

public static final java.lang.String ECHO_HANDLER_NAME
A name to use to register the example handler with the Resolver service.

JXTA_CREDENTIALS

public static final java.lang.String JXTA_CREDENTIALS
JXTA credentials

msgSerialNumber

public int msgSerialNumber
outbound message serial number

queryId

public int queryId
jxta ResolverService query id

peerGroup

protected net.jxta.peergroup.PeerGroup peerGroup
jxta peer group

resolverService

protected net.jxta.resolver.ResolverService resolverService
jxta ResolverService

DEFAULT_VERBOSITY

public static final int DEFAULT_VERBOSITY
The default verbosity of the solution output. 0 --> quiet ... 9 -> maximum diagnostic input.

verbosity

protected int verbosity
Sets verbosity of the constraint solver output. 0 --> quiet ... 9 -> maximum diagnostic input.

cycAccess

protected CycAccess cycAccess
CycAccess connection to the local cyc server.
Constructor Detail

Peer

public Peer()
Constructs a new Peer object.
Method Detail

close

public void close()
Closes the peer's local cyc connection and disconnects the peer from JXTA.

main

public static void main(java.lang.String[] args)
Provides a main method for testing this class.
Parameters:
args - not used

test

protected void test()
Tests the Peer.

doResolverEcho

public void doResolverEcho(java.lang.String echoMessageText,
                           int waitSeconds)
Sends the echo message to peers via the ResolverService, and displays the echo responses.
Parameters:
echoMessageText - the echo message
waitSeconds - seconds to wait for peer responses

startJxta

protected void startJxta()
Starts the JXTA system and obtains a reference to the netPeerGroup.

registerEchoService

protected void registerEchoService()
Registers the echo service.

sendQuery

protected void sendQuery(java.lang.String receivingPeer,
                         net.jxta.protocol.ResolverQueryMsg resolverQueryMsg)
Sends the query to the given peer. If the peer is null, then th query is propagated.
Parameters:
resolverQueryMsg - the query
receivingPeer - the peer to which the query will be sent

processQuery

public net.jxta.protocol.ResolverResponseMsg processQuery(net.jxta.protocol.ResolverQueryMsg resolverQueryMsg)
                                                   throws java.io.IOException,
                                                          net.jxta.exception.NoResponseException,
                                                          net.jxta.exception.DiscardQueryException,
                                                          net.jxta.exception.ResendQueryException
Receives the echo query from a peer, and generates the echo response.
Specified by:
processQuery in interface net.jxta.resolver.QueryHandler
Parameters:
resolverQueryMsg - the message which this handler processes
Returns:
the response to this message

processResponse

public void processResponse(net.jxta.protocol.ResolverResponseMsg resolverResponseMsg)
Processes the echo response messages.
Specified by:
processResponse in interface net.jxta.resolver.QueryHandler
Parameters:
resolverResponseMsg - the response message to a previous query.

nextMessageId

public java.lang.String nextMessageId()
Returns the next message serial number identifier.
Returns:
the next message serial number identifier

setVerbosity

public void setVerbosity(int verbosity)
Sets verbosity of the output. 0 --> quiet ... 9 -> maximum diagnostic input.
Parameters:
verbosity - 0 --> quiet ... 9 -> maximum diagnostic input