public static String getGlobalStateDefinitionsXML(JmxAgentUser jmxAgentUser) { String globalStateDefinitionsXML = null; // SWAgent agent = convertToSwAgent(jmxUser.getSwAgentXML()); // SWAgent swAgent = // TlosSpaceWide.getSpaceWideRegistry().getHeartBeatListenerRef().getSwAgentsCache().get(agent.getIpAddress()+"."+agent.getJmxPort()); SWAgent swAgent = TlosSpaceWide.getSpaceWideRegistry() .getAgentManagerReference() .getSwAgentsCache() .get(jmxAgentUser.getAgentId() + ""); GlobalStateDefinition globalStateDefinition = GlobalStateDefinition.Factory.newInstance(); globalStateDefinition = copyGlobalStateDefinitionsXML( TlosSpaceWide.getSpaceWideRegistry().getGlobalStateDefinition()); for (State state : globalStateDefinition.getGlobalStateArray()) { for (Substate substate : state.getSubstateArray()) { for (Status status : substate.getSubStateStatusesArray()) { for (ReturnCodeList returnCodeList : status.getReturnCodeListArray()) { if (!returnCodeList.getOsType().equals(swAgent.getOsType())) { XmlCursor xmlCursor = returnCodeList.newCursor(); xmlCursor.removeXml(); } } } } } globalStateDefinitionsXML = getGlobalStateDefinitionsXML(globalStateDefinition); return globalStateDefinitionsXML; }
public static boolean authorizeWeb(JmxUser jmxUser) { if (jmxUser == null) { logger.error("jmxUser is null !"); return false; } String clientAuthanticationId = TlosSpaceWide.getSpaceWideRegistry().getJmxUser().getJmxClientAuthanticationId(); String jmxClientAuthanticationKey = TlosSpaceWide.getSpaceWideRegistry().getJmxUser().getJmxClientAuthanticationKey(); if (!clientAuthanticationId.equals(jmxUser.getJmxClientAuthanticationId()) || !jmxClientAuthanticationKey.equals(jmxUser.getJmxClientAuthanticationKey())) { // return false; } return true; }
public static boolean authorizeAgent(JmxAgentUser jmxAgentUser) { SWAgent clientSideSwAgent = XmlUtils.convertToSwAgent(jmxAgentUser.getSwAgentXML()); SWAgent serverSideSwAgent = TlosSpaceWide.getSpaceWideRegistry() .getAgentManagerReference() .getSwAgentsCache() .get(jmxAgentUser.getAgentId() + ""); if (serverSideSwAgent == null || !clientSideSwAgent.getJmxUser().equals(serverSideSwAgent.getJmxUser()) || !clientSideSwAgent.getJmxPassword().equals(serverSideSwAgent.getJmxPassword())) { return false; } return true; }
public static void initialize(String MBeanArray[], String MBeanTypeArray[]) { try { setupTls(); logger.info(""); logger.info("############# MBean Server ##################"); logger.info("Create the MBean server..."); mbeanServer = MBeanServerFactory.createMBeanServer(); logger.info("Created !"); for (int i = 0; i < MBeanArray.length; i++) { ObjectName mbeanName = new ObjectName("MBeans:type=" + MBeanTypeArray[i]); logger.info(MBeanArray[i] + " MBean is created ..."); mbeanServer.createMBean( JMXServer.class.getPackage().getName() + ".beans." + MBeanArray[i], mbeanName, null, null); } logger.info(ResourceMapper.SECTION_DIVISON_KARE); logger.info(""); logger.info("######### JMXMP-TLS Connector Server ############"); logger.info(""); // Create a JMXMP-TLS connector server // logger.info("Create a JMXMP-TLS connector server... > "); // hardcoded ip : localhost port : 5555 int port = TlosSpaceWide.getSpaceWideRegistry() .getTlosSWConfigInfo() .getJmxParams() .getJmxTlsPort() .getPortNumber(); if (port <= 0) { port = 5555; } logger.info("Using port number : " + port); String ipAddress = TlosSpaceWide.getSpaceWideRegistry().getServerConfig().getServerParams().getIpAddress(); if (ipAddress == null || ipAddress.equals("")) { ipAddress = null; } logger.info("Using ip address : " + ipAddress); JMXServiceURL url = new JMXServiceURL("jmxmp", ipAddress, port); jConnectorServer = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer); logger.info("Created !"); // Start the JMXMP-TLS connector server // logger.info("Start the JMXMP-TLS connector server... > "); jConnectorServer.start(); logger.info("Started !"); logger.info("Waiting for incoming connections..."); logger.info("#############################################"); logger.info(""); String jmxUserName = "" + new Random(new Long(Calendar.getInstance().getTimeInMillis())).nextLong(); Thread.sleep(10); String jmxPassWord = "" + new Random(new Long(Calendar.getInstance().getTimeInMillis())).nextLong(); JmxUser jmxUser = new JmxUser(); jmxUser.setJmxClientAuthanticationId(jmxUserName); jmxUser.setJmxClientAuthanticationKey(jmxPassWord); TlosSpaceWide.getSpaceWideRegistry().setJmxUser(jmxUser); } catch (MalformedURLException mue) { logger.error("### MalformedURLException ###"); mue.printStackTrace(); try { jConnectorServer.stop(); } catch (IOException e) { e.printStackTrace(); } } catch (SecurityException e) { // System.out.println(" ### SecurityException ### "); logger.error("### SecurityException ###"); e.printStackTrace(); System.exit(-1); } catch (BindException e) { // System.out.println(" ### BindException ### "); logger.error("### BindException ###"); e.printStackTrace(); System.exit(-1); } catch (Exception e) { // System.out.println(" ### Unclassified Error ### "); logger.error("### Unclassified Error ###"); e.printStackTrace(); System.exit(-1); } }