00001
00026 package org.objectweb.jonas.webapp.jonasadmin;
00027
00028 import java.net.URLEncoder;
00029 import java.util.ArrayList;
00030 import java.util.Collections;
00031 import java.util.HashMap;
00032 import java.util.Iterator;
00033 import java.util.List;
00034
00035 import javax.management.ObjectName;
00036 import javax.servlet.http.HttpServletRequest;
00037
00038 import org.apache.struts.Globals;
00039 import org.apache.struts.action.ActionServlet;
00040 import org.apache.struts.util.MessageResources;
00041 import org.objectweb.jonas.jmx.J2eeObjectName;
00042 import org.objectweb.jonas.jmx.JonasManagementRepr;
00043 import org.objectweb.jonas.jmx.JonasObjectName;
00044 import org.objectweb.jonas.jmx.CatalinaObjectName;
00045 import org.objectweb.jonas.webapp.jonasadmin.catalina.ConnectorItem;
00046 import org.objectweb.jonas.webapp.jonasadmin.catalina.ConnectorItemByPort;
00047 import org.objectweb.jonas.webapp.jonasadmin.logging.LoggerItem;
00048 import org.objectweb.jonas.webapp.jonasadmin.service.container.ContainerItem;
00049 import org.objectweb.jonas.webapp.jonasadmin.service.container.ContainerItemByFile;
00050 import org.objectweb.jonas.webapp.jonasadmin.service.container.WebAppItem;
00051 import org.objectweb.jonas.webapp.jonasadmin.service.container.WebAppItemByPathContext;
00052 import org.objectweb.jonas.webapp.jonasadmin.service.ejb.EjbItem;
00053 import org.objectweb.jonas.webapp.jonasadmin.service.ejb.EjbItemByNameComparator;
00054 import org.objectweb.jonas.webapp.taglib.TreeBuilder;
00055 import org.objectweb.jonas.webapp.taglib.TreeControl;
00056 import org.objectweb.jonas.webapp.taglib.TreeControlNode;
00057
00066 public class JonasTreeBuilder implements TreeBuilder {
00067
00068
00069
00070
00071
00081 public void buildTree(TreeControl treeControl, ActionServlet servlet
00082 , HttpServletRequest request) {
00083 try {
00084 TreeControlNode rootNode = treeControl.getRoot();
00085 MessageResources resources = (MessageResources) servlet.getServletContext().
00086 getAttribute(Globals.MESSAGES_KEY);
00087 getDomain(rootNode, resources, request);
00088 }
00089 catch (Throwable t) {
00090 t.printStackTrace(System.out);
00091 }
00092 }
00093
00094
00095
00105 protected void getDomain(TreeControlNode p_RootNode, MessageResources p_Resources
00106 , HttpServletRequest p_Request)
00107 throws Exception {
00108
00109 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00110 SESSION_NAME);
00111 String sDomain = oWhere.getCurrentDomain().toString();
00112 String sDomainName = oWhere.getCurrentDomainName();
00113 String sNodeLabel = p_Resources.getMessage("treenode.jonas.domain") + " ( " + sDomainName
00114 + " )";
00115 TreeControlNode domainNode = new TreeControlNode(sDomainName, "icon/domain_jonas.gif"
00116 , sNodeLabel, "EditDomain.do?select=" + URLEncoder.encode(sDomain, "UTF-8"), "content", true);
00117 p_RootNode.addChild(domainNode);
00118
00119 getServer(domainNode, p_Resources, p_Request, sDomainName);
00120 getJoramPlatform(domainNode, p_Resources);
00121 }
00122
00132 protected void getServer(TreeControlNode p_DomainNode, MessageResources p_Resources
00133 , HttpServletRequest p_Request, String p_DomainName)
00134 throws Exception {
00135
00136
00137
00138
00139
00140
00141
00142 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00143 SESSION_NAME);
00144 String sServer = oWhere.getCurrentJonasServer().toString();
00145 String sServerName = oWhere.getCurrentJonasServerName();
00146 String sNodeLabel = p_Resources.getMessage("treenode.jonas.server") + " ( " + sServerName + " )";
00147 TreeControlNode serverNode = new TreeControlNode(p_DomainNode.getName()
00148 + WhereAreYou.NODE_SEPARATOR + sServerName, "icon/BalJonasTree.gif", sNodeLabel
00149 , "EditJonasServer.do?select=" + URLEncoder.encode(sServer, "UTF-8"), "content", true);
00150 p_DomainNode.addChild(serverNode);
00151
00152 getMonitoring(serverNode, p_Resources);
00153 getLogging(serverNode, p_Resources, p_Request);
00154 getProtocols(serverNode, p_Resources, p_Request);
00155 getServices(serverNode, p_Resources, p_Request, p_DomainName, sServerName);
00156 getDeployments(serverNode, p_Resources);
00157 getResources(serverNode, p_Resources);
00158 getSecurity(serverNode, p_Resources, p_Request);
00159 }
00160
00170 protected void getMonitoring(TreeControlNode p_ServerNode, MessageResources p_Resources)
00171 throws Exception {
00172
00173 TreeControlNode node = new TreeControlNode(p_ServerNode.getName()
00174 + WhereAreYou.NODE_SEPARATOR + "monitoring", "icon/monitoring.gif"
00175 , p_Resources.getMessage("treenode.jonas.server.monitoring"), "EditMonitoring.do"
00176 , "content", false);
00177 p_ServerNode.addChild(node);
00178 }
00179
00189 protected void getLogging(TreeControlNode p_ServerNode, MessageResources p_Resources
00190 , HttpServletRequest p_Request)
00191 throws Exception {
00192
00193 TreeControlNode node = new TreeControlNode(p_ServerNode.getName()
00194 + WhereAreYou.NODE_SEPARATOR + "logging", "icon/loggers.gif"
00195 , p_Resources.getMessage("treenode.jonas.server.logging"), "ListLoggers.do", "content", false);
00196 p_ServerNode.addChild(node);
00197
00198 getLoggers(node, p_Resources, p_Request);
00199 }
00200
00210 public void getLoggers(TreeControlNode p_LoggingNode, MessageResources p_Resources
00211 , HttpServletRequest p_Request)
00212 throws Exception {
00213
00214 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00215 SESSION_NAME);
00216
00217 ArrayList al = JonasAdminJmx.getLoggers(p_Resources, oWhere, true);
00218
00219 LoggerItem oLog;
00220 String sIcon = "icon/loggers.gif";
00221 for (int i = 0; i < al.size(); i++) {
00222 oLog = (LoggerItem) al.get(i);
00223 if (LoggerItem.LOGGER_JONAS.equals(oLog.getType()) == true) {
00224 sIcon = "icon/logger_jonas.gif";
00225 }
00226 else if (LoggerItem.LOGGER_CATALINA_ACCESS.equals(oLog.getType()) == true) {
00227 sIcon = "icon/logger_http.gif";
00228 }
00229
00230 TreeControlNode node = new TreeControlNode(p_LoggingNode.getName()
00231 + WhereAreYou.NODE_SEPARATOR + oLog.getType(), sIcon, oLog.getName()
00232 , oLog.getForward(), "content", false);
00233 p_LoggingNode.addChild(node);
00234 }
00235 }
00236
00245 protected void getServices(TreeControlNode p_ServerNode, MessageResources p_Resources
00246 , HttpServletRequest p_Request, String p_DomainName, String p_ServerName)
00247 throws Exception {
00248
00249 TreeControlNode nodeAllServices = new TreeControlNode(p_ServerNode.getName()
00250 + WhereAreYou.NODE_SEPARATOR + "services", "icon/services.gif"
00251 , p_Resources.getMessage("treenode.jonas.server.services"), "ListServices.do"
00252 , "content", true);
00253 p_ServerNode.addChild(nodeAllServices);
00254
00255
00256 if (JonasAdminJmx.hasMBeanName(JonasObjectName.earService()) == true) {
00257 getServiceApp(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00258 }
00259 if (JonasAdminJmx.hasMBeanName(JonasObjectName.ejbService()) == true) {
00260 getServiceEjbContainer(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00261 }
00262 if (JonasAdminJmx.hasMBeanName(JonasObjectName.webContainerService()) == true) {
00263 getServiceWeb(nodeAllServices, p_Resources, p_Request, p_DomainName, p_ServerName);
00264 }
00265 if (JonasAdminJmx.hasMBeanName(JonasObjectName.databaseService()) == true) {
00266 getServiceDatabase(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00267 }
00268 if (JonasAdminJmx.hasMBeanName(JonasObjectName.resourceService()) == true) {
00269 getServiceResourceAdapter(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00270 }
00271 if (JonasAdminJmx.hasMBeanName(JonasObjectName.transactionService()) == true) {
00272 getServiceTransaction(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00273 }
00274 if (JonasAdminJmx.hasMBeanName(JonasObjectName.jmsService()) == true) {
00275 getServiceJms(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00276 }
00277 if (JonasAdminJmx.hasMBeanName(JonasObjectName.mailService()) == true) {
00278 getServiceMail(nodeAllServices, p_Resources, p_Request, p_DomainName, p_ServerName);
00279 }
00280 if (JonasAdminJmx.hasMBeanName(JonasObjectName.securityService()) == true) {
00281 getServiceSecurity(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00282 }
00283 if (JonasAdminJmx.hasMBeanName(JonasObjectName.discoveryService()) == true) {
00284 getServiceDiscovery(nodeAllServices, p_Resources, p_DomainName, p_ServerName);
00285 }
00286 }
00287
00296 protected void getServiceApp(TreeControlNode p_NodeServices, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00297 throws Exception {
00298
00299 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00300 + WhereAreYou.NODE_SEPARATOR + "ear", "icon/service_application.gif"
00301 , p_Resources.getMessage("treenode.jonas.server.services.ear")
00302 , "ListAppContainers.do"
00303 , "content", false);
00304 p_NodeServices.addChild(nodeService);
00305
00306
00307 getAppContainers(nodeService, p_Resources, p_DomainName, p_ServerName);
00308 }
00309
00318 public void getAppContainers(TreeControlNode p_NodeParent, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00319 throws Exception {
00320 String sPath;
00321 String sFile;
00322 String sNodeName;
00323 String sName;
00324 ArrayList al = new ArrayList();
00325
00326
00327 ObjectName ons = J2eeObjectName.J2EEApplications(p_DomainName, p_ServerName);
00328 Iterator itNames = JonasManagementRepr.queryNames(ons).iterator();
00329 while (itNames.hasNext()) {
00330 ObjectName it_on = (ObjectName) itNames.next();
00331 sPath = (String) JonasManagementRepr.getAttribute(it_on, "earUrl").toString();
00332 sFile = JonasAdminJmx.extractFilename(sPath);
00333 sNodeName = p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR + sFile;
00334 sName = it_on.getKeyProperty("name");
00335 if (sFile != null) {
00336 al.add(new ContainerItem(sFile, sPath, sNodeName, it_on.toString(), sName));
00337 }
00338 }
00339
00340 Collections.sort(al, new ContainerItemByFile());
00341
00342 ContainerItem oItem;
00343 for (int i = 0; i < al.size(); i++) {
00344 oItem = (ContainerItem) al.get(i);
00345 TreeControlNode node = new TreeControlNode(oItem.getNodeName(), "icon/ear.gif"
00346 , oItem.getFile(), "EditEar.do?select=" + oItem.getObjectName(), "content", false);
00347 p_NodeParent.addChild(node);
00348 }
00349 }
00350
00360 protected void getServiceEjbContainer(TreeControlNode p_NodeServices
00361 , MessageResources p_Resources, String p_DomainName, String p_ServerName)
00362 throws Exception {
00363
00364 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00365 + WhereAreYou.NODE_SEPARATOR + "ejbContainers", "icon/service_ejb.gif"
00366 , p_Resources.getMessage("treenode.jonas.server.services.ejbContainers")
00367 , "ListContainers.do"
00368 , "content", false);
00369 p_NodeServices.addChild(nodeService);
00370
00371 getContainers(nodeService, p_Resources, p_DomainName, p_ServerName);
00372 }
00373
00382 public void getContainers(TreeControlNode p_NodeParent, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00383 throws Exception {
00384 String sPath;
00385 String sFile;
00386 String sName;
00387 String sNodeName;
00388 ObjectName onContainer;
00389 ArrayList al = new ArrayList();
00390
00391
00392 Iterator itNames = JonasManagementRepr.queryNames(J2eeObjectName.getEJBModules(p_DomainName, p_ServerName)).iterator();
00393 while (itNames.hasNext()) {
00394 ObjectName it_on = (ObjectName) itNames.next();
00395 sPath = (String) JonasManagementRepr.getAttribute(it_on, "fileName");
00396 sFile = JonasAdminJmx.extractFilename(sPath);
00397 sNodeName = p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR + sFile;
00398 sName = it_on.getKeyProperty("name");
00399 if (sFile != null) {
00400 al.add(new ContainerItem(sFile, sPath, sNodeName, it_on.toString(), sName));
00401 }
00402 }
00403
00404
00405 Collections.sort(al, new ContainerItemByFile());
00406
00407 ContainerItem oItem;
00408 for (int i = 0; i < al.size(); i++) {
00409 oItem = (ContainerItem) al.get(i);
00410 TreeControlNode node = new TreeControlNode(oItem.getNodeName(), "icon/jar.gif"
00411 , oItem.getFile(), "EditContainer.do?select=" + oItem.getObjectName(), "content", false);
00412 p_NodeParent.addChild(node);
00413
00414 getEjbs(node, p_Resources, oItem.getPath(), p_DomainName, p_ServerName, oItem.getName());
00415 }
00416 }
00417
00427 protected void getEjbs(TreeControlNode p_NodeParent, MessageResources p_Resources
00428 , String p_Filename, String p_DomainName, String p_ServerName, String p_moduleName)
00429 throws Exception {
00430
00431 Iterator itNames;
00432 ObjectName on;
00433 ArrayList al = new ArrayList();
00434
00435 on = J2eeObjectName.getEntityBeans(p_DomainName, p_moduleName, p_ServerName);
00436
00437 itNames = JonasAdminJmx.getListMbean(on).iterator();
00438 while (itNames.hasNext()) {
00439 al.add(new EjbItem((ObjectName) itNames.next()));
00440 }
00441 on = J2eeObjectName.getStatefulSessionBeans(p_DomainName, p_moduleName, p_ServerName);
00442 itNames = JonasAdminJmx.getListMbean(on).iterator();
00443 while (itNames.hasNext()) {
00444 al.add(new EjbItem((ObjectName) itNames.next()));
00445 }
00446 on = J2eeObjectName.getStatelessSessionBeans(p_DomainName, p_moduleName, p_ServerName);
00447 itNames = JonasAdminJmx.getListMbean(on).iterator();
00448 while (itNames.hasNext()) {
00449 al.add(new EjbItem((ObjectName) itNames.next()));
00450 }
00451 on = J2eeObjectName.getMessageDrivenBeans(p_DomainName, p_moduleName, p_ServerName);
00452 itNames = JonasAdminJmx.getListMbean(on).iterator();
00453 while (itNames.hasNext()) {
00454 al.add(new EjbItem((ObjectName) itNames.next()));
00455 }
00456
00457
00458 Collections.sort(al, new EjbItemByNameComparator());
00459
00460
00461 String sNodeName;
00462 String sAction;
00463 TreeControlNode nodeEjb;
00464 EjbItem oEjb;
00465 for (int i = 0; i < al.size(); i++) {
00466 oEjb = (EjbItem) al.get(i);
00467 sNodeName = p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR + oEjb.getName();
00468 sAction = "EditEjb" + oEjb.getTypeString() + ".do?select=" + oEjb.getObjectName();
00469
00470 nodeEjb = new TreeControlNode(sNodeName, "icon/bean.gif", oEjb.getName(), sAction
00471 , "content", false);
00472 p_NodeParent.addChild(nodeEjb);
00473 }
00474 }
00475
00485 protected void getServiceDatabase(TreeControlNode pNodeServices, MessageResources pResources, String pDomainName, String pServerName)
00486 throws Exception {
00487
00488 TreeControlNode nodeService = new TreeControlNode(pNodeServices.getName()
00489 + WhereAreYou.NODE_SEPARATOR + "database", "icon/service_database.gif"
00490 , pResources.getMessage("treenode.jonas.server.services.database"), "ListDatabases.do"
00491 , "content", false);
00492 pNodeServices.addChild(nodeService);
00493
00494 getDatasources(nodeService, pResources, pDomainName, pServerName);
00495 }
00496
00507 public void getDatasources(TreeControlNode pNodeParent, MessageResources pResources, String pDomainName, String pServerName)
00508 throws Exception {
00509
00510 ArrayList al = JonasAdminJmx.getDatasourceFilesDeployed(pDomainName, pServerName);
00511
00512 for (int i = 0; i < al.size(); i++) {
00513 TreeControlNode node = new TreeControlNode(pNodeParent.getName()
00514 + WhereAreYou.NODE_SEPARATOR + al.get(i).toString(), "icon/Datasource.gif"
00515 , al.get(i).toString(), "EditDatasource.do?name=" + al.get(i), "content", false);
00516 pNodeParent.addChild(node);
00517 }
00518 }
00519
00531 protected void getServiceWeb(TreeControlNode pNodeServices, MessageResources pResources
00532 , HttpServletRequest pRequest, String pDomainName, String pServerName)
00533 throws Exception {
00534
00535 TreeControlNode nodeService = new TreeControlNode(pNodeServices.getName()
00536 + WhereAreYou.NODE_SEPARATOR + "web", "icon/service_web.gif"
00537 , pResources.getMessage("treenode.jonas.server.services.web"), "ListWebContainers.do"
00538 , "content", false);
00539 pNodeServices.addChild(nodeService);
00540
00541 getWebContainers(nodeService, pResources, pRequest);
00542 }
00543
00553 public void getWebContainers(TreeControlNode p_NodeParent, MessageResources p_Resources
00554 , HttpServletRequest p_Request)
00555 throws Exception {
00556 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00557 SESSION_NAME);
00558
00559 ArrayList al = new ArrayList();
00560
00561 if (oWhere.isCatalinaServer() == true) {
00562
00563 Iterator itOns = JonasAdminJmx.getListMbean(J2eeObjectName.getWebModules(oWhere.
00564 getCurrentCatalinaDomainName())).iterator();
00565 while (itOns.hasNext()) {
00566 al.add(new WebAppItem((ObjectName) itOns.next()));
00567 }
00568 }
00569
00570 else if (oWhere.isJettyServer() == true) {
00571 ObjectName on;
00572 String sPathContext;
00573 HashMap hWebAppItems = new HashMap();
00574
00575
00576 Iterator itOnContexts = JonasAdminJmx.getListMbean(JettyObjectName.jettyContexts()).
00577 iterator();
00578 while (itOnContexts.hasNext()) {
00579 on = (ObjectName) itOnContexts.next();
00580 sPathContext = on.getKeyProperty("context");
00581 if (sPathContext != null) {
00582 if (hWebAppItems.containsKey(sPathContext) == false) {
00583 hWebAppItems.put(sPathContext, new WebAppItem(sPathContext, on.toString()));
00584 }
00585 }
00586 }
00587
00588 al.addAll(hWebAppItems.values());
00589 }
00590
00591 Collections.sort(al, new WebAppItemByPathContext());
00592
00593 WebAppItem oItem;
00594 for (int i = 0; i < al.size(); i++) {
00595 oItem = (WebAppItem) al.get(i);
00596 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00597 + WhereAreYou.NODE_SEPARATOR + oItem.getObjectName(), "icon/war.gif"
00598 , oItem.getLabelPathContext(), "EditWebApp.do?on=" + oItem.getObjectName()
00599 , "content", false);
00600 p_NodeParent.addChild(node);
00601 }
00602 }
00603
00613 protected void getServiceTransaction(TreeControlNode p_NodeServices
00614 , MessageResources p_Resources, String p_DomainName, String p_ServerName)
00615 throws Exception {
00616
00617 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00618 + WhereAreYou.NODE_SEPARATOR + "transaction", "icon/service_transaction.gif"
00619 , p_Resources.getMessage("treenode.jonas.server.services.transaction")
00620 , "EditJtmService.do", "content", false);
00621 p_NodeServices.addChild(nodeService);
00622 }
00623
00633 protected void getServiceDiscovery(TreeControlNode p_NodeServices, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00634 throws Exception {
00635
00636 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00637 + WhereAreYou.NODE_SEPARATOR + "Discovery", "icon/service_transaction.gif"
00638 , p_Resources.getMessage("treenode.jonas.server.services.discovery")
00639 , "EditServiceDiscovery.do", "content", false);
00640 p_NodeServices.addChild(nodeService);
00641 }
00642
00651 protected void getServiceJms(TreeControlNode p_NodeServices, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00652 throws Exception {
00653
00654 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00655 + WhereAreYou.NODE_SEPARATOR + "jms", "icon/service_jms.gif"
00656 , p_Resources.getMessage("treenode.jonas.server.services.jms"), "EditJmsService.do"
00657 , "content", false);
00658 p_NodeServices.addChild(nodeService);
00659
00660 getJmsResources(nodeService, p_Resources);
00661 }
00662
00671 public void getJmsResources(TreeControlNode p_NodeParent, MessageResources p_Resources)
00672 throws Exception {
00673
00674 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00675 + WhereAreYou.NODE_SEPARATOR + "cf", "icon/jms_connector.gif"
00676 , p_Resources.getMessage("treenode.jonas.server.services.jms.cf")
00677 , "ListConnectionFactories.do", "content", false);
00678 p_NodeParent.addChild(node);
00679 getJmsConnectionFactories(node, p_Resources);
00680
00681
00682 node = new TreeControlNode(p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR + "queue"
00683 , "icon/jms_queue.gif"
00684 , p_Resources.getMessage("treenode.jonas.server.services.jms.queues"), "ListQueues.do"
00685 , "content", false);
00686 p_NodeParent.addChild(node);
00687 getJmsQueues(node, p_Resources);
00688
00689
00690 node = new TreeControlNode(p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR + "topic"
00691 , "icon/jms_topic.gif"
00692 , p_Resources.getMessage("treenode.jonas.server.services.jms.topics"), "ListTopics.do"
00693 , "content", false);
00694 p_NodeParent.addChild(node);
00695 getJmsTopics(node, p_Resources);
00696 }
00697
00706 public void getJmsConnectionFactories(TreeControlNode p_NodeParent
00707 , MessageResources p_Resources)
00708 throws Exception {
00709
00710
00711
00712 int nbConnFacts = 3;
00713 String cfNames[] = new String[3];
00714 ObjectName jmsServMB = JonasObjectName.jmsService();
00715 cfNames[0] = (String) JonasManagementRepr.getAttribute(jmsServMB
00716 , "DefaultConnectionFactoryName");
00717 cfNames[1] = (String) JonasManagementRepr.getAttribute(jmsServMB
00718 , "DefaultTopicConnectionFactoryName");
00719 cfNames[2] = (String) JonasManagementRepr.getAttribute(jmsServMB
00720 , "DefaultQueueConnectionFactoryName");
00721 TreeControlNode node;
00722 for (int i = 0; i < nbConnFacts; i++) {
00723 node = new TreeControlNode(p_NodeParent.getName() + WhereAreYou.NODE_SEPARATOR
00724 + cfNames[i], "icon/jms_connector.gif", cfNames[i]
00725 , "PresentConnectionFactory.do?name=" + cfNames[i], "content", false);
00726 p_NodeParent.addChild(node);
00727 }
00728 }
00729
00738 public void getJmsQueues(TreeControlNode p_NodeParent, MessageResources p_Resources)
00739 throws Exception {
00740
00741 Iterator itNames = ((java.util.Set) JonasManagementRepr.getAttribute(JonasObjectName.
00742 jmsService(), "AllJmsQueueDestinationNames")).iterator();
00743 while (itNames.hasNext()) {
00744 String sNodeName = (String) itNames.next();
00745 String sQueueName = sNodeName;
00746
00747 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00748 + WhereAreYou.NODE_SEPARATOR + sNodeName, "icon/jms_queue.gif", sQueueName
00749 , "PresentQueue.do?name=" + sQueueName, "content", false);
00750 p_NodeParent.addChild(node);
00751 }
00752 }
00753
00762 public void getJmsTopics(TreeControlNode p_NodeParent, MessageResources p_Resources)
00763 throws Exception {
00764
00765 Iterator itNames = ((java.util.Set) JonasManagementRepr.getAttribute(JonasObjectName.
00766 jmsService(), "AllJmsTopicDestinationNames")).iterator();
00767 while (itNames.hasNext()) {
00768 String sNodeName = (String) itNames.next();
00769 String sTopicName = sNodeName;
00770
00771 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00772 + WhereAreYou.NODE_SEPARATOR + sNodeName, "icon/jms_topic.gif", sTopicName
00773 , "PresentTopic.do?name=" + sTopicName, "content", false);
00774 p_NodeParent.addChild(node);
00775 }
00776 }
00777
00787 protected void getServiceMail(TreeControlNode p_NodeServices, MessageResources p_Resources
00788 , HttpServletRequest p_Request, String p_DomainName, String p_ServerName)
00789 throws Exception {
00790
00791 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00792 + WhereAreYou.NODE_SEPARATOR + "mail", "icon/service_mail.gif"
00793 , p_Resources.getMessage("treenode.jonas.server.services.mail"), "EditMailService.do"
00794 , "content", false);
00795 p_NodeServices.addChild(nodeService);
00796
00797 getAllSessionMailFactories(nodeService, p_Resources, p_Request);
00798 getAllMimePartDSMailFactories(nodeService, p_Resources, p_Request);
00799 }
00800
00801 public void getAllSessionMailFactories(TreeControlNode p_NodeParent
00802 , MessageResources p_Resources, HttpServletRequest p_Request)
00803 throws Exception {
00804
00805 TreeControlNode nodeSessionMailFactories = new TreeControlNode(p_NodeParent.getName()
00806 + WhereAreYou.NODE_SEPARATOR + "session", "icon/mail_session.gif"
00807 , p_Resources.getMessage("treenode.jonas.server.services.mail.session")
00808 , "ListSessionMailFactories.do", "content", false);
00809 p_NodeParent.addChild(nodeSessionMailFactories);
00810
00811 getSessionMailFactories(nodeSessionMailFactories, p_Resources, p_Request);
00812 }
00813
00814 public void getAllMimePartDSMailFactories(TreeControlNode p_NodeParent
00815 , MessageResources p_Resources, HttpServletRequest p_Request)
00816 throws Exception {
00817
00818 TreeControlNode nodeMimePartMailFactories = new TreeControlNode(p_NodeParent.getName()
00819 + WhereAreYou.NODE_SEPARATOR + "mimepart", "icon/mail_mime.gif"
00820 , p_Resources.getMessage("treenode.jonas.server.services.mail.mimepart")
00821 , "ListMimePartMailFactories.do", "content", false);
00822 p_NodeParent.addChild(nodeMimePartMailFactories);
00823
00824 getMimePartMailFactories(nodeMimePartMailFactories, p_Resources, p_Request);
00825 }
00826
00827 protected void getSessionMailFactories(TreeControlNode p_NodeParent
00828 , MessageResources p_Resources, HttpServletRequest p_Request)
00829 throws Exception {
00830 String sPath;
00831 String sFile;
00832 String sNodeName;
00833 ArrayList al = new ArrayList();
00834
00835 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00836 SESSION_NAME);
00837
00838
00839 java.util.List deployedFactories = (java.util.List) JonasAdminJmx.
00840 getSessionMailFactoriesDeployed(oWhere);
00841 Iterator itNames = deployedFactories.iterator();
00842
00843 while (itNames.hasNext()) {
00844 al.add(itNames.next().toString());
00845 }
00846
00847 Collections.sort(al);
00848
00849 for (int i = 0; i < al.size(); i++) {
00850 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00851 + WhereAreYou.NODE_SEPARATOR + al.get(i).toString(), "icon/mail_session.gif"
00852 , al.get(i).toString(), "EditSessionMailFactory.do?name=" + al.get(i).toString()
00853 , "content", false);
00854 p_NodeParent.addChild(node);
00855 }
00856 }
00857
00858 protected void getMimePartMailFactories(TreeControlNode p_NodeParent
00859 , MessageResources p_Resource, HttpServletRequest p_Request)
00860 throws Exception {
00861 String sPath;
00862 String sFile;
00863 String sNodeName;
00864 ArrayList al = new ArrayList();
00865
00866 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
00867 SESSION_NAME);
00868
00869
00870 Iterator itNames = ((java.util.List) JonasAdminJmx.getMimeMailPartFactoriesDeployed(oWhere)).
00871 iterator();
00872 while (itNames.hasNext()) {
00873 al.add(itNames.next().toString());
00874 }
00875
00876 Collections.sort(al);
00877
00878 for (int i = 0; i < al.size(); i++) {
00879 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00880 + WhereAreYou.NODE_SEPARATOR + al.get(i).toString(), "icon/mail_mime.gif"
00881 , al.get(i).toString(), "EditMimePartMailFactory.do?name=" + al.get(i).toString()
00882 , "content", false);
00883 p_NodeParent.addChild(node);
00884 }
00885 }
00886
00895 protected void getServiceResourceAdapter(TreeControlNode p_NodeServices
00896 , MessageResources p_Resources, String p_DomainName, String p_ServerName)
00897 throws Exception {
00898
00899 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00900 + WhereAreYou.NODE_SEPARATOR + "resourceAdapter", "icon/service_resource.gif"
00901 , p_Resources.getMessage("treenode.jonas.server.services.resource")
00902 , "ListResourcesAdapters.do", "content", false);
00903 p_NodeServices.addChild(nodeService);
00904
00905 getResourcesAdapters(nodeService, p_Resources);
00906 }
00907
00916 public void getResourcesAdapters(TreeControlNode p_NodeParent, MessageResources p_Resources)
00917 throws Exception {
00918 String sName;
00919 ObjectName on;
00920 ArrayList al = new ArrayList();
00921
00922
00923 Iterator it = JonasAdminJmx.getListMbean(JonasObjectName.resourceAdapters()).iterator();
00924 while (it.hasNext()) {
00925 on = (ObjectName) it.next();
00926 al.add(on.getKeyProperty("name"));
00927 }
00928
00929 Collections.sort(al);
00930
00931 for (int i = 0; i < al.size(); i++) {
00932 sName = al.get(i).toString();
00933 TreeControlNode node = new TreeControlNode(p_NodeParent.getName()
00934 + WhereAreYou.NODE_SEPARATOR + sName, "icon/resourceAdapter.gif"
00935 , JonasAdminJmx.extractFilename(sName)
00936 , "EditResourceAdapter.do?name=" + sName, "content", false);
00937 p_NodeParent.addChild(node);
00938 }
00939 }
00940
00950 protected void getServiceSecurity(TreeControlNode p_NodeServices, MessageResources p_Resources, String p_DomainName, String p_ServerName)
00951 throws Exception {
00952
00953 TreeControlNode nodeService = new TreeControlNode(p_NodeServices.getName()
00954 + WhereAreYou.NODE_SEPARATOR + "security", "icon/service_security.gif"
00955 , p_Resources.getMessage("treenode.jonas.server.services.security")
00956 , "EditServiceSecurity.do", "content", false);
00957 p_NodeServices.addChild(nodeService);
00958 }
00959
00967 protected void getDeployments(TreeControlNode p_ServerNode, MessageResources p_Resources)
00968 throws Exception {
00969
00970 TreeControlNode nodeDeployments = new TreeControlNode(p_ServerNode.getName()
00971 + WhereAreYou.NODE_SEPARATOR + "deployments", "icon/deploy.gif"
00972 , p_Resources.getMessage("treenode.jonas.server.deployments"), null, "content", true);
00973 p_ServerNode.addChild(nodeDeployments);
00974
00975
00976 if (JonasAdminJmx.hasMBeanName(JonasObjectName.earService()) == true) {
00977 getDeploymentEar(nodeDeployments, p_Resources);
00978 }
00979 if (JonasAdminJmx.hasMBeanName(JonasObjectName.ejbService()) == true) {
00980 getDeploymentEjb(nodeDeployments, p_Resources);
00981 }
00982 if (JonasAdminJmx.hasMBeanName(JonasObjectName.webContainerService()) == true) {
00983 getDeploymentWebAppli(nodeDeployments, p_Resources);
00984 }
00985 if (JonasAdminJmx.hasMBeanName(JonasObjectName.resourceService()) == true) {
00986 getDeploymentRar(nodeDeployments, p_Resources);
00987 }
00988 }
00989
00998 protected void getDeploymentEar(TreeControlNode p_NodeDeployments, MessageResources p_Resources)
00999 throws Exception {
01000
01001 TreeControlNode oNode = new TreeControlNode(p_NodeDeployments.getName()
01002 + WhereAreYou.NODE_SEPARATOR + WhereAreYou.DEPLOYMENT_STRING_EAR, "icon/deploy_ear.gif"
01003 , p_Resources.getMessage("treenode.jonas.server.deployments."
01004 + WhereAreYou.DEPLOYMENT_STRING_EAR)
01005 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_EAR, "content", false);
01006 p_NodeDeployments.addChild(oNode);
01007 }
01008
01017 protected void getDeploymentEjb(TreeControlNode p_NodeDeployments, MessageResources p_Resources)
01018 throws Exception {
01019
01020 TreeControlNode oNode = new TreeControlNode(p_NodeDeployments.getName()
01021 + WhereAreYou.NODE_SEPARATOR + WhereAreYou.DEPLOYMENT_STRING_JAR, "icon/deploy_jar.gif"
01022 , p_Resources.getMessage("treenode.jonas.server.deployments."
01023 + WhereAreYou.DEPLOYMENT_STRING_JAR)
01024 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_JAR, "content", false);
01025 p_NodeDeployments.addChild(oNode);
01026
01027
01028
01029 }
01030
01039 protected void getDeploymentEjbFiles(TreeControlNode p_NodeParent, MessageResources p_Resources)
01040 throws Exception {
01041 String sFile;
01042 Iterator it = JonasAdminJmx.getJarFilesDeployable().iterator();
01043 while (it.hasNext()) {
01044 sFile = it.next().toString();
01045
01046 TreeControlNode oNode = new TreeControlNode(p_NodeParent.getName()
01047 + WhereAreYou.NODE_SEPARATOR + sFile, "icon/JonasQuestion.gif", sFile, null
01048 , "content", false);
01049 p_NodeParent.addChild(oNode);
01050 }
01051
01052 }
01053
01062 protected void getDeploymentWebAppli(TreeControlNode p_NodeDeployments
01063 , MessageResources p_Resources)
01064 throws Exception {
01065
01066 TreeControlNode oNode = new TreeControlNode(p_NodeDeployments.getName()
01067 + WhereAreYou.NODE_SEPARATOR + WhereAreYou.DEPLOYMENT_STRING_WAR, "icon/deploy_war.gif"
01068 , p_Resources.getMessage("treenode.jonas.server.deployments."
01069 + WhereAreYou.DEPLOYMENT_STRING_WAR)
01070 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_WAR, "content", false);
01071 p_NodeDeployments.addChild(oNode);
01072 }
01073
01082 protected void getDeploymentRar(TreeControlNode p_NodeDeployments, MessageResources p_Resources)
01083 throws Exception {
01084
01085 TreeControlNode oNode = new TreeControlNode(p_NodeDeployments.getName()
01086 + WhereAreYou.NODE_SEPARATOR + WhereAreYou.DEPLOYMENT_STRING_RAR, "icon/deploy_rar.gif"
01087 , p_Resources.getMessage("treenode.jonas.server.deployments."
01088 + WhereAreYou.DEPLOYMENT_STRING_RAR)
01089 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_RAR, "content", false);
01090 p_NodeDeployments.addChild(oNode);
01091 }
01092
01100 protected void getResources(TreeControlNode p_ServerNode, MessageResources p_Resources)
01101 throws Exception {
01102
01103 TreeControlNode nodeDeployments = new TreeControlNode(p_ServerNode.getName()
01104 + WhereAreYou.NODE_SEPARATOR + "resources", "icon/resources.gif"
01105 , p_Resources.getMessage("treenode.jonas.server.resources"), null, "content", true);
01106 p_ServerNode.addChild(nodeDeployments);
01107
01108
01109
01110 if (JonasAdminJmx.hasMBeanName(JonasObjectName.databaseService()) == true) {
01111 getResourceDatabase(nodeDeployments, p_Resources);
01112 }
01113
01114 if (JonasAdminJmx.hasMBeanName(JonasObjectName.jmsService()) == true) {
01115 getJmsResource(nodeDeployments, p_Resources);
01116 }
01117
01118 if (JonasAdminJmx.hasMBeanName(JonasObjectName.mailService()) == true) {
01119 getMailResource(nodeDeployments, p_Resources);
01120 }
01121 }
01122
01130 protected void getMailResource(TreeControlNode p_ServerNode, MessageResources p_Resources)
01131 throws Exception {
01132
01133 TreeControlNode nodeDeployments = new TreeControlNode(p_ServerNode.getName()
01134 + WhereAreYou.NODE_SEPARATOR + "mail", "icon/mail.gif"
01135 , p_Resources.getMessage("treenode.jonas.server.resources.mail")
01136 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_MAILFACTORY, "content", false);
01137 p_ServerNode.addChild(nodeDeployments);
01138 }
01139
01147 protected void getJmsResource(TreeControlNode p_ServerNode, MessageResources p_Resources)
01148 throws Exception {
01149
01150 TreeControlNode nodeDeployments = new TreeControlNode(p_ServerNode.getName()
01151 + WhereAreYou.NODE_SEPARATOR + "jms", "icon/jms.gif"
01152 , p_Resources.getMessage("treenode.jonas.server.resources.jms"), "ListJmsResources.do"
01153 , "content", false);
01154 p_ServerNode.addChild(nodeDeployments);
01155 }
01156
01164 protected void getResourceDatabase(TreeControlNode p_ServerNode, MessageResources p_Resources)
01165 throws Exception {
01166
01167 TreeControlNode nodeDeployments = new TreeControlNode(p_ServerNode.getName()
01168 + WhereAreYou.NODE_SEPARATOR + "database", "icon/Database.gif"
01169 , p_Resources.getMessage("treenode.jonas.server.resources.database")
01170 , "EditDeploy.do?type=" + WhereAreYou.DEPLOYMENT_STRING_DATASOURCE, "content", false);
01171 p_ServerNode.addChild(nodeDeployments);
01172 }
01173
01182 protected void getSecurity(TreeControlNode p_ServerNode, MessageResources p_Resources
01183 , HttpServletRequest p_Request)
01184 throws Exception {
01185
01186 boolean bJonasSecurityService = JonasAdminJmx.hasMBeanName(JonasObjectName.securityService());
01187
01188 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
01189 SESSION_NAME);
01190 boolean bCatalinaRealm = false;
01191 if (oWhere.isCatalinaServer() == true) {
01192 bCatalinaRealm = JonasAdminJmx.hasMBeanName(CatalinaObjectName.catalinaRealm(oWhere.
01193 getCurrentCatalinaServiceName()));
01194 }
01195
01196 if ((bJonasSecurityService == true) || (bCatalinaRealm == true)) {
01197
01198 String sAction = null;
01199 if (bJonasSecurityService == true) {
01200 sAction = "ListRealms.do?realm=all";
01201 }
01202 else if (bCatalinaRealm == true) {
01203 sAction = "EditSecurityCatalinaRealm.do";
01204 }
01205
01206 TreeControlNode nodeSecurity = new TreeControlNode(p_ServerNode.getName()
01207 + WhereAreYou.NODE_SEPARATOR + "security", "icon/security.gif"
01208 , p_Resources.getMessage("treenode.jonas.server.security"), sAction, "content", false);
01209 p_ServerNode.addChild(nodeSecurity);
01210
01211 if (bJonasSecurityService == true) {
01212 getSecurityFactories(nodeSecurity, p_Resources);
01213 }
01214 }
01215 }
01216
01226 protected void getSecurityCatalinaRealm(TreeControlNode p_SecurityNode
01227 , MessageResources p_Resources, HttpServletRequest p_Request)
01228 throws Exception {
01229
01230
01231 TreeControlNode oNode = new TreeControlNode(p_SecurityNode.getName()
01232 + WhereAreYou.NODE_SEPARATOR + "catalina.realm", "icon/security.gif"
01233 , p_Resources.getMessage("treenode.jonas.server.security.catalina.realm"), null
01234 , "content", false);
01235 p_SecurityNode.addChild(oNode);
01236 }
01237
01245 public void getSecurityFactories(TreeControlNode p_SecurityNode, MessageResources p_Resources)
01246 throws Exception {
01247 ArrayList al = null;
01248 String sName = null;
01249 TreeControlNode nodeSecurityFactories = null;
01250 TreeControlNode nodeSecurityFactory = null;
01251
01252
01253 al = JonasAdminJmx.getSecurityMemoryFactories();
01254 if (al.size() > 0) {
01255
01256 nodeSecurityFactories = new TreeControlNode(p_SecurityNode.getName()
01257 + WhereAreYou.NODE_SEPARATOR + "factory.memory", "icon/security_memory.gif"
01258 , p_Resources.getMessage("treenode.jonas.server.security.factory.memory")
01259 , "ListRealms.do?realm=memory", "content", false);
01260 p_SecurityNode.addChild(nodeSecurityFactories);
01261
01262 for (int i = 0; i < al.size(); i++) {
01263 sName = al.get(i).toString();
01264
01265 nodeSecurityFactory = new TreeControlNode(nodeSecurityFactories.getName()
01266 + WhereAreYou.NODE_SEPARATOR + sName, "icon/security_memory.gif", sName
01267 , "EditMemoryRealm.do?resource=" + sName, "content", false);
01268 nodeSecurityFactories.addChild(nodeSecurityFactory);
01269
01270
01271 }
01272 }
01273
01274 al = JonasAdminJmx.getSecurityDatasourceFactories();
01275 if (al.size() > 0) {
01276
01277 nodeSecurityFactories = new TreeControlNode(p_SecurityNode.getName()
01278 + WhereAreYou.NODE_SEPARATOR + "factory.datasource", "icon/security_database.gif"
01279 , p_Resources.getMessage("treenode.jonas.server.security.factory.datasource")
01280 , "ListRealms.do?realm=datasource", "content", false);
01281 p_SecurityNode.addChild(nodeSecurityFactories);
01282
01283 for (int i = 0; i < al.size(); i++) {
01284 sName = al.get(i).toString();
01285
01286 nodeSecurityFactory = new TreeControlNode(nodeSecurityFactories.getName()
01287 + WhereAreYou.NODE_SEPARATOR + sName, "icon/security_database.gif", sName
01288 , "EditDatasourceRealm.do?resource=" + sName, "content", false);
01289 nodeSecurityFactories.addChild(nodeSecurityFactory);
01290 }
01291 }
01292
01293 al = JonasAdminJmx.getSecurityLdapFactories();
01294 if (al.size() > 0) {
01295
01296 nodeSecurityFactories = new TreeControlNode(p_SecurityNode.getName()
01297 + WhereAreYou.NODE_SEPARATOR + "factory.ldap", "icon/security_ldap.gif"
01298 , p_Resources.getMessage("treenode.jonas.server.security.factory.ldap")
01299 , "ListRealms.do?realm=ldap", "content", false);
01300 p_SecurityNode.addChild(nodeSecurityFactories);
01301
01302 for (int i = 0; i < al.size(); i++) {
01303 sName = al.get(i).toString();
01304
01305 nodeSecurityFactory = new TreeControlNode(nodeSecurityFactories.getName()
01306 + WhereAreYou.NODE_SEPARATOR + sName, "icon/security_ldap.gif", sName
01307 , "EditLdapRealm.do?resource=" + sName, "content", false);
01308 nodeSecurityFactories.addChild(nodeSecurityFactory);
01309 }
01310 }
01311 }
01312
01321 protected void getSecurityMemoryFactory(TreeControlNode p_SecurityMemoryNode
01322 , MessageResources p_Resources, String p_ResourceFactory)
01323 throws Exception {
01324 TreeControlNode node = null;
01325
01326 node = new TreeControlNode(p_SecurityMemoryNode.getName() + WhereAreYou.NODE_SEPARATOR
01327 + "users", "icon/security_memory.gif"
01328 , p_Resources.getMessage("treenode.jonas.server.security.factory.memory.users")
01329 , "EditMemoryRealmUsers.do?resource=" + p_ResourceFactory, "content", false);
01330 p_SecurityMemoryNode.addChild(node);
01331
01332 node = new TreeControlNode(p_SecurityMemoryNode.getName() + WhereAreYou.NODE_SEPARATOR
01333 + "groups", "icon/security_memory.gif"
01334 , p_Resources.getMessage("treenode.jonas.server.security.factory.memory.groups")
01335 , "EditMemoryRealmGroups.do?resource=" + p_ResourceFactory, "content", false);
01336 p_SecurityMemoryNode.addChild(node);
01337
01338 node = new TreeControlNode(p_SecurityMemoryNode.getName() + WhereAreYou.NODE_SEPARATOR
01339 + "roles", "icon/security_memory.gif"
01340 , p_Resources.getMessage("treenode.jonas.server.security.factory.memory.roles")
01341 , "EditMemoryRealmRoles.do?resource=" + p_ResourceFactory, "content", false);
01342 p_SecurityMemoryNode.addChild(node);
01343 }
01344
01354 protected void getProtocols(TreeControlNode p_ServerNode, MessageResources p_Resources
01355 , HttpServletRequest p_Request)
01356 throws Exception {
01357
01358 if (JonasAdminJmx.hasMBeanName(CatalinaObjectName.catalinaServer()) == true) {
01359 getCatalinaProtocols(p_ServerNode, p_Resources, p_Request);
01360 }
01361 }
01362
01372 protected void getCatalinaProtocols(TreeControlNode p_ServerNode, MessageResources p_Resources
01373 , HttpServletRequest p_Request)
01374 throws Exception {
01375
01376 TreeControlNode catalinaNode = new TreeControlNode(p_ServerNode.getName()
01377 + WhereAreYou.NODE_SEPARATOR + "protocols", "icon/protocol.gif"
01378 , p_Resources.getMessage("treenode.jonas.server.protocols")
01379 , "ListCatalinaConnectors.do", "content", false);
01380 p_ServerNode.addChild(catalinaNode);
01381
01382 getCatalinaConnector(catalinaNode, p_Resources, p_Request);
01383 }
01384
01394 protected void getCatalinaConnector(TreeControlNode p_CatalinaServerNode
01395 , MessageResources p_Resources, HttpServletRequest p_Request)
01396 throws Exception {
01397
01398
01399 TreeControlNode connectorNode = new TreeControlNode(p_CatalinaServerNode.getName()
01400 + WhereAreYou.NODE_SEPARATOR + "connectors", "icon/connectors.gif"
01401 , p_Resources.getMessage("treenode.jonas.server.protocols.connectors")
01402 , "ListCatalinaConnectors.do", "content", false);
01403 p_CatalinaServerNode.addChild(connectorNode);
01404
01405 getCatalinaDetailConnectors(connectorNode, p_Resources, p_Request);
01406
01407 }
01408
01418 public void getCatalinaDetailConnectors(TreeControlNode p_ConnectorNode
01419 , MessageResources p_Resources, HttpServletRequest p_Request)
01420 throws Exception {
01421
01422
01423 WhereAreYou oWhere = (WhereAreYou) p_Request.getSession().getAttribute(WhereAreYou.
01424 SESSION_NAME);
01425
01426
01427 String sDomain = oWhere.getCurrentCatalinaDomainName();
01428
01429 ArrayList al = new ArrayList();
01430 Iterator it = JonasAdminJmx.getListMBeanName(CatalinaObjectName.catalinaConnectors(sDomain)).
01431 iterator();
01432 while (it.hasNext()) {
01433 al.add(new ConnectorItem(new ObjectName(it.next().toString())
01434 , oWhere.getApplicationServerPort()));
01435 }
01436
01437 Collections.sort(al, new ConnectorItemByPort());
01438
01439 TreeControlNode node;
01440 ConnectorItem oConnector;
01441 String sLabel;
01442 for (int i = 0; i < al.size(); i++) {
01443 oConnector = (ConnectorItem) al.get(i);
01444 node = new TreeControlNode(p_ConnectorNode.getName() + WhereAreYou.NODE_SEPARATOR
01445 + sDomain + WhereAreYou.NODE_SEPARATOR + oConnector.getPort(), "icon/connector.gif"
01446 , oConnector.getLabel()
01447 , "EditCatalinaConnector.do?select=" + oConnector.getObjectName(), "content", false);
01448 p_ConnectorNode.addChild(node);
01449 }
01450 }
01451
01460 public void getJoramPlatform(TreeControlNode pDomainNode,
01461 MessageResources pResources)
01462 throws Exception {
01463
01464 ObjectName oName = new ObjectName("joram:type=JMSlocalServer");
01465
01466 if (!JonasAdminJmx.hasMBeanName(oName)) {
01467 return;
01468 }
01469
01470 TreeControlNode platformNode =
01471 new TreeControlNode(pDomainNode.getName() + WhereAreYou.NODE_SEPARATOR + "joramplatform",
01472 "icon/service_jms.gif",
01473 pResources.getMessage("treenode.joramplatform"),
01474 "EditJoramPlatform.do",
01475 "content",
01476 false);
01477
01478 pDomainNode.addChild(platformNode);
01479 String localId = (String) JonasManagementRepr.getAttribute(oName, "LocalServerId");
01480
01481 TreeControlNode localServerNode =
01482 new TreeControlNode(platformNode.getName() + WhereAreYou.NODE_SEPARATOR + "joramlocalserver",
01483 "icon/service_jms.gif",
01484 pResources.getMessage("treenode.joramplatform.joramlocalserver") + " (" + localId + ")",
01485 "EditJoramLocalServer.do",
01486 "content",
01487 false);
01488
01489 platformNode.addChild(localServerNode);
01490
01491 List list = (List) JonasManagementRepr.getAttribute(oName, "PlatformServersIds");
01492 if (list != null) {
01493 Iterator it = list.iterator();
01494 String id;
01495 TreeControlNode remoteServerNode;
01496 while (it.hasNext()) {
01497 id = it.next().toString();
01498 String joramremoteserver = null;
01499 if (! id.equals(localId)) {
01500 joramremoteserver = "joramremoteserver" + id;
01501 remoteServerNode =
01502 new TreeControlNode(platformNode.getName() + WhereAreYou.NODE_SEPARATOR + joramremoteserver,
01503 "icon/service_jms.gif",
01504 pResources.getMessage("treenode.joramplatform.joramremoteserver") + " (" + id + ")",
01505 "EditJoramRemoteServer.do?id=" + id,
01506 "content",
01507 false);
01508
01509 platformNode.addChild(remoteServerNode);
01510 }
01511 }
01512 }
01513
01514 list = (List) JonasManagementRepr.getAttribute(oName, "LocalQueuesNames");
01515 if (list != null) {
01516 Iterator it = list.iterator();
01517 String name;
01518 TreeControlNode queueNode;
01519 while (it.hasNext()) {
01520 name = (String) it.next();
01521 queueNode =
01522 new TreeControlNode(localServerNode.getName() + WhereAreYou.NODE_SEPARATOR + "joramlocalqueue" + name,
01523 "icon/jms_queue.gif",
01524 pResources.getMessage("treenode.joramplatform.joramlocalserver.queue") + " (" + name + ")",
01525 "EditJoramLocalQueue.do?name=" + name,
01526 "content",
01527 false);
01528
01529 localServerNode.addChild(queueNode);
01530 }
01531 }
01532
01533 list = (List) JonasManagementRepr.getAttribute(oName, "LocalTopicsNames");
01534 if (list != null) {
01535 Iterator it = list.iterator();
01536 String name;
01537 TreeControlNode topicNode;
01538 while (it.hasNext()) {
01539 name = (String) it.next();
01540 topicNode =
01541 new TreeControlNode(localServerNode.getName() + WhereAreYou.NODE_SEPARATOR + "joramlocaltopic" + name,
01542 "icon/jms_topic.gif",
01543 pResources.getMessage("treenode.joramplatform.joramlocalserver.topic") + " (" + name + ")",
01544 "EditJoramLocalTopic.do?name=" + name,
01545 "content",
01546 false);
01547
01548 localServerNode.addChild(topicNode);
01549 }
01550 }
01551 }
01552 }