📄 genericwebevent.java
字号:
return "error"; } return "success"; } // get the non-primary key parameters Iterator nopksIter = entity.getNopksIterator(); while (nopksIter.hasNext()) { ModelField field = (ModelField) nopksIter.next(); ModelFieldType type = null; try { type = delegator.getEntityFieldType(entity, field.getType()); } catch (GenericEntityException e) { Debug.logWarning(e, module); Map messageMap = UtilMisc.toMap("fieldType", field.getType()); errMsg += UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.fatal_error_param", messageMap, locale) + "."; } String fval = request.getParameter(field.getName()); if (fval != null && fval.length() > 0) { try { findByEntity.setString(field.getName(), fval); } catch (Exception e) { Map messageMap = UtilMisc.toMap("fval", fval); errMsg = errMsg + field.getColName() + UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.conversion_failed", messageMap, locale) + type.getJavaType() + "."; Debug.logWarning("[updateGeneric] " + field.getColName() + " conversion failed: \"" + fval + "\" is not a valid " + type.getJavaType() + "; entityName: " + entityName, module); } } } // if the updateMode is CREATE, check to see if an entity with the specified primary key already exists if (updateMode.equals("CREATE")) { GenericValue tempEntity = null; try { tempEntity = delegator.findByPrimaryKey(findByEntity.getPrimaryKey()); } catch (GenericEntityException e) { Debug.logWarning(e, module); errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.create_failed_by_check", locale); request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } if (tempEntity != null) { Map messageMap = UtilMisc.toMap("primaryKey", findByEntity.getPrimaryKey().toString()); errMsg = errMsg + entity.getEntityName() + UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.already_exists_pk", messageMap, locale)+ "."; Debug.logWarning("[updateGeneric] " + entity.getEntityName() + " already exists with primary key: " + findByEntity.getPrimaryKey().toString() + "; please change.", module); } } // Validate parameters... Iterator fieldIter = entity.getFieldsIterator(); while (fieldIter.hasNext()) { ModelField field = (ModelField) fieldIter.next(); for (int j = 0; j < field.getValidatorsSize(); j++) { String curValidate = field.getValidator(j); Class[] paramTypes = new Class[] {String.class}; Object[] params = new Object[] {findByEntity.get(field.getName()).toString()}; String className = "org.ofbiz.base.util.UtilValidate"; String methodName = curValidate; if (curValidate.indexOf('.') > 0) { className = curValidate.substring(0, curValidate.lastIndexOf('.')); methodName = curValidate.substring(curValidate.lastIndexOf('.') + 1); } Class valClass; try { ClassLoader loader = Thread.currentThread().getContextClassLoader(); valClass = loader.loadClass(className); } catch (ClassNotFoundException cnfe) { Debug.logError("[updateGeneric] Could not find validation class: " + className + "; ignoring.", module); continue; } Method valMethod; try { valMethod = valClass.getMethod(methodName, paramTypes); } catch (NoSuchMethodException cnfe) { Debug.logError("[updateGeneric] Could not find validation method: " + methodName + " of class " + className + "; ignoring.", module); continue; } Boolean resultBool; try { resultBool = (Boolean) valMethod.invoke(null, params); } catch (Exception e) { Debug.logError("[updateGeneric] Could not access validation method: " + methodName + " of class " + className + "; returning true.", module); resultBool = Boolean.TRUE; } if (!resultBool.booleanValue()) { Field msgField; String message; try { msgField = valClass.getField(curValidate + "Msg"); message = (String) msgField.get(null); } catch (Exception e) { Debug.logError("[updateGeneric] Could not find validation message field: " + curValidate + "Msg of class " + className + "; returning generic validation failure message.", module); message = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.validation_failed", locale) + "."; } errMsg = errMsg + field.getColName() + " " + curValidate + " " + UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.failed", locale) + ": " + message; Debug.logWarning("[updateGeneric] " + field.getColName() + " " + curValidate + " failed: " + message, module); } } } if (errMsg.length() > 0) { errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.following_error_occurred", locale) + errMsg; request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } if (updateMode.equals("CREATE")) { GenericValue value; try { value = delegator.create(findByEntity.getEntityName(), findByEntity.getAllFields()); } catch (GenericEntityException e) { Debug.logWarning(e, module); value = null; } if (value == null) { Map messageMap = UtilMisc.toMap("entityName", entity.getEntityName()); errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.creation_param_failed", messageMap, locale)+ ": " + findByEntity.toString(); request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } } else if (updateMode.equals("UPDATE")) { GenericValue value = delegator.makeValue(findByEntity.getEntityName(), findByEntity.getAllFields()); try { value.store(); } catch (GenericEntityException e) { Debug.logWarning(e, module); Map messageMap = UtilMisc.toMap("entityName", entity.getEntityName()); errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ ": " + value.toString(); request.setAttribute("_ERROR_MESSAGE_", errMsg); return "error"; } } else { Map messageMap = UtilMisc.toMap("updateMode", updateMode); errMsg = UtilProperties.getMessage(GenericWebEvent.err_resource, "genericWebEvent.update_of_param_failed", messageMap, locale)+ "."; request.setAttribute("_ERROR_MESSAGE_", errMsg); Debug.logWarning("updateGeneric: Update Mode specified (" + updateMode + ") was not valid for entity: " + findByEntity.toString(), module); return "error"; } return "success"; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -