http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
----------------------------------------------------------------------
diff --git 
a/geode-pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
 
b/geode-pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
deleted file mode 100644
index 10c821f..0000000
--- 
a/geode-pulse/src/main/java/com/vmware/gemfire/tools/pulse/internal/data/JMXDataUpdater.java
+++ /dev/null
@@ -1,2392 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.vmware.gemfire.tools.pulse.internal.data;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.vmware.gemfire.tools.pulse.internal.controllers.PulseController;
-import 
com.vmware.gemfire.tools.pulse.internal.data.JmxManagerFinder.JmxManagerInfo;
-import com.vmware.gemfire.tools.pulse.internal.log.PulseLogWriter;
-import com.vmware.gemfire.tools.pulse.internal.util.StringUtils;
-
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.AttributeNotFoundException;
-import javax.management.InstanceNotFoundException;
-import javax.management.IntrospectionException;
-import javax.management.InvalidAttributeValueException;
-import javax.management.MBeanException;
-import javax.management.MBeanServerConnection;
-import javax.management.MalformedObjectNameException;
-import javax.management.Notification;
-import javax.management.NotificationListener;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.TabularData;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-import javax.rmi.ssl.SslRMIClientSocketFactory;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.lang.management.ManagementFactory;
-import java.net.Inet4Address;
-import java.net.Inet6Address;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.ResourceBundle;
-import java.util.Set;
-
-/**
- * Class JMXDataUpdater Class used for creating JMX connection and getting all
- * the required MBeans
- *
- *
- * @since GemFire version 7.0.Beta 2012-09-23
- */
-public class JMXDataUpdater implements IClusterUpdater, NotificationListener {
-
-  private final PulseLogWriter LOGGER = PulseLogWriter.getLogger();
-  private final ResourceBundle resourceBundle = Repository.get()
-      .getResourceBundle();
-
-  private JMXConnector conn = null;
-  private MBeanServerConnection mbs;
-  private final String serverName;
-  private final String port;
-  private final String userName;
-  private final String userPassword;
-  private Boolean isAddedNotiListner = false;
-  private final Cluster cluster;
-
-  // MBean object names
-  private ObjectName MBEAN_OBJECT_NAME_SYSTEM_DISTRIBUTED;
-  private ObjectName MBEAN_OBJECT_NAME_REGION_DISTRIBUTED;
-  private ObjectName MBEAN_OBJECT_NAME_MEMBER;
-  private ObjectName MBEAN_OBJECT_NAME_MEMBER_MANAGER;
-  private ObjectName MBEAN_OBJECT_NAME_STATEMENT_DISTRIBUTED;
-  private ObjectName MBEAN_OBJECT_NAME_TABLE_AGGREGATE;
-
-  private Set<ObjectName> systemMBeans = null;
-
-  private final String opSignature[] = { String.class.getName(),
-      String.class.getName(), int.class.getName() };
-
-  private final ObjectMapper mapper = new ObjectMapper();
-
-  /**
-   * constructor used for creating JMX connection
-   */
-  public JMXDataUpdater(String server, String port, Cluster cluster) {
-    this.serverName = server;
-    this.port = port;
-    this.userName = cluster.getJmxUserName();
-    this.userPassword = cluster.getJmxUserPassword();
-    this.cluster = cluster;
-
-    try {
-      // Initialize MBean object names
-      this.MBEAN_OBJECT_NAME_SYSTEM_DISTRIBUTED = new ObjectName(
-          PulseConstants.OBJECT_NAME_SYSTEM_DISTRIBUTED);
-      this.MBEAN_OBJECT_NAME_REGION_DISTRIBUTED = new ObjectName(
-          PulseConstants.OBJECT_NAME_REGION_DISTRIBUTED);
-      this.MBEAN_OBJECT_NAME_MEMBER_MANAGER = new ObjectName(
-          PulseConstants.OBJECT_NAME_MEMBER_MANAGER);
-      this.MBEAN_OBJECT_NAME_MEMBER = new ObjectName(
-          PulseConstants.OBJECT_NAME_MEMBER);
-      this.MBEAN_OBJECT_NAME_STATEMENT_DISTRIBUTED = new ObjectName(
-          PulseConstants.OBJECT_NAME_STATEMENT_DISTRIBUTED);
-
-      // For SQLFire
-      if (PulseConstants.PRODUCT_NAME_SQLFIRE.equalsIgnoreCase(PulseController
-          .getPulseProductSupport())) {
-        this.MBEAN_OBJECT_NAME_TABLE_AGGREGATE = new ObjectName(
-            PulseConstants.OBJECT_NAME_TABLE_AGGREGATE);
-      }
-
-    } catch (MalformedObjectNameException e) {
-      if (LOGGER.severeEnabled()) {
-        LOGGER.severe(e.getMessage(), e);
-      }
-    } catch (NullPointerException e) {
-      if (LOGGER.severeEnabled()) {
-        LOGGER.severe(e.getMessage(), e);
-      }
-    }
-
-  }
-
-  private JmxManagerInfo getManagerInfoFromLocator(Repository repository) {
-
-    try {
-      String locatorHost = repository.getJmxHost();
-      int locatorPort = Integer.parseInt(repository.getJmxPort());
-
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info(resourceBundle.getString("LOG_MSG_HOST") + " : " + 
locatorHost + " & "
-            + resourceBundle.getString("LOG_MSG_PORT") + " : " + locatorPort);
-      }
-
-      InetAddress inetAddr = InetAddress.getByName(locatorHost);
-
-      if ((inetAddr instanceof Inet4Address) || (inetAddr instanceof 
Inet6Address)) {
-
-        if (inetAddr instanceof Inet4Address) {
-          if (LOGGER.infoEnabled()) {
-            
LOGGER.info(resourceBundle.getString("LOG_MSG_LOCATOR_IPV4_ADDRESS") + " - " + 
inetAddr.toString());
-          }
-        } else {
-          if (LOGGER.infoEnabled()) {
-            
LOGGER.info(resourceBundle.getString("LOG_MSG_LOCATOR_IPV6_ADDRESS") + " - " + 
inetAddr.toString());
-          }
-        }
-
-        JmxManagerInfo jmxManagerInfo = 
JmxManagerFinder.askLocatorForJmxManager(inetAddr, locatorPort, 15000,
-            repository.isUseSSLLocator());
-
-        if (jmxManagerInfo.port == 0) {
-          if (LOGGER.infoEnabled()) {
-            
LOGGER.info(resourceBundle.getString("LOG_MSG_LOCATOR_COULD_NOT_FIND_MANAGER"));
-          }
-        }
-        return jmxManagerInfo;
-      } else {
-        // Locator has Invalid locator Address
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info(resourceBundle.getString("LOG_MSG_LOCATOR_BAD_ADDRESS"));
-        }
-        
cluster.setConnectionErrorMsg(resourceBundle.getString("LOG_MSG_JMX_CONNECTION_BAD_ADDRESS"));
-        // update message to display on UI
-        cluster.setConnectionErrorMsg(resourceBundle
-            .getString("LOG_MSG_JMX_CONNECTION_BAD_ADDRESS"));
-        return null;
-      }
-    } catch (IOException e) {
-      StringWriter swBuffer = new StringWriter();
-      PrintWriter prtWriter = new PrintWriter(swBuffer);
-      e.printStackTrace(prtWriter);
-      LOGGER.severe("Exception Details : " + swBuffer.toString() + "\n");
-    }
-    return null;
-  }
-
-  /**
-   * Default connection is Pulse which uses configured userName and password
-   */
-  public JMXConnector getJMXConnection() {
-    return getJMXConnection(true);
-  }
-
-  /**
-   * Get connection for given userName and password. This is used for 
DataBrowser
-   * queries which has to be fired using credentials provided at pulse login 
page
-   */
-  public JMXConnector getJMXConnection(final boolean registerURL) {
-    JMXConnector connection = null;
-    // Reference to repository
-    Repository repository = Repository.get();
-    try {
-
-      String jmxSerURL = "";
-
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info(resourceBundle.getString("LOG_MSG_USE_LOCATOR_VALUE") + ":"
-            + repository.getJmxUseLocator());
-      }
-
-      if (repository.getJmxUseLocator()) {
-        JmxManagerInfo jmxManagerInfo = getManagerInfoFromLocator(repository);
-
-          if (jmxManagerInfo.port == 0) {
-            if (LOGGER.infoEnabled()) {
-              LOGGER.info(resourceBundle
-                  .getString("LOG_MSG_LOCATOR_COULD_NOT_FIND_MANAGER"));
-            }
-          } else {
-            if (LOGGER.infoEnabled()) {
-              LOGGER.info(resourceBundle
-                  .getString("LOG_MSG_LOCATOR_FOUND_MANAGER")
-                  + " : "
-                  + resourceBundle.getString("LOG_MSG_HOST")
-                  + " : "
-                  + jmxManagerInfo.host
-                  + " & "
-                  + resourceBundle.getString("LOG_MSG_PORT")
-                  + " : "
-                  + jmxManagerInfo.port
-                  + (jmxManagerInfo.ssl ? resourceBundle
-                      .getString("LOG_MSG_WITH_SSL") : resourceBundle
-                      .getString("LOG_MSG_WITHOUT_SSL")));
-            }
-
-            jmxSerURL = formJMXServiceURLString(jmxManagerInfo.host,
-                String.valueOf(jmxManagerInfo.port));
-          }
-      } else {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info(resourceBundle.getString("LOG_MSG_HOST") + " : "
-              + this.serverName + " & "
-              + resourceBundle.getString("LOG_MSG_PORT") + " : " + this.port);
-        }
-        jmxSerURL = formJMXServiceURLString(this.serverName, this.port);
-      }
-
-      if (StringUtils.isNotNullNotEmptyNotWhiteSpace(jmxSerURL)) {
-        JMXServiceURL url = new JMXServiceURL(jmxSerURL);
-        String[] creds = { this.userName, this.userPassword };
-        Map<String, Object> env = new HashMap<String, Object>();
-        env.put(JMXConnector.CREDENTIALS, creds);
-
-        if (repository.isUseSSLManager()) {
-          // use ssl to connect
-          env.put("com.sun.jndi.rmi.factory.socket",
-              new SslRMIClientSocketFactory());
-        }
-        LOGGER.info("Connecting to jmxURL : " + jmxSerURL);
-        connection = JMXConnectorFactory.connect(url, env);
-
-        // Register Pulse URL if not already present in the JMX Manager
-        if(registerURL)
-          registerPulseUrlToManager(connection);
-      }
-    } catch (Exception e) {
-      if (e instanceof UnknownHostException) {
-        cluster.setConnectionErrorMsg(resourceBundle
-            .getString("LOG_MSG_JMX_CONNECTION_UNKNOWN_HOST"));
-      }
-
-      StringWriter swBuffer = new StringWriter();
-      PrintWriter prtWriter = new PrintWriter(swBuffer);
-      e.printStackTrace(prtWriter);
-      LOGGER.severe("Exception Details : " + swBuffer.toString() + "\n");
-      if (this.conn != null) {
-        try {
-          this.conn.close();
-        } catch (Exception e1) {
-          LOGGER.severe("Error closing JMX connection " + swBuffer.toString()
-              + "\n");
-        }
-        this.conn = null;
-      }
-    }
-    return connection;
-  }
-
-  private String formJMXServiceURLString(String host, String port)
-      throws UnknownHostException {
-    /*
-     * String jmxSerURL = "service:jmx:rmi://" + serverName + "/jndi/rmi://" +
-     * serverName + ":" + port + "/jmxrmi";
-     */
-    String jmxSerURL = "";
-    if (host.equalsIgnoreCase("localhost")) {
-      // Create jmx service url for 'localhost'
-      jmxSerURL = "service:jmx:rmi://" + host + "/jndi/rmi://" + host + ":"
-          + port + "/jmxrmi";
-    } else {
-      InetAddress inetAddr = InetAddress.getByName(host);
-      if (inetAddr instanceof Inet4Address) {
-        // Create jmx service url for IPv4 address
-        jmxSerURL = "service:jmx:rmi://" + host + "/jndi/rmi://" + host + ":"
-            + port + "/jmxrmi";
-      } else if (inetAddr instanceof Inet6Address) {
-        // Create jmx service url for IPv6 address
-        jmxSerURL = "service:jmx:rmi://[" + host + "]/jndi/rmi://[" + host + 
"]:"
-            + port + "/jmxrmi";
-      }
-    }
-
-    return jmxSerURL;
-  }
-
-  // Method registers Pulse URL if not already present in the JMX Manager
-  private void registerPulseUrlToManager(JMXConnector connection)
-      throws IOException, AttributeNotFoundException,
-      InstanceNotFoundException, MBeanException, ReflectionException,
-      MalformedObjectNameException, InvalidAttributeValueException {
-    if (LOGGER.infoEnabled()) {
-      LOGGER.info(resourceBundle
-          .getString("LOG_MSG_REGISTERING_APP_URL_TO_MANAGER"));
-    }
-
-    // Reference to repository
-    Repository repository = Repository.get();
-
-    // Register Pulse URL if not already present in the JMX Manager
-    if (connection != null) {
-      MBeanServerConnection mbsc = connection.getMBeanServerConnection();
-
-      Set<ObjectName> mbeans = mbsc.queryNames(
-          this.MBEAN_OBJECT_NAME_MEMBER_MANAGER, null);
-
-      for (ObjectName mbeanName : mbeans) {
-        String presentUrl = (String) mbsc.getAttribute(mbeanName,
-            PulseConstants.MBEAN_MANAGER_ATTRIBUTE_PULSEURL);
-        String pulseWebAppUrl = repository.getPulseWebAppUrl();
-        if (pulseWebAppUrl != null
-            && (presentUrl == null || !pulseWebAppUrl.equals(presentUrl))) {
-          if (LOGGER.fineEnabled()) {
-            LOGGER.fine(resourceBundle
-                .getString("LOG_MSG_SETTING_APP_URL_TO_MANAGER"));
-          }
-          Attribute pulseUrlAttr = new Attribute(
-              PulseConstants.MBEAN_MANAGER_ATTRIBUTE_PULSEURL, pulseWebAppUrl);
-          mbsc.setAttribute(mbeanName, pulseUrlAttr);
-        } else {
-          if (LOGGER.fineEnabled()) {
-            LOGGER.fine(resourceBundle
-                .getString("LOG_MSG_APP_URL_ALREADY_PRESENT_IN_MANAGER"));
-          }
-        }
-      }
-    }
-  }
-
-  private boolean isConnected() {
-    // Reference to repository
-    Repository repository = Repository.get();
-    if (repository.getIsEmbeddedMode()) {
-      if (this.mbs == null) {
-        this.mbs = ManagementFactory.getPlatformMBeanServer();
-        cluster.setConnectedFlag(true);
-      }
-    } else {
-      try {
-        if (this.conn == null) {
-          cluster.setConnectedFlag(false);
-          cluster.setConnectionErrorMsg(resourceBundle
-              .getString("LOG_MSG_JMX_CONNECTION_NOT_FOUND")
-              + " "
-              + 
resourceBundle.getString("LOG_MSG_JMX_GETTING_NEW_CONNECTION"));
-          if (LOGGER.fineEnabled()) {
-            LOGGER.fine(resourceBundle
-                .getString("LOG_MSG_JMX_CONNECTION_NOT_FOUND")
-                + " "
-                + resourceBundle.getString("LOG_MSG_JMX_GET_NEW_CONNECTION"));
-          }
-          this.conn = getJMXConnection();
-          if (this.conn != null) {
-            this.mbs = this.conn.getMBeanServerConnection();
-            cluster.setConnectedFlag(true);
-          } else {
-            if (LOGGER.infoEnabled()) {
-              LOGGER.info(resourceBundle
-                  .getString("LOG_MSG_JMX_CONNECTION_NOT_FOUND"));
-            }
-            return false;
-          }
-        } else {
-          if (LOGGER.fineEnabled()) {
-            LOGGER.fine(resourceBundle
-                .getString("LOG_MSG_JMX_CONNECTION_IS_AVAILABLE"));
-          }
-          cluster.setConnectedFlag(true);
-          if (this.mbs == null) {
-            this.mbs = this.conn.getMBeanServerConnection();
-          }
-        }
-      } catch (Exception e) {
-        this.mbs = null;
-        if (this.conn != null) {
-          try {
-            this.conn.close();
-          } catch (Exception e1) {
-            LOGGER.severe(e);
-          }
-        }
-        this.conn = null;
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  /**
-   * function used for updating Cluster Data.
-   */
-  @Override
-  public boolean updateData() {
-    try {
-      if (!this.isConnected()) {
-        return false;
-      }
-
-      // deleted Members
-      cluster.getDeletedMembers().clear();
-      for (Entry<String, Cluster.Member> memberSet : cluster.getMembersHMap()
-          .entrySet()) {
-        cluster.getDeletedMembers().add(memberSet.getKey());
-      }
-
-      // Deleted Regions
-      cluster.getDeletedRegions().clear();
-      for (Cluster.Region region : cluster.getClusterRegions().values()) {
-        cluster.getDeletedRegions().add(region.getFullPath());
-      }
-
-      // try {
-
-      // Cluster
-      this.systemMBeans = this.mbs.queryNames(
-          this.MBEAN_OBJECT_NAME_SYSTEM_DISTRIBUTED, null);
-      for (ObjectName sysMBean : this.systemMBeans) {
-        updateClusterSystem(sysMBean);
-      }
-
-      // Cluster Regions/Tables
-      Set<ObjectName> regionMBeans = this.mbs.queryNames(
-          this.MBEAN_OBJECT_NAME_REGION_DISTRIBUTED, null);
-
-      Set<ObjectName> tableMBeans = this.mbs.queryNames(
-          this.MBEAN_OBJECT_NAME_TABLE_AGGREGATE, null);
-
-      if (PulseConstants.PRODUCT_NAME_SQLFIRE.equalsIgnoreCase(PulseController
-          .getPulseProductSupport())) {
-        // For SQLfire
-        for (ObjectName tableMBean : tableMBeans) {
-          String regNameFromTable = StringUtils
-              .getRegionNameFromTableName(tableMBean.getKeyProperty("table"));
-          for (ObjectName regionMBean : regionMBeans) {
-            String regionName = regionMBean.getKeyProperty("name");
-            if (regNameFromTable.equals(regionName)) {
-              updateClusterRegion(regionMBean);
-              // Increment cluster region count
-              cluster.setTotalRegionCount(cluster.getTotalRegionCount() + 1);
-              break;
-            }
-          }
-        }
-      } else {
-        // For Gemfire
-        for (ObjectName regMBean : regionMBeans) {
-          updateClusterRegion(regMBean);
-        }
-      }
-
-      // Remove deleted regions from cluster's regions list
-      for (Iterator<String> it = cluster.getDeletedRegions().iterator(); it
-          .hasNext();) {
-        cluster.removeClusterRegion(it.next());
-      }
-
-      // Cluster Members
-      Set<ObjectName> memberMBeans = this.mbs.queryNames(
-          this.MBEAN_OBJECT_NAME_MEMBER, null);
-      for (ObjectName memMBean : memberMBeans) {
-        String service = 
memMBean.getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_SERVICE);
-        if(service==null){
-          // Cluster Member
-          updateClusterMember(memMBean);
-        }
-        else {
-          switch (service) {
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_REGION:
-            if (PulseConstants.PRODUCT_NAME_SQLFIRE
-                .equalsIgnoreCase(PulseController.getPulseProductSupport())) {
-              // For SQLfire
-              for (ObjectName tableMBean : tableMBeans) {
-                String regNameFromTable = StringUtils
-                    .getRegionNameFromTableName(tableMBean
-                        .getKeyProperty("table"));
-                String regionName = memMBean.getKeyProperty("name");
-                if (regNameFromTable.equals(regionName)) {
-                  updateMemberRegion(memMBean);
-                  break;
-                }
-              }
-            } else {
-              // For Gemfire
-              updateMemberRegion(memMBean);
-            }
-            break;
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_CACHESERVER:
-            updateMemberClient(memMBean);
-            break;
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_GATEWAYRECEIVER:
-            updateGatewayReceiver(memMBean);
-            break;
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_GATEWAYSENDER:
-            updateGatewaySender(memMBean);
-            break;
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_ASYNCEVENTQUEUE:
-            updateAsyncEventQueue(memMBean);
-            break;
-          case PulseConstants.MBEAN_KEY_PROPERTY_SERVICE_VALUE_LOCATOR:
-            updateClusterMember(memMBean);
-            break;
-          }
-        }
-      }
-
-      // Cluster Query Statistics
-      Set<ObjectName> statementObjectNames = this.mbs.queryNames(
-          this.MBEAN_OBJECT_NAME_STATEMENT_DISTRIBUTED, null);
-      //LOGGER.info("statementObjectNames = " + statementObjectNames);
-      for (ObjectName stmtObjectName : statementObjectNames) {
-        //LOGGER.info("stmtObjectName = " + stmtObjectName);
-        updateClusterStatement(stmtObjectName);
-      }
-    } catch (IOException ioe) {
-
-      // write errors
-      StringWriter swBuffer = new StringWriter();
-      PrintWriter prtWriter = new PrintWriter(swBuffer);
-      ioe.printStackTrace(prtWriter);
-      LOGGER.severe("IOException Details : " + swBuffer.toString() + "\n");
-      this.mbs = null;
-      if (this.conn != null) {
-        try {
-          this.conn.close();
-        } catch (IOException e1) {
-          LOGGER.severe("Error closing JMX connection " + swBuffer.toString()
-              + "\n");
-        }
-      }
-
-      return false;
-    }
-
-    // If there were members deleted, remove them from the membersList &
-    // physicalToMember.
-    Iterator<String> iterator = cluster.getDeletedMembers().iterator();
-    while (iterator.hasNext()) {
-      String memberKey = iterator.next();
-      if (cluster.getMembersHMap().containsKey(memberKey)) {
-        Cluster.Member member = cluster.getMembersHMap().get(memberKey);
-        List<Cluster.Member> memberArrList = cluster.getPhysicalToMember().get(
-            member.getHost());
-        if (memberArrList != null) {
-          if (memberArrList.contains(member)) {
-            String host = member.getHost();
-            cluster.getPhysicalToMember().get(member.getHost()).remove(member);
-
-            if (cluster.getPhysicalToMember().get(member.getHost()).size() == 
0) {
-              cluster.getPhysicalToMember().remove(host);
-            }
-          }
-        }
-        cluster.getMembersHMap().remove(memberKey);
-      }
-
-    }
-
-    return true;
-  }
-
-  /**
-   * function used to get attribute values of Cluster System and map them to
-   * cluster vo
-   *
-   * @param mbeanName
-   *          Cluster System MBean
-   * @throws IOException
-   *
-   */
-  private void updateClusterSystem(ObjectName mbeanName) throws IOException {
-    try {
-      if (!this.isAddedNotiListner) {
-        this.mbs.addNotificationListener(mbeanName, this, null, new Object());
-        this.isAddedNotiListner = true;
-      }
-
-      if (PulseConstants.PRODUCT_NAME_SQLFIRE.equalsIgnoreCase(PulseController
-          .getPulseProductSupport())) {
-        // Reset to zero
-        cluster.setServerCount(0);
-        cluster.setTotalRegionCount(0);
-      } else {
-        String[] serverCnt = (String[]) (this.mbs.invoke(mbeanName,
-            PulseConstants.MBEAN_OPERATION_LISTSERVERS, null, null));
-        cluster.setServerCount(serverCnt.length);
-      }
-
-      TabularData table = (TabularData) (this.mbs.invoke(mbeanName,
-          PulseConstants.MBEAN_OPERATION_VIEWREMOTECLUSTERSTATUS, null, null));
-
-      Collection<CompositeData> rows = (Collection<CompositeData>) table
-          .values();
-      cluster.getWanInformationObject().clear();
-      for (CompositeData row : rows) {
-        final Object key = row.get("key");
-        final Object value = row.get("value");
-        cluster.getWanInformationObject().put((String) key, (Boolean) value);
-      }
-
-      AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-          PulseConstants.CLUSTER_MBEAN_ATTRIBUTES);
-
-      for (int i = 0; i < attributeList.size(); i++) {
-
-        Attribute attribute = (Attribute) attributeList.get(i);
-        String name = attribute.getName();
-        switch (name){
-        case PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT:
-          cluster.setMemberCount(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMCLIENTS:
-          cluster.setClientConnectionCount(getIntegerAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISTRIBUTEDSYSTEMID:
-          cluster.setClusterId(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_LOCATORCOUNT:
-          cluster.setLocatorCount(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMRUNNIGFUNCTION:
-          try {
-            cluster.setRunningFunctionCount(getIntegerAttribute(
-                attribute.getValue(), attribute.getName()));
-          } catch (Exception e) {
-            cluster.setRunningFunctionCount(0);
-            continue;
-          }
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_REGISTEREDCQCOUNT:
-          cluster.setRegisteredCQCount(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMSUBSCRIPTIONS:
-          cluster.setSubscriptionCount(getIntegerAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMTXNCOMMITTED:
-          cluster.setTxnCommittedCount(getIntegerAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMTXNROLLBACK:
-          cluster.setTxnRollbackCount(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALHEAPSIZE:
-          cluster.setTotalHeapSize(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_USEDHEAPSIZE:
-          try {
-            cluster.setUsedHeapSize(getLongAttribute(attribute.getValue(),
-                attribute.getName()));
-          } catch (Exception e) {
-            cluster.setUsedHeapSize((long) 0);
-            continue;
-          }
-          cluster.getMemoryUsageTrend().add(cluster.getUsedHeapSize());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONENTRYCOUNT:
-          cluster.setTotalRegionEntryCount(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_CURRENTENTRYCOUNT:
-          cluster.setCurrentQueryCount(getIntegerAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE:
-          try {
-            cluster.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(),
-                attribute.getName()));
-          } catch (Exception e) {
-            cluster.setTotalBytesOnDisk((long) 0);
-            continue;
-          }
-          
cluster.getTotalBytesOnDiskTrend().add(cluster.getTotalBytesOnDisk());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-          cluster.setDiskWritesRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          cluster.getThroughoutWritesTrend().add(cluster.getDiskWritesRate());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES:
-          try {
-            cluster.setWritePerSec(getDoubleAttribute(attribute.getValue(),
-                attribute.getName()));
-          } catch (Exception e) {
-            cluster.setWritePerSec(0);
-            continue;
-          }
-          cluster.getWritePerSecTrend().add(cluster.getWritePerSec());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS:
-          try {
-            cluster.setReadPerSec(getDoubleAttribute(attribute.getValue(),
-                attribute.getName()));
-          } catch (Exception e) {
-            cluster.setReadPerSec(0);
-            continue;
-          }
-          cluster.getReadPerSecTrend().add(cluster.getReadPerSec());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_QUERYREQUESTRATE:
-          cluster.setQueriesPerSec(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          cluster.getQueriesPerSecTrend().add(cluster.getQueriesPerSec());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-          cluster.setDiskReadsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          cluster.getThroughoutReadsTrend().add(cluster.getDiskReadsRate());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES:
-          long trendVal = determineCurrentJVMPauses(
-              PulseConstants.JVM_PAUSES_TYPE_CLUSTER, "",
-              getLongAttribute(attribute.getValue(), attribute.getName()));
-          cluster.setGarbageCollectionCount(trendVal);
-          cluster.getGarbageCollectionTrend().add(
-              cluster.getGarbageCollectionCount());
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT:
-          if (!PulseConstants.PRODUCT_NAME_SQLFIRE
-              .equalsIgnoreCase(PulseController.getPulseProductSupport())){
-            // for Gemfire
-            cluster.setTotalRegionCount(getIntegerAttribute(
-                attribute.getValue(), attribute.getName()));
-          }
-          break;
-        }
-      }
-
-      // SQLFIRE attributes
-      if (PulseConstants.PRODUCT_NAME_SQLFIRE.equalsIgnoreCase(PulseController
-          .getPulseProductSupport())) {
-
-        try { // get sqlfire cluster mbean
-
-          ObjectName sfMemberMbeansObjectName = new ObjectName(
-              PulseConstants.OBJECT_NAME_SF_CLUSTER);
-
-          Set<ObjectName> sfCluserMBeans = this.mbs.queryNames(
-              sfMemberMbeansObjectName, null);
-
-          for (ObjectName sfCluserMBean : sfCluserMBeans) {
-
-            AttributeList attrList = this.mbs.getAttributes(sfCluserMBean,
-                PulseConstants.SF_CLUSTER_MBEAN_ATTRIBUTES);
-
-            for (int i = 0; i < attrList.size(); i++) {
-
-              Attribute attribute = (Attribute) attrList.get(i);
-
-              if (attribute.getName().equals(
-                  PulseConstants.MBEAN_ATTRIBUTE_PROCEDURECALLSINPROGRESS)) {
-                try {
-                  cluster.setRunningFunctionCount(getIntegerAttribute(
-                      attribute.getValue(), attribute.getName()));
-                } catch (Exception e) {
-                  cluster.setRunningFunctionCount(0);
-                  continue;
-                }
-              } else if (attribute
-                  .getName()
-                  .equals(
-                      
PulseConstants.MBEAN_ATTRIBUTE_NETWORKSERVERCLIENTCONNECTIONSTATS)) {
-                // set number of cluster's clients
-                CompositeData nscConnStats = (CompositeData) attribute
-                    .getValue();
-
-                cluster.setClientConnectionCount(getLongAttribute(nscConnStats
-                    .get(PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSACTIVE),
-                    PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSACTIVE));
-              }
-            }
-            break;
-          }
-
-        } catch (MalformedObjectNameException e) {
-          LOGGER.warning(e);
-        } catch (NullPointerException e) {
-          LOGGER.warning(e);
-        }
-
-      }
-
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    } catch (MBeanException anfe) {
-      LOGGER.warning(anfe);
-    }
-  }
-
-  /**
-   * function used to get attribute values of Gateway Receiver and map them to
-   * GatewayReceiver inner class object
-   *
-   * @param mbeanName
-   * @return GatewayReceiver object
-   * @throws InstanceNotFoundException
-   * @throws IntrospectionException
-   * @throws ReflectionException
-   * @throws IOException
-   * @throws AttributeNotFoundException
-   * @throws MBeanException
-   *
-   *
-   */
-  private Cluster.GatewayReceiver initGatewayReceiver(ObjectName mbeanName)
-      throws InstanceNotFoundException, IntrospectionException,
-      ReflectionException, IOException, AttributeNotFoundException,
-      MBeanException {
-
-    Cluster.GatewayReceiver gatewayReceiver = new Cluster.GatewayReceiver();
-
-    AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-        PulseConstants.GATEWAY_MBEAN_ATTRIBUTES);
-
-    for (int i = 0; i < attributeList.size(); i++) {
-      Attribute attribute = (Attribute) attributeList.get(i);
-
-      if (attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_PORT)) {
-        gatewayReceiver.setListeningPort(getIntegerAttribute(
-            attribute.getValue(), attribute.getName()));
-      } else if (attribute.getName().equals(
-          PulseConstants.MBEAN_ATTRIBUTE_EVENTRECEIVEDDATE)) {
-        gatewayReceiver.setLinkThroughput(getDoubleAttribute(
-            attribute.getValue(), attribute.getName()));
-      } else if (attribute.getName().equals(
-          PulseConstants.MBEAN_ATTRIBUTE_AVEARGEBATCHPROCESSINGTIME)) {
-        gatewayReceiver.setAvgBatchProcessingTime(getLongAttribute(
-            attribute.getValue(), attribute.getName()));
-      } else if (attribute.getName().equals(
-          PulseConstants.MBEAN_ATTRIBUTE_RUNNING)) {
-        gatewayReceiver.setStatus(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-      }
-    }
-    return gatewayReceiver;
-  }
-
-  /**
-   * function used to get attribute values of Gateway Sender and map them to
-   * GatewaySender inner class object
-   *
-   * @param mbeanName
-   * @return
-   * @throws InstanceNotFoundException
-   * @throws IntrospectionException
-   * @throws ReflectionException
-   * @throws IOException
-   * @throws AttributeNotFoundException
-   * @throws MBeanException
-   */
-  private Cluster.GatewaySender initGatewaySender(ObjectName mbeanName)
-      throws InstanceNotFoundException, IntrospectionException,
-      ReflectionException, IOException, AttributeNotFoundException,
-      MBeanException {
-
-    Cluster.GatewaySender gatewaySender = new Cluster.GatewaySender();
-    AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-        PulseConstants.GATEWAYSENDER_MBEAN_ATTRIBUTES);
-
-    for (int i = 0; i < attributeList.size(); i++) {
-      Attribute attribute = (Attribute) attributeList.get(i);
-      String name = attribute.getName();
-      switch (name){
-      case PulseConstants.MBEAN_ATTRIBUTE_EVENTRECEIVEDDATE:
-        
gatewaySender.setLinkThroughput(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_BATCHSIZE:
-        gatewaySender.setBatchSize(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_SENDERID:
-        gatewaySender.setId(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_EVENTQUEUESIZE:
-        gatewaySender.setQueueSize(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_RUNNING:
-        gatewaySender.setStatus(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_PRIMARY:
-        gatewaySender.setPrimary(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_PERSISTENCEENABLED:
-        gatewaySender.setPersistenceEnabled(getBooleanAttribute(
-            attribute.getValue(), attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_PARALLEL:
-        gatewaySender.setSenderType(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_REMOTE_DS_ID:
-        gatewaySender.setRemoteDSId(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_EVENTS_EXCEEDING_ALERT_THRESHOLD:
-        
gatewaySender.setEventsExceedingAlertThreshold(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      }
-    }
-    return gatewaySender;
-  }
-
-  /**
-   * function used for getting list of Gateway Senders from mBean for giving
-   * member and update the list of gateway senders for respective member object
-   */
-  private void updateGatewaySender(ObjectName mbeanName) throws IOException {
-
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      if (cluster.getMembersHMap().containsKey(memberName)) {
-        Cluster.Member existingMember = cluster.getMembersHMap()
-            .get(memberName);
-        Cluster.GatewaySender gatewaySender = initGatewaySender(mbeanName);
-        for (Iterator<Cluster.GatewaySender> it = existingMember
-            .getGatewaySenderList().iterator(); it.hasNext();) {
-          Cluster.GatewaySender exisGatewaySender = it.next();
-          if ((exisGatewaySender.getId()).equals(gatewaySender.getId())) {
-            it.remove();
-            break;
-          }
-        }
-
-        // Add gateway sender
-        existingMember.getGatewaySenderList().add(gatewaySender);
-
-      } else {
-        Cluster.Member member = new Cluster.Member();
-        member.setName(memberName);
-        member.setId(memberName);
-        Cluster.GatewaySender gatewaySender = initGatewaySender(mbeanName);
-        member.getGatewaySenderList().add(gatewaySender);
-        cluster.getMembersHMap().put(memberName, member);
-      }
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    } catch (MBeanException me) {
-      LOGGER.warning(me);
-    } catch (AttributeNotFoundException anfe) {
-      LOGGER.warning(anfe);
-    } catch (IntrospectionException ire) {
-      LOGGER.warning(ire);
-    }
-  }
-
-  /**
-   * function used to get attribute values of Async Event Queue and map them to
-   * Async Event Queue  inner class object
-   *
-   * @param mbeanName
-   * @return
-   * @throws InstanceNotFoundException
-   * @throws IntrospectionException
-   * @throws ReflectionException
-   * @throws IOException
-   * @throws AttributeNotFoundException
-   * @throws MBeanException
-   */
-  private Cluster.AsyncEventQueue initAsyncEventQueue(ObjectName mbeanName)
-      throws InstanceNotFoundException, IntrospectionException,
-      ReflectionException, IOException, AttributeNotFoundException,
-      MBeanException {
-
-    Cluster.AsyncEventQueue asyncEventQueue = new Cluster.AsyncEventQueue();
-    AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-        PulseConstants.ASYNC_EVENT_QUEUE_MBEAN_ATTRIBUTES);
-
-    for (int i = 0; i < attributeList.size(); i++) {
-      Attribute attribute = (Attribute) attributeList.get(i);
-      String name = attribute.getName();
-      switch (name){
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_ASYNCEVENTID:
-        asyncEventQueue.setId(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_ASYNC_EVENT_LISTENER:
-        
asyncEventQueue.setAsyncEventListener(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_BATCH_CONFLATION_ENABLED:
-        
asyncEventQueue.setBatchConflationEnabled(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_BATCH_TIME_INTERVAL:
-        
asyncEventQueue.setBatchTimeInterval(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_BATCH_SIZE:
-        asyncEventQueue.setBatchSize(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_EVENT_QUEUE_SIZE:
-        
asyncEventQueue.setEventQueueSize(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_PARALLEL:
-        asyncEventQueue.setParallel(getBooleanAttribute(
-            attribute.getValue(), attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AEQ_PRIMARY:
-        asyncEventQueue.setPrimary(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      }
-    }
-    return asyncEventQueue;
-  }
-
-  /**
-   * function used for getting list of Gateway Senders from mBean for giving
-   * member and update the list of gateway senders for respective member object
-   */
-  private void updateAsyncEventQueue(ObjectName mbeanName) throws IOException {
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      if (cluster.getMembersHMap().containsKey(memberName)) {
-        Cluster.Member existingMember = cluster.getMembersHMap()
-            .get(memberName);
-        Cluster.AsyncEventQueue asyncQ = initAsyncEventQueue(mbeanName);
-        for (Iterator<Cluster.AsyncEventQueue> it = 
existingMember.getAsyncEventQueueList().iterator(); it.hasNext();) {
-          Cluster.AsyncEventQueue exisAsyncEventQueue = it.next();
-          if ((exisAsyncEventQueue.getId()).equals(asyncQ.getId())) {
-            it.remove();
-            break;
-          }
-        }
-
-        // Add async event queue
-        existingMember.getAsyncEventQueueList().add(asyncQ);
-      } else {
-        Cluster.Member member = new Cluster.Member();
-        member.setName(memberName);
-        member.setId(memberName);
-
-        Cluster.AsyncEventQueue asyncQ = initAsyncEventQueue(mbeanName);
-        member.getAsyncEventQueueList().add(asyncQ);
-
-        cluster.getMembersHMap().put(memberName, member);
-      }
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    } catch (MBeanException me) {
-      LOGGER.warning(me);
-    } catch (AttributeNotFoundException anfe) {
-      LOGGER.warning(anfe);
-    } catch (IntrospectionException ire) {
-      LOGGER.warning(ire);
-    }
-  }
-
-  /**
-   * function used for getting a Gateway Receiver from mBean for giving member
-   * and update the gateway receiver for respective member object
-   */
-  private void updateGatewayReceiver(ObjectName mbeanName) throws IOException {
-
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      if (cluster.getMembersHMap().containsKey(memberName)) {
-        Cluster.Member existingMember = cluster.getMembersHMap()
-            .get(memberName);
-        Cluster.GatewayReceiver gatewayReceiver = 
initGatewayReceiver(mbeanName);
-        existingMember.setGatewayReceiver(gatewayReceiver);
-      } else {
-        Cluster.Member member = new Cluster.Member();
-        member.setName(memberName);
-        member.setId(memberName);
-        Cluster.GatewayReceiver gatewayReceiver = 
initGatewayReceiver(mbeanName);
-        member.setGatewayReceiver(gatewayReceiver);
-        cluster.getMembersHMap().put(memberName, member);
-      }
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    } catch (MBeanException me) {
-      LOGGER.warning(me);
-    } catch (AttributeNotFoundException anfe) {
-      LOGGER.warning(anfe);
-    } catch (IntrospectionException ire) {
-      LOGGER.warning(ire);
-    }
-  }
-
-  /**
-   * function used for getting member clients from mbean and update the clients
-   * information in member object's client arraylist
-   */
-  private void updateMemberClient(ObjectName mbeanName) throws IOException {
-
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      if (cluster.getMembersHMap().containsKey(memberName)) {
-        Cluster.Member existingMember = cluster.getMembersHMap()
-            .get(memberName);
-        HashMap<String, Cluster.Client> memberClientsHM = new HashMap<String, 
Cluster.Client>();
-
-        existingMember.setMemberPort(""
-            + this.mbs.getAttribute(mbeanName,
-                PulseConstants.MBEAN_ATTRIBUTE_PORT));
-
-        this.mbs.getAttribute(mbeanName, 
PulseConstants.MBEAN_ATTRIBUTE_HOSTNAMEFORCLIENTS_ALT);
-        
existingMember.setHostnameForClients((String)this.mbs.getAttribute(mbeanName, 
PulseConstants.MBEAN_ATTRIBUTE_HOSTNAMEFORCLIENTS_ALT));
-        existingMember.setBindAddress((String)this.mbs.getAttribute(mbeanName, 
PulseConstants.MBEAN_ATTRIBUTE_BINDADDRESS));
-
-        CompositeData[] compositeData = (CompositeData[]) (this.mbs.invoke(
-            mbeanName, PulseConstants.MBEAN_OPERATION_SHOWALLCLIENTS, null,
-            null));
-        for (CompositeData cmd : compositeData) {
-          Cluster.Client client = new Cluster.Client();
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_CLIENTID)) {
-            client.setId((String) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_CLIENTID));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_NAME)) {
-            client.setName((String) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_NAME));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_HOSTNAME)) {
-            client.setHost((String) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_HOSTNAME));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_QUEUESIZE)) {
-            client.setQueueSize((Integer) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_QUEUESIZE));
-          }
-          if 
(cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_PROCESSCPUTIME)) {
-            client.setProcessCpuTime((Long) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_PROCESSCPUTIME));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_UPTIME)) {
-            client.setUptime((Long) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_UPTIME));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_NUMOFTHREADS)) 
{
-            client.setThreads((Integer) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_NUMOFTHREADS));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_NUMOFGETS)) {
-            client.setGets((Integer) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_NUMOFGETS));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_NUMOFPUTS)) {
-            client.setPuts((Integer) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_NUMOFPUTS));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_CPUS)) {
-            client.setCpus((Integer) cmd
-                .get(PulseConstants.COMPOSITE_DATA_KEY_CPUS));
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_CPUS)) {
-            client.setCpuUsage(0);
-          }
-          if (cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_CONNECTED)){
-            client.setConnected((Boolean) 
cmd.get(PulseConstants.COMPOSITE_DATA_KEY_CONNECTED));
-          }
-          if 
(cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_CLIENTCQCOUNT)){
-               client.setClientCQCount((Integer) 
cmd.get(PulseConstants.COMPOSITE_DATA_KEY_CLIENTCQCOUNT));
-          }
-          if 
(cmd.containsKey(PulseConstants.COMPOSITE_DATA_KEY_SUBSCRIPTIONENABLED)){
-            client.setSubscriptionEnabled((Boolean) 
cmd.get(PulseConstants.COMPOSITE_DATA_KEY_SUBSCRIPTIONENABLED));
-          }
-          memberClientsHM.put(client.getId(), client);
-        }
-        existingMember.updateMemberClientsHMap(memberClientsHM);
-      }
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    } catch (MBeanException me) {
-      LOGGER.warning(me);
-    } catch (AttributeNotFoundException anfe) {
-      LOGGER.warning(anfe);
-    }
-  }
-
-  /**
-   * Add member specific region information on the region
-   *
-   * @param regionObjectName: used to construct the jmx objectname. For region 
name that has special characters in, it will have double quotes around it.
-   * @param region
-   */
-  private void updateRegionOnMembers(String regionObjectName, String 
regionFullPath, Cluster.Region region) throws IOException {
-
-    try{
-        List<String> memberNamesTemp = region.getMemberName();
-        ArrayList<String> memberNames = new ArrayList<String>(memberNamesTemp);
-
-        List<Cluster.RegionOnMember> regionOnMemberList = new 
ArrayList<Cluster.RegionOnMember>();
-        List<Cluster.RegionOnMember> regionOnMemberListNew = new 
ArrayList<Cluster.RegionOnMember>();
-        Cluster.RegionOnMember[] regionOnMemberNames = 
region.getRegionOnMembers();
-
-        if ((regionOnMemberNames != null) && (regionOnMemberNames.length > 0)) 
{
-          regionOnMemberList = new 
ArrayList<Cluster.RegionOnMember>(Arrays.asList(regionOnMemberNames));
-        }
-        LOGGER.fine("updateRegionOnMembers : # regionOnMembers objects in 
region = " + regionOnMemberList.size());
-
-        for(Cluster.RegionOnMember anRom : regionOnMemberList) {
-
-          for(String memberName : memberNames){
-            if(anRom.getMemberName().equals(memberName)){
-              // Add regionOnMember object in new list
-              regionOnMemberListNew.add(anRom);
-
-              LOGGER.fine("updateRegionOnMembers : Processing existing Member 
name = " + anRom.getMemberName());
-              String objectNameROM = 
PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_REGION + regionObjectName + 
PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_MEMBER + anRom.getMemberName();
-              ObjectName regionOnMemberMBean = new ObjectName(objectNameROM);
-              LOGGER.fine("updateRegionOnMembers : Object name = " + 
regionOnMemberMBean.getCanonicalName());
-
-              AttributeList attributeList = 
this.mbs.getAttributes(regionOnMemberMBean, 
PulseConstants.REGION_ON_MEMBER_MBEAN_ATTRIBUTES);
-              for (int i = 0; i < attributeList.size(); i++) {
-                Attribute attribute = (Attribute) attributeList.get(i);
-                String name = attribute.getName();
-                switch(name){
-                case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
-                  anRom.setEntrySize(getLongAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getEntrySize() = 
" + anRom.getEntrySize());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_ENTRYCOUNT:
-                  anRom.setEntryCount(getLongAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getEntryCount() = 
" + anRom.getEntryCount());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
-                  anRom.setPutsRate(getDoubleAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getPutsRate() = " 
+ anRom.getPutsRate());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
-                  anRom.setGetsRate(getDoubleAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getGetsRate() = " 
+ anRom.getGetsRate());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-                  
anRom.setDiskGetsRate(getDoubleAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getDiskGetsRate() 
= " + anRom.getDiskGetsRate());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-                  
anRom.setDiskPutsRate(getDoubleAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : anRom.getDiskPutsRate() 
= " + anRom.getDiskPutsRate());
-                  break;
-                case PulseConstants.MBEAN_ATTRIBUTE_LOCALMAXMEMORY:
-                  
anRom.setLocalMaxMemory(getIntegerAttribute(attribute.getValue(),
-                      attribute.getName()));
-                  LOGGER.fine("updateRegionOnMembers : 
anRom.getLocalMaxMemory() = " + anRom.getLocalMaxMemory());
-                  break;
-                }
-              }
-
-              anRom.getGetsPerSecTrend().add(anRom.getGetsRate());
-              anRom.getPutsPerSecTrend().add(anRom.getPutsRate());
-              anRom.getDiskReadsPerSecTrend().add(anRom.getDiskGetsRate());
-              anRom.getDiskWritesPerSecTrend().add(anRom.getDiskPutsRate());
-              LOGGER.fine("updateRegionOnMembers : Existing member on region : 
getGetsRate() = " + anRom.getGetsPerSecTrend().size() + ", getPutsRate() = "
-                  + anRom.getPutsPerSecTrend().size() + ", getDiskGetsRate() = 
" + anRom.getDiskReadsPerSecTrend().size() + ", getDiskPutsRate() = "
-                  + anRom.getDiskWritesPerSecTrend().size());
-
-              //remove existing member names from list so only new ones will 
remain
-              memberNames.remove(anRom.getMemberName());
-
-              break;
-            }
-          }
-        }
-
-        LOGGER.fine("updateRegionOnMembers : Loop over remaining member names 
and adding new member in region. Existing count = " + 
regionOnMemberList.size());
-        LOGGER.fine("updateRegionOnMembers : Remaining new members in this 
region = " + memberNames.size());
-        //loop over the remaining regions members and add new members for this 
region
-        for(String memberName : memberNames) {
-          String objectNameROM = 
PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_REGION + regionObjectName + 
PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_MEMBER + memberName;
-          ObjectName regionOnMemberMBean = new ObjectName(objectNameROM);
-          Cluster.RegionOnMember regionOnMember = new Cluster.RegionOnMember();
-          regionOnMember.setMemberName(memberName);
-          regionOnMember.setRegionFullPath(regionFullPath);
-          AttributeList attributeList = 
this.mbs.getAttributes(regionOnMemberMBean, 
PulseConstants.REGION_ON_MEMBER_MBEAN_ATTRIBUTES);
-          for (int i = 0; i < attributeList.size(); i++) {
-            Attribute attribute = (Attribute) attributeList.get(i);
-            String name=attribute.getName();
-            switch (name){
-            case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
-              
regionOnMember.setEntrySize(getLongAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_ENTRYCOUNT:
-              
regionOnMember.setEntryCount(getLongAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
-              
regionOnMember.setPutsRate(getDoubleAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
-              
regionOnMember.setGetsRate(getDoubleAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-              
regionOnMember.setDiskGetsRate(getDoubleAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-              
regionOnMember.setDiskPutsRate(getDoubleAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            case PulseConstants.MBEAN_ATTRIBUTE_LOCALMAXMEMORY:
-              
regionOnMember.setLocalMaxMemory(getIntegerAttribute(attribute.getValue(),
-                  attribute.getName()));
-              break;
-            }
-          }
-
-          
regionOnMember.getGetsPerSecTrend().add(regionOnMember.getGetsRate());
-          
regionOnMember.getPutsPerSecTrend().add(regionOnMember.getPutsRate());
-          
regionOnMember.getDiskReadsPerSecTrend().add(regionOnMember.getDiskGetsRate());
-          
regionOnMember.getDiskWritesPerSecTrend().add(regionOnMember.getDiskPutsRate());
-
-          LOGGER.fine("updateRegionOnMembers : Adding New member on region : 
getGetsRate() = " + regionOnMember.getGetsRate() + ", getPutsRate() = "
-              + regionOnMember.getPutsRate() + ", getDiskGetsRate() = " + 
regionOnMember.getDiskGetsRate() + ", getDiskPutsRate() = "
-              + regionOnMember.getDiskPutsRate());
-
-          regionOnMemberListNew.add(regionOnMember);
-        }
-
-        //set region on member
-        region.setRegionOnMembers(regionOnMemberListNew);
-        LOGGER.fine("updateRegionOnMembers : Total regions on member in region 
" + region.getFullPath() + " after update = " + 
region.getRegionOnMembers().length);
-    } catch (MalformedObjectNameException e) {
-      LOGGER.warning(e);
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    }
-  }
-
-  /**
-   * function used to get attribute values of Cluster Region and map them to
-   * cluster region vo
-   *
-   * @param mbeanName
-   *          Cluster Region MBean
-   */
-  private void updateClusterRegion(ObjectName mbeanName) throws IOException {
-
-    try {
-
-      AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-          PulseConstants.REGION_MBEAN_ATTRIBUTES);
-
-      // retrieve the full path of the region
-      String regionObjectName = mbeanName.getKeyProperty("name");
-      String regionFullPath = null;
-      for (int i = 0; i < attributeList.size(); i++) {
-        Attribute attribute = (Attribute) attributeList.get(i);
-
-        if 
(attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
-          regionFullPath = getStringAttribute(attribute.getValue(),
-              attribute.getName());
-          break;
-        }
-      }
-
-      Cluster.Region region = cluster.getClusterRegions().get(regionFullPath);
-
-      if (null == region) {
-        region = new Cluster.Region();
-      }
-
-      for (int i = 0; i < attributeList.size(); i++) {
-
-        Attribute attribute = (Attribute) attributeList.get(i);
-
-        String name = attribute.getName();
-        switch (name){
-        case PulseConstants.MBEAN_ATTRIBUTE_MEMBERS:
-          String memName[] = (String[]) attribute.getValue();
-          region.getMemberName().clear();
-          for (int k = 0; k < memName.length; k++) {
-            region.getMemberName().add(memName[k]);
-          }
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_FULLPATH:
-          region.setFullPath(getStringAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-          region.setDiskReadsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-          region.setDiskWritesRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_EMPTYNODES:
-          region.setEmptyNode(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
-          region.setGetsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_LRUEVICTIONRATE:
-          region.setLruEvictionRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_PUTSRATE:
-          region.setPutsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_REGIONTYPE:
-          region.setRegionType(getStringAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_ENTRYSIZE:
-          region.setEntrySize(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_SYSTEMREGIONENTRYCOUNT:
-          region.setSystemRegionEntryCount(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_MEMBERCOUNT:
-          region.setMemberCount(getIntegerAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_PERSISTENTENABLED:
-          region.setPersistentEnabled(getBooleanAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NAME:
-          region.setName(getStringAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_GATEWAYENABLED:
-          region.setWanEnabled(getBooleanAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKUSAGE:
-          region.setDiskUsage(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        }
-      }
-
-      //add for each member
-      updateRegionOnMembers(regionObjectName, regionFullPath, region);
-
-      cluster.addClusterRegion(regionFullPath, region);
-      cluster.getDeletedRegions().remove(region.getFullPath());
-      // Memory Reads and writes
-      region.getPutsPerSecTrend().add(region.getPutsRate());
-      region.getGetsPerSecTrend().add(region.getGetsRate());
-      // Disk Reads and Writes
-      region.getDiskReadsPerSecTrend().add(region.getDiskReadsRate());
-      region.getDiskWritesPerSecTrend().add(region.getDiskWritesRate());
-
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    }
-  }
-
-  private static boolean isQuoted(String value) {
-    final int len = value.length();
-    if (len < 2 || value.charAt(0) != '"' || value.charAt(len - 1) != '"') {
-      return false;
-    } else {
-      return true;
-    }
-  }
-
-  private void updateClusterStatement(ObjectName mbeanName) throws IOException 
{
-
-    try {
-
-      AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-          PulseConstants.STATEMENT_MBEAN_ATTRIBUTES);
-      // retrieve the full path of the region
-      String statementDefinition = mbeanName.getKeyProperty("name");
-
-      if (isQuoted(statementDefinition)) {
-        statementDefinition = ObjectName.unquote(statementDefinition);
-      }
-
-      Cluster.Statement statement = cluster.getClusterStatements().get(
-          statementDefinition);
-
-      if (null == statement) {
-        statement = new Cluster.Statement();
-        statement.setQueryDefinition(statementDefinition);
-      }
-
-      for (int i = 0; i < attributeList.size(); i++) {
-        Attribute attribute = (Attribute) attributeList.get(i);
-        String name = attribute.getName();
-        switch (name){
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMTIMESCOMPILED:
-          statement.setNumTimesCompiled(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMEXECUTION:
-          statement.setNumExecution(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMEXECUTIONSINPROGRESS:
-          statement.setNumExecutionsInProgress(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMTIMESGLOBALINDEXLOOKUP:
-          statement.setNumTimesGlobalIndexLookup(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_NUMROWSMODIFIED:
-          statement.setNumRowsModified(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_PARSETIME:
-          statement.setParseTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_BINDTIME:
-          statement.setBindTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_OPTIMIZETIME:
-          statement.setOptimizeTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_ROUTINGINFOTIME:
-          statement.setRoutingInfoTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_GENERATETIME:
-          statement.setGenerateTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALCOMPILATIONTIME:
-          statement.setTotalCompilationTime(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_EXECUTIONTIME:
-          statement.setExecutionTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_PROJECTIONTIME:
-          statement.setProjectionTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_TOTALEXECUTIONTIME:
-          statement.setTotalExecutionTime(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_ROWSMODIFICATIONTIME:
-          statement.setRowsModificationTime(getLongAttribute(
-              attribute.getValue(), attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_QNNUMROWSSEEN:
-          statement.setqNNumRowsSeen(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_QNMSGSENDTIME:
-          statement.setqNMsgSendTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_QNMSGSERTIME:
-          statement.setqNMsgSerTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_QNRESPDESERTIME:
-          statement.setqNRespDeSerTime(getLongAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        }
-      }
-
-      cluster.addClusterStatement(statementDefinition, statement);
-      // TODO : to store data for sparklines later
-      /*
-       * region.getPutsPerSecTrend().add(region.getPutsRate());
-       * region.getGetsPerSecTrend().add(region.getGetsRate());
-       */
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    }
-  }
-
-  /**
-   * function used to iterate through all member attributes and return the
-   * updated member
-   */
-  private Cluster.Member initializeMember(ObjectName mbeanName,
-      Cluster.Member member) throws InstanceNotFoundException,
-                                    ReflectionException, IOException {
-
-    AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-        PulseConstants.MEMBER_MBEAN_ATTRIBUTES);
-
-    for (int i = 0; i < attributeList.size(); i++) {
-
-      Attribute attribute = (Attribute) attributeList.get(i);
-      String name = attribute.getName();
-      switch (name) {
-      case PulseConstants.MBEAN_ATTRIBUTE_GEMFIREVERSION:
-        if (member.getGemfireVersion() == null) {
-          // Set Member's GemFire Version if not set already
-          String gemfireVersion = obtainGemfireVersion(getStringAttribute(
-              attribute.getValue(), attribute.getName()));
-          member.setGemfireVersion(gemfireVersion);
-        }
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_MANAGER:
-        member.setManager(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_TOTALREGIONCOUNT:
-        member.setTotalRegionCount(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_LOCATOR:
-        member.setLocator(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_TOTALDISKUSAGE:
-        member.setTotalDiskUsage(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_SERVER:
-        member.setServer(getBooleanAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_TOTALFILEDESCRIPTOROPEN:
-        member.setTotalFileDescriptorOpen(getLongAttribute(
-            attribute.getValue(), attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_LOADAVERAGE:
-        member.setLoadAverage(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-        member.setThroughputWrites(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getThroughputWritesTrend().add(member.getThroughputWrites());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-        member.setThroughputReads(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getThroughputReadsTrend().add(member.getThroughputReads());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_JVMPAUSES:
-        long trendVal = determineCurrentJVMPauses(
-            PulseConstants.JVM_PAUSES_TYPE_MEMBER, member.getName(),
-            getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.setGarbageCollectionCount(trendVal);
-        member.getGarbageCollectionSamples().add(
-            member.getGarbageCollectionCount());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_USEDMEMORY:
-        member.setCurrentHeapSize(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getHeapUsageSamples().add(member.getCurrentHeapSize());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_MAXMEMORY:
-        member.setMaxHeapSize(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_NUMTHREADS:
-        member.setNumThreads(getIntegerAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_MEMBERUPTIME:
-        member.setUptime(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_HOST:
-        member.setHost(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_HOSTNAMEFORCLIENTS:
-        member.setHostnameForClients(getStringAttribute(attribute.getValue(),
-                attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_BINDADDRESS:
-        member.setBindAddress(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_TOTALBYTESONDISK:
-        member.setTotalBytesOnDisk(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getTotalBytesOnDiskSamples().add(member.getTotalBytesOnDisk());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_CPUUSAGE:
-        member.setCpuUsage(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getCpuUsageSamples().add(member.getCpuUsage());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_HOSTCPUUSAGE:
-        // Float value is expected for host cpu usage.
-        // TODO Remove Float.valueOf() when float value is provided in mbean
-        member.setHostCpuUsage(Double.valueOf(getIntegerAttribute(
-            attribute.getValue(), attribute.getName())));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_MEMBER:
-        member.setName(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_ID:
-        member.setId(getStringAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEREADS:
-        member.setGetsRate(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getGetsPerSecond().add(member.getGetsRate());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_AVERAGEWRITES:
-        member.setPutsRate(getDoubleAttribute(attribute.getValue(),
-            attribute.getName()));
-        member.getPutsPerSecond().add(member.getPutsRate());
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPFREESIZE:
-        member.setOffHeapFreeSize(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_OFFHEAPUSEDSIZE:
-        member.setOffHeapUsedSize(getLongAttribute(attribute.getValue(),
-            attribute.getName()));
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_SERVERGROUPS:
-        String sgValues[] = (String[]) attribute.getValue();
-        member.getServerGroups().clear();
-        for (int k = 0; k < sgValues.length; k++) {
-          member.getServerGroups().add(sgValues[k]);
-        }
-        break;
-      case PulseConstants.MBEAN_ATTRIBUTE_REDUNDANCYZONES:
-        String rzValue = "";
-        if(null != attribute.getValue()){
-          rzValue = getStringAttribute(attribute.getValue(),
-              attribute.getName());
-        }
-        member.getRedundancyZones().clear();
-        if(!rzValue.isEmpty()){
-          member.getRedundancyZones().add(rzValue);
-        }
-        break;
-      }
-    }
-
-    // SQLFire specific attributes
-    if (PulseController.getPulseProductSupport().equalsIgnoreCase(
-        PulseConstants.PRODUCT_NAME_SQLFIRE)) {
-
-      try {
-        // get sqlfire mbeans
-        String memberName = mbeanName
-            .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-        ObjectName sfMemberMbeansObjectName = new ObjectName(
-            PulseConstants.OBJECT_NAME_SF_MEMBER_PATTERN + memberName);
-
-        Set<ObjectName> sfMemberMBeans = this.mbs.queryNames(
-            sfMemberMbeansObjectName, null);
-        for (ObjectName sfMemberMBean : sfMemberMBeans) {
-
-          AttributeList attrList = this.mbs.getAttributes(sfMemberMBean,
-              PulseConstants.SF_MEMBER_MBEAN_ATTRIBUTES);
-          for (int i = 0; i < attrList.size(); i++) {
-
-            Attribute attribute = (Attribute) attrList.get(i);
-
-            if (attribute.getName().equals(
-                PulseConstants.MBEAN_ATTRIBUTE_DATASTORE)) {
-              member.setServer(getBooleanAttribute(attribute.getValue(),
-                  attribute.getName()));
-
-              // Update Server count
-              if (member.isServer()) {
-                cluster.setServerCount(cluster.getServerCount() + 1);
-              }
-            } else if (attribute.getName().equals(
-                    
PulseConstants.MBEAN_ATTRIBUTE_NETWORKSERVERCLIENTCONNECTIONSTATS)) {
-
-              CompositeData nscConnStats = (CompositeData) 
attribute.getValue();
-
-              // Update sqlfire client count
-              member.setNumSqlfireClients(getLongAttribute(nscConnStats
-                  .get(PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSACTIVE),
-                  PulseConstants.COMPOSITE_DATA_KEY_CONNECTIONSACTIVE));
-            }
-          }
-          break;
-        }
-
-      } catch (MalformedObjectNameException e) {
-        LOGGER.warning(e);
-      } catch (NullPointerException e) {
-        LOGGER.warning(e);
-      }
-
-    }
-
-    return member;
-  }
-
-  /**
-   * function used to get attribute values of Cluster Member and map them to
-   * cluster member vo
-   *
-   * @param mbeanName
-   *          Cluster Member MBean
-   */
-  private void updateClusterMember(ObjectName mbeanName) throws IOException {
-
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      Cluster.Member clusterMember = cluster.getMembersHMap().get(memberName);
-
-      if (clusterMember != null) // checking if member exists or not
-      {
-        cluster.getDeletedMembers().remove(memberName);
-      } else {
-        clusterMember = new Cluster.Member();
-        cluster.getMembersHMap().put(memberName, clusterMember);
-      }
-
-      // initialize member and add to cluster's member list
-      clusterMember = initializeMember(mbeanName, clusterMember);
-      ArrayList<Cluster.Member> memberArrList = (ArrayList<Cluster.Member>) 
cluster
-          .getPhysicalToMember().get(clusterMember.getHost());
-      if (memberArrList != null) {
-        if (!memberArrList.contains(clusterMember)) {
-          memberArrList.add(clusterMember);
-        }
-      } else {
-        ArrayList<Cluster.Member> memberList = new ArrayList<Cluster.Member>();
-        memberList.add(clusterMember);
-        cluster.getPhysicalToMember().put(clusterMember.getHost(), memberList);
-      }
-    } catch (InstanceNotFoundException infe) {
-      LOGGER.warning(infe);
-    } catch (ReflectionException re) {
-      LOGGER.warning(re);
-    }
-  }
-
-  /**
-   * function used to handle Float data type if the value for mbean for an
-   * attribute is null then return 0.0 as default value else return the
-   * attribute value
-   */
-  private Float getFloatAttribute(Object object, String name) {
-    if (object == null) {
-      return Float.valueOf(0.0f);
-    }
-
-    try {
-      if (!(object.getClass().equals(Float.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + Float.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return Float.valueOf(0.0f);
-      } else {
-        return (Float) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception occurred: " + e.getMessage());
-      }
-      return Float.valueOf(0.0f);
-    }
-  }
-
-  /**
-   * function used to handle Integer data type if the value for mbean for an
-   * attribute is null then return 0 as default value else return the attribute
-   * value
-   */
-  private Integer getIntegerAttribute(Object object, String name) {
-    if (object == null) {
-      return Integer.valueOf(0);
-    }
-
-    try {
-      if (!(object.getClass().equals(Integer.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + Integer.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return Integer.valueOf(0);
-      } else {
-        return (Integer) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception occurred: " + e.getMessage());
-      }
-      return Integer.valueOf(0);
-    }
-  }
-
-  /**
-   * function used to handle Long data type if the value for mbean for an
-   * attribute is null then return 0 as default value else return the attribute
-   * value
-   */
-  private Long getLongAttribute(Object object, String name) {
-    if (object == null) {
-      return Long.valueOf(0);
-    }
-
-    try {
-      if (!(object.getClass().equals(Long.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + Long.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return Long.valueOf(0);
-      } else {
-        return (Long) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception occurred: " + e.getMessage());
-      }
-      return Long.valueOf(0);
-    }
-
-  }
-
-  /**
-   * function used to handle String data type if the value for mbean for an
-   * attribute is null then return the empty string as default value else 
return
-   * the attribute value
-   */
-  private String getStringAttribute(Object object, String name) {
-    if (object == null) {
-      return "";
-    }
-
-    try {
-      if (!(object.getClass().equals(String.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + String.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return "";
-      } else {
-        return (String) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception occurred: " + e.getMessage());
-      }
-      return "";
-    }
-  }
-
-  /**
-   * function used to handle Boolean data type if the value for mbean for an
-   * attribute is null then return false as default value else return the
-   * attribute value
-   */
-  private Boolean getBooleanAttribute(Object object, String name) {
-    if (object == null) {
-      return Boolean.FALSE;
-    }
-
-    try {
-      if (!(object.getClass().equals(Boolean.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + Boolean.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return Boolean.FALSE;
-      } else {
-        return (Boolean) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception Occured: " + e.getMessage());
-      }
-      return Boolean.FALSE;
-    }
-  }
-
-  /**
-   * function used to handle Double data type if the value for mbean for an
-   * attribute is null then return 0.0 as default value else return the
-   * attribute value
-   */
-  private Double getDoubleAttribute(Object object, String name) {
-    if (object == null) {
-      return Double.valueOf(0);
-    }
-
-    try {
-      if (!(object.getClass().equals(Double.class))) {
-        if (LOGGER.infoEnabled()) {
-          LOGGER.info("************************Unexpected type for attribute: "
-              + name + " Expected type: " + Double.class.getName()
-              + " Received type: " + object.getClass().getName()
-              + "************************");
-        }
-        return Double.valueOf(0);
-      } else {
-        return (Double) object;
-      }
-    } catch (Exception e) {
-      if (LOGGER.infoEnabled()) {
-        LOGGER.info("Exception occurred: " + e.getMessage());
-      }
-      return Double.valueOf(0);
-    }
-  }
-
-  /**
-   * function used to get attribute values of Member Region and map them to
-   * Member vo
-   *
-   * @param mbeanName
-   *          Member Region MBean
-   */
-  private void updateMemberRegion(ObjectName mbeanName) throws IOException {
-
-    try {
-      String memberName = mbeanName
-          .getKeyProperty(PulseConstants.MBEAN_KEY_PROPERTY_MEMBER);
-
-      Cluster.Member member = cluster.getMembersHMap().get(memberName);
-
-      //Following attributes are not present in 9.0
-      //"Members"
-      //"EmptyNodes"
-      //"SystemRegionEntryCount"
-      //"MemberCount"
-      AttributeList attributeList = this.mbs.getAttributes(mbeanName,
-          PulseConstants.REGION_MBEAN_ATTRIBUTES);
-
-      // retrieve the full path of the region
-      String regionFullPathKey = null;
-      for (int i = 0; i < attributeList.size(); i++) {
-        Attribute attribute = (Attribute) attributeList.get(i);
-
-        if 
(attribute.getName().equals(PulseConstants.MBEAN_ATTRIBUTE_FULLPATH)) {
-          regionFullPathKey = getStringAttribute(attribute.getValue(),
-              attribute.getName());
-          break;
-        }
-      }
-
-      // if member does not exists defined for this region then create a member
-      if (null == member) {
-        member = new Cluster.Member();
-        member.setName(memberName);
-        cluster.getMembersHMap().put(memberName, member);
-      }
-
-      // if region with given path exists then update same else add new region
-      Cluster.Region region = member.getMemberRegions().get(regionFullPathKey);
-      if (null == region) {
-        region = new Cluster.Region();
-        member.getMemberRegions().put(regionFullPathKey, region);
-        member.setTotalRegionCount(member.getTotalRegionCount() + 1);
-      }
-      region.setFullPath(regionFullPathKey); // use already retrieved values
-
-      // update the existing or new region
-      for (int i = 0; i < attributeList.size(); i++) {
-        Attribute attribute = (Attribute) attributeList.get(i);
-        String name = attribute.getName();
-        switch (name){
-        case PulseConstants.MBEAN_ATTRIBUTE_FULLPATH:
-          region.setFullPath(getStringAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKREADSRATE:
-          region.setDiskReadsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_DISKWRITESRATE:
-          region.setDiskWritesRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        case PulseConstants.MBEAN_ATTRIBUTE_GETSRATE:
-          region.setGetsRate(getDoubleAttribute(attribute.getValue(),
-              attribute.getName()));
-          break;
-        cas

<TRUNCATED>

Reply via email to