1 16 package org.jmanage.webui.actions.app; 17 18 import org.apache.struts.action.ActionForm; 19 import org.apache.struts.action.ActionMapping; 20 import org.apache.struts.action.ActionForward; 21 import org.jmanage.webui.util.WebContext; 22 import org.jmanage.webui.util.Forwards; 23 import org.jmanage.webui.util.Utils; 24 import org.jmanage.webui.actions.BaseAction; 25 import org.jmanage.core.util.Expression; 26 import org.jmanage.core.services.*; 27 import org.jmanage.core.management.ObjectAttribute; 28 29 import javax.servlet.http.HttpServletResponse ; 30 import javax.servlet.http.HttpServletRequest ; 31 import java.util.List ; 32 import java.util.StringTokenizer ; 33 import java.util.LinkedList ; 34 import java.util.Iterator ; 35 36 48 public class MBeanAttributeValuesAction extends BaseAction { 49 50 51 public ActionForward execute(WebContext context, 52 ActionMapping mapping, 53 ActionForm actionForm, 54 HttpServletRequest request, 55 HttpServletResponse response) 56 throws Exception { 57 58 String attributes = request.getParameter("attributes"); 59 assert attributes != null; 60 List exprList = parse(attributes); 61 List objectAttrList = new LinkedList (); 62 MBeanService mbeanService = ServiceFactory.getMBeanService(); 63 for(Iterator it=exprList.iterator(); it.hasNext();){ 64 Expression expression = (Expression)it.next(); 65 ServiceContext srvcContext = null; 66 ObjectAttribute objAttribute = null; 67 try { 68 srvcContext = Utils.getServiceContext(context, expression); 69 objAttribute = mbeanService.getObjectAttribute(srvcContext, 70 expression.getTargetName()); 71 } finally { 72 if(srvcContext != null) 73 srvcContext.getServerConnection().close(); 74 } 75 assert objAttribute != null; 76 assert objAttribute.getStatus() == ObjectAttribute.STATUS_OK; 77 objectAttrList.add(objAttribute); 78 } 79 request.setAttribute("objectAttrList", objectAttrList); 80 return mapping.findForward(Forwards.SUCCESS); 81 } 82 83 88 private List parse(String attributes){ 89 List exprList = new LinkedList (); 90 StringTokenizer tokenizer = new StringTokenizer (attributes, ","); 91 while(tokenizer.hasMoreTokens()){ 92 String expression = tokenizer.nextToken(); 93 assert expression.startsWith("["); 94 while(!expression.endsWith("]")){ 95 assert tokenizer.hasMoreTokens(); 96 expression += "," + tokenizer.nextToken(); 97 } 98 expression = expression.substring(1, expression.length()-1); 99 exprList.add(new Expression(expression)); 100 } 101 return exprList; 102 } 103 104 } 105 | Popular Tags |