1 5 6 package com.quikj.application.communicator.applications.webtalk.controller; 7 8 import java.sql.Connection ; 9 import java.util.ArrayList ; 10 11 import javax.servlet.http.HttpServletRequest ; 12 import javax.servlet.http.HttpServletResponse ; 13 14 import org.apache.struts.action.Action; 15 import org.apache.struts.action.ActionError; 16 import org.apache.struts.action.ActionErrors; 17 import org.apache.struts.action.ActionForm; 18 import org.apache.struts.action.ActionForward; 19 import org.apache.struts.action.ActionMapping; 20 import org.apache.struts.action.DynaActionForm; 21 22 import com.quikj.application.communicator.admin.controller.AdminConfig; 23 import com.quikj.application.communicator.admin.controller.LinkAttribute; 24 import com.quikj.application.communicator.admin.model.AccountElement; 25 import com.quikj.application.communicator.admin.model.AccountsTable; 26 import com.quikj.application.communicator.applications.webtalk.model.CannedMessageElement; 27 import com.quikj.application.communicator.applications.webtalk.model.CannedMessageTable; 28 import com.quikj.application.communicator.applications.webtalk.model.FeatureTable; 29 import com.quikj.application.communicator.applications.webtalk.model.GroupTable; 30 import com.quikj.application.communicator.applications.webtalk.model.UserTable; 31 import com.quikj.server.framework.AceLogger; 32 36 public class DisplayDropCustomerAction extends Action 37 { 38 39 40 public DisplayDropCustomerAction() 41 { 42 } 43 44 public ActionForward execute(ActionMapping mapping, 45 ActionForm form, 46 HttpServletRequest request, 47 HttpServletResponse response) 48 { 49 ActionErrors errors = new ActionErrors(); 50 51 Connection c = (Connection )request.getSession().getAttribute("connection"); 52 if (c == null) 53 { 54 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.not.logged.in")); 55 saveErrors(request, errors); 56 57 return mapping.findForward("logon"); 58 } 59 60 AccountElement element = (AccountElement)request.getSession().getAttribute("userInfo"); 61 if (element.isAdminLevel() == false) 62 { 63 errors.add(ActionErrors.GLOBAL_ERROR, 64 new ActionError("error.insufficient.privilege")); 65 saveErrors(request, errors); 66 67 return mapping.findForward("main_menu"); 68 } 69 70 String domain = (String )request.getAttribute("domain"); 71 72 ((DynaActionForm)form).set("domain", new String (domain)); 73 74 76 UserTable users = new UserTable(); 77 users.setConnection(c); 78 79 ArrayList operators = users.findMembersOnlyByGroupDomain(domain); 81 String operators_error = users.getErrorMessage(); 82 83 ArrayList owners = users.findOwnersByGroupDomain(domain); 85 String owners_error = users.getErrorMessage(); 86 87 if ((operators == null) || (owners == null)) 88 { 89 errors.add(ActionErrors.GLOBAL_ERROR, 90 new ActionError("error.customer.delete.finddata")); 91 92 saveErrors(request, errors); 93 94 String msg = "DisplayDropCustomerAction.execute()/by-" + element.getName() 96 + ": Error finding data in domain " + domain + ": "; 97 98 if (operators == null) 99 { 100 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, msg + 101 "operators - " + operators_error); 102 } 103 104 if (owners == null) 105 { 106 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG, msg + 107 "group owners/features - " + owners_error); 108 } 109 110 return mapping.findForward("webtalk_main_menu"); 111 } 112 113 ArrayList stray_users = users.list(domain); 115 116 if (stray_users != null) 117 { 118 ArrayList known_users = new ArrayList (operators); 119 known_users.addAll(owners); 120 stray_users.removeAll(known_users); 121 122 if (stray_users.size() <= 0) 123 { 124 stray_users = null; 125 } 126 } 127 128 if (operators.size() <= 0) 129 { 130 operators = null; 131 } 132 133 if (owners.size() <= 0) 134 { 135 owners = null; 136 } 137 138 GroupTable groups = new GroupTable(); 140 groups.setConnection(c); 141 142 ArrayList all_groups = groups.list(domain); 143 144 if (all_groups != null) 145 { 146 if (all_groups.size() <= 0) 147 { 148 all_groups = null; 149 } 150 } 151 152 154 FeatureTable features = new FeatureTable(); 155 features.setConnection(c); 156 157 ArrayList all_features = features.list(domain); 158 159 if (all_features != null) 160 { 161 if (all_features.size() <= 0) 162 { 163 all_features = null; 164 } 165 } 166 167 169 CannedMessageTable msgs = new CannedMessageTable(); 170 msgs.setConnection(c); 171 172 ArrayList all_messages = msgs.search(new CannedMessageElement(), "Group", domain); 173 174 if (all_messages != null) 175 { 176 if (all_messages.size() <= 0) 177 { 178 all_messages = null; 179 } 180 } 181 182 184 AccountsTable accounts = new AccountsTable(AdminConfig.getInstance().getDBParams().getAdminDb()); 185 accounts.setConnection(c); 186 187 ArrayList system_accounts = accounts.list(domain); 188 189 if (system_accounts != null) 190 { 191 if (system_accounts.size() <= 0) 192 { 193 system_accounts = null; 194 } 195 } 196 197 199 request.setAttribute("operators", operators); 200 request.setAttribute("owners", owners); 201 request.setAttribute("strayUsers", stray_users); 202 request.setAttribute("groups", all_groups); 203 request.setAttribute("features", all_features); 204 request.setAttribute("cannedMessages", all_messages); 205 request.setAttribute("accounts", system_accounts); 206 207 208 WebTalkRelatedTasks menu = new WebTalkRelatedTasks(); 210 request.setAttribute("menu", menu); 211 212 menu.addLink(new LinkAttribute("List all groups", "list_groups")); 213 menu.addLink(new LinkAttribute("List all features", "list_features")); 214 menu.addLink(new LinkAttribute("Search users", "display_user_search")); 215 menu.addLink(new LinkAttribute("Search canned messages", "display_canned_message_search")); 216 217 return mapping.getInputForward(); 218 } 219 } 220 | Popular Tags |