1 25 26 package org.objectweb.jonas.webapp.jonasadmin.security; 27 28 import java.io.IOException ; 29 30 import javax.management.ObjectName ; 31 import javax.servlet.ServletException ; 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 35 import org.apache.struts.action.ActionForm; 36 import org.apache.struts.action.ActionForward; 37 import org.apache.struts.action.ActionMapping; 38 import org.objectweb.jonas.jmx.JonasManagementRepr; 39 import org.objectweb.jonas.jmx.JonasObjectName; 40 import org.objectweb.jonas.webapp.jonasadmin.WhereAreYou; 41 42 45 public class ApplyDatasourceRealmAction extends BaseMemoryRealmAction { 46 47 49 public ActionForward executeAction(ActionMapping p_Mapping, ActionForm p_Form 50 , HttpServletRequest p_Request, HttpServletResponse p_Response) 51 throws IOException , ServletException { 52 53 DatasourceRealmForm oForm = (DatasourceRealmForm) p_Form; 55 56 try { 58 if (oForm.getAction().equals("create") == true) { 60 oForm.setResource(oForm.getName()); 61 ObjectName oObjectName = JonasObjectName.securityService(); 63 String [] asParam = { 64 oForm.getName(), oForm.getDsName(), oForm.getUserTable() 65 , oForm.getUserTableUsernameCol(), oForm.getUserTablePasswordCol() 66 , oForm.getRoleTable(), oForm.getRoleTableRolenameCol() 67 , oForm.getRoleTableUsernameCol(), oForm.getAlgorithm()}; 68 String [] asSignature = { 69 "java.lang.String", "java.lang.String", "java.lang.String", "java.lang.String" 70 , "java.lang.String", "java.lang.String", "java.lang.String" 71 , "java.lang.String", "java.lang.String"}; 72 JonasManagementRepr.invoke(oObjectName, "addJResourceDS", asParam, asSignature); 73 refreshTree(); 75 m_WhereAreYou.selectNameNode(getTreeBranchName(DEPTH_SERVER) 77 + WhereAreYou.NODE_SEPARATOR + "security" + WhereAreYou.NODE_SEPARATOR 78 + "factory.datasource" + WhereAreYou.NODE_SEPARATOR + oForm.getName(), true); 79 oForm.setAction("apply"); 81 } 82 else { 83 ObjectName oObjectName = JonasObjectName.securityDatasourceFactory(oForm. 85 getResource()); 86 setStringAttribute(oObjectName, "DsName", oForm.getDsName()); 87 setStringAttribute(oObjectName, "RoleTable", oForm.getRoleTable()); 88 setStringAttribute(oObjectName, "RoleTableRolenameCol" 89 , oForm.getRoleTableRolenameCol()); 90 setStringAttribute(oObjectName, "RoleTableUsernameCol" 91 , oForm.getRoleTableUsernameCol()); 92 setStringAttribute(oObjectName, "UserTable", oForm.getUserTable()); 93 setStringAttribute(oObjectName, "UserTablePasswordCol" 94 , oForm.getUserTablePasswordCol()); 95 setStringAttribute(oObjectName, "UserTableUsernameCol" 96 , oForm.getUserTableUsernameCol()); 97 setStringAttribute(oObjectName, "Algorithm", oForm.getAlgorithm()); 98 } 99 if (oForm.isSave()) { 101 ObjectName onRealm = JonasObjectName.securityDatasourceFactory(oForm.getResource()); 102 JonasManagementRepr.invoke(onRealm, "saveConfig", null, null); 103 } 104 } 105 catch (Throwable t) { 106 addGlobalError(t); 107 saveErrors(p_Request, m_Errors); 108 return (p_Mapping.findForward("Global Error")); 109 } 110 return (p_Mapping.findForward("Datasource Realm")); 112 } 113 114 116 } 117 | Popular Tags |