1 15 16 package com.jdon.model.handler; 17 18 import com.jdon.bussinessproxy.meta.MethodMetaArgs; 19 import com.jdon.controller.events.EventModel; 20 import com.jdon.util.Debug; 21 22 40 public class HandlerMethodMetaArgsFactory { 41 private final static String module = HandlerMethodMetaArgsFactory.class 42 .getName(); 43 44 50 public MethodMetaArgs createinitMethod(HandlerMetaDef handlerMetaDef, 51 EventModel em) { 52 String p_methodName = handlerMetaDef.getInitMethod(); 53 if (p_methodName == null) 54 return null; 55 return createCRUDMethodMetaArgs(p_methodName, em); 56 } 57 58 66 public MethodMetaArgs createGetMethod(HandlerMetaDef handlerMetaDef, 67 Object keyValue) { 68 69 String p_methodName = handlerMetaDef.getFindMethod(); 70 if (p_methodName == null) { 71 Debug 72 .logError( 73 "[JdonFramework] not configure the findMethod parameter: <getMethod name=XXXXX /> ", 74 module); 75 } 76 if (keyValue == null) { 77 Debug.logError("[JdonFramework] not found model's key value:"+ handlerMetaDef.getModelMapping().getKeyName()+"=? in request parameters", module); 78 } 79 return createCRUDMethodMetaArgs(p_methodName, keyValue); 80 } 81 82 90 public MethodMetaArgs createCreateMethod(HandlerMetaDef handlerMetaDef, 91 EventModel em) { 92 93 String p_methodName = handlerMetaDef.getCreateMethod(); 94 if (p_methodName == null) { 95 Debug 96 .logError( 97 "[JdonFramework] not configure the createMethod parameter: <createMethod name=XXXXX /> ", 98 module); 99 } 100 return createCRUDMethodMetaArgs(p_methodName, em); 101 } 102 103 112 public MethodMetaArgs createUpdateMethod(HandlerMetaDef handlerMetaDef, 113 EventModel em) { 114 115 String p_methodName = handlerMetaDef.getUpdateMethod(); 116 if (p_methodName == null) { 117 Debug 118 .logError( 119 "[JdonFramework] not configure the updateMethod parameter: <updateMethod name=XXXXX /> ", 120 module); 121 } 122 return createCRUDMethodMetaArgs(p_methodName, em); 123 } 124 125 133 public MethodMetaArgs createDeleteMethod(HandlerMetaDef handlerMetaDef, 134 EventModel em) { 135 136 String p_methodName = handlerMetaDef.getDeleteMethod(); 137 if (p_methodName == null) { 138 Debug 139 .logError( 140 "[JdonFramework] not configure the deleteMethod parameter: <deleteMethod name=XXXXX /> ", 141 module); 142 } 143 144 return createCRUDMethodMetaArgs(p_methodName, em); 145 } 146 147 public MethodMetaArgs createDirectMethod(String methodName, 148 Object [] methodParams) { 149 MethodMetaArgs methodMetaArgs = null; 150 try { 151 if (methodName == null) 152 throw new Exception ( 153 "no configure method value, but now you call it: "); 154 155 Debug.logVerbose("[JdonFramework] construct " + methodName, module); 156 Class [] paramTypes = new Class [methodParams.length]; 157 Object [] p_args = new Object [methodParams.length]; 158 for (int i = 0; i < methodParams.length; i++) { 159 paramTypes[i] = methodParams[i].getClass(); 160 p_args[i] = methodParams[i]; 161 Debug.logVerbose("[JdonFramework], parameter type:" 162 + paramTypes[i] + " and parameter value:" + p_args[i], 163 module); 164 } 165 methodMetaArgs = new MethodMetaArgs(methodName, paramTypes, p_args); 166 167 } catch (Exception ex) { 168 Debug.logError("[JdonFramework] createDirectMethod error: " + ex, 169 module); 170 } 171 return methodMetaArgs; 172 } 173 174 private MethodMetaArgs createCRUDMethodMetaArgs(String p_methodName, 175 Object args) { 176 MethodMetaArgs methodMetaArgs = null; 177 try { 178 Class [] paramTypes = new Class [1]; 179 paramTypes[0] = args.getClass(); 180 Object [] p_args = new Object [1]; 181 p_args[0] = args; 182 methodMetaArgs = new MethodMetaArgs(p_methodName, paramTypes, 183 p_args); 184 Debug.logVerbose("[JdonFramework] construct " 185 + methodMetaArgs.getMethodName() + ", parameter type:" 186 + paramTypes[0], module); 187 } catch (Exception ex) { 188 Debug.logError("[JdonFramework] create CRUD method error: " + ex, 189 module); 190 } 191 return methodMetaArgs; 192 } 193 194 } 195 | Popular Tags |