Author: arnaudsimon
Date: Wed Oct 29 05:54:35 2008
New Revision: 708895

URL: http://svn.apache.org/viewvc?rev=708895&view=rev
Log:
QPID-1409: (Andrea patch) solved class cast issue between Int and Long 

Added:
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/HeartBeatIndicationMessageHandler.java
Modified:
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/Configurator.java
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/DomainModel.java
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/type/Uint32.java
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QMan.java
    
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/QManServlet.java

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/Protocol.java
 Wed Oct 29 05:54:35 2008
@@ -40,6 +40,8 @@
     char EVENT_CONTENT_RESPONSE_OPCDE = 'e';
     char INSTR_AND_CONFIG_CONTENT_RESPONSE_OPCODE = 'g';
     
+    char HEARTBEAT_INDICATION_RESPONSE_OPCODE = 'h';
+    
     int CLASS = 1;
     int EVENT = 2;
 }

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/Configurator.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/Configurator.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/Configurator.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/configuration/Configurator.java
 Wed Oct 29 05:54:35 2008
@@ -30,6 +30,7 @@
 import org.apache.qpid.management.Protocol;
 import 
org.apache.qpid.management.domain.handler.impl.ConfigurationMessageHandler;
 import 
org.apache.qpid.management.domain.handler.impl.EventContentMessageHandler;
+import 
org.apache.qpid.management.domain.handler.impl.HeartBeatIndicationMessageHandler;
 import 
org.apache.qpid.management.domain.handler.impl.InstrumentationMessageHandler;
 import 
org.apache.qpid.management.domain.handler.impl.MethodResponseMessageHandler;
 import 
org.apache.qpid.management.domain.handler.impl.SchemaResponseMessageHandler;
@@ -144,7 +145,12 @@
         Configuration.getInstance().addMethodReplyMessageHandlerMapping(
                 new MessageHandlerMapping(
                         Protocol.SCHEMA_RESPONSE_OPCODE,
-                        SchemaResponseMessageHandler.class.getName()));        
+                        SchemaResponseMessageHandler.class.getName()));  
+        
+        Configuration.getInstance().addMethodReplyMessageHandlerMapping(
+                new MessageHandlerMapping(
+                        Protocol.HEARTBEAT_INDICATION_RESPONSE_OPCODE,
+                        HeartBeatIndicationMessageHandler.class.getName()));   
       
     }
 
     /**

Added: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/HeartBeatIndicationMessageHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/HeartBeatIndicationMessageHandler.java?rev=708895&view=auto
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/HeartBeatIndicationMessageHandler.java
 (added)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/handler/impl/HeartBeatIndicationMessageHandler.java
 Wed Oct 29 05:54:35 2008
@@ -0,0 +1,19 @@
+package org.apache.qpid.management.domain.handler.impl;
+
+import org.apache.qpid.management.domain.handler.base.BaseMessageHandler;
+import org.apache.qpid.transport.codec.ManagementDecoder;
+
+/**
+ * This is the handler responsible for processing the heartbeat indication 
response messages.
+ * At the moment it simply updates the last refresh update timestamp of the 
domain model.
+ * 
+ * @author Andrea Gazzarini.
+ */
+public class HeartBeatIndicationMessageHandler extends BaseMessageHandler 
+{
+       @Override
+       public void process(ManagementDecoder decoder, int sequenceNumber) 
+       {
+               _domainModel.updateLastRefreshDate();
+       }
+}

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/DomainModel.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/DomainModel.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/DomainModel.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/DomainModel.java
 Wed Oct 29 05:54:35 2008
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.management.domain.model;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -42,6 +43,8 @@
     /** Here the known packages of the remote broker are stored. */
     Map<String,QpidPackage> _packages = new HashMap<String, QpidPackage>();
 
+    private Date _lastRefreshDate = new Date();
+    
     private IMethodInvocationListener _methodInvocationListener;
     
     /**
@@ -88,6 +91,24 @@
     }
     
     /**
+     * Updates the last refresh date.
+     */
+    public void updateLastRefreshDate() 
+    {
+       this._lastRefreshDate = new Date();
+    }
+    
+    /**
+     * Returns the last refresh date.
+     * 
+     * @return the last refresh date.
+     */
+    public Date getLastRefreshDate()
+    {
+       return _lastRefreshDate;
+    }
+    
+    /**
      * Adds the specified schema to this domain model.
      * 
      * @param packageName the package name.

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/type/Uint32.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/type/Uint32.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/type/Uint32.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/model/type/Uint32.java
 Wed Oct 29 05:54:35 2008
@@ -39,6 +39,6 @@
     @Override
     public void encode (Object value, AmqpCoDec encoder)
     {
-        encoder.pack32((Integer)value);
+        encoder.pack32(((Number)value).intValue());
     }    
-}
\ No newline at end of file
+}

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QMan.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QMan.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QMan.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/domain/services/QMan.java
 Wed Oct 29 05:54:35 2008
@@ -55,8 +55,6 @@
         LOGGER.info(Messages.QMAN_000001_STARTING_QMAN);
         LOGGER.info(Messages.QMAN_000002_READING_CONFIGURATION);
 
-       addShutDownHook();
-
         Configurator configurator = new Configurator();
         try
         {
@@ -95,22 +93,30 @@
             @Override
             public void run ()
             {
-                LOGGER.info(Messages.QMAN_000020_SHUTTING_DOWN_QMAN);
-                try 
-                {
-                    for (ManagementClient client : managementClients)
-                    {   
-                        client.shutdown();  
-                    }
-                } catch(Exception exception)
-                {
-                }
-                LOGGER.info(Messages.QMAN_000021_SHUT_DOWN);                
+               QMan.this.stop();
             }
         });            
     }
     
     /**
+     * Stop Qman
+     */
+    public void stop() 
+    {
+        LOGGER.info(Messages.QMAN_000020_SHUTTING_DOWN_QMAN);
+        try 
+        {
+            for (ManagementClient client : managementClients)
+            {   
+                client.shutdown();  
+            }
+        } catch(Exception exception)
+        {
+        }
+        LOGGER.info(Messages.QMAN_000021_SHUT_DOWN);                           
+    }
+    
+    /**
      * Main method used for starting Q-Man.
      * 
      * @param args the command line arguments.
@@ -124,6 +130,7 @@
        }
        
                QMan qman = new QMan();
+               qman.addShutDownHook();
                try 
                {
                        qman.start();

Modified: 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/QManServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/QManServlet.java?rev=708895&r1=708894&r2=708895&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/QManServlet.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/management/client/src/main/java/org/apache/qpid/management/servlet/QManServlet.java
 Wed Oct 29 05:54:35 2008
@@ -61,6 +61,6 @@
        @Override
        public void destroy() 
        {
-               // qman.stop();
+               qman.stop();
        }
-}
\ No newline at end of file
+}


Reply via email to