Joram 5.0.8

org.objectweb.joram.mom.dest
Class AdminTopicImpl

java.lang.Object
  extended by org.objectweb.joram.mom.dest.DestinationImpl
      extended by org.objectweb.joram.mom.dest.TopicImpl
          extended by org.objectweb.joram.mom.dest.AdminTopicImpl
All Implemented Interfaces:
java.io.Serializable, AdminTopicImplMBean, DestinationImplMBean, TopicImplMBean

public final class AdminTopicImpl
extends TopicImpl
implements AdminTopicImplMBean

The AdminTopicImpl class implements the admin topic behaviour, basically processing administration requests.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.objectweb.joram.mom.dest.TopicImpl
alreadySentLocally, fatherId, friends, selectors, subscribers
 
Fields inherited from class org.objectweb.joram.mom.dest.DestinationImpl
_rights, clients, creationDate, destId, dmqId, freeReading, freeWriting, logger, nbMsgsDeliverSinceCreation, nbMsgsReceiveSinceCreation, nbMsgsSendToDMQSinceCreation, READ, READWRITE, WRITE
 
Constructor Summary
AdminTopicImpl(fr.dyade.aaa.agent.AgentId topicId)
          Constructs an AdminTopicImpl instance.
 
Method Summary
 void AdminNotification(fr.dyade.aaa.agent.AgentId from, AdminNotification adminNot)
          Method implementing the reaction to a org.objectweb.joram.mom.proxies.AdminNotification notification notifying of the creation of an admin proxy.
 void AdminReply(fr.dyade.aaa.agent.AgentId from, AdminReply not)
          Method implementing the reaction to a org.objectweb.joram.mom.notifications.AdminReply notification replying to an administration request.
 void AdminRequestNot(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.AdminTopicImpl.AdminRequestNot adminNot)
          Method implementing the reaction to a AdminRequest notification notifying of the creation of an admin proxy.
 void clusterAck(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.ClusterAck ack)
          Overrides this TopicImpl method; a ClusterAck is not expected by an AdminTopic.
 void clusterNot(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.ClusterNot not)
          Overrides this TopicImpl method; if this AdminTopic is on server0, new cluster fellow is notified to other fellows and other fellows are notified to it.
 void clusterRequest(fr.dyade.aaa.agent.AgentId from, ClusterRequest request)
          Overrides this TopicImpl method; AdminTopics do not accept ClusterRequest notifications.
 void clusterTest(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.ClusterTest request)
          Overrides this TopicImpl method; AdminTopics do not accept to join clusters other than their admin topics cluster.
 void deleteNot(fr.dyade.aaa.agent.AgentId from, fr.dyade.aaa.agent.DeleteNot not)
          Overrides this DestinationImpl method; deletion requests are not accepted by AdminTopics.
protected  void doUnknownAgent(fr.dyade.aaa.agent.UnknownAgent uA)
          Specializes this TopicImpl reaction.
 void fatherAck(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.FatherAck ack)
          Overrides this TopicImpl method; a FatherAck acknowledges the process of creating a hierarchy of topics.
 void fatherTest(fr.dyade.aaa.agent.AgentId from, org.objectweb.joram.mom.dest.FatherTest not)
          Overrides this TopicImpl method; AdminTopics do not accept to join a hierarchy.
 fr.dyade.aaa.agent.AgentId getId()
          Method returning the id of the admin topic.
 java.lang.String getName(fr.dyade.aaa.agent.AgentId proxyId)
          Method used by proxies for retrieving their name.
 java.lang.String getPassword(fr.dyade.aaa.agent.AgentId proxyId)
          Method used by proxies for retrieving their password.
 fr.dyade.aaa.agent.AgentId getProxyId(java.lang.String name, java.lang.String pass, java.lang.String inaddr)
          Method used by ConnectionManager proxies to check their clients identification.
 void GetProxyIdListNot(GetProxyIdListNot not)
           
 void GetProxyIdNot(GetProxyIdNot not)
           
static AdminTopicImpl getReference()
           
 boolean isTaken(java.lang.String name)
          Method used by proxies for checking if a given name is already used.
 void postProcess(SetRightRequest req)
           
 ClientMessages preProcess(fr.dyade.aaa.agent.AgentId from, ClientMessages msgs)
          Overrides this DestinationImpl method; ClientMessages notifications hold requests sent by an administrator.
 SetRightRequest preProcess(SetRightRequest req)
           
 void RegisterDestNot(RegisterDestNot not)
           
 void RegisteredDestNot(fr.dyade.aaa.agent.AgentId from, RegisteredDestNot not)
           
 void RegisterTmpDestNot(RegisterTmpDestNot not)
           
 void requestGroupNot(fr.dyade.aaa.agent.AgentId from, RequestGroupNot not)
           
 void setDMQRequest(fr.dyade.aaa.agent.AgentId from, SetDMQRequest request)
          Overrides this DestinationImpl method; AdminTopics do not accept SetDMQRequest notifications.
 void setFatherRequest(fr.dyade.aaa.agent.AgentId from, SetFatherRequest request)
          Overrides this TopicImpl method; AdminTopics do not accept SetFatherRequest notifications.
 void setRightRequest(fr.dyade.aaa.agent.AgentId from, SetRightRequest request)
          Overrides this DestinationImpl method; AdminTopics do not accept SetRightRequest notifications.
 void topicForwardNot(fr.dyade.aaa.agent.AgentId from, TopicForwardNot not)
          Overrides this TopicImpl method; the forwarded messages contain admin requests and will be processed.
 java.lang.String toString()
          Returns a string representation of this destination.
 void unclusterRequest(fr.dyade.aaa.agent.AgentId from, UnclusterRequest request)
          Overrides this TopicImpl method; AdminTopics do not accept UnclusterRequest notifications.
 void unsetFatherRequest(fr.dyade.aaa.agent.AgentId from, UnsetFatherRequest request)
          Overrides this TopicImpl method; AdminTopics do not accept UnsetFatherRequest notifications.
 
Methods inherited from class org.objectweb.joram.mom.dest.TopicImpl
destinationAdminRequestNot, doClientMessages, doDeleteNot, doRightRequest, forwardMessages, getNbMsgsReceiveSinceCreation, getSubscriberIds, monitGetCluster, monitGetFather, monitGetSubscriptions, postSubscribe, postUnsubscribe, preSubscribe, preUnsubscribe, processMessages, setAlreadySentLocally, subscribeRequest, unclusterNot, unsubscribeRequest
 
Methods inherited from class org.objectweb.joram.mom.dest.DestinationImpl
canBeDeleted, clientMessages, forward, getCreationDate, getCreationTimeInMillis, getDestinationId, getDMQId, getNbMsgsDeliverSinceCreation, getNbMsgsSendToDMQSinceCreation, getRight, getRights, getStatisticHashtable, isAdministrator, isFreeReading, isFreeWriting, isLocal, isReader, isWriter, monitFreeAccess, monitGetDMQSettings, monitGetReaders, monitGetStat, monitGetWriters, postProcess, processSetRight, replyToTopic, sendToDMQ, setAgent, setFreeReading, setFreeWriting, specialAdminProcess, specialAdminRequest, unknownAgent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.objectweb.joram.mom.dest.TopicImplMBean
getSubscriberIds
 
Methods inherited from interface org.objectweb.joram.mom.dest.DestinationImplMBean
getCreationDate, getCreationTimeInMillis, getDestinationId, getDMQId, getNbMsgsDeliverSinceCreation, getNbMsgsReceiveSinceCreation, getNbMsgsSendToDMQSinceCreation, getRight, getRights, isFreeReading, isFreeWriting, setFreeReading, setFreeWriting
 

Constructor Detail

AdminTopicImpl

public AdminTopicImpl(fr.dyade.aaa.agent.AgentId topicId)
Constructs an AdminTopicImpl instance.

Parameters:
topicId - Identifier of the agent hosting the AdminTopicImpl.
Method Detail

getReference

public static AdminTopicImpl getReference()

toString

public java.lang.String toString()
Description copied from class: TopicImpl
Returns a string representation of this destination.

Specified by:
toString in interface DestinationImplMBean
Overrides:
toString in class TopicImpl

getProxyId

public fr.dyade.aaa.agent.AgentId getProxyId(java.lang.String name,
                                             java.lang.String pass,
                                             java.lang.String inaddr)
                                      throws java.lang.Exception
Method used by ConnectionManager proxies to check their clients identification.

Parameters:
name -
pass -
inaddr -
Throws:
java.lang.Exception - If the user does not exist, is wrongly identified, or does not have any proxy deployed.
See Also:
ConnectionManager

getName

public java.lang.String getName(fr.dyade.aaa.agent.AgentId proxyId)
Method used by proxies for retrieving their name.


getPassword

public java.lang.String getPassword(fr.dyade.aaa.agent.AgentId proxyId)
Method used by proxies for retrieving their password.


isTaken

public boolean isTaken(java.lang.String name)
Method used by proxies for checking if a given name is already used.


getId

public fr.dyade.aaa.agent.AgentId getId()
Method returning the id of the admin topic.


AdminNotification

public void AdminNotification(fr.dyade.aaa.agent.AgentId from,
                              AdminNotification adminNot)
Method implementing the reaction to a org.objectweb.joram.mom.proxies.AdminNotification notification notifying of the creation of an admin proxy.


AdminRequestNot

public void AdminRequestNot(fr.dyade.aaa.agent.AgentId from,
                            org.objectweb.joram.mom.dest.AdminTopicImpl.AdminRequestNot adminNot)
Method implementing the reaction to a AdminRequest notification notifying of the creation of an admin proxy.


AdminReply

public void AdminReply(fr.dyade.aaa.agent.AgentId from,
                       AdminReply not)
Method implementing the reaction to a org.objectweb.joram.mom.notifications.AdminReply notification replying to an administration request.

A reply is sent back to the connected administrator if needed.


GetProxyIdNot

public void GetProxyIdNot(GetProxyIdNot not)

GetProxyIdListNot

public void GetProxyIdListNot(GetProxyIdListNot not)

RegisterTmpDestNot

public void RegisterTmpDestNot(RegisterTmpDestNot not)

RegisterDestNot

public void RegisterDestNot(RegisterDestNot not)

RegisteredDestNot

public void RegisteredDestNot(fr.dyade.aaa.agent.AgentId from,
                              RegisteredDestNot not)

setRightRequest

public void setRightRequest(fr.dyade.aaa.agent.AgentId from,
                            SetRightRequest request)
                     throws AccessException
Overrides this DestinationImpl method; AdminTopics do not accept SetRightRequest notifications.

Overrides:
setRightRequest in class DestinationImpl
Throws:
AccessException - Not thrown.

setDMQRequest

public void setDMQRequest(fr.dyade.aaa.agent.AgentId from,
                          SetDMQRequest request)
                   throws AccessException
Overrides this DestinationImpl method; AdminTopics do not accept SetDMQRequest notifications.

Overrides:
setDMQRequest in class DestinationImpl
Throws:
AccessException - Not thrown.

requestGroupNot

public void requestGroupNot(fr.dyade.aaa.agent.AgentId from,
                            RequestGroupNot not)
Overrides:
requestGroupNot in class DestinationImpl

preProcess

public SetRightRequest preProcess(SetRightRequest req)
Overrides:
preProcess in class DestinationImpl

postProcess

public void postProcess(SetRightRequest req)
Overrides:
postProcess in class DestinationImpl

preProcess

public ClientMessages preProcess(fr.dyade.aaa.agent.AgentId from,
                                 ClientMessages msgs)
Overrides this DestinationImpl method; ClientMessages notifications hold requests sent by an administrator.

Overrides:
preProcess in class DestinationImpl

deleteNot

public void deleteNot(fr.dyade.aaa.agent.AgentId from,
                      fr.dyade.aaa.agent.DeleteNot not)
Overrides this DestinationImpl method; deletion requests are not accepted by AdminTopics.

Overrides:
deleteNot in class DestinationImpl

clusterRequest

public void clusterRequest(fr.dyade.aaa.agent.AgentId from,
                           ClusterRequest request)
                    throws AccessException
Overrides this TopicImpl method; AdminTopics do not accept ClusterRequest notifications.

Overrides:
clusterRequest in class TopicImpl
Throws:
AccessException - Not thrown.

clusterTest

public void clusterTest(fr.dyade.aaa.agent.AgentId from,
                        org.objectweb.joram.mom.dest.ClusterTest request)
Overrides this TopicImpl method; AdminTopics do not accept to join clusters other than their admin topics cluster.

Overrides:
clusterTest in class TopicImpl

clusterAck

public void clusterAck(fr.dyade.aaa.agent.AgentId from,
                       org.objectweb.joram.mom.dest.ClusterAck ack)
Overrides this TopicImpl method; a ClusterAck is not expected by an AdminTopic.

Overrides:
clusterAck in class TopicImpl

clusterNot

public void clusterNot(fr.dyade.aaa.agent.AgentId from,
                       org.objectweb.joram.mom.dest.ClusterNot not)
Overrides this TopicImpl method; if this AdminTopic is on server0, new cluster fellow is notified to other fellows and other fellows are notified to it.

Overrides:
clusterNot in class TopicImpl

unclusterRequest

public void unclusterRequest(fr.dyade.aaa.agent.AgentId from,
                             UnclusterRequest request)
                      throws MomException
Overrides this TopicImpl method; AdminTopics do not accept UnclusterRequest notifications.

Overrides:
unclusterRequest in class TopicImpl
Throws:
AccessException - Not thrown.
MomException

setFatherRequest

public void setFatherRequest(fr.dyade.aaa.agent.AgentId from,
                             SetFatherRequest request)
                      throws MomException
Overrides this TopicImpl method; AdminTopics do not accept SetFatherRequest notifications.

Overrides:
setFatherRequest in class TopicImpl
Throws:
AccessException - Not thrown.
MomException

fatherTest

public void fatherTest(fr.dyade.aaa.agent.AgentId from,
                       org.objectweb.joram.mom.dest.FatherTest not)
Overrides this TopicImpl method; AdminTopics do not accept to join a hierarchy.

Overrides:
fatherTest in class TopicImpl

fatherAck

public void fatherAck(fr.dyade.aaa.agent.AgentId from,
                      org.objectweb.joram.mom.dest.FatherAck ack)
Overrides this TopicImpl method; a FatherAck acknowledges the process of creating a hierarchy of topics.

Overrides:
fatherAck in class TopicImpl

unsetFatherRequest

public void unsetFatherRequest(fr.dyade.aaa.agent.AgentId from,
                               UnsetFatherRequest request)
                        throws MomException
Overrides this TopicImpl method; AdminTopics do not accept UnsetFatherRequest notifications.

Overrides:
unsetFatherRequest in class TopicImpl
Throws:
AccessException - Not thrown.
MomException

topicForwardNot

public void topicForwardNot(fr.dyade.aaa.agent.AgentId from,
                            TopicForwardNot not)
Overrides this TopicImpl method; the forwarded messages contain admin requests and will be processed.

Overrides:
topicForwardNot in class TopicImpl

doUnknownAgent

protected void doUnknownAgent(fr.dyade.aaa.agent.UnknownAgent uA)
Specializes this TopicImpl reaction.

Overrides:
doUnknownAgent in class TopicImpl

Joram 5.0.8

Copyright © 2005 Scalagent - All rights reserved