1 15 16 package com.jdon.strutsutil.util; 17 18 import javax.servlet.http.HttpServletRequest ; 19 20 import org.apache.struts.action.ActionMapping; 21 22 import com.jdon.controller.events.EventModel; 23 import com.jdon.controller.model.ModelIF; 24 import com.jdon.model.ModelForm; 25 import com.jdon.model.ModelHandler; 26 import com.jdon.model.ModelManager; 27 import com.jdon.strutsutil.FormBeanUtil; 28 import com.jdon.util.Debug; 29 30 36 public class CreateViewPageUtil { 37 private final static String module = CreateViewPageUtil.class.getName(); 38 39 private ModelManager modelManager; 40 41 42 public CreateViewPageUtil(ModelManager modelManager) { 43 this.modelManager = modelManager; 44 } 45 46 57 public void doCreate(ActionMapping actionMapping, ModelForm modelForm, HttpServletRequest request) throws Exception { 58 Debug.logVerbose("[JdonFramework] enter doCreate... ", module); 59 String formName = FormBeanUtil.getFormName(actionMapping); 60 ModelHandler modelHandler = modelManager.borrowtHandlerObject(formName); 61 try { 62 63 ModelForm form = modelHandler.initForm(request); 64 if (form != null) { 65 form.setAction(ModelForm.CREATE_STR); 66 FormBeanUtil.saveActionForm(form, actionMapping, request); 67 } else { 68 form = modelForm; 69 } 70 Debug.logVerbose("[JdonFramework] got a ModelForm ... " , module); 71 72 ModelIF modelDTO = modelManager.getModelObject(formName); 73 modelHandler.formCopyToModelIF(form, modelDTO); 74 EventModel em = new EventModel(); 75 em.setActionName(form.getAction()); 76 em.setModelIF(modelDTO); 77 78 modelDTO = initModel(em, request, modelHandler, form); 79 if (modelDTO != null) { Debug.logVerbose("[JdonFramework] got a Model From the 'initModel' method of the service", module); 82 modelHandler.modelIFCopyToForm(modelDTO, form); 83 } 84 85 } catch (Exception ex) { 86 Debug.logError("[JdonFramework]please check your service � model or form, error is: " + ex, module); 87 throw new Exception ("System error! please call system admin. " + ex); 88 } finally { 89 modelManager.returnHandlerObject(modelHandler); } 91 } 92 93 private ModelIF initModel(EventModel em, HttpServletRequest request, ModelHandler modelHandler, ModelForm form) throws Exception { 94 ModelIF model = null; 95 try { 96 model = modelHandler.initModelIF(em, form, request); 97 } catch (Exception ex) { 98 Debug.logError("[JdonFramework] the method 'initForm' of your handler or 'initMethod' of your service happened error: " + ex, module); 99 throw new Exception (ex); 100 } 101 return model; 102 } 103 104 } 105 | Popular Tags |