mwomack     2003/10/19 22:27:15

  Modified:    src/java/org/apache/log4j/net XMLSocketReceiver.java
                        SocketReceiver.java SocketHubReceiver.java
                        JMSReceiver.java
  Log:
  Various cleanup.
  Changed equals() method to new Plugin method isEquivalent.  This method is used by 
PluginRegistry when a new plugin is being started.  If an equivalent plugin is already 
running, it is left running and the new plugin is not started.
  
  Revision  Changes    Path
  1.3       +14 -13    
jakarta-log4j/src/java/org/apache/log4j/net/XMLSocketReceiver.java
  
  Index: XMLSocketReceiver.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/XMLSocketReceiver.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLSocketReceiver.java    9 Jul 2003 06:10:01 -0000       1.2
  +++ XMLSocketReceiver.java    20 Oct 2003 05:27:15 -0000      1.3
  @@ -51,6 +51,7 @@
   
   import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.plugins.Receiver;
  +import org.apache.log4j.plugins.Plugin;
   import org.apache.log4j.spi.LoggerRepository;
   
   import java.net.ServerSocket;
  @@ -114,19 +115,19 @@
     }
   
     /**
  -    Returns true if the receiver is the same class and they are
  -    configured for the same port, logger repository, and name.
  -    This is used when determining if the same receiver is being
  -    configured.  */
  -  public boolean equals(Object obj) {
  -    if ((obj != null) && obj instanceof XMLSocketReceiver) {
  -      XMLSocketReceiver sReceiver = (XMLSocketReceiver) obj;
  -      String sName = sReceiver.getName();
  -
  -      return ((repository == sReceiver.getLoggerRepository())
  -      && (port == sReceiver.getPort())
  -      && (((sName != null) && sName.equals(sReceiver.getName()))
  -      || ((sName == null) && (sReceiver.getName() == null))));
  +   * Returns true if the receiver is the same class and they are
  +   * configured for the same properties, and super class also considers
  +   * them to be equivalent. This is used by PluginRegistry when determining
  +   * if the a similarly configured receiver is being started.
  +   * 
  +   * @param testPlugin The plugin to test equivalency against.
  +   * @return boolean True if the testPlugin is equivalent to this plugin.
  +   */
  +  public boolean isEquivalent(Plugin testPlugin) {
  +    if ((testPlugin != null) && testPlugin instanceof XMLSocketReceiver) {
  +      XMLSocketReceiver sReceiver = (XMLSocketReceiver) testPlugin;
  +
  +      return (port == sReceiver.getPort() && super.isEquivalent(testPlugin));
       }
   
       return false;
  
  
  
  1.6       +14 -13    jakarta-log4j/src/java/org/apache/log4j/net/SocketReceiver.java
  
  Index: SocketReceiver.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketReceiver.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SocketReceiver.java       24 Jun 2003 08:21:52 -0000      1.5
  +++ SocketReceiver.java       20 Oct 2003 05:27:15 -0000      1.6
  @@ -52,6 +52,7 @@
   import org.apache.log4j.helpers.LogLog;
   import org.apache.log4j.plugins.Pauseable;
   import org.apache.log4j.plugins.Receiver;
  +import org.apache.log4j.plugins.Plugin;
   import org.apache.log4j.spi.LoggerRepository;
   import org.apache.log4j.spi.LoggingEvent;
   
  @@ -119,19 +120,19 @@
     }
   
     /**
  -    Returns true if the receiver is the same class and they are
  -    configured for the same port, logger repository, and name.
  -    This is used when determining if the same receiver is being
  -    configured.  */
  -  public boolean equals(Object obj) {
  -    if ((obj != null) && obj instanceof SocketReceiver) {
  -      SocketReceiver sReceiver = (SocketReceiver) obj;
  -      String sName = sReceiver.getName();
  -
  -      return ((repository == sReceiver.getLoggerRepository())
  -      && (port == sReceiver.getPort())
  -      && (((sName != null) && sName.equals(sReceiver.getName()))
  -      || ((sName == null) && (sReceiver.getName() == null))));
  +   * Returns true if the receiver is the same class and they are
  +   * configured for the same properties, and super class also considers
  +   * them to be equivalent. This is used by PluginRegistry when determining
  +   * if the a similarly configured receiver is being started.
  +   * 
  +   * @param testPlugin The plugin to test equivalency against.
  +   * @return boolean True if the testPlugin is equivalent to this plugin.
  +   */
  +  public boolean isEquivalent(Plugin testPlugin) {
  +    if ((testPlugin != null) && testPlugin instanceof SocketReceiver) {
  +      SocketReceiver sReceiver = (SocketReceiver) testPlugin;
  +
  +      return (port == sReceiver.getPort() && super.isEquivalent(testPlugin));
       }
   
       return false;
  
  
  
  1.8       +15 -12    
jakarta-log4j/src/java/org/apache/log4j/net/SocketHubReceiver.java
  
  Index: SocketHubReceiver.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/SocketHubReceiver.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SocketHubReceiver.java    18 Sep 2003 03:05:31 -0000      1.7
  +++ SocketHubReceiver.java    20 Oct 2003 05:27:15 -0000      1.8
  @@ -14,6 +14,7 @@
   
   import org.apache.log4j.spi.LoggerRepository;
   import org.apache.log4j.plugins.Receiver;
  +import org.apache.log4j.plugins.Plugin;
   import org.apache.log4j.helpers.LogLog;
   
   /**
  @@ -129,20 +130,22 @@
     }
     
     /**
  -    Returns true if the receiver is the same class and they are
  -    configured for the same port, logger repository, and name.
  -    This is used when determining if the same receiver is being
  -    configured.  */
  -  public boolean equals(Object obj) {
  -    if (obj != null && obj instanceof SocketHubReceiver) {
  -      SocketHubReceiver sReceiver = (SocketHubReceiver)obj;
  -      String sName = sReceiver.getName();
  -      return (repository == sReceiver.getLoggerRepository() &&
  -        port == sReceiver.getPort() &&
  +   * Returns true if the receiver is the same class and they are
  +   * configured for the same properties, and super class also considers
  +   * them to be equivalent. This is used by PluginRegistry when determining
  +   * if the a similarly configured receiver is being started.
  +   * 
  +   * @param testPlugin The plugin to test equivalency against.
  +   * @return boolean True if the testPlugin is equivalent to this plugin.
  +   */
  +  public boolean isEquivalent(Plugin testPlugin) {
  +    if (testPlugin != null && testPlugin instanceof SocketHubReceiver) {
  +      SocketHubReceiver sReceiver = (SocketHubReceiver)testPlugin;
  +
  +      return (port == sReceiver.getPort() &&
           host.equals(sReceiver.getHost()) &&
           reconnectionDelay == sReceiver.getReconnectionDelay() &&
  -        ((sName != null && sName.equals(sReceiver.getName()) || 
  -         (sName == null && sReceiver.getName() == null))));
  +        super.isEquivalent(testPlugin));
       }
       
       return false;
  
  
  
  1.5       +30 -19    jakarta-log4j/src/java/org/apache/log4j/net/JMSReceiver.java
  
  Index: JMSReceiver.java
  ===================================================================
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/net/JMSReceiver.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JMSReceiver.java  5 May 2003 20:42:56 -0000       1.4
  +++ JMSReceiver.java  20 Oct 2003 05:27:15 -0000      1.5
  @@ -24,6 +24,7 @@
   
   import org.apache.log4j.Logger;
   import org.apache.log4j.spi.LoggingEvent;
  +import org.apache.log4j.plugins.Plugin;
   import org.apache.log4j.plugins.Receiver;
   
   /**
  @@ -80,14 +81,16 @@
     }
     
     /**
  -    Sets the JMS topic name to use when creating the 
  -    JMS connection. */
  +   * Sets the JMS topic name to use when creating the
  +   * JMS connection.
  +   */
     public void setTopicName(String _topicName) {
       topicName = _topicName;
     }
     
     /**
  -    Gets the curernt JMS topic name property. */
  +   * Gets the curernt JMS topic name property.
  +   */
     public String getTopicName() {
       return topicName;
     }
  @@ -100,37 +103,45 @@
     }
     
     /**
  -    Gets the curernt user id property. */
  +   * Gets the current user id property.
  +   */
     public String getUserId() {
       return userId;
     }
   
     /**
  -    Sets the password to use when creating the 
  -    JMS connection. */
  +   * Sets the password to use when creating the
  +   * JMS connection.
  +   */
     public void setPassword(String _password) {
       password = _password;
     }
     
     /**
  -    Gets the curernt password property. */
  +   * Gets the curernt password property.
  +   */
     public String getPassword() {
       return password;
     }
    
     /**
  -    Returns true if the receiver is the same class and they are
  -    configured for the same topic info, logger repository, and name.
  -    This is used when determining if the same receiver is being
  -    configured.  */
  -  public boolean equals(Object obj) {
  -    if (obj != null && obj instanceof JMSReceiver) {
  -      JMSReceiver receiver = (JMSReceiver)obj;
  -      String rName = receiver.getName();
  -      return (repository == receiver.getLoggerRepository() &&
  -        topicFactoryName.equals(receiver.getTopicFactoryName()) &&
  -        ((rName != null && rName.equals(this.getName()) || 
  -         (rName == null && this.getName() == null))));
  +   * Returns true if the receiver is the same class and they are
  +   * configured for the same properties, and super class also considers
  +   * them to be equivalent. This is used by PluginRegistry when determining
  +   * if the a similarly configured receiver is being started.
  +   * 
  +   * @param testPlugin The plugin to test equivalency against.
  +   * @return boolean True if the testPlugin is equivalent to this plugin.
  +   */
  +  public boolean isEquivalent(Plugin testPlugin) {
  +    // only do full check if an instance of this class
  +    if (testPlugin instanceof JMSReceiver) {
  + 
  +      JMSReceiver receiver = (JMSReceiver)testPlugin;
  +      
  +      // check for same topic name and super class equivalency
  +      return (topicFactoryName.equals(receiver.getTopicFactoryName()) &&
  +        super.isEquivalent(testPlugin));
       }
       
       return false;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to