String getAddrPortFromBean(String beanName, String attribute) throws Exception {
    String name = (String) JMXEnv.ensureBeanAttribute(beanName, attribute);

    if (!name.contains(":")) {
      return name;
    }

    return getNumericalAddrPort(name);
  }
 private void assertLocalPeerMXBeanAttributes(
     QuorumPeer qp, String beanName, Boolean isPartOfEnsemble) throws Exception {
   Assert.assertEquals(
       "Mismatches LearnerType!",
       qp.getLearnerType().name(),
       JMXEnv.ensureBeanAttribute(beanName, "LearnerType"));
   Assert.assertEquals(
       "Mismatches ClientAddress!",
       qp.getClientAddress().getHostString() + ":" + qp.getClientAddress().getPort(),
       JMXEnv.ensureBeanAttribute(beanName, "ClientAddress"));
   Assert.assertEquals(
       "Mismatches LearnerType!",
       qp.getElectionAddress().getHostString() + ":" + qp.getElectionAddress().getPort(),
       JMXEnv.ensureBeanAttribute(beanName, "ElectionAddress"));
   Assert.assertEquals(
       "Mismatches PartOfEnsemble!",
       isPartOfEnsemble,
       JMXEnv.ensureBeanAttribute(beanName, "PartOfEnsemble"));
   Assert.assertEquals(
       "Mismatches ConfigVersion!",
       qp.getQuorumVerifier().getVersion(),
       JMXEnv.ensureBeanAttribute(beanName, "ConfigVersion"));
   Assert.assertEquals(
       "Mismatches QuorumSystemInfo!",
       qp.getQuorumVerifier().toString(),
       JMXEnv.ensureBeanAttribute(beanName, "QuorumSystemInfo"));
 }
 private void assertRemotePeerMXBeanAttributes(QuorumServer qs, String beanName) throws Exception {
   Assert.assertEquals(
       "Mismatches LearnerType!",
       qs.type.name(),
       JMXEnv.ensureBeanAttribute(beanName, "LearnerType"));
   Assert.assertEquals(
       "Mismatches ClientAddress!",
       getNumericalAddrPort(qs.clientAddr.getHostString() + ":" + qs.clientAddr.getPort()),
       getAddrPortFromBean(beanName, "ClientAddress"));
   Assert.assertEquals(
       "Mismatches ElectionAddress!",
       getNumericalAddrPort(qs.electionAddr.getHostString() + ":" + qs.electionAddr.getPort()),
       getAddrPortFromBean(beanName, "ElectionAddress"));
   Assert.assertEquals(
       "Mismatches QuorumAddress!",
       getNumericalAddrPort(qs.addr.getHostString() + ":" + qs.addr.getPort()),
       getAddrPortFromBean(beanName, "QuorumAddress"));
 }