00001
00022 package org.objectweb.jonas.webapp.jonasadmin.joramplatform;
00023
00024 import java.io.IOException;
00025 import java.util.ArrayList;
00026 import java.util.Iterator;
00027 import java.util.List;
00028
00029 import javax.management.ObjectName;
00030 import javax.servlet.ServletException;
00031 import javax.servlet.http.HttpServletRequest;
00032 import javax.servlet.http.HttpServletResponse;
00033
00034 import org.apache.struts.action.ActionForm;
00035 import org.apache.struts.action.ActionForward;
00036 import org.apache.struts.action.ActionMapping;
00037
00038 import org.objectweb.jonas.jmx.JonasManagementRepr;
00039 import org.objectweb.jonas.jmx.JonasObjectName;
00040 import org.objectweb.jonas.webapp.jonasadmin.WhereAreYou;
00041
00046 public class ListJoramServersAction extends EditJoramBaseAction {
00047
00048
00049
00050 public ActionForward executeAction(ActionMapping pMapping, ActionForm pForm
00051 , HttpServletRequest pRequest, HttpServletResponse pResponse)
00052 throws IOException, ServletException {
00053
00054
00055 m_WhereAreYou.selectNameNode(getTreeBranchName(DEPTH_DOMAIN) + WhereAreYou.NODE_SEPARATOR
00056 + "joramplatform", true);
00057
00058 try {
00059
00060 ObjectName oName = JonasObjectName.joramLocalServer();
00061 String localId = (String) JonasManagementRepr.getAttribute(oName, "LocalServerId");
00062 ArrayList remoteIds = new ArrayList();
00063 List list = (List) JonasManagementRepr.getAttribute(oName, "PlatformServersIds");
00064 if (list != null) {
00065 Iterator it = list.iterator();
00066 String id;
00067 while (it.hasNext()) {
00068 id = it.next().toString();
00069 if (!id.equals(localId)) {
00070 remoteIds.add(id);
00071 }
00072 }
00073 }
00074 pRequest.setAttribute("localId", localId);
00075 pRequest.setAttribute("remoteIds", remoteIds);
00076 } catch (Throwable t) {
00077 return (treatError(t, pMapping, pRequest));
00078 }
00079
00080
00081 return (pMapping.findForward("JoramServers"));
00082 }
00083
00084 }