http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseBaseTest.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseBaseTest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseBaseTest.java deleted file mode 100644 index 380d086..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseBaseTest.java +++ /dev/null @@ -1,693 +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.tests; - -import static com.vmware.gemfire.tools.pulse.tests.PulseAbstractTest.*; -import static org.junit.Assert.*; - -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - -import org.openqa.selenium.By; -import org.openqa.selenium.WebElement; -import org.openqa.selenium.interactions.Actions; -import org.openqa.selenium.support.ui.ExpectedConditions; -import org.openqa.selenium.support.ui.WebDriverWait; - -public class PulseBaseTest { - - public static int maxWaitTime = 20; - - WebElement element = null; - - public WebElement findElementUsingId(String id) { - return driver.findElement(By.id(id)); - } - public WebElement findElementUsingXpath(String xpath) { - return driver.findElement(By.xpath(xpath)); - } - - public void clickElementUsingId(String id) { - findElementUsingId(id).click(); - } - - public void clickElementUsingXpath(String xpath) { - findElementUsingXpath(xpath).click(); - } - - public void enterTextUsingId(String id, String textToEnter) { - findElementUsingId(id).sendKeys(textToEnter); - - } - - public void enterTextUsingXpath(String xpath, String textToEnter) { - findElementUsingXpath(xpath).sendKeys(textToEnter); - } - - public String getValueFromPropertiesFile(String key) { - return JMXProperties.getInstance().getProperty(key); - } - - public void sendKeysUsingId(String Id, String textToEnter){ - findElementById(Id).sendKeys(textToEnter); - } - - public void waitForElement(WebElement element) { - driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); - WebDriverWait wait = new WebDriverWait(driver, 20); - wait.until(ExpectedConditions.visibilityOf(element)); - } - - public WebElement findElementById(String id) { - return driver.findElement(By.id(id)); - } - - public WebElement findElementByXpath(String xpath) { - return driver.findElement(By.xpath(xpath)); - } - - public String getTextUsingXpath(String xpath) { - return findElementByXpath(xpath).getText(); - } - - public String getTextUsingId(String id) { - return findElementById(id).getText(); - } - - public String getPersistanceEnabled(Region r) { - String persitance = null; - - if (r.getPersistentEnabled()) { - persitance = "ON"; - } else if (!r.getPersistentEnabled()) { - persitance = "OFF"; - } - return persitance; - } - - public String getPersistanceEnabled(String trueOrFalse) { - String persitance = null; - - if (trueOrFalse.contains("true")) { - persitance = "ON"; - } else if (trueOrFalse.contains("false")) { - persitance = "OFF"; - } - return persitance; - } - - public String HeapUsage(String valueInKB) { - - return null; - } - - // WIP - need to work on this -- - public HashMap<String, HashMap<String, Region>> getRegionDetailsFromUI(String regionName) { - - String[] regionNames = JMXProperties.getInstance().getProperty("regions").split(" "); - HashMap<String, HashMap<String, Region>> regionUiMap = new HashMap<String, HashMap<String, Region>>(); - - for (String region : regionNames) { - HashMap<String, Region> regionMap = regionUiMap.get(region); - } - - return regionUiMap; - } - - public void validateServerGroupGridData() { - List<WebElement> serverGridRows = driver.findElements(By.xpath("//table[@id='memberListSG']/tbody/tr")); - int rowsCount = serverGridRows.size(); - String[][] gridDataFromUI = new String[rowsCount][7]; - - for (int j = 2, x = 0; j <= serverGridRows.size(); j++, x++) { - for (int i = 0; i <= 6; i++) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='memberListSG']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText(); - } - } - - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> sgMap = new HashMap<String, HashMap<String, Member>>(); - - for (String member : memberNames) { - Member thisMember = new Member(member); - String[] sgs = thisMember.getGroups(); - - for (String sgName : sgs) { - HashMap<String, Member> sgMembers = sgMap.get(sgName); - if (sgMembers == null) { - sgMembers = new HashMap<String, Member>(); - sgMap.put(sgName, sgMembers); - } - sgMembers.put(thisMember.getMember(), thisMember); - } - } - - for (int i = 0; i < gridDataFromUI.length - 1; i++) { - String sgName = gridDataFromUI[i][0]; - String memName = gridDataFromUI[i][1]; - Member m = sgMap.get(sgName).get(memName); - - assertEquals(sgName, gridDataFromUI[i][0]); - assertEquals(memName, gridDataFromUI[i][1]); - assertEquals(m.getMember(), gridDataFromUI[i][2]); - assertEquals(m.getHost(), gridDataFromUI[i][3]); - String cupUsage = String.valueOf(m.getCpuUsage()); - assertEquals(cupUsage, gridDataFromUI[i][5]); - } - - } - - public void validateRedundancyZonesGridData() { - List<WebElement> rzGridRows = driver.findElements(By.xpath("//table[@id='memberListRZ']/tbody/tr")); - int rowsCount = rzGridRows.size(); - String[][] gridDataFromUI = new String[rowsCount][7]; - - for (int j = 2, x = 0; j <= rzGridRows.size(); j++, x++) { - for (int i = 0; i <= 6; i++) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='memberListRZ']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText(); - } - } - - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>(); - - for (String member : memberNames) { - Member thisMember = new Member(member); - //String[] rz = thisMember.getRedundancyZone(); - String sgName = thisMember.getRedundancyZone(); - - //for (String sgName : rz) { - HashMap<String, Member> rzMembers = rzMap.get(sgName); - - if (rzMembers == null) { - rzMembers = new HashMap<String, Member>(); - rzMap.put(sgName, rzMembers); - } - - rzMembers.put(thisMember.getMember(), thisMember); - //} - } - - for (int i = 0; i < gridDataFromUI.length - 1; i++) { - String sgName = gridDataFromUI[i][0]; - String memName = gridDataFromUI[i][1]; - Member m = rzMap.get(sgName).get(memName); - - assertEquals(sgName, gridDataFromUI[i][0]); - assertEquals(memName, gridDataFromUI[i][1]); - assertEquals(m.getMember(), gridDataFromUI[i][2]); - assertEquals(m.getHost(), gridDataFromUI[i][3]); - String cupUsage = String.valueOf(m.getCpuUsage()); - assertEquals(cupUsage, gridDataFromUI[i][5]); - } - - } - - public void validateTopologyGridData() { - List<WebElement> rzGridRows = driver.findElements(By.xpath("//table[@id='memberList']/tbody/tr")); - int rowsCount = rzGridRows.size(); - String[][] gridDataFromUI = new String[rowsCount][8]; - - for (int j = 2, x = 0; j <= rzGridRows.size(); j++, x++) { - for (int i = 0; i <= 7; i++) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='memberList']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText(); - } - } - - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, Member> tpMap = new HashMap<String, Member>(); - - for (String member : memberNames) { - Member thisMember = new Member(member); - tpMap.put(thisMember.getMember(), thisMember); - - } - - for (int i = 0; i < gridDataFromUI.length - 1; i++) { - - String memName = gridDataFromUI[i][0]; - Member m = tpMap.get(memName); - - assertEquals(m.getMember(), gridDataFromUI[i][0]); - assertEquals(m.getMember(), gridDataFromUI[i][1]); - assertEquals(m.getHost(), gridDataFromUI[i][2]); - String cupUsage = String.valueOf(m.getCpuUsage()); - assertEquals(cupUsage, gridDataFromUI[i][5]); - } - } - - public void validateDataPrespectiveGridData() { - List<WebElement> serverGridRows = driver.findElements(By.xpath("//table[@id='regionsList']/tbody/tr")); - int rowsCount = serverGridRows.size(); - String[][] gridDataFromUI = new String[rowsCount][7]; - - for (int j = 2, x = 0; j <= serverGridRows.size(); j++, x++) { - for (int i = 0; i <= 6; i++) { - if (i < 5) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='regionsList']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText(); - } else if (i == 5) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='regionsList']/tbody/tr[" + j + "]/td[" + (i + 4) + "]")).getText(); - } - } - } - - String[] regionNames = JMXProperties.getInstance().getProperty("regions").split(" "); - HashMap<String, Region> dataMap = new HashMap<String, Region>(); - - for (String region : regionNames) { - Region thisRegion = new Region(region); - dataMap.put(thisRegion.getName(), thisRegion); - - } - - for (int i = 0; i < gridDataFromUI.length - 1; i++) { - String memName = gridDataFromUI[i][0]; - Region r = dataMap.get(memName); - - assertEquals(r.getName(), gridDataFromUI[i][0]); - assertEquals(r.getRegionType(), gridDataFromUI[i][1]); - - assertEquals(String.valueOf(r.getSystemRegionEntryCount()), gridDataFromUI[i][2]); - assertEquals(r.getFullPath(), gridDataFromUI[i][4]); - assertEquals(getPersistanceEnabled(r), gridDataFromUI[i][5]); - } - } - - public void validateRegionDetailsGridData() { - List<WebElement> serverGridRows = driver.findElements(By.xpath("//table[@id='memberList']/tbody/tr")); - int rowsCount = serverGridRows.size(); - String[][] gridDataFromUI = new String[rowsCount][7]; - - for (int j = 2, x = 0; j <= serverGridRows.size(); j++, x++) { - for (int i = 0; i < 2; i++) { - gridDataFromUI[x][i] = driver.findElement( - By.xpath("//table[@id='memberList']/tbody/tr[" + j + "]/td[" + (i + 1) + "]")).getText(); - } - } - - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, Member> tpMap = new HashMap<String, Member>(); - - for (String member : memberNames) { - Member thisMember = new Member(member); - tpMap.put(thisMember.getMember(), thisMember); - } - - for (int i = 0; i < gridDataFromUI.length - 1; i++) { - - String memName = gridDataFromUI[i][0]; - Member m = tpMap.get(memName); - assertEquals(m.getMember(), gridDataFromUI[i][0]); - } - - } - - public void navigateToToplogyView(){ - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.TopologyView.radioButtonXpath); - } - - public void navigateToServerGroupGView(){ - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.ServerGroups.radioButtonXpath); - } - - public void navigateToRedundancyZoneView(){ - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.RedundancyZone.radioButtonXpath); - } - - // ------ Topology / Server Group / Redundancy Group - Tree View - - public void navigateToTopologyTreeView(){ - navigateToToplogyView(); - clickElementUsingId(PulseTestLocators.TopologyView.treeMapButtonId); - } - - public void navigateToServerGroupTreeView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.ServerGroups.radioButtonXpath); - } - - public void navigateToRedundancyZonesTreeView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.RedundancyZone.radioButtonXpath); - } - - // ------ Topology / Server Group / Redundancy Group - Grid View - - public void navigateToTopologyGridView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.TopologyView.radioButtonXpath); - clickElementUsingId(PulseTestLocators.TopologyView.gridButtonId); - } - - public void navigateToServerGroupGridView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.ServerGroups.radioButtonXpath); - clickElementUsingId(PulseTestLocators.ServerGroups.gridButtonId); - } - - public void navigateToRedundancyZonesGridView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.RedundancyZone.radioButtonXpath); - clickElementUsingId(PulseTestLocators.RedundancyZone.gridButtonId); - } - - // ----- Data perspective / region details - - public void navigateToDataPrespectiveGridView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.DataPerspectiveView.downarrowButtonXpath); - clickElementUsingXpath(PulseTestLocators.DataPerspectiveView.dataViewButtonXpath); - clickElementUsingId(PulseTestLocators.DataPerspectiveView.gridButtonId); - } - - public void navigateToRegionDetailsView() { - clickElementUsingXpath(PulseTestLocators.TopNavigation.clusterViewLinkXpath); - clickElementUsingXpath(PulseTestLocators.DataPerspectiveView.downarrowButtonXpath); - clickElementUsingXpath(PulseTestLocators.DataPerspectiveView.dataViewButtonXpath); - // clickElementUsingXpath(PulseTestLocators.RegionDetailsView.regionNameXpath); - // // WIP - region navigation defect needs to fixed - clickElementUsingXpath(PulseTestLocators.RegionDetailsView.treeMapCanvasXpath); - } - - public void navigateToRegionDetailsGridView() { - navigateToRegionDetailsView(); - clickElementUsingXpath(PulseTestLocators.RegionDetailsView.gridButtonXpath); - } - - public String getPropertyValue(String propertyKey) { - String propertyValue = JMXProperties.getInstance().getProperty(propertyKey); - return propertyValue; - } - - public void verifyElementPresentById(String id) { - WebDriverWait wait = new WebDriverWait(driver, maxWaitTime, 500); - wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id(id))); - } - - public void verifyElementPresentByLinkText(String lnkText) { - WebDriverWait wait = new WebDriverWait(driver, maxWaitTime, 500); - wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.linkText(lnkText))); - } - - public void verifyElementPresentByXpath(String xpath) { - WebDriverWait wait = new WebDriverWait(driver, maxWaitTime, 500); - wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.xpath(xpath))); - } - - public void verifyTextPresrntById(String id, String text) { - WebDriverWait wait = new WebDriverWait(driver, maxWaitTime, 500); - wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id(id), text)); - } - - public void verifyTextPresrntByXpath(String xpath, String text) { - WebDriverWait wait = new WebDriverWait(driver, maxWaitTime, 500); - wait.until(ExpectedConditions.textToBePresentInElementLocated(By.xpath(xpath), text)); - } - - public void verifyElementAttributeById(String id, String attribute, String value) { - String actualValue = findElementById(id).getAttribute(attribute); - assertTrue(actualValue.equals(value) || actualValue.contains(value)); - } - - - public void mouseReleaseById(String id){ - verifyElementPresentById(id); - Actions action = new Actions(driver); - WebElement we = driver.findElement(By.id(id)); - action.moveToElement(we).release().perform(); - } - public void mouseClickAndHoldOverElementById(String id) { - verifyElementPresentById(id); - Actions action = new Actions(driver); - WebElement we = driver.findElement(By.id(id)); - action.moveToElement(we).clickAndHold().perform(); - } - - public void mouseOverElementByXpath(String xpath) { - Actions action = new Actions(driver); - WebElement we = driver.findElement(By.xpath(xpath)); - action.moveToElement(we).build().perform(); - } - - - public float stringToFloat(String stringValue){ - float floatNum = Float.parseFloat(stringValue); - return floatNum; - } - - public String floatToString(float floatValue){ - String stringValue = Float.toString(floatValue); - return stringValue; - } - - - public String[] splitString(String stringToSplit, String splitDelimiter){ - String [] stringArray = stringToSplit.split(splitDelimiter); - return stringArray; - } - - public void assertMemberSortingByCpuUsage(){ - Map<Double, String> memberMap = new TreeMap<>(Collections.reverseOrder()); - String [] membersNames = splitString(JMXProperties.getInstance().getProperty("members"), " "); - for (String member : membersNames) { - Member thisMember = new Member(member); - memberMap.put(thisMember.getCpuUsage(), thisMember.getMember()); - } - for(Map.Entry<Double,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberCPUUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM2; - }else{ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM3; - } - assertTrue(findElementById(entry.getValue()).getAttribute("style").contains(refMemberCPUUsage)); - } - } - - public void assertMemberSortingByHeapUsage(){ - Map<Long, String> memberMap = new TreeMap<Long,String>(Collections.reverseOrder()); - String [] membersNames = splitString(JMXProperties.getInstance().getProperty("members"), " "); - for (String member : membersNames) { - Member thisMember = new Member(member); - memberMap.put(thisMember.getCurrentHeapSize(), thisMember.getMember()); - } - for(Map.Entry<Long, String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberHeapUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM2; - }else{ - refMemberHeapUsage = PulseTestData.Topology.heapUsagePaintStyleM3; - } - assertTrue(findElementById(entry.getValue()).getAttribute("style").contains(refMemberHeapUsage)); - } - } - - public void assertMemberSortingBySGCpuUsage(){ - Map<Double, String> memberMap = new TreeMap<>(Collections.reverseOrder()); - String [] membersNames = splitString(JMXProperties.getInstance().getProperty("members"), " "); - for (String member : membersNames) { - Member thisMember = new Member(member); - memberMap.put(thisMember.getCpuUsage(), thisMember.getMember()); - } - for(Map.Entry<Double,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberCPUUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM2; - }else{ - refMemberCPUUsage = PulseTestData.Topology.cpuUsagePaintStyleM3; - } - assertTrue(findElementById(entry.getValue()).getAttribute("style").contains(refMemberCPUUsage)); - } - } - - - public void assertMemberSortingBySgHeapUsage(){ - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> sgMap = new HashMap<String, HashMap<String, Member>>(); - for (String member : memberNames) { - Member thisMember = new Member(member); - String[] sgs = thisMember.getGroups(); - - for (String sgName : sgs) { - HashMap<String, Member> sgMembers = sgMap.get(sgName); - if (sgMembers == null) { - sgMembers = new HashMap<String, Member>(); - sgMap.put(sgName, sgMembers); - } - sgMembers.put(thisMember.getMember(), thisMember); - } - } - Map<Float, String> memberMap = new TreeMap<Float,String>(Collections.reverseOrder()); - - for(int sgId=1; sgId<=3; sgId++){ - String sgName = "SG1"; - String memName = "M" + sgId; - Member m = sgMap.get(sgName).get(memName); - memberMap.put((float) m.getCurrentHeapSize(), m.getMember()); - } - - for(Map.Entry<Float,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberCPUUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberCPUUsage = PulseTestData.ServerGroups.heapUsagePaintStyleSG1M1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberCPUUsage = PulseTestData.ServerGroups.heapUsagePaintStyleSG1M2; - }else{ - refMemberCPUUsage = PulseTestData.ServerGroups.heapUsagePaintStyleSG1M3; - } - assertTrue(findElementById("SG1(!)"+entry.getValue()).getAttribute("style").contains(refMemberCPUUsage)); - } - } - - - - public void assertMemberSortingBySgCpuUsage(){ - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> sgMap = new HashMap<String, HashMap<String, Member>>(); - for (String member : memberNames) { - Member thisMember = new Member(member); - String[] sgs = thisMember.getGroups(); - - for (String sgName : sgs) { - HashMap<String, Member> sgMembers = sgMap.get(sgName); - if (sgMembers == null) { - sgMembers = new HashMap<String, Member>(); - sgMap.put(sgName, sgMembers); - } - sgMembers.put(thisMember.getMember(), thisMember); - } - } - Map<Double, String> memberMap = new TreeMap<>(Collections.reverseOrder()); - //SG3(!)M3 - for(int sgId=1; sgId<=3; sgId++){ - String sgName = "SG1"; - String memName = "M" + sgId; - Member m = sgMap.get(sgName).get(memName); - memberMap.put(m.getCpuUsage(), m.getMember()); - } - - for(Map.Entry<Double,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberCPUUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberCPUUsage = PulseTestData.ServerGroups.cpuUsagePaintStyleSG1M1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberCPUUsage = PulseTestData.ServerGroups.cpuUsagePaintStyleSG1M2; - }else{ - refMemberCPUUsage = PulseTestData.ServerGroups.cpuUsagePaintStyleSG1M3; - } - assertTrue(findElementById("SG1(!)"+entry.getValue()).getAttribute("style").contains(refMemberCPUUsage)); - } - } - - public void assertMemberSortingByRzHeapUsage(){ - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>(); - for (String member : memberNames) { - Member thisMember = new Member(member); - String sgName = thisMember.getRedundancyZone(); - HashMap<String, Member> rzMembers = rzMap.get(sgName); - - if (rzMembers == null) { - rzMembers = new HashMap<String, Member>(); - rzMap.put(sgName, rzMembers); - } - - rzMembers.put(thisMember.getMember(), thisMember); - } - Map<Float, String> memberMap = new TreeMap<Float,String>(Collections.reverseOrder()); - String rzName = "RZ1 RZ2"; - String memName = "M1" ; - Member m = rzMap.get(rzName).get(memName); - memberMap.put((float) m.getCurrentHeapSize(), m.getMember()); - - for(Map.Entry<Float,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberHeapUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ1RZ2M1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ1RZ2M2; - }else{ - refMemberHeapUsage = PulseTestData.RedundancyZone.heapUsagePaintStyleRZ3M3; - } - assertTrue(findElementById("RZ1 RZ2(!)"+entry.getValue()).getAttribute("style").contains(refMemberHeapUsage)); - } - } - - public void assertMemeberSortingByRzCpuUsage(){ - String[] memberNames = JMXProperties.getInstance().getProperty("members").split(" "); - HashMap<String, HashMap<String, Member>> rzMap = new HashMap<String, HashMap<String, Member>>(); - for (String member : memberNames) { - Member thisMember = new Member(member); - String sgName = thisMember.getRedundancyZone(); - HashMap<String, Member> rzMembers = rzMap.get(sgName); - - if (rzMembers == null) { - rzMembers = new HashMap<String, Member>(); - rzMap.put(sgName, rzMembers); - } - - rzMembers.put(thisMember.getMember(), thisMember); - } - Map<Double, String> memberMap = new TreeMap<>(Collections.reverseOrder()); - String rzName = "RZ1 RZ2"; - String memName = "M1" ; - Member m = rzMap.get(rzName).get(memName); - memberMap.put(m.getCpuUsage(), m.getMember()); - - for(Map.Entry<Double,String> entry : memberMap.entrySet()) { - //here matching painting style to validation that the members are painted according to their cpu usage - String refMemberCPUUsage = null; - if(entry.getValue().equalsIgnoreCase("M1")){ - refMemberCPUUsage = PulseTestData.RedundancyZone.cpuUsagePaintStyleRZ1RZ2M1; - }else if(entry.getValue().equalsIgnoreCase("M2")){ - refMemberCPUUsage = PulseTestData.RedundancyZone.cpuUsagePaintStyleRZ1RZ2M2; - } - assertTrue(findElementById("RZ1 RZ2(!)"+entry.getValue()).getAttribute("style").contains(refMemberCPUUsage)); - } - } - - public List<WebElement> getRegionsFromDataBrowser(){ - List<WebElement> regionList = driver.findElements(By.xpath("//span[starts-with(@ID,'treeDemo_')][contains(@id,'_span')]")); - return regionList; - } -}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseNoAuthTest.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseNoAuthTest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseNoAuthTest.java deleted file mode 100644 index 114d32b..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseNoAuthTest.java +++ /dev/null @@ -1,33 +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.tests; - -import org.apache.geode.test.junit.categories.UITest; -import org.junit.BeforeClass; -import org.junit.FixMethodOrder; -import org.junit.experimental.categories.Category; -import org.junit.runners.MethodSorters; - -@Category(UITest.class) -@FixMethodOrder(MethodSorters.JVM) -public class PulseNoAuthTest extends PulseAbstractTest { - - @BeforeClass - public static void beforeClassSetup() throws Exception { - setUpServer("admin", "admin", null); - } -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestData.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestData.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestData.java deleted file mode 100644 index 88cfa4e..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestData.java +++ /dev/null @@ -1,106 +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.tests; - -public class PulseTestData { - - public static class TopNavigation{ - - } - - public static class ClusterStatus { - - public static final String membersProperty = "members"; - } - public static class Topology{ - public static final String hotSpotHeapLbl = "Heap Usage"; - public static final String hotSpotCPULbl = "CPU Usage"; - - public static final String cpuUsagePaintStyleM1 = "left: 497px; top: 0px;"; - public static final String cpuUsagePaintStyleM2 = "left: 0px; top: 0px;"; - public static final String cpuUsagePaintStyleM3 = "left: 265px; top: 0px;"; - - public static final String heapUsagePaintStyleM1 = "left: 0px; top: 0px;"; - public static final String heapUsagePaintStyleM2 = "left: 559px; top: 0px;"; - public static final String heapUsagePaintStyleM3 = "left: 280px; top: 0px;"; - } - - public static class ServerGroups{ - public static final String hotSpotHeapLbl = "Heap Usage"; - public static final String hotSpotCPULbl = "CPU Usage"; - - //Cpu Usage sorting -// public static final String cpuUsagePaintStyleM1 = "left: 497px; top: 0px;"; -// public static final String cpuUsagePaintStyleM2 = "left: 0px; top: 0px;"; -// public static final String cpuUsagePaintStyleM3 = "left: 265px; top: 0px;"; - - public static final String cpuUsagePaintStyleSG1M1 = "left: 0px; top: 295px;"; - public static final String cpuUsagePaintStyleSG1M2 = "left: 0px; top: 30px;"; - public static final String cpuUsagePaintStyleSG1M3 = "left: 0px; top: 171px;"; - - public static final String cpuUsagePaintStyleSG2M1 = "left: 240px; top: 239px;"; - public static final String cpuUsagePaintStyleSG2M2 = "left: 240px; top: 30px;"; - - public static final String cpuUsagePaintStyleSG3M3 = "left: 479px; top: 30px;"; - - //heap usage sorting - public static final String heapUsagePaintStyleSG1M1 = "left: 0px; top: 30px;"; - public static final String heapUsagePaintStyleSG1M2 = "left: 152px; top: 179px;"; - public static final String heapUsagePaintStyleSG1M3 = "left: 0px; top: 179px;"; - - public static final String heapUsagePaintStyleSG2M1 = "left: 240px; top: 30px;"; - public static final String heapUsagePaintStyleSG2M2 = "left: 240px; top: 274px;"; - - public static final String heapUsagePaintStyleSG3M3 = "left: 479px; top: 30px;"; - } - - public static class RedundancyZone{ - - public static final String hotSpotHeapLbl = "Heap Usage"; - public static final String hotSpotCPULbl = "CPU Usage"; - - public static final String heapUsagePaintStyleRZ1RZ2M1 = "left: 0px; top: 30px;"; - public static final String heapUsagePaintStyleRZ1RZ2M2 = "left: 0px; top: 274px;"; - - public static final String heapUsagePaintStyleRZ3M3 = "left: 360px; top: 30px;"; - - public static final String cpuUsagePaintStyleRZ1RZ2M1 ="left: 0px; top: 239px;"; - public static final String cpuUsagePaintStyleRZ1RZ2M2 ="left: 0px; top: 30px;"; - - - } - - public static class DataPerspectiveView { - - } - - public static class DataBrowser { - public static final String partialRgnName = "R"; - public static final String chkRgnClassName = "bttn chk checkbox_true_full"; - public static final String notChkRgnClassName = "bttn chk checkbox_false_full"; - - public static final String regName = "R1"; - public static final String query1Text = "select * from /R1"; - - public static final String datePattern = "EEE, MMM dd yyyy, HH:mm:ss z"; - - } - - -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestLocators.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestLocators.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestLocators.java deleted file mode 100644 index ec6a6b4..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTestLocators.java +++ /dev/null @@ -1,225 +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.tests; - -public class PulseTestLocators { - public static class HtmlAttributes{ - public static final String classAttribute = "class"; - public static final String typeAttribute = "type"; - public static final String idAttribute = "id"; - public static final String nameAttribute = "name"; - public static final String placeholderAttribute = "placeholder"; - public static final String valueAttribute = "value"; - public static final String styleAttribute ="style"; - } - - public static class TopNavigation { - public static final String clusterViewLinkXpath = "//a[text()='Cluster View']"; - } - - public static class ClusterStatus { - - } - - public static class MemberDetailsView { - public static final String gridButtonXpath = "//a[@id='btngridIcon']"; - } - - public static class TopologyView { - - public static final String radioButtonId = "radio-default"; - public static final String radioButtonXpath = "//label[text()='Topology']"; - public static final String gridButtonId = "default_grid_button"; - public static final String nodeH1Id = "h1"; - public static final String nodeH2Id = "h2"; - public static final String nodeH3Id = "h3"; - public static final String memberM1Id = "M1"; - public static final String memberM2Id = "M2"; - public static final String memberM3Id = "M3"; - public static final String treeMapButtonId = "default_treemap_button"; - - // Host tootips - public static final String hostNameTTXpath = ".//*[@id='_tooltip']/div/div/div[1]"; - public static final String cpuUsageTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[1]/div[2]/div"; - public static final String memoryUsageTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[2]/div[2]/div"; - public static final String loadAvgTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[3]/div[2]/div"; - public static final String soketsTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[4]/div[2]/div"; - - // Member tooltips - public static final String memNameTTXpath = ".//*[@id='_tooltip']/div/div/div[1]"; - public static final String memCpuUsageTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[1]/div[2]/div"; - public static final String threadsTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[2]/div[2]/div/text()"; - public static final String jvmPausesTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[3]/div[2]/div"; - public static final String regionsTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[4]/div[2]/div"; - public static final String clientsTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[5]/div[2]/div"; - public static final String gatewaySenderTtXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[6]/div[2]/div"; - public static final String portTTXpath = ".//*[@id='_tooltip']/div/div/div[2]/div[7]/div[2]/div"; - - // Grid view - public static final String idM1Xpath = ".//*[@id='M1&M1']/td[1]"; - public static final String nameM1Xpath = ".//*[@id='M1&M1']/td[2]"; - public static final String hostH1Xpath = ".//*[@id='M1&M1']/td[3]"; - public static final String idM2Xpath = ".//*[@id='M2&M2']/td[1]"; - public static final String nameM2Xpath = ".//*[@id='M2&M2']/td[2]"; - public static final String hostH2Xpath = ".//*[@id='M2&M2']/td[3]"; - public static final String idM3Xpath = ".//*[@id='M3&M3']/td[1]"; - public static final String nameM3Xpath = ".//*[@id='M3&M3']/td[2]"; - public static final String hostH3Xpath = ".//*[@id='M3&M3']/td[3]"; - - // HotSpot locators - public static final String hotSpotId = "currentHotSpot"; - public static final String hotspotListDivId = "hotspotList"; - public static final String heapUsageXpath = "//a[text()='Heap Usage']"; - public static final String cpuUsageXpath = "//a[text()='CPU Usage']"; - public static final String graphTreeMapLblId = "//div[@id='GraphTreeMap-label']/child::node()"; - - } - - public static class ServerGroups { - - public static final String radioButtonId = "radio-servergroups"; - public static final String radioButtonXpath = "//label[text()='Server Groups']"; - public static final String gridButtonId = "servergroups_grid_button"; - public static final String gridBlockId = "servergroups_grid_block"; - - public static final String serverGrpsRadioId = "member_view_option_servergroups"; - - public static final String serverGrpsRadioXpath = "//label[@for='radio-servergroups']"; - - public static final String serverGrp1Id = "SG1"; - public static final String serverGrp2Id = "SG2"; - public static final String serverGrp3Id = "SG3"; - - public static final String serverGrp1Xpath = ".//*[@id='SG1']/div"; - public static final String serverGrp2Xpath = ".//*[@id='SG2']/div"; - public static final String serverGrp3Xpath = ".//*[@id='SG3']/div"; - - public static final String sg1M1Id = "SG1(!)M1"; - public static final String sg1M2Id = "SG1(!)M2"; - public static final String sg1M3Id = "SG1(!)M3"; - public static final String sg2M1Id = "SG2(!)M1"; - public static final String sg2M2Id = "SG2(!)M2"; - public static final String sg3M3Id = "SG3(!)M3"; - - // Grid view - public static final String idSG1M3Xpath = ".//*[@id='M3&M3']/td[2]"; - public static final String idSG1M2Xpath = ".//*[@id='M2&M2']/td[2]"; - public static final String idSG1M1Xpath = ".//*[@id='M1&M1']/td[2]"; - public static final String nameM3Xpath = ".//*[@id='M3&M3']/td[3]"; - public static final String nameM2Xpath = ".//*[@id='M2&M2']/td[3]"; - public static final String nameM1Xpath = ".//*[@id='M1&M1']/td[3]"; - - //HotSpot locators - public static final String hotSpotId = "currentHotSpot"; - public static final String hotspotListDivId= "hotspotList"; - public static final String heapUsageXpath= "//a[text()='Heap Usage']"; - public static final String cpuUsageXpath= "//a[text()='CPU Usage']"; - public static final String graphTreeMapLblId = "//div[@id='GraphTreeMap-label']/child::node()"; - - } - - public static class RedundancyZone { - - public static final String radioButtonId = "radio-redundancyzones"; - public static final String radioButtonXpathAlt = "//label[text()='Redundancy Zones']"; - public static final String radioButtonXpath = "//label[@for='radio-redundancyzones']"; - - public static final String gridButtonId = "redundancyzones_grid_button"; - - public static final String zoneRZ1Id = "RZ1 RZ2"; - public static final String zoneRZ2Id = "RZ2"; - - - public static final String zoneRZ1RZ2Xpath = ".//*[@id='RZ1 RZ2']/div"; - public static final String zoneRZ2Xpath = ".//*[@id='RZ2']/div"; - - public static final String m1RZ1RZ2Id = "RZ1 RZ2(!)M1"; - public static final String m2RZ1Id = "RZ1 RZ2(!)M2"; - public static final String m3RZ2Id = "RZ2(!)M3"; -// public static final String m3RZ2Id = "RZ2(!)M3"; -// public static final String m2RZ2Id = "RZ2(!)M2"; - // Grid - public static final String idM2Xpath = ".//*[@id='M2&M2']/td[2]"; - public static final String idM1Xpath = ".//*[@id='M1&M1']/td[2]"; - public static final String idM3Xpath = ".//*[@id='M3&M3']/td[2]"; - - //HotSpot locators - public static final String hotSpotId = "currentHotSpot"; - public static final String hotspotListDivId= "hotspotList"; - public static final String heapUsageXpath= "//a[text()='Heap Usage']"; - public static final String cpuUsageXpath= "//a[text()='CPU Usage']"; - public static final String graphTreeMapLblId = "//div[@id='GraphTreeMap-label']/child::node()"; - } - - public static class DataPerspectiveView { - public static final String downarrowButtonXpath = "//a[text()='Members']"; - public static final String dataViewButtonXpath = "//a[text()='Data']"; - public static final String gridButtonId = "data_grid_button"; - } - - public static class RegionDetailsView { - - public static final String regionNameDivId = "regionNameText"; - public static final String regionPathId = "regionPath"; - public static final String treeMapCanvasXpath = "//canvas[@id='GraphTreeMapClusterData-canvas']"; - public static final String regionTypeId = "regionType"; - public static final String regionMembersTextId = "regionMembersText"; - public static final String regionEmptyNodesId = "regionEmptyNodes"; - public static final String regionEntryCountTextId = "regionEntryCountText"; - public static final String regionDiskUsageId = "regionDiskUsage"; - public static final String regionPersistenceId = "regionPersistence"; - - public static final String gridButtonXpath = "//a[@id='btngridIcon']"; - public static final String memoryUsedId = "memoryUsed"; - public static final String totalMemoryId = "totalMemory"; - - public static final String inMemoryReadsId = "currentReadsPerSec"; - public static final String inMemoryWritesId = "currentWritesPerSec"; - public static final String diskReadsId = "currentDiskReadsPerSec"; - public static final String diskWritesId = "currentDiskWritesPerSec"; - - public static final String memberNameId = "memberName"; - - } - - public static class DataBrowser { - public static final String rgnFilterTxtBoxId = "filterTextRegion"; - public static final String rgnNameSpanXpath = "//span[starts-with(@ID,'treeDemo_')][contains(@id,'_span')]"; - public static final String rgnNameTxtBoxXpath = "//span[starts-with(@ID,'treeDemo_')][contains(@id,'_span')]"; - public static final String rgnSpanFirstPart = "//span[@id='treeDemo_"; - public static final String rgnSpanSecondPart = "_span']"; - public static final String rgn1ChkBoxId = "treeDemo_1_check"; - public static final String queryEditorTxtBoxId = "dataBrowserQueryText"; - public static final String btnExecuteQueryId = "btnExecuteQuery"; - - public static final String divDataRegions = "//div/ul[@id='treeDemo']/li"; - - // History section - public static final String historyIcon = "historyIcon"; - public static final String historyLst = "//div[@id='detailsHistoryList']/div/div"; - public static final String queryText = ".wrapHistoryContent"; - public static final String historyDateTime = ".dateTimeHistory"; - - //Clear button - - public static final String btnClearXpath = "//input[@value='Clear']"; - - } - -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Region.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Region.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Region.java deleted file mode 100644 index ae8cc92..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Region.java +++ /dev/null @@ -1,187 +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.tests; - -import java.util.HashMap; -import java.util.Map; - -import javax.management.openmbean.CompositeData; -import javax.management.openmbean.CompositeDataSupport; -import javax.management.openmbean.CompositeType; -import javax.management.openmbean.OpenDataException; -import javax.management.openmbean.OpenType; -import javax.management.openmbean.SimpleType; - -public class Region extends JMXBaseBean implements RegionMBean { - private String name = null; - - private static String[] regAttItemNames = { "compressionCodec", - "enableOffHeapMemory", "scope", "diskStoreName", - "diskSynchronous" }; - private static String[] regAttItemDescriptions = { "compressionCodec", - "enableOffHeapMemory", "scope", "diskStoreName", - "diskSynchronous" }; - private static OpenType[] regAttItemTypes = { SimpleType.STRING, - SimpleType.BOOLEAN, SimpleType.STRING, - SimpleType.STRING, SimpleType.BOOLEAN }; - private static CompositeType listRegionAttributesCompData = null; - - static { - try { - listRegionAttributesCompData = new CompositeType("listRegionAttributes", - "Regions attributes", regAttItemNames, regAttItemDescriptions, - regAttItemTypes); - - } catch (OpenDataException e) { - e.printStackTrace(); - } - } - - public Region(String name) { - this.name = name; - } - - protected String getKey(String propName) { - return "region." + name + "." + propName; - } - - @Override - public String[] getMembers() { - return getStringArray("members"); - } - - @Override - public String getFullPath() { - return getString("fullPath"); - } - - @Override - public double getDiskReadsRate() { - return getDouble("diskReadsRate"); - } - - @Override - public double getDiskWritesRate() { - return getDouble("diskWritesRate"); - } - - @Override - public int getEmptyNodes() { - return getInt("emptyNodes"); - } - - @Override - public double getGetsRate() { - return getDouble("getsRate"); - } - - @Override - public double getLruEvictionRate() { - return getDouble("lruEvictionRate"); - } - - @Override - public double getPutsRate() { - return getDouble("putsRate"); - } - - @Override - public String getRegionType() { - return getString("regionType"); - } - - @Override - public long getEntrySize() { - return getLong("entrySize"); - } - - @Override - public long getSystemRegionEntryCount() { - return getLong("systemRegionEntryCount"); - } - - @Override - public int getMemberCount() { - return getInt("memberCount"); - } - - @Override - public boolean getPersistentEnabled() { - return getBoolean("persistentEnabled"); - } - - @Override - public String getName() { - return getString("name"); - } - - @Override - public boolean getGatewayEnabled() { - return getBoolean("gatewayEnabled"); - } - - @Override - public long getDiskUsage() { - return getLong("diskUsage"); - } - - @Override - public CompositeData listRegionAttributes() { - String value = JMXProperties.getInstance().getProperty( - getKey("listRegionAttributes"), ""); - String[] itemValues = value.split(","); - Map<String, Object> itemValuesHM = new HashMap<String, Object>(); - - // compressionCodec - if (null != itemValues[0]) { - itemValuesHM.put(regAttItemNames[0], itemValues[0]); - } - - // enableOffHeapMemory - if (null != itemValues[1]) { - itemValuesHM.put(regAttItemNames[1], Boolean.parseBoolean(itemValues[1])); - } - - // scope - if (null != itemValues[3]) { - itemValuesHM.put(regAttItemNames[3], itemValues[3]); - } - - // diskStoreName - if (null != itemValues[4]) { - itemValuesHM.put(regAttItemNames[4], itemValues[4]); - } - - // diskSynchronous - if (null != itemValues[5]) { - itemValuesHM.put(regAttItemNames[5], Boolean.parseBoolean(itemValues[5])); - } - - CompositeData lraCompData; - try { - lraCompData = new CompositeDataSupport(listRegionAttributesCompData, - itemValuesHM); - } catch (OpenDataException e) { - e.printStackTrace(); - lraCompData = null; - } - return lraCompData; - } - -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionMBean.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionMBean.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionMBean.java deleted file mode 100644 index a408b94..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionMBean.java +++ /dev/null @@ -1,59 +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.tests; - -import javax.management.openmbean.CompositeData; - -public interface RegionMBean { - String OBJECT_NAME = "GemFire:service=Region,type=Distributed"; - - String[] getMembers(); - - String getFullPath(); - - double getDiskReadsRate(); - - double getDiskWritesRate(); - - int getEmptyNodes(); - - double getGetsRate(); - - double getLruEvictionRate(); - - double getPutsRate(); - - String getRegionType(); - - long getEntrySize(); - - long getSystemRegionEntryCount(); - - int getMemberCount(); - - boolean getPersistentEnabled(); - - String getName(); - - boolean getGatewayEnabled(); - - long getDiskUsage(); - - CompositeData listRegionAttributes(); -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMember.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMember.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMember.java deleted file mode 100644 index fc62de3..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMember.java +++ /dev/null @@ -1,95 +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.tests; - -/** - * Region on member mbean - * - * - * - */ -public class RegionOnMember extends JMXBaseBean implements RegionOnMemberMBean { - private String fullPath = null; - private String member = null; - - public RegionOnMember(String fullPath, String member) { - this.fullPath = fullPath; - this.member = member; - } - - @Override - protected String getKey(String propName) { - return "regionOnMember." + fullPath + "." + member + "." + propName; - } - - @Override - public String getFullPath(){ - return this.fullPath; - } - - @Override - public String getMember(){ - return this.member; - } - - @Override - public String getName(){ - return getString("name"); - } - - @Override - public String getRegionType(){ - return getString("regionType"); - } - - @Override - public long getEntrySize(){ - return getLong("entrySize"); - } - - @Override - public long getEntryCount(){ - return getLong("entryCount"); - } - - @Override - public double getGetsRate(){ - return getDouble("getsRate"); - } - - @Override - public double getPutsRate(){ - return getDouble("putsRate"); - } - - @Override - public double getDiskReadsRate(){ - return getDouble("diskGetsRate"); - } - - @Override - public double getDiskWritesRate(){ - return getDouble("diskPutsRate"); - } - - @Override - public int getLocalMaxMemory(){ - return getInt("localMaxMemory"); - } -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMemberMBean.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMemberMBean.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMemberMBean.java deleted file mode 100644 index 3191582..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/RegionOnMemberMBean.java +++ /dev/null @@ -1,49 +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.tests; - -/** - * Region on members mbean - * - * - */ -public interface RegionOnMemberMBean { - - String getName(); - - String getRegionType(); // Ideally should be an Enum - - String getFullPath(); - - String getMember(); - - long getEntrySize(); - - long getEntryCount(); - - double getGetsRate(); - - double getPutsRate(); - - double getDiskReadsRate(); - - double getDiskWritesRate(); - - int getLocalMaxMemory(); -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Server.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Server.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Server.java deleted file mode 100644 index 042a9bf..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/Server.java +++ /dev/null @@ -1,247 +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.tests; - -import java.io.IOException; -import java.lang.management.ManagementFactory; -import java.net.Inet4Address; -import java.net.Inet6Address; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - -import javax.management.InstanceAlreadyExistsException; -import javax.management.MBeanRegistrationException; -import javax.management.MBeanServer; -import javax.management.MalformedObjectNameException; -import javax.management.NotCompliantMBeanException; -import javax.management.ObjectName; -import javax.management.remote.JMXConnectorServer; -import javax.management.remote.JMXConnectorServerFactory; -import javax.management.remote.JMXServiceURL; - -import com.vmware.gemfire.tools.pulse.internal.data.PulseConstants; -import org.apache.geode.security.templates.SampleSecurityManager; -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.mgt.DefaultSecurityManager; -import org.apache.shiro.mgt.SecurityManager; -import org.apache.shiro.realm.Realm; - -import org.apache.geode.internal.security.shiro.CustomAuthRealm; -import org.apache.geode.internal.security.shiro.JMXShiroAuthenticator; -import org.apache.geode.management.internal.security.AccessControlMBean; -import org.apache.geode.management.internal.security.MBeanServerWrapper; -import org.apache.geode.management.internal.security.ResourceConstants; - -public class Server { - - private static final String DEFAULT_HOST = "127.0.0.1"; //"localhost" - private static final int DEFAULT_PORT = 9999; - private final JMXServiceURL url; - private MBeanServer mbs; - private JMXConnectorServer cs; - private String propFile = null; - - public Server(int port, String properties, String jsonAuthFile) throws Exception { - this.propFile = properties; - mbs = ManagementFactory.getPlatformMBeanServer(); - url = new JMXServiceURL(formJMXServiceURLString(DEFAULT_HOST, port)); - - // Load the beans first, otherwise we get access denied - loadMBeans(); - - if (jsonAuthFile != null) { - System.setProperty("spring.profiles.active", "pulse.authentication.gemfire"); - - Map<String, Object> env = new HashMap<String, Object>(); - - // set up Shiro Security Manager - Properties securityProperties = new Properties(); - securityProperties.setProperty(SampleSecurityManager.SECURITY_JSON, jsonAuthFile); - Realm realm = new CustomAuthRealm(SampleSecurityManager.class.getName(), securityProperties); - SecurityManager securityManager = new DefaultSecurityManager(realm); - SecurityUtils.setSecurityManager(securityManager); - - // register the AccessControll bean - AccessControlMBean acc = new AccessControlMBean(); - ObjectName accessControlMBeanON = new ObjectName(ResourceConstants.OBJECT_NAME_ACCESSCONTROL); - MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer(); - platformMBeanServer.registerMBean(acc, accessControlMBeanON); - - // wire in the authenticator and authorizaton - JMXShiroAuthenticator interceptor = new JMXShiroAuthenticator(); - env.put(JMXConnectorServer.AUTHENTICATOR, interceptor); - cs = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbs); - cs.setMBeanServerForwarder(new MBeanServerWrapper()); - - //set up the AccessControlMXBean - - } else { - System.setProperty("spring.profiles.active", "pulse.authentication.default"); - cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); - } - - try { - java.rmi.registry.LocateRegistry.createRegistry(port); - System.out.println("RMI registry ready."); - } catch (Exception e) { - System.out.println("Exception starting RMI registry:"); - e.printStackTrace(); - } - - cs.start(); - } - - private String formJMXServiceURLString(String host, int port) throws UnknownHostException { - String jmxSerURL = ""; - - 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; - } - - public void stop() { - try { - cs.stop(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - private synchronized void loadMBeans() { - JMXProperties props = JMXProperties.getInstance(); - try { - props.load(propFile); - } catch (IOException e) { - e.printStackTrace(); - } - - // Add servers - String[] servers = getArrayProperty(props, "servers"); - for (String server : servers) { - try { - addServerMBean(server); - } catch (InstanceAlreadyExistsException e) { - e.printStackTrace(); - } catch (MBeanRegistrationException e) { - e.printStackTrace(); - } catch (NotCompliantMBeanException e) { - e.printStackTrace(); - } catch (MalformedObjectNameException e) { - e.printStackTrace(); - } catch (NullPointerException e) { - e.printStackTrace(); - } - } - - // Add members - String[] members = getArrayProperty(props, "members"); - for (String m : members) { - try { - addMemberMBean(m); - } catch (InstanceAlreadyExistsException e) { - e.printStackTrace(); - } catch (MBeanRegistrationException e) { - e.printStackTrace(); - } catch (NotCompliantMBeanException e) { - e.printStackTrace(); - } catch (MalformedObjectNameException e) { - e.printStackTrace(); - } catch (NullPointerException e) { - e.printStackTrace(); - } - } - - // Add regions - String[] regions = getArrayProperty(props, "regions"); - for (String reg : regions) { - try { - addRegionMBean(reg); - } catch (InstanceAlreadyExistsException e) { - e.printStackTrace(); - } catch (MBeanRegistrationException e) { - e.printStackTrace(); - } catch (NotCompliantMBeanException e) { - e.printStackTrace(); - } catch (MalformedObjectNameException e) { - e.printStackTrace(); - } catch (NullPointerException e) { - e.printStackTrace(); - } - } - } - - private void addMemberMBean( - String m) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException { - Member m1 = new Member(m); - mbs.registerMBean(m1, new ObjectName(Member.OBJECT_NAME + ",member=" + m)); - } - - // For GemFire XD - private void addGemFireXDMemberMBean( - String xdm) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException { - GemFireXDMember xdmo = new GemFireXDMember(xdm); - mbs.registerMBean(xdmo, new ObjectName(GemFireXDMember.OBJECT_NAME + ",member=" + xdm)); - } - - private void addRegionMBean( - String reg) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException { - Region regionObject = new Region(reg); - mbs.registerMBean(regionObject, new ObjectName(Region.OBJECT_NAME + ",name=/" + reg)); - - for (String member : regionObject.getMembers()) { - RegionOnMember regionOnMemberObject = new RegionOnMember(regionObject.getFullPath(), member); - mbs.registerMBean(regionOnMemberObject, new ObjectName( - PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_REGION + regionObject.getFullPath() + PulseConstants.OBJECT_NAME_REGION_ON_MEMBER_MEMBER + member)); - } - } - - private void addServerMBean( - String server) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException { - ServerObject so = new ServerObject(server); - mbs.registerMBean(so, new ObjectName(ServerObject.OBJECT_NAME)); - } - - private String[] getArrayProperty(JMXProperties props, String propName) { - String propVal = props.getProperty(propName, ""); - return propVal.split(" "); - } - - public static Server createServer(int port, String properties, String jsonAuthFile) - throws MalformedObjectNameException { - Server s = null; - try { - s = new Server(port, properties, jsonAuthFile); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - - return s; - } -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObject.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObject.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObject.java deleted file mode 100644 index e663d4f..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObject.java +++ /dev/null @@ -1,267 +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.tests; - -import java.io.IOException; - -import javax.management.NotificationBroadcasterSupport; -import javax.management.openmbean.CompositeData; -import javax.management.openmbean.CompositeDataSupport; -import javax.management.openmbean.CompositeType; -import javax.management.openmbean.OpenDataException; -import javax.management.openmbean.OpenType; -import javax.management.openmbean.SimpleType; -import javax.management.openmbean.TabularData; -import javax.management.openmbean.TabularDataSupport; -import javax.management.openmbean.TabularType; - -public class ServerObject extends NotificationBroadcasterSupport implements - ServerObjectMBean { - private String name = null; - - private TabularDataSupport wanInfo; - private static String[] itemNames = { "key", "value" }; - private static String[] itemDescriptions = { "Key", "Value" }; - private static OpenType[] itemTypes = { SimpleType.STRING, SimpleType.BOOLEAN }; - private static CompositeType wanInfoType = null; - - private static String[] indexNames = { "key" }; - private static TabularType wanType = null; - - static { - try { - wanInfoType = new CompositeType("wanInfo", "WAN Information", itemNames, - itemDescriptions, itemTypes); - - wanType = new TabularType("wanInfo", "WAN Information", wanInfoType, - indexNames); - - } catch (OpenDataException e) { - e.printStackTrace(); - } - } - - public ServerObject(String name) { - this.name = name; - this.wanInfo = new TabularDataSupport(wanType); - } - - private String getKey(String propName) { - return "server." + name + "." + propName; - } - - @Override - public String[] listCacheServers() { - return JMXProperties.getInstance() - .getProperty(getKey("listCacheServers"), "").split(" "); - } - - @Override - public String[] listServers() { - return JMXProperties.getInstance() - .getProperty(getKey("listServers"), "").split(" "); - } - - @Override - public TabularData viewRemoteClusterStatus() { - wanInfo.clear(); - String[] wan = JMXProperties.getInstance() - .getProperty(getKey("wanInfo"), "").split(" "); - int cnt = 0; - while (wan.length >= (cnt + 2)) { - try { - wanInfo.put(buildWanInfoType(new String(wan[cnt]), - Boolean.parseBoolean(wan[cnt + 1]))); - } catch (OpenDataException e) { - e.printStackTrace(); - } - cnt += 2; - } - - return (TabularData) wanInfo.clone(); - } - - @Override - public int getMemberCount() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("memberCount"))); - } - - @Override - public int getNumClients() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("numClients"))); - } - - @Override - public int getDistributedSystemId() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("distributedSystemId"))); - } - - @Override - public int getLocatorCount() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("locatorCount"))); - } - - @Override - public int getTotalRegionCount() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("totalRegionCount"))); - } - - @Override - public int getNumRunningFunctions() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("numRunningFunctions"))); - } - - @Override - public long getRegisteredCQCount() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("registeredCQCount"))); - } - - @Override - public int getNumSubscriptions() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("numSubscriptions"))); - } - - // For SQLFire/GemFireXD - @Override - public int getTransactionCommitted() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("TransactionCommitted"))); - } - - // For SQLFire/GemFireXD - @Override - public int getTransactionRolledBack() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("TransactionRolledBack"))); - } - - @Override - public long getTotalHeapSize() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("totalHeapSize"))); - } - - @Override - public long getUsedHeapSize() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("usedHeapSize"))); - } - - @Override - public long getMaxMemory() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("MaxMemory"))); - } - - @Override - public long getUsedMemory() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("UsedMemory"))); - } - - @Override - public long getTotalRegionEntryCount() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("totalRegionEntryCount"))); - } - - @Override - public int getCurrentQueryCount() { - return Integer.parseInt(JMXProperties.getInstance().getProperty( - getKey("currentQueryCount"))); - } - - @Override - public long getTotalDiskUsage() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("totalDiskUsage"))); - } - - @Override - public double getDiskWritesRate() { - return Double.parseDouble(JMXProperties.getInstance().getProperty( - getKey("diskWritesRate"))); - } - - @Override - public double getAverageWrites() { - String val = JMXProperties.getInstance().getProperty(getKey("averageWrites"), ""); - double ret = Double.parseDouble(val); - return ret; -// return Double.parseDouble(JMXProperties.getInstance().getProperty( -// getKey("averageWrites"), "")); - } - - @Override - public double getAverageReads() { - return Double.parseDouble(JMXProperties.getInstance().getProperty( - getKey("averageReads"), "")); - } - - @Override - public double getQueryRequestRate() { - return Double.parseDouble(JMXProperties.getInstance().getProperty( - getKey("queryRequestRate"), "")); - } - - @Override - public double getDiskReadsRate() { - return Double.parseDouble(JMXProperties.getInstance().getProperty( - getKey("diskReadsRate"), "")); - } - - @Override - public long getJVMPauses() { - return Long.parseLong(JMXProperties.getInstance().getProperty( - getKey("jvmPauses"), "")); - } - - private CompositeData buildWanInfoType(String key, Boolean state) - throws OpenDataException { - Object[] itemValues = { key, state }; - CompositeData result = new CompositeDataSupport(wanInfoType, itemNames, - itemValues); - - return result; - } - - @Override - public String queryData(String p0, String p1, int p2) { - // p0 : query - // p1 : comma separated members - // p2 : limit - - DataBrowserResultLoader dbrLoader = DataBrowserResultLoader.getInstance(); - - try { - return dbrLoader.load(p0); - } catch (IOException e) { - e.printStackTrace(); - return e.getMessage(); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9a2b5d7b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObjectMBean.java ---------------------------------------------------------------------- diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObjectMBean.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObjectMBean.java deleted file mode 100644 index f5048eb..0000000 --- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/ServerObjectMBean.java +++ /dev/null @@ -1,79 +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.tests; - -import javax.management.openmbean.TabularData; - -public interface ServerObjectMBean { - String OBJECT_NAME = "GemFire:service=System,type=Distributed"; - - TabularData viewRemoteClusterStatus(); - - int getMemberCount(); - - int getNumClients(); - - int getDistributedSystemId(); - - int getLocatorCount(); - - int getTotalRegionCount(); - - int getNumRunningFunctions(); - - long getRegisteredCQCount(); - - int getNumSubscriptions(); - - int getTransactionCommitted(); - - int getTransactionRolledBack(); - - long getTotalHeapSize(); - - long getUsedHeapSize(); - - long getMaxMemory(); - - long getUsedMemory(); - - long getTotalRegionEntryCount(); - - int getCurrentQueryCount(); - - long getTotalDiskUsage(); - - double getDiskWritesRate(); - - double getAverageWrites(); - - double getAverageReads(); - - double getQueryRequestRate(); - - double getDiskReadsRate(); - - long getJVMPauses(); - - String[] listCacheServers(); - - String[] listServers(); - - String queryData(String p0, String p1, int p2); -}