You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by tu...@apache.org on 2015/11/03 12:25:50 UTC
[28/79] [partial] incubator-geode git commit: GEODE-12: Imported
pulse from geode-1.0.0-SNAPSHOT-2.src.tar
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml b/pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
new file mode 100644
index 0000000..5778970
--- /dev/null
+++ b/pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
@@ -0,0 +1,18 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:mvc="http://www.springframework.org/schema/mvc"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-3.2.xsd
+ http://www.springframework.org/schema/mvc
+ http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
+
+
+ <context:component-scan base-package="com.vmware.gemfire.tools.pulse.internal" />
+
+ <mvc:annotation-driven />
+
+</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/WEB-INF/spring-security.xml
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/WEB-INF/spring-security.xml b/pulse/src/main/webapp/WEB-INF/spring-security.xml
new file mode 100644
index 0000000..4264566
--- /dev/null
+++ b/pulse/src/main/webapp/WEB-INF/spring-security.xml
@@ -0,0 +1,66 @@
+<beans:beans xmlns="http://www.springframework.org/schema/security"
+ xmlns:beans="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+ http://www.springframework.org/schema/security
+ http://www.springframework.org/schema/security/spring-security-3.1.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-3.2.xsd">
+
+ <http auto-config="true">
+
+ <!-- Can be invoked w/o auth -->
+ <intercept-url pattern="/Login.html" access="IS_AUTHENTICATED_ANONYMOUSLY" />
+ <intercept-url pattern="/pulse/pulseVersion" access="IS_AUTHENTICATED_ANONYMOUSLY" />
+ <intercept-url pattern="/pulse/authenticateUser" access="IS_AUTHENTICATED_ANONYMOUSLY" />
+ <intercept-url pattern="/pulse/pulseProductSupport" access="IS_AUTHENTICATED_ANONYMOUSLY" />
+ <!-- Can be invoked w/o auth -->
+
+ <!-- Restricted urls -->
+ <!-- Hide Data Browser tab for Pulse-Cheetah Release -->
+ <!-- <intercept-url pattern="/DataBrowser.html" access="ROLE_RESTRICTED" /> -->
+ <!-- Restricted urls -->
+
+ <!-- Can be invoked only with auth -->
+ <intercept-url pattern="/*.html" access="ROLE_USER,ROLE_GEMFIRETESTING,ROLE_PULSEUSER" />
+ <intercept-url pattern="/pulse/*" access="ROLE_USER,ROLE_GEMFIRETESTING,ROLE_PULSEUSER" />
+ <!-- Can be invoked only with auth -->
+
+ <form-login login-page="/Login.html"
+ authentication-failure-handler-ref="authenticationFailureHandler"
+ default-target-url="/clusterDetail.html" />
+
+ <logout logout-url="/pulse/clusterLogout" logout-success-url="/Login.html" />
+ </http>
+
+ <beans:bean id="authenticationFailureHandler"
+ class="org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler">
+ <beans:property name="exceptionMappings">
+ <beans:props>
+ <beans:prop key="org.springframework.security.authentication.BadCredentialsException">/Login.html?error=BAD_CREDS</beans:prop>
+ <beans:prop key="org.springframework.security.authentication.CredentialsExpiredException">/Login.html?error=CRED_EXP</beans:prop>
+ <beans:prop key="org.springframework.security.authentication.LockedException">/Login.html?error=ACC_LOCKED</beans:prop>
+ <beans:prop key="org.springframework.security.authentication.DisabledException">/Login.html?error=ACC_DISABLED</beans:prop>
+ </beans:props>
+ </beans:property>
+ </beans:bean>
+
+ <!-- Default user authentication based on in-memory user service -->
+ <beans:beans profile="pulse.authentication.default">
+ <authentication-manager>
+ <authentication-provider>
+ <user-service>
+ <user name="admin" password="admin" authorities="ROLE_USER" />
+ </user-service>
+ </authentication-provider>
+ </authentication-manager>
+ </beans:beans>
+
+ <!-- Custom user authentication specified externally -->
+ <beans:beans profile="pulse.authentication.custom">
+ <beans:import resource="classpath:pulse-authentication-custom.xml" />
+ </beans:beans>
+
+</beans:beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/WEB-INF/web.xml b/pulse/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..ed6cfa5
--- /dev/null
+++ b/pulse/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
+ <display-name>Pulse</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+ <mime-mapping>
+ <extension>properties</extension>
+ <mime-type>text/x-java-properties</mime-type>
+ </mime-mapping>
+ <servlet>
+ <servlet-name>mvc-dispatcher</servlet-name>
+ <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>mvc-dispatcher</servlet-name>
+ <url-pattern>/pulse/*</url-pattern>
+ </servlet-mapping>
+ <listener>
+ <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+ </listener>
+ <context-param>
+ <param-name>contextConfigLocation</param-name>
+ <param-value>
+ /WEB-INF/mvc-dispatcher-servlet.xml,
+ /WEB-INF/spring-security.xml
+ </param-value>
+ </context-param>
+ <context-param>
+ <param-name>spring.profiles.default</param-name>
+ <param-value>pulse.authentication.default</param-value>
+ </context-param>
+ <filter>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+ </filter>
+ <filter-mapping>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <url-pattern>/*</url-pattern>
+ </filter-mapping>
+ <listener>
+ <listener-class>com.vmware.gemfire.tools.pulse.internal.PulseAppListener</listener-class>
+ </listener>
+</web-app>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/clusterDetail.html
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/clusterDetail.html b/pulse/src/main/webapp/clusterDetail.html
new file mode 100644
index 0000000..4190843
--- /dev/null
+++ b/pulse/src/main/webapp/clusterDetail.html
@@ -0,0 +1,659 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+<meta http-equiv="CACHE-CONTROL" content="NO-CACHE,NO-STORE" />
+<meta http-equiv="PRAGMA" content="NO-CACHE" />
+<meta http-equiv="EXPIRES" content="-1">
+<title>Pulse</title>
+<link href="css/common.css" rel="stylesheet" type="text/css" />
+<link href="css/style.css" rel="stylesheet" type="text/css" />
+
+<!-- fix IE Ui issues-->
+<!--[if IE 7]>
+ <link href="css/ie/ie7.css" type="text/css" rel="stylesheet"/>
+ <![endif]-->
+<!--[if IE 8]>
+ <link href="css/ie/ie8.css" type="text/css" rel="stylesheet"/>
+ <![endif]-->
+<!--[if IE 9]>
+ <link href="css/ie/ie9.css" type="text/css" rel="stylesheet"/>
+ <![endif]-->
+<!-- IE Fix for HTML5 Tags -->
+<!--[if lt IE 9]>
+<script src='scripts/lib/html5.js'></script>
+<script type="text/javascript" src="scripts/lib/excanvas.js"></script>
+<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
+ <![endif]-->
+
+<script type="text/javascript" src='scripts/lib/jquery-1.7.2.js'></script>
+<script type="text/javascript" src='scripts/lib/common.js'></script>
+<script type="text/javascript" src="scripts/lib/jquery.i18n.properties.js"></script>
+<!--Custom Scroll Bar-->
+<!-- styles needed by jScrollPane - include in your own sites -->
+<link type="text/css" href="css/jquery.jscrollpane.css" rel="stylesheet"
+ media="all" />
+<!-- the mousewheel plugin -->
+<script type="text/javascript" src="scripts/lib/jquery.mousewheel.js"></script>
+<!-- the jScrollPane script -->
+<script type="text/javascript" src="scripts/lib/jquery.jscrollpane.js"></script>
+<!-- Rgraph and TreeMap-->
+<link type="text/css" href="css/base.css" rel="stylesheet" />
+<link type="text/css" href="css/Treemap.css" rel="stylesheet" />
+<script type="text/javascript" src="scripts/lib/jit.js"></script>
+<script type="text/javascript" src="scripts/lib/jquery.sparkline.js"></script>
+
+<!-- Grid view CSS and js-->
+<link rel="stylesheet" type="text/css" media="screen" href="css/grid/ui.jqgrid.css" />
+<script src="scripts/lib/grid.locale-en.js" type="text/javascript"></script>
+<script src="scripts/lib/jquery.jqGrid.src.js" type="text/javascript"></script>
+<script src="scripts/lib/jquery.tablednd.js" type="text/javascript"></script>
+<!-- -->
+<!-- jQuery plugin to support automatically updating fuzzy timestamps
+(e.g. "4 minutes ago" or "about 1 day ago") -->
+<script type="text/javascript" src="scripts/lib/jquery.timeago.js"></script>
+
+<!-- start:Cluster widget based js files -->
+<script type="text/javascript" src="scripts/pulsescript/PulseCallbacks.js"></script>
+<script type="text/javascript" src="scripts/pulsescript/PulseFunctions.js"></script>
+<script type="text/javascript" src='scripts/pulsescript/common.js'></script>
+<script type="text/javascript" src='scripts/pulsescript/clusterRGraphMembers.js'></script>
+<script type="text/javascript" src='scripts/pulsescript/clusterDetail.js'></script>
+
+</head>
+
+
+<body onload="return checkMedia();">
+<!-- Connection lost-->
+<div class="connectionLostMasterBlock hide" id="connectionStatusDiv" >
+<div class="connectionLostInnerBlock">
+ <label id="lblConnectionErrorMsgDiv" class="left">Connecting ...</label>
+ <div class="clear"></div>
+ <div id="connectionErrorMsgDiv" class="right"></div>
+</div>
+</div>
+ <div id="canvasWidth">
+ <!--Top Links-->
+ <div class="headerTopLinksMaster">
+ <div class="right">
+ <div class="left position-relative"><a href="#."class="left headerTopLinks aboutClicked-Off">About</a>
+ <!-- About Dropdown-->
+ <div id="detailsAbout" class="aboutBlock display-none">
+ <div class="aboutDetailsBlock">
+ <div class="left widthfull-100per marginBottom30">
+ <div class="left"><img data-prod-custom="pulse-aboutimg-custom" src="images/about.png">
+ <div>
+ <div class="aboutVersionBlock left" id="pulseVersion"></div>
+ <div class="left termsBlock"> <a id="pulseVersionDetailsLink" href="#dialog1" class="display-none" >Version Details</a></div>
+ </div>
+ </div>
+ <div data-prod-custom="pulse-about-custom" class="right aboutText">The Pulse tool monitors Pivotal™ GemFire© system in real time. It provides health information, detailed operational and configuration data, system alerts, throughput performance and statistics for system members and connected clients.</div>
+ </div>
+ <div class="left widthfull-100per">
+ <div class="left copyright">
+ Copyright © 2012-2014 Pivotal Software, Inc. All Rights Reserved.
+ This product is protected by U.S. and international copyright
+ and intellectual property laws. Pivotal products are covered by
+ one or more patents listed at <a href="http://www.pivotal.io/patents"
+ target="_blank" class="termsBlockLink text-center">http://www.pivotal.io/patents</a>.
+ </div>
+
+ <div class="left copyright">Pivotal is a registered
+ trademark or trademark of Pivotal Software, Inc. in the United States and
+ other jurisdictions. All other marks and names mentioned herein
+ may be trademarks of their respective companies.</div>
+
+ <div class="left termsBlock">
+ <a href="oslicenses.txt" target="_blank">Open Source
+ Licenses</a>
+ </div>
+ <!-- <div class="right termsBlock">
+ Pulse <a href="#.">Terms of Service</a>
+ </div>-->
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="left headerTopSeperator"></div>
+ <div class="left"><a data-prod-custom="pulse-help-custom" target="_blank" href="http://gemfire.docs.pivotal.io/latest/userguide/index.html#tools_modules/pulse/chapter_overview.html" class="left headerTopLinks" class="left headerTopLinks">Help</a></div>
+ <div class="left headerTopSeperator"></div>
+ <div class="left headerTopLinks welcomeLabelPRZero">Welcome</div>
+ <div class="left headerTopLinks textbold font-size12" id="userName"></div>
+ <div class="left headerTopSeperator"></div>
+ <div class="left"><a href="pulse/clusterLogout" class="left headerTopLinks">Sign Out</a></div>
+ </div>
+ </div>
+ <!-- Header block-->
+ <header>
+ <div class="left">
+ <a href="#." onclick="openClusterDetail();" class="left textbold HeaderLink HeaderLinkActive"
+ id="clusterName" ></a>
+ </div>
+ <div class="textbold right logoBlock">
+ <a href="#.">[LOGO]</a>
+ </div>
+ </header>
+ <div class="clear"></div>
+ <div class="subHeader">
+ <ul>
+ <li><a href="#." class="active" onclick="openClusterDetail();">Cluster View</a></li>
+ <!-- Hide Data Browser tab for gemfirexd (Pulse-Cheetah Release) -->
+ <li><a href="#." onclick="openDataBrowser();">Data Browser</a></li>
+ <!-- Hide Query Statistics tab for gemfire -->
+ <li id="subTabQueryStatistics"><a href="#." onclick="openQueryStatistics();">Query Statistics</a></li>
+ </ul>
+ <div class="clear"></div>
+ </div>
+ <!-- Middle block-->
+ <div class="left widthfull-100per">
+ <!--Top Right Block 1-->
+ <div class="right widthfull-100per marginTB10">
+
+ <!-- Tab-->
+ <div id="notificationsPanel" class="right marginL10 TabTopPanel position-relative"
+ data-role="widget" data-widgetid="CluserAlertNotification" data-active ="yes" data-timeline="5000">
+ </div>
+ <!-- <div class="right marginL10">
+ <a href="#." class="left linkButton" onclick="openDataView();">Data View</a>
+ </div> -->
+ <!-- </div> -->
+ <!--Middle Block 1-->
+ <div class="left leftBlockCanvas">
+ <!-- Status Block-->
+ <div class="statusmasterBlock left" data-role="widget" data-widgetid="CluserBasicDetails" data-active ="yes" data-timeline="5000">
+ <!--Status Block Normal-->
+ <div class="statusFirstBlock left">
+ <div class="statusMasterBlock" id="clusterStatusIcon">
+ <div class="textbold" id="clusterStatusText"></div>
+ <div class="labeltext">Cluster Status</div>
+ </div>
+ </div>
+ <!-- Deails B1-->
+ <div class="borderRightDarkBlue detailsBlock">
+ <div class="color-d2d5d7 font-size23">
+ <span id="clusterTotalHeap"></span><span
+ class="font-size17 paddingL5">GB</span>
+ </div>
+ <span class="labeltext" >Total Heap</span>
+ </div>
+ <!-- Deails B2-->
+ <div class=" detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterTotalMembersText"></div>
+ <span class="labeltext" >Members</span>
+ </div>
+ <!-- Deails B3-->
+ <div class="detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterServersText"></div>
+ <span class="labeltext" >Servers</span>
+ </div>
+ <!-- Deails B4-->
+ <div class="detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterClientsText"></div>
+ <span class="labeltext" >Clients</span>
+ </div>
+ <!-- Deails B5-->
+ <div class="detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterLocatorsText"></div>
+ <span class="labeltext" >Locators</span>
+ </div>
+ <!-- Deails B6-->
+ <div class="detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterTotalRegionsText"></div>
+ <span data-prod-custom="pulse-regionstableCaps-custom" class="labeltext" >Regions</span>
+ </div>
+ <!-- Deails B7-->
+ <div class="detailsBlock">
+ <div class="color-d2d5d7 font-size23" id="clusterFunctions"></div>
+ <span data-prod-custom="pulse-functionprocedureCaps-custom" class="labeltext" >Functions</span>
+ </div>
+ <!-- Deails B8-->
+ <div class="detailsBlock" id="clusterUniqueCQsContainer">
+ <div class="color-d2d5d7 font-size23" id="clusterUniqueCQs"></div>
+ <span class="labeltext" >Unique CQs</span>
+ </div>
+ <!-- Deails B9-->
+ <div class="detailsBlock" id="SubscriptionsContainer">
+ <div class="color-d2d5d7 font-size23"
+ id="clusterSubscriptionsText"></div>
+ <span class="labeltext" >Subscriptions</span>
+ </div>
+ <!-- Deails B10-->
+ <div class="detailsBlock" id="TxnCommittedContainer">
+ <div class="color-d2d5d7 font-size23"
+ id="clusterTxnCommittedText"></div>
+ <span class="labeltext" >Txn. Committed</span>
+ </div>
+ <!-- Deails B11-->
+ <div class="detailsBlock" id="TxnRollbackContainer">
+ <div class="color-d2d5d7 font-size23"
+ id="clusterTxnRollbackText"></div>
+ <span class="labeltext" >Txn. Rollback</span>
+ </div>
+ </div>
+ <div class="clear"></div>
+ <div>
+ <div class="middleTopologyBlock">
+ <!-- Large Block-->
+ <div class="canvasBlockLarge loaderParent marginBR10-11 left">
+ <div class="left widthfull-100per canvasBlockInnerBlock">
+ <!-- Drop Down list -->
+ <div class="left members_data" onClick="">
+ <ul class="inactive">
+ <li class="selected" id="members_data1">
+ <a href="javascript:onChangeClusterPerspective(1);">Members</a>
+ </li>
+ <li id="members_data2">
+ <a href="javascript:onChangeClusterPerspective(2);">Data</a>
+ </li>
+ </ul>
+ </div>
+ <!-- Expand/Collapse button -->
+ <a id="btnLargeBlock_1" class="minusIcon borderLeftToggleBlock"
+ onclick="toggleDiv('LargeBlock_1');"></a>
+ <!-- Visualization Icons -->
+ <div class="icons">
+ <!-- Members Topology default buttons -->
+ <div id="icons_member_view_option_default" style="display: block;">
+ <a id="default_grid_button" class="gridIcon"
+ onclick="openViewPanel('member', 'default','grid');"
+ data-perspective="member" data-view="default"
+ data-viewoption="grid"></a>
+ <a id="default_treemap_button" class="chartIcon"
+ onclick="openViewPanel('member', 'default','treemap');"
+ data-perspective="member" data-view="default"
+ data-viewoption="treemap"></a>
+ <a id="default_rgraph_button" class="graphIcon active"
+ onclick="openViewPanel('member', 'default','rgraph');"
+ data-perspective="member" data-view="default"
+ data-viewoption="rgraph"></a>
+ </div>
+ <!-- Members Server Group buttons -->
+ <div id="icons_member_view_option_servergroups" style="display: none;">
+ <a id="servergroups_grid_button" class="gridIcon"
+ onclick="openViewPanel('member', 'servergroups','grid');"
+ data-perspective="member" data-view="servergroups" data-viewoption="grid"></a>
+ <a id="servergroups_treemap_button" class="chartIcon active"
+ onclick="openViewPanel('member', 'servergroups','treemap');"
+ data-perspective="member" data-view="servergroups" data-viewoption="treemap"></a>
+ </div>
+ <!-- Members Redundancy Zones buttons -->
+ <div id="icons_member_view_option_redundancyzones" style="display: none;">
+ <a id="redundancyzones_grid_button" class="gridIcon"
+ onclick="openViewPanel('member', 'redundancyzones','grid');"
+ data-perspective="member" data-view="redundancyzones" data-viewoption="grid"></a>
+ <a id="redundancyzones_treemap_button" class="chartIcon active"
+ onclick="openViewPanel('member', 'redundancyzones','treemap');"
+ data-perspective="member" data-view="redundancyzones" data-viewoption="treemap"></a>
+ </div>
+ <!-- Data buttons -->
+ <div id="icons_data_view" style="display: none;">
+ <a id="data_grid_button" class="gridIcon"
+ onclick="openViewPanel('data','data','grid');"
+ data-perspective="data" data-view="data" data-viewoption="grid"></a>
+ <a id="data_treemap_button" class="chartIcon active"
+ onclick="openViewPanel('data','data','treemap');"
+ data-perspective="data" data-view="data" data-viewoption="treemap"></a>
+ </div>
+ </div>
+ </div>
+ <div id="loadingSymbol" class="loader"></div>
+ <div class="left canvasInnerBlock canvasBlockLargeContent" id="LargeBlock_1">
+ <div id="member_view_options" class="left members_view" style="display: block;">
+ <ul>
+ <li id="member_view_option_default" class="selected">
+ <LABEL class="label_radio r_on" for="radio-default">
+ <INPUT name="radio-group" id="radio-default" value="1"
+ type="radio">Topology</LABEL>
+ </li>
+ <li id="member_view_option_servergroups">
+ <LABEL class="label_radio" for="radio-servergroups">
+ <INPUT name="radio-group" id="radio-servergroups" value="2"
+ type="radio">Server Groups</LABEL>
+ </li>
+ <li id="member_view_option_redundancyzones">
+ <LABEL class="label_radio" for="radio-redundancyzones">
+ <INPUT name="radio-group" id="radio-redundancyzones" value="3"
+ type="radio">Redundancy Zones</LABEL>
+ </li>
+ </ul>
+ </div>
+ <!-- Hot Spot Drop down -->
+ <div id="hotspotParentContainer" class="right marginBottom10 marginR10 displayNone">
+ <div class="left position-relative hotspotNameTopMargin">
+ <a href="#." class="hotspotClicked-Off" id="userLink">
+ <span id="currentHotSpot" class="hotspot_txt">Current Hot Spot</span>
+ </a>
+ <!-- Setting Dropdown-->
+ <div id="hotspotSetting" class="settingBlock" style="display: none">
+ <div id="hotspotListContainer" class="jsonSuggestScrollFilter">
+ <div id="hotspotList"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div data-role="widget" data-widgetid="ClusterMembers"
+ data-active="yes" data-timeline="5000">
+ <!-- Topology R-graph Block - Member - Default view -->
+ <div class="graphBlocksPanel left display-block"
+ id="default_rgraph_block" data-role="widget"
+ data-widgetid="ClusterMembersRGraph" data-active="yes"
+ data-timeline="5000">
+ <!-- R-graph -->
+ <div class="left widthfull-100per marginB10" id="rGraphDiv">
+ <div class="topologyGraph">
+ <div id="container">
+ <div id="center-container">
+ <div id="infovis" style="width: 100%;"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- R-graph legends -->
+ <div class="marginB11 left widthfull-100per" id="rGraphLegends">
+ <div class="left marginL10">
+ <span class="left colorCodeBlock managerCode"></span>
+ <span class="left marginL10 ">Managers</span>
+ </div>
+ <div class="left marginL10">
+ <span class="left colorCodeBlock locatorsCode"></span>
+ <span class="left marginL10 ">Locators</span>
+ </div>
+ <div class="left marginL10">
+ <span class="left colorCodeBlock severeCode"></span>
+ <span class="left marginL10 ">Server</span>
+ </div>
+ </div>
+ </div>
+
+ <!--Treemap Block - Member - Default view -->
+ <div class="chartBlocksPanel left" id="default_treemap_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <div id="GraphTreeMap" style="height: 415px; width: 720px;"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--Grid Block - Member - Default view -->
+ <div class="gridBlocksPanel left display-none" id="default_grid_block">
+ <div class="left widthfull-100per">
+ <table id="memberList"></table>
+ </div>
+ </div>
+
+ <!--Treemap Block - Member - Server Group view -->
+ <div class="chartBlocksPanel left" id="servergroups_treemap_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <div id="GraphTreeMapSG" style="height: 415px; width: 720px;"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--Grid Block - Member - Server Group view -->
+ <div class="chartBlocksPanel left display-none" id="servergroups_grid_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <table id="memberListSG"></table>
+ </div>
+ </div>
+ </div>
+
+ <!--Treemap Block - Member - Redundancy Zones view -->
+ <div class="chartBlocksPanel left" id="redundancyzones_treemap_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <div id="GraphTreeMapRZ" style="height: 415px; width: 720px;"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--Grid Block - Member - Redundancy Zones view -->
+ <div class="chartBlocksPanel left display-none" id="redundancyzones_grid_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <table id="memberListRZ"></table>
+ </div>
+ </div>
+ </div>
+
+ <!--Treemap Block - Data -->
+ <div data-role="widget" data-widgetid="ClusterRegions"
+ data-active="yes" data-timeline="5000"
+ class="chartBlocksPanel left" id="data_treemap_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <div id="GraphTreeMapClusterData" style="height: 415px; width: 720px;"></div>
+ </div>
+ </div>
+ </div>
+
+ <!--Grid Block - Data -->
+ <div class="chartBlocksPanel left display-none" id="data_grid_block">
+ <div class="left widthfull-100per">
+ <div class="treeViewGraphClusterView">
+ <table id="regionsList"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ <!-- Block 4-->
+ <div class="canvasBlockKeyStats marginBR10-11 left" data-role="widget" data-widgetid="ClusterKeyStatistics" data-active ="yes" data-timeline="5000">
+ <div class="left width495 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading" >Key Statistics</span><a
+ id="btnSmallBlock_4" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_4');" ></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlockKeyStats"
+ id="SmallBlock_4">
+ <div class="graphBlocksContent left">
+ <span class="marginB11 left widthfull-100per" >Last 15
+ Minutes</span>
+ <!--Line 1-->
+ <div class="left widthfull-100per marginB10">
+ <span class="left lineGraphKeyStats" id="writePerSecSparkLine"></span><span
+ class="color-d2d5d7 font-size23" id="writePerSec"></span><span data-prod-custom="pulse-writeputpersec-custom"
+ class="paddingL5" >Write/Sec</span>
+ </div>
+ <!--Line 2-->
+ <div class="left widthfull-100per marginB10">
+ <span class="left lineGraphKeyStats" id="readPerSecSparkLine"></span><span
+ class="color-d2d5d7 font-size23" id="readPerSec"></span><span data-prod-custom="pulse-readgetpersec-custom"
+ class="paddingL5" >Read/Sec</span>
+ </div>
+ <!--Line 3-->
+ <div class="left widthfull-100per marginB10" id="queriesPerSecContainer">
+ <span class="left lineGraphKeyStats" id="queriesPerSecSparkLine"></span><span
+ class="color-d2d5d7 font-size23" id="queriesPerSec"></span><span
+ class="paddingL5" >Queries/Sec</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- Block 5-->
+
+ <!-- Block 6-->
+ <div class="canvasBlock marginBR10-11 left" data-role="widget" data-widgetid="ClusterJVMPAuses" data-active ="yes" data-timeline="5000">
+ <div class="left width242 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading" >No. of JVM
+ Pauses</span><a id="btnSmallBlock_6" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_6');" ></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlock"
+ id="SmallBlock_6">
+ <div class="graphBlocksContent">
+ <div class="color-d2d5d7 font-size40">
+ <span id="currentGCPauses"></span><span
+ class="font-size23 paddingL5"></span>
+ </div>
+ <span >Last 15 Minutes</span>
+ </div>
+ <div class="left graphChart">
+ <span class="left lineGraph" id="gcPauses"></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- Right Block-->
+ <div class="rightBlockCanvas">
+ <!-- Block 1-->
+ <div class="canvasBlock marginB10 left" id="wanInfoWidget" data-role="widget" data-widgetid="ClusterWanInformation" data-active ="yes" data-timeline="5000">
+ <div class="left width242 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading">WAN
+ Information</span><a id="btnSmallBlock_1" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_1');"></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlock"
+ id="SmallBlock_1">
+ <div class="scroll-pane_1">
+ <div id="wanInfoList"></div>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div>
+ <!-- Block 5-->
+ <div class="canvasBlock marginBR10-11 left" data-role="widget" data-widgetid="ClusterMemoryUsage" data-active ="yes" data-timeline="5000">
+ <div class="left width242 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading" >Memory Usage</span><a
+ id="btnSmallBlock_5" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_5');"></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlock"
+ id="SmallBlock_5">
+ <div class="graphBlocksContent">
+ <div class="color-d2d5d7 font-size40">
+ <span id="currentMemoryUsage"></span><span
+ class="font-size23 paddingL5" id="memoryUsageMB" >MB</span>
+ </div>
+ <span >Last 15 Minutes</span>
+ </div>
+ <div class="left graphChart">
+ <span class="left lineGraph" id="memoryUsage"></span>
+ </div>
+ </div>
+ </div>
+ <!-- Block 2-->
+ <!-- <div class="canvasBlock marginB10 left">
+ <div class="left width242 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading">Disk Storage
+ Used</span><a id="btnSmallBlock_2" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_2');"></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlock"
+ id="SmallBlock_2">
+ <div class="graphBlocksContent">
+ <div class="color-d2d5d7 font-size40">
+ <span id="currentDiskStorage"></span><span
+ class="font-size23 paddingL5" id="diskStorageMBGB">MB</span>
+ </div>
+ <span>Last 15 Minutes</span>
+ </div>
+ <div class="left graphChart">
+ <span class="left lineGraph" id="diskStorageGraph"></span>
+ </div>
+ </div>
+ </div>
+ <div class="clear"></div> -->
+ <!-- Block 3-->
+ <div class="canvasBlock marginB10 left" data-role="widget" data-widgetid="ClusterDiskThroughput" data-active="yes" data-timeline="5000">
+ <div class="left width242 canvasBlockInnerBlock">
+ <span class="left marginL10 canvasHeading">Disk Throughput</span>
+ <a id="btnSmallBlock_3" class="minusIcon"
+ onClick="toggleDiv('SmallBlock_3');"></a>
+ </div>
+ <div class="left canvasInnerBlock canvasContentBlock"
+ id="SmallBlock_3">
+ <div class="graphBlocksContent marginB11 ">
+ <div class="left">
+ <span class="left">Last 15 Minutes</span>
+ </div>
+ <div class="right marginL10">
+ <span data-prod-custom="pulse-reads-custom" class="left">Reads</span>
+ <span class="left marginL10 colorCodeBlock diskReadsCode"></span>
+ </div>
+ <div class="right marginL10">
+ <span data-prod-custom="pulse-writes-custom" class="left">Writes</span>
+ <span class="left marginL10 colorCodeBlock diskWritesCode"></span>
+ </div>
+ </div>
+ <div class="graphBlocksContent width91Per left">
+ <div class="color-d2d5d7 font-size20">
+ <span id="diskReadsThroughput"></span>
+ </div>
+ <div class="width100Per left">
+ <span class="left">Reads</span> <span class="right"
+ id="currentDiskReadsThroughput"></span>
+ </div>
+ </div>
+ <div class="left graphChart marginB11">
+ <span class="left lineGraph" id="diskReadsThroughputTrend"></span>
+ </div>
+ <div class="graphBlocksContent width91Per left">
+ <div class="color-d2d5d7 font-size20">
+ <span id="diskWritesThroughput"></span>
+ </div>
+ <div class="width100Per left">
+ <span class="left">Writes</span> <span class="right"
+ id="currentDiskWritesThroughput"></span>
+ </div>
+ </div>
+ <div class="left graphChart">
+ <span class="left lineGraph" id="diskWritesThroughputTrend"></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!--Popups Block-->
+<div id="boxes">
+ <!-- Version Details popup-->
+ <div id="dialog1" class="window width345" data-role="widget" data-widgetid="PulseVersionDetails" data-active ="yes" data-timeline="5000">
+ <div class="popup_heading"><span>Version Details</span><a href="#" class="closePopup"> </a></div>
+ <div class="popup_contentBlock">
+ <div class="popup-innerblock">
+ <ul class="widthfull-100per left" >
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Pulse Version:</label>
+ <label class="width-58 display-inline-block" id="pulseVer"></label>
+ </li>
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Build Id:</label>
+ <label class="width-58 display-inline-block" id="buildId"></label>
+ </li>
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Build Date:</label>
+ <label class="width-58 display-inline-block" id="buildDate"></label>
+ </li>
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Source Date:</label>
+ <label class="width-58 display-inline-block" id="sourceDate"></label>
+ </li>
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Source Revision:</label>
+ <label class="width-58 display-inline-block" id="sourceRevision"></label>
+ </li>
+ <li class="left widthfull-100per" >
+ <label class="width-40 display-inline-block" >Source Repository:</label>
+ <label class="width-58 display-inline-block" id="sourceRepository"></label>
+ </li>
+ </ul>
+ <div class="clear"></div>
+ </div>
+ </div>
+ </div>
+ <!-- Mask to cover the whole screen -->
+ <div id="mask"></div>
+</div>
+<div id="tooltip" class="tooltip"></div>
+</body>
+
+
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/ForceDirected.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/ForceDirected.css b/pulse/src/main/webapp/css/ForceDirected.css
new file mode 100644
index 0000000..fd2cbb5
--- /dev/null
+++ b/pulse/src/main/webapp/css/ForceDirected.css
@@ -0,0 +1,27 @@
+#inner-details {
+ font-size:12px;
+}
+
+span.close {
+ color:#FF5555;
+ cursor:pointer;
+ font-weight:bold;
+ margin-left:3px;
+}
+
+span.name {
+ cursor: pointer;
+}
+
+/*TOOLTIPS*/
+.tip {
+ text-align: left;
+ width:auto;
+ max-width:500px;
+}
+
+.tip-title {
+ font-size: 11px;
+ text-align:center;
+ margin-bottom:2px;
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/RGraph.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/RGraph.css b/pulse/src/main/webapp/css/RGraph.css
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/Treemap.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/Treemap.css b/pulse/src/main/webapp/css/Treemap.css
new file mode 100644
index 0000000..1683edd
--- /dev/null
+++ b/pulse/src/main/webapp/css/Treemap.css
@@ -0,0 +1,115 @@
+
+#center-containerTree {
+ width:730px;
+ position:absolute;
+ left:0px;
+ top:34px;
+ height:350px;
+ background:#132634;
+}
+
+#TreeMap {
+ position:relative;
+ height:350px;
+ margin:auto;
+ overflow:hidden;
+ width:730px;
+}
+
+.node {
+ color:#fff;
+ font-size:9px;
+ overflow:hidden;
+ cursor:pointer;
+/*
+ text-shadow:2px 2px 5px #000;
+ -o-text-shadow:2px 2px 5px #000;
+ -webkit-text-shadow:2px 2px 5px #000;
+ -moz-text-shadow:2px 2px 5px #000;
+*/
+}
+
+/*TOOLTIPS*/
+.tip {
+ color: #fff;
+ width: 200px;
+ background-color:#283649 !important;
+ border:1px solid #889eb9;
+ -moz-box-shadow:#555 2px 2px 8px;
+ -webkit-box-shadow:#555 2px 2px 8px;
+ -o-box-shadow:#555 2px 2px 8px;
+ box-shadow:#555 2px 2px 8px;
+ font-size:13px;
+ }
+
+.album {
+ width:100px;
+ margin:3px;
+}
+
+#id-list {
+ background-color:#EEEEEE;
+ border:1px solid #CCCCCC;
+ margin:10px 20px 0 20px;
+ padding:5px;
+ text-align:left;
+ text-indent:2px;
+}
+
+#id-list table {
+ margin-top:2px;
+}
+
+#back {
+ margin:10px 40px;
+}
+
+.button {
+ display: inline-block;
+ outline: none;
+ cursor: pointer;
+ text-align: center;
+ text-decoration: none;
+ padding: 0.5em 1em 0.55em;
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.3);
+ -webkit-border-radius: 0.5em;
+ -moz-border-radius: 0.5em;
+ border-radius: 0.5em;
+ -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
+}
+
+.button:hover {
+ text-decoration: none;
+}
+
+.button:active {
+ position: relative;
+ top: 1px;
+}
+
+/* white */
+.white {
+ color: #606060;
+ border: solid 1px #b7b7b7;
+ background: #fff;
+ background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ededed));
+ background: -moz-linear-gradient(top, #fff, #ededed);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#ededed');
+}
+
+.white:hover {
+ background: #ededed;
+ background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#dcdcdc));
+ background: -moz-linear-gradient(top, #fff, #dcdcdc);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#dcdcdc');
+}
+
+.white:active {
+ color: #999;
+ background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fff));
+ background: -moz-linear-gradient(top, #ededed, #fff);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#ffffff');
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/autocomplete/jsonSuggest.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/autocomplete/jsonSuggest.css b/pulse/src/main/webapp/css/autocomplete/jsonSuggest.css
new file mode 100644
index 0000000..6f260ad
--- /dev/null
+++ b/pulse/src/main/webapp/css/autocomplete/jsonSuggest.css
@@ -0,0 +1,72 @@
+
+div.jsonSuggestResults {
+ position:absolute;
+ border:1px solid #546579;
+ border-bottom:0px;
+ padding:0px;
+ margin:0px 0px;
+ z-index:1;
+ width:193px !important;
+ left:-1px !important;
+ top:45px !important;
+ /*max-height:125px !important;*/
+ overflow-y:auto;
+ overflow-x:hidden;
+ display:block !important;
+}
+
+div.jsonSuggestResults div.resultItem {
+ margin:0px;
+ padding:5px;
+ position:relative;
+ height:auto;
+ cursor:pointer;
+ background:#283649 !important;
+ border-bottom:1px solid #4e6277;
+ color:#868d98;
+
+}
+
+div.jsonSuggestResults div.resultItem.odd {
+ /*background-color:#d4e8f3; */
+ background:#283649 !important;
+}
+div.jsonSuggestResults div.resultItem.odd:hover{
+ color:#fff;
+ }
+
+div.jsonSuggestResults div.resultItem.even {
+ background:#283649 !important;
+}
+div.jsonSuggestResults div.resultItem.even:hover {
+ color:#fff;
+}
+div.jsonSuggestResults div.resultItem.hover {
+ background:#283649 !important;
+ color:#fff !important;
+}
+
+div.jsonSuggestResults div.resultItem img {
+ float:left;
+ margin-right:10px;
+}
+
+div.jsonSuggestResults div.resultItem p {
+ margin:0px;
+ padding:0px;
+}
+
+div.jsonSuggestResults div.resultItem p strong {
+ font-weight:bold;
+ text-decoration:underline;
+}
+
+div.jsonSuggestResults div.resultItem p.extra {
+ font-size: x-small !important;
+ position:absolute;
+ top:0px;
+ left: 0px;
+ width:190px;
+ height:24px;
+}
+div.jsonSuggestResults div.resultItem p.extra a{display:block;height:24px;}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/base.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/base.css b/pulse/src/main/webapp/css/base.css
new file mode 100644
index 0000000..895bf5d
--- /dev/null
+++ b/pulse/src/main/webapp/css/base.css
@@ -0,0 +1,55 @@
+
+input, select {
+ font-size:0.9em;
+}
+
+#container {
+
+ margin:0 auto;
+ position:relative;
+}
+
+#center-container {
+ /*height:600px;*/
+ position:absolute;
+ top:0;
+}
+
+
+#center-container {
+ color: #CCCCCC;
+ /*left: 379px;*/
+ /*margin: 75px 0 0;*/
+ /* padding: 10px 0px 0;*/
+ /*width: 722px;
+ height: 461px;*/
+ position: relative;
+}
+
+#inner-details {
+ font-size:0.8em;
+ list-style:none;
+ margin:7px;
+}
+
+
+
+#infovis {
+ height: 410px;
+ overflow: hidden;
+ position: relative;
+ /*width: 660px;*/
+}
+
+/*TOOLTIPS*/
+.tip {
+ color: #fff;
+ width: 200px;
+ background-color:#283649 !important;
+ border:1px solid #889eb9;
+ -moz-box-shadow:#555 2px 2px 8px;
+ -webkit-box-shadow:#555 2px 2px 8px;
+ -o-box-shadow:#555 2px 2px 8px;
+ box-shadow:#555 2px 2px 8px;
+ font-size:13px;
+ }
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/common.css
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/common.css b/pulse/src/main/webapp/css/common.css
new file mode 100644
index 0000000..32b366e
--- /dev/null
+++ b/pulse/src/main/webapp/css/common.css
@@ -0,0 +1,221 @@
+@charset "utf-8";
+/**********************************************************************************************
+
+ CSS3
+ Title: vmware
+ Date: September 2012
+
+***********************************************************************************************
+
+ 1. BASE
+ 1.1 Reset & Standards
+ 1.2 Links
+ 1.3 Lists
+ 1.4 Tables
+ 1.5 Misc
+ 1.6 Typography
+ 1.7 Block Width
+ 1.8 Font Size
+ 1.9 Font Color
+ 1.10 Line Height
+ 1.11 Input
+ 1.12 Margin & Padding
+
+***********************************************************************************************/
+/* --------------------------------------------------
+ 1.BASE
+ -------------------------------------------------- */
+
+/* --------------------------------------------------
+ 1.1 Global Reset & Standards
+ -------------------------------------------------- */
+ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; outline:none }
+ body { min-width:1000px};
+ html, body { margin: 0; padding: 0; height: 100%; }
+ html { /*overflow-y:auto;*/ overflow-y:scroll;}
+ sub { vertical-align: sub; }
+ sup { vertical-align: super; }
+ textarea { resize:none; }
+ ol, ul { list-style: none; }
+ blockquote, q { quotes: none; }
+ blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
+ /*table { border-collapse: collapse; border-spacing: 0; border:0px }*/
+/* --------------------------------------------------
+ 1.2 Links
+ -------------------------------------------------- */
+ a { color: #414141; text-decoration: none; line-height: inherit; cursor:pointer; outline:0/* set dotted border zero for IE8 & IE9*/ }
+ a:hover { color: #0363a0; }
+ p a, p a:visited { line-height: inherit; }
+/* --------------------------------------------------
+ 1.3 Lists
+ -------------------------------------------------- */
+ ul, ol { margin: 0px; }
+ ul { list-style: none outside; }
+ ol { list-style: none outside none }
+ ol, ul.square, ul.circle, ul.disc { margin:0px; padding:0px }
+ ul.square { list-style: square outside; }
+ ul.circle { list-style: circle outside; }
+ ul.disc { list-style: disc outside; }
+ li { margin: 0px; }
+ ul.large li { line-height: 21px; }
+/* --------------------------------------------------
+ 1.4 Tables
+ -------------------------------------------------- */
+ table { margin: 0 0 0 0px; }
+ table thead, table tfoot { background: #f5f5f5; }
+ table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { font-size: 0.9em; line-height: 18px; text-align: left; }
+ table thead tr th, table tfoot tr td { padding: 8px 10px 9px; font-size: 14px; font-weight: bold; color: #222; }
+ table tbody tr.even, table tbody tr.alt { background: #f9f9f9; }
+ table tbody tr td { color: #414141; padding: 0px; vertical-align: top; border: none; }
+
+/* --------------------------------------------------
+ 1.5 Misc
+---------------------------------------------------*/
+ .left { float: left; }
+ .right { float: right; }
+ .text-left { text-align: left; }
+ .text-right { text-align: right; }
+ .text-center { text-align: center; }
+ .postical-absolute { position:absolute }
+ .position-relative { position:relative }
+ .hide { display: none; }
+ .show { display:block }
+ .clear { clear:both; height:0; font-size:0px; line-height:0; }
+ .widthfull-100per { width:100%; }
+ .display-inline-block { display:inline-block }
+ .display-block { display:block }
+ .display-none { display:none }
+ .clearfix { height: 1%; overflow: visible; }
+ .verticalTop { vertical-align:top !important }
+ .verticalMiddle { vertical-align:middle !important }
+/* --------------------------------------------------
+ 1.6 Typography
+ -------------------------------------------------- */
+ h1, h2, h3, h4, h5, h6 { color: #181818; font-weight: bold; line-height: 1.25 }
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
+ p { margin: 0 0 0 0; }
+ p img { margin: 0; }
+/* --------------------------------------------------
+ 1.7 Block width
+ -------------------------------------------------- */
+ /* multi of 5*/
+ .width-5 { width:5% }
+ .width-10 { width:10% }
+ .width-15 { width:15% }
+ .width-20 { width:20% }
+ .width-25 { width:25% }
+ .width-30 { width:30% }
+ .width-35 { width:35% }
+ .width-40 { width:40% }
+ .width-45 { width:45% }
+ .width-50 { width:50% }
+ .width-55 { width:55% }
+ .width-60 { width:60% }
+ .width-65 { width:65% }
+ .width-70 { width:70% }
+ .width-75 { width:75% }
+ .width-80 { width:80% }
+ .width-85 { width:85% }
+ .width-90 { width:90% }
+ .width-95 { width:95% }
+/*even*/
+ .width-4 { width:4% }
+ .width-6 { width:6% }
+ .width-8 { width:8% }
+ .width-12 { width:12% }
+ .width-14 { width:14% }
+ .width-16 { width:16% }
+ .width-28 { width:28% }
+ .width-46 { width:46% }
+ .width-76 { width:76% }
+ .width-94 { width:94% }
+/*odd*/
+ .width-11 { width:11% }
+ .width-13 { width:13% }
+ .width-7 { width:7% }
+ .width-39 { width:39% }
+ .width-49 { width:49% }
+ .width-77 { width:77% }
+ .width-83 { width:83% }
+ .width-87 { width:87% }
+ .width-53 { width:53% }
+ .width-27 { width:27% }
+ .width-47 { width:47% }
+/* --------------------------------------------------
+ 1.8 Font Size
+ -------------------------------------------------- */
+ .font-size20{font-size:20px;}
+ .font-size23{font-size:23px;}
+ .font-size14{font-size:14px;}
+ .font-size15{font-size:15px;}
+ .font-size40{font-size:40px;}
+ .font-size17{font-size:17px;}
+ .font-size13{font-size:13px;}
+
+/* --------------------------------------------------
+ 1.9 Font Color
+ -------------------------------------------------- */
+ .color-fff { color:#ffffff }
+ .color-d2d5d7{color:#d2d5d7}
+
+
+/* --------------------------------------------------
+ 1.10 Line Height
+ -------------------------------------------------- */
+ .line-height-22 { line-height:22px }
+/*Height*/
+ .height16 { height:16px !important; vertical-align:top }
+ .height18 { height:18px !important; vertical-align:top !important; }
+ .height40 { height:40px; }
+ .height80 { height:80px; }
+ .height87 { height:87px; }
+ .height30 { height:30px; }
+ .height36 { height:36px; line-height:20px }
+ .height60 { height:65px; width:inherit }
+ .height20 { height:20px !important; line-height:20px !important; font-size:11px !important; }
+ .height71 { height:71px; }
+/* --------------------------------------------------
+ 1.11 Input
+ -------------------------------------------------- */
+
+ input[type="text"] { border: 1px solid #afafaf; border-radius: 2px 2px 2px 2px; color: #414141; font-family: Arial; font-size: 12px; padding: 5px 8px; outline:none }
+ textarea {border:0px; border-bottom:1px solid #27333b; !important; border-radius: 2px 2px 2px 2px; color: #878e92; font-family: Arial; font-size: 12px; padding: 5px 8px; outline:none; background:#0f1c25}
+ select { border:1px #b1b1b1 solid; border-radius:3px 3px 3px 3px; padding:3px 3px !important; color:#414141; outline: none; line-height:20px; }
+/* --------------------------------------------------
+ 1.12 Margin & Padding
+ -------------------------------------------------- */
+.marginTB10{margin:10px 0px}
+.marginLR10{margin:0px 10px}
+.marginL10{margin-left:10px}
+.marginR10{margin-right:10px}
+.marginB5{margin-bottom:5px;}
+.marginB10{margin-bottom:10px;}
+.marginB11{margin-bottom:11px;}
+.marginBR10-11{margin-bottom:10px; margin-right:11px;}
+.paddingTop0{padding-top:0px !important}
+.margin5All{margin:5px}
+
+/*padding*/
+.paddingL5{padding-left:5px;}
+/*cursor types*/
+.pointerCursor{cursor: pointer;}
+.defaultCursor{cursor: default;}
+
+/* background:transparent url(../images/RegionView_Popup.png); */
+ /* .tooltip {
+ display:none;
+ background:repeat #202b39;
+ background: url("../images/PopupImage.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
+ font-size:12px;
+ height:317px;
+ width:350px;
+ padding:5px;
+ color:#eee;
+ } */
+
+ .regionTipHeaderEnhancement {
+ font-size:12px;
+ padding:5px 0px;
+ color: #ababab;
+ }
+
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1922937f/pulse/src/main/webapp/css/fonts/DroidSans-Bold-webfont.eot
----------------------------------------------------------------------
diff --git a/pulse/src/main/webapp/css/fonts/DroidSans-Bold-webfont.eot b/pulse/src/main/webapp/css/fonts/DroidSans-Bold-webfont.eot
new file mode 100644
index 0000000..1691466
Binary files /dev/null and b/pulse/src/main/webapp/css/fonts/DroidSans-Bold-webfont.eot differ