/it-ru/trunk/src/ak/itru/core/action/AdminEventAction.java |
---|
0,0 → 1,129 |
package ak.itru.core.action; |
import java.util.List; |
import java.util.Collections; |
import java.util.ArrayList; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import org.apache.struts.action.Action; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.DynaActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMessages; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionError; |
import ak.strutsx.RequestUtilsX; |
import ak.strutsx.ErrorHandlerX; |
import ak.backpath.BackPath; |
import ak.itru.util.StringConverter; |
import ak.itru.util.UserException; |
import ak.itru.core.model.Event; |
import ak.itru.core.model.EventManager; |
import ak.itru.core.model.Act; |
import ak.itru.core.model.ActManager; |
import ak.itru.core.form.EventActBean; |
public final class AdminEventAction |
extends Action |
{ |
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(EventManager.getInstance().listEvents(false)); |
Collections.sort(list, EventManager.START_COMPARATOR); |
request.setAttribute("events", list); |
return mapping.findForward("default"); |
} |
else if("edit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long eventId = StringConverter.parseLong(theForm.get("id")); |
Event event; |
List acts = new ArrayList(ActManager.getInstance().listActs()); |
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm( |
this, request, "EventEditForm"); |
if(eventId == null) { |
event = EventManager.getInstance().create(); |
showForm.set("enabled", Boolean.TRUE); |
} |
else { |
event = EventManager.getInstance().get(eventId); |
showForm.set("name", event.getName()); |
showForm.set("place", event.getPlace()); |
showForm.set("address", event.getAddress()); |
showForm.set("transport", event.getTransportDesc()); |
showForm.set("start", StringConverter.toDate(event.getStart())); |
showForm.set("stop", StringConverter.toDate(event.getStop())); |
showForm.set("lastreg", StringConverter.toDate(event.getLastRegister())); |
showForm.set("lastunreg", StringConverter.toDate(event.getLastUnregister())); |
showForm.set("price", StringConverter.toCurrency(event.getPrice())); |
showForm.set("account", event.getMoneyAccount()); |
showForm.set("enabled", event.getEnabled()); |
showForm.set("comment", event.getComment()); |
} |
EventActBean[] a = new EventActBean[acts.size()]; |
Collections.sort(acts, ActManager.NAME_COMPARATOR); |
for(int i = 0; i < acts.size(); i++) { |
Act act = (Act)acts.get(i); |
a[i] = new EventActBean(act, (event == null) ? null : event.getAct(act.getId())); |
} |
showForm.set("acts", a); |
return mapping.findForward("default"); |
} |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long eventId = StringConverter.parseLong(theForm.get("id")); |
Event event = EventManager.getInstance().get(eventId); |
EventManager.getInstance().delete(event); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else if("submit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long eventId = StringConverter.parseLong(theForm.get("id")); |
Event event; |
if(eventId == null) { |
event = EventManager.getInstance().create(); |
} |
else { |
event = EventManager.getInstance().get(eventId); |
} |
String name = (String)theForm.get("name"); |
if(EventManager.getInstance().nameExists(event, name)) { |
throw new UserException("ak.itru.core.event.name.nonunique"); |
} |
event.setName(name); |
event.setPlace((String)theForm.get("place")); |
event.setAddress((String)theForm.get("address")); |
event.setTransportDesc((String)theForm.get("transport")); |
event.setStart(StringConverter.parseDate(theForm.get("start"))); |
event.setStop(StringConverter.parseDate(theForm.get("stop"))); |
event.setLastRegister(StringConverter.parseDate(theForm.get("lastreg"))); |
event.setLastUnregister(StringConverter.parseDate(theForm.get("lastunreg"))); |
event.setPrice(StringConverter.parseCurrency(theForm.get("price"))); |
event.setMoneyAccount((String)theForm.get("account")); |
event.setEnabled((Boolean)theForm.get("enabled")); |
event.setComment((String)theForm.get("comment")); |
EventManager.getInstance().save(event); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else { |
throw new Exception("unknown mapping parameter"); |
} |
} |
} |
/it-ru/trunk/src/ak/itru/core/action/UserExceptionHandler.java |
---|
0,0 → 1,62 |
package ak.itru.core.action; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import org.apache.struts.Globals; |
import org.apache.struts.action.ActionError; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionMessages; |
import org.apache.struts.action.ExceptionHandler; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.config.ExceptionConfig; |
import org.apache.log4j.Logger; |
import ak.strutsx.ErrorHandlerX; |
import ak.itru.util.UserException; |
import ak.itru.util.FormException; |
public final class UserExceptionHandler |
extends ExceptionHandler |
{ |
private static final Logger logger = Logger.getLogger(UserExceptionHandler.class); |
public ActionForward execute(Exception ex, ExceptionConfig config, |
ActionMapping mapping, ActionForm formInstance, |
HttpServletRequest request, HttpServletResponse response) |
throws ServletException |
{ |
if(!(ex instanceof UserException)) |
throw new ServletException("Unknown type of exception: " + ex.getClass()); |
UserException userEx = (UserException)ex; |
logger.info("begin exception handle:" + userEx.getMessage()); |
// try to get property for this exception if any |
String property = ActionMessages.GLOBAL_MESSAGE; |
if(userEx instanceof FormException) { |
FormException formEx = (FormException)userEx; |
if(formEx.getProperty() != null) |
property = formEx.getProperty(); |
} |
// create new error message |
ActionErrors errors = (ActionErrors)request.getAttribute(Globals.ERROR_KEY); |
if(errors == null) { |
errors = new ActionErrors(); |
request.setAttribute(Globals.ERROR_KEY, errors); |
} |
errors.add(property, new ActionError(userEx.getMessage(), userEx.getValues())); |
// find forward |
if(mapping.getInput() == null) |
return mapping.findForward("error"); |
else |
return mapping.getInputForward(); |
} |
} |
/it-ru/trunk/src/ak/itru/core/action/AdminActAction.java |
---|
0,0 → 1,96 |
package ak.itru.core.action; |
import java.util.List; |
import java.util.Collections; |
import java.util.ArrayList; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import org.apache.struts.action.Action; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.DynaActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMessages; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionError; |
import ak.strutsx.RequestUtilsX; |
import ak.strutsx.ErrorHandlerX; |
import ak.backpath.BackPath; |
import ak.itru.util.StringConverter; |
import ak.itru.util.UserException; |
import ak.itru.core.model.Act; |
import ak.itru.core.model.ActManager; |
public final class AdminActAction |
extends Action |
{ |
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(ActManager.getInstance().listActs()); |
Collections.sort(list, ActManager.NAME_COMPARATOR); |
request.setAttribute("acts", list); |
return mapping.findForward("default"); |
} |
else if("edit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long actId = StringConverter.parseLong(theForm.get("id")); |
Act act; |
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm( |
this, request, "ActEditForm"); |
if(actId == null) { |
act = ActManager.getInstance().create(); |
} |
else { |
act = ActManager.getInstance().get(actId); |
showForm.set("name", act.getName()); |
showForm.set("comment", act.getComment()); |
} |
return mapping.findForward("default"); |
} |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long actId = StringConverter.parseLong(theForm.get("id")); |
Act act = ActManager.getInstance().get(actId); |
ActManager.getInstance().delete(act); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else if("submit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long actId = StringConverter.parseLong(theForm.get("id")); |
Act act; |
if(actId == null) { |
act = ActManager.getInstance().create(); |
} |
else { |
act = ActManager.getInstance().get(actId); |
} |
String name = (String)theForm.get("name"); |
if(ActManager.getInstance().nameExists(act, name)) { |
throw new UserException("ak.itru.core.act.name.nonunique"); |
} |
act.setName(name); |
act.setComment((String)theForm.get("comment")); |
ActManager.getInstance().save(act); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else { |
throw new Exception("unknown mapping parameter"); |
} |
} |
} |
/it-ru/trunk/src/ak/itru/core/action/AdminApartmentAction.java |
---|
0,0 → 1,102 |
package ak.itru.core.action; |
import java.util.List; |
import java.util.Collections; |
import java.util.ArrayList; |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletResponse; |
import org.apache.struts.action.Action; |
import org.apache.struts.action.ActionMapping; |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.DynaActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMessages; |
import org.apache.struts.action.ActionErrors; |
import org.apache.struts.action.ActionError; |
import ak.strutsx.RequestUtilsX; |
import ak.strutsx.ErrorHandlerX; |
import ak.backpath.BackPath; |
import ak.itru.util.StringConverter; |
import ak.itru.util.UserException; |
import ak.itru.core.model.Apartment; |
import ak.itru.core.model.ApartmentManager; |
public final class AdminApartmentAction |
extends Action |
{ |
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, HttpServletResponse response) |
throws Exception |
{ |
if("list".equals(mapping.getParameter())) { |
List list = new ArrayList(ApartmentManager.getInstance().listApartments()); |
Collections.sort(list, ApartmentManager.NAME_COMPARATOR); |
request.setAttribute("apartments", list); |
return mapping.findForward("default"); |
} |
else if("edit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long apartmentId = StringConverter.parseLong(theForm.get("id")); |
Apartment apartment; |
DynaActionForm showForm = (DynaActionForm)RequestUtilsX.populateActionForm( |
this, request, "ApartmentEditForm"); |
if(apartmentId == null) { |
apartment = ApartmentManager.getInstance().create(); |
} |
else { |
apartment = ApartmentManager.getInstance().get(apartmentId); |
showForm.set("name", apartment.getName()); |
showForm.set("address", apartment.getAddress()); |
showForm.set("price", StringConverter.toCurrency(apartment.getPrice())); |
showForm.set("url", apartment.getUrl()); |
showForm.set("comment", apartment.getComment()); |
} |
return mapping.findForward("default"); |
} |
else if("delete".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long apartmentId = StringConverter.parseLong(theForm.get("id")); |
Apartment apartment = ApartmentManager.getInstance().get(apartmentId); |
ApartmentManager.getInstance().delete(apartment); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else if("submit".equals(mapping.getParameter())) { |
DynaActionForm theForm = (DynaActionForm)form; |
Long apartmentId = StringConverter.parseLong(theForm.get("id")); |
Apartment apartment; |
if(apartmentId == null) { |
apartment = ApartmentManager.getInstance().create(); |
} |
else { |
apartment = ApartmentManager.getInstance().get(apartmentId); |
} |
String name = (String)theForm.get("name"); |
if(ApartmentManager.getInstance().nameExists(apartment, name)) { |
throw new UserException("ak.itru.core.apartment.name.nonunique"); |
} |
apartment.setName(name); |
apartment.setAddress((String)theForm.get("address")); |
apartment.setPrice(StringConverter.parseCurrency(theForm.get("price"))); |
apartment.setUrl((String)theForm.get("url")); |
apartment.setComment((String)theForm.get("comment")); |
ApartmentManager.getInstance().save(apartment); |
response.sendRedirect(BackPath.findBackPath(request).getBackwardUrl()); |
return null; |
} |
else { |
throw new Exception("unknown mapping parameter"); |
} |
} |
} |