00001
00026 package org.objectweb.jonas.webapp.jonasadmin.jonasserver;
00027
00028 import java.io.IOException;
00029 import java.util.Iterator;
00030 import java.util.List;
00031
00032 import javax.management.ObjectName;
00033 import javax.servlet.ServletException;
00034 import javax.servlet.http.HttpServletRequest;
00035 import javax.servlet.http.HttpServletResponse;
00036
00037 import org.apache.struts.action.ActionForm;
00038 import org.apache.struts.action.ActionForward;
00039 import org.apache.struts.action.ActionMapping;
00040 import org.objectweb.jonas.jmx.J2eeObjectName;
00041 import org.objectweb.jonas.jmx.JonasManagementRepr;
00042 import org.objectweb.jonas.webapp.jonasadmin.JonasBaseAction;
00043
00048 public class ListRegistryAction extends JonasBaseAction {
00049
00050 public ActionForward executeAction(ActionMapping p_Mapping, ActionForm p_Form
00051 , HttpServletRequest p_Request, HttpServletResponse p_Response)
00052 throws IOException, ServletException {
00053
00054
00055 m_WhereAreYou.selectNameNode(getTreeBranchName(DEPTH_SERVER), true);
00056
00057 JndiResourcesForm oForm = new JndiResourcesForm();
00058
00059 try {
00060 String pDomainName = m_WhereAreYou.getCurrentDomainName();
00061 String pServerName = m_WhereAreYou.getCurrentJonasServerName();
00062 ObjectName ons = J2eeObjectName.JNDIResources(pDomainName, pServerName);
00063 Iterator itNames = JonasManagementRepr.queryNames(ons).iterator();
00064 List lNames = null;
00065 int nbJNDIResources = 0;
00066 while (itNames.hasNext()) {
00067 JndiResourceItem item = new JndiResourceItem();
00068 ObjectName itOn = (ObjectName) itNames.next();
00069 item.setProviderUrl(getStringAttribute(itOn, "providerUrl"));
00070 item.setProtocol(getStringAttribute(itOn, "protocol"));
00071 item.setResourceON(itOn.toString());
00072 lNames = getListAttribute(itOn, "names");
00073 oForm.addProvider(item);
00074 nbJNDIResources++;
00075 }
00076 if (nbJNDIResources == 1) {
00077 oForm.setListNames(lNames);
00078 }
00079 p_Request.setAttribute("jndiResourcesForm", oForm);
00080 }
00081 catch (Throwable t) {
00082 addGlobalError(t);
00083 saveErrors(p_Request, m_Errors);
00084 return (p_Mapping.findForward("Global Error"));
00085 }
00086
00087 return (p_Mapping.findForward("Registry"));
00088 }
00089 }