formbean.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 2,094 行 · 第 1/5 页
JAVA
2,094 行
if (jdomAdapter == null)
return (null);
msg.setMsgContent("struts-config/message-resources");
elem = (Element) factory.sendMessage(jdomAdapter, msg);
if (elem == null) {
handleWarning
("FormBean.retrieveResourcePath: element not found: struts-config/message-resources");
return (null);
}
parameter = elem.getAttributeValue("parameter");
if (parameter == null)
return (null);
if (config == null)
return null;
path = concatenatePath (config.getWebAppPath(), "WEB-INF/classes");
fileName = convertClassToPath (parameter);
if (fileName == null)
return null;
fileName = fileName + ".properties";
path = concatenatePath (path, fileName);
handleTrace ("FormBean.retrieveResourcePath: " + path, 0);
return (path);
}
// Retrieve plug-in element
private Element retrieveValidatorPlugin () {
JtMessage msg = new JtMessage (JDOMAdapter.FIND_ELEMENTS);
List elements;
Iterator iterator;
Element elem;
String className;
msg.setMsgContent("plug-in");
elements = (List) factory.sendMessage(jdomAdapter, msg);
if (elements == null)
return (null);
iterator = elements.iterator();
while (iterator.hasNext()) {
elem = (Element) iterator.next();
className = elem.getAttributeValue("className");
if ("org.apache.struts.validator.ValidatorPlugIn".equals(className))
return (elem);
}
return (null);
}
private String retrieveValidatorConfPath () {
Element elem, tmp;
List children;
Iterator iterator;
String value;
String pathArray[];
int i;
elem = retrieveValidatorPlugin ();
if (elem == null) {
handleWarning ("retrieveValidatorConfPath: validator plug-in not found");
return null;
}
children = elem.getChildren();
if (children == null)
return null;
iterator = children.iterator();
while (iterator.hasNext()) {
tmp = (Element) iterator.next();
if (!"set-property".equals(tmp.getName()))
continue;
value = tmp.getAttributeValue("property");
if (value == null || !value.equals ("pathnames"))
continue;
value = tmp.getAttributeValue("value");
if (value == null)
return null;
pathArray = value.split(",");
for (i=0; i < pathArray.length; i++) {
if (pathArray[i].endsWith("validation.xml")) {
return (pathArray[i].trim());
}
}
}
return null;
}
private boolean createValidatorForm (ValidatorlConfigFile configFile, FormBeanForm form) {
JtFactory factory = new JtFactory ();
JtMessage msg = new JtMessage (JtObject.JtCREATE);
Element elem;
if (form == null || configFile == null)
return false;
elem = formToValidatorElement (form, JtObject.JtCREATE);
//handleTrace ("form:" + form); //check
//handleTrace ("elem:" + elem);
//if (form != null)
// handleTrace ("form(name):" + form.getName());
if (elem == null) // check
return false;
msg.setMsgData("form-validation/formset");
msg.setMsgContent(elem);
factory.sendMessage(configFile, msg);
if (configFile.getObjException() != null)
return false;
else
return true;
}
private boolean updateValidatorForm (ValidatorlConfigFile configFile, FormBeanForm form,
String operation) {
JtFactory factory = new JtFactory ();
JtMessage msg = new JtMessage (ValidatorlConfigFile.JtREAD);
JtMessage msg1 = new JtMessage (ValidatorlConfigFile.JtUPDATE);
Element elem;
if (form == null || configFile == null)
return false;
handleTrace ("updateValidatorForm (name):" + form.getName(), 0);
msg.setMsgContent(form.getName());
elem = (Element) factory.sendMessage(configFile, msg);
if (elem == null) {
handleWarning ("updateValidatorForm: form not found: " +
form.getName());
return createValidatorForm (configFile, form);
//return false;
}
if (!updateValidatorElement (form, elem, operation))
return false;
msg1.setMsgContent(elem);
factory.sendMessage(configFile, msg1);
if (configFile.getObjException() != null)
return false;
else
return true;
}
private void loadVar (Element element, DynaMapping mapping) {
List children;
Iterator iterator;
Element subElem;
String varName = null;
String varValue = null;
int minlength, maxlength;
if (element == null)
return;
children = element.getChildren();
if (children == null)
return;
iterator = children.iterator();
while (iterator.hasNext()) {
subElem = (Element) iterator.next() ;
if ("var-name".equals(subElem.getName()))
varName = subElem.getText();
if ("var-value".equals(subElem.getName()))
varValue = subElem.getText();
}
if ("type".equals (varName)) {
mapping.setFieldType(varValue);
return;
}
if ("minlength".equals (varName)) {
if (varValue == null)
return;
try {
minlength = Integer.parseInt(varValue);
mapping.setMinlength(minlength);
} catch (Exception ex) {
handleException (ex);
}
return;
}
if ("maxlength".equals (varName)) {
if (varValue == null)
return;
try {
maxlength = Integer.parseInt(varValue);
mapping.setMaxlength(maxlength);
} catch (Exception ex) {
handleException (ex);
}
return;
}
if ("mask".equals (varName)) {
if (varValue == null)
return;
mapping.setMask(varValue);
return;
}
}
private void loadField (Element element, DynaMapping mapping) {
List children;
Iterator iterator;
Element subElem;
String fieldName;
String depends;
String dependArray[];
int i;
handleTrace ("FormBean.loadField()", 0);
if (element == null || mapping == null)
return;
fieldName = mapping.getName();
if (fieldName == null || fieldName.equals(""))
return;
children = element.getChildren();
if (children == null)
return;
iterator = children.iterator();
if (mapping.getFieldType() == null ||
mapping.getFieldType().equals(""))
mapping.setFieldType("String"); // Default field type
while (iterator.hasNext()) {
subElem = (Element) iterator.next() ;
if ("var".equals(subElem.getName())) {
loadVar (subElem, mapping);
}
}
depends = element.getAttributeValue("depends");
if (depends == null || depends.equals(""))
return;
dependArray = depends.split(",");
for (i = 0; i < dependArray.length; i++) {
depends = dependArray[i];
if ("required".equals(depends)) {
mapping.setRequired(true); // check min, max
//handleTrace ("FormBean.loadField:" + fieldName + " is required", 0);
}
if ("byte".equals(depends) || "short".equals(depends) ||
"integer".equals(depends) || "long".equals(depends) ||
"float".equals(depends) || "double".equals(depends) ||
"email".equals(depends) || "creditCard".equals(depends)
|| "date".equals(depends))
mapping.setFieldType(depends);
}
}
private void loadForm (FormBeanForm form, Element elem) {
DynaMapping mappings[];
int i, count;
String fieldName;
List children;
Iterator iterator;
Element fieldElem;
handleTrace ("FormBean.loadForm", 0);
if (form == null || elem == null)
return;
children = elem.getChildren();
if (children == null)
return;
if (form.isDynaActionForm()) {
mappings = form.getMappings();
if (mappings == null) {
return;
}
for (i = 0; i < mappings.length; i++) {
fieldName = mappings[i].getName();
handleTrace ("FormBean.loadForm:mappings[i].getName():" + fieldName, 0);
if (fieldName == null || fieldName.equals(""))
continue;
iterator = children.iterator();
while (iterator.hasNext()) {
fieldElem = (Element) iterator.next();
//handleTrace ("FormBean.loadForm:fieldElem.getName():" + fieldElem.getName());
if (!"field".equals (fieldElem.getName()))
continue;
if (!fieldName.equals(fieldElem.getAttributeValue("property")))
continue;
loadField (fieldElem, mappings[i]);
}
}
return;
}
/*
if (children.size() > FormBeanForm.MAX_ENTRIES) { // chech
count = children.size();
mappings = new DynaMapping[count];
} else {
count = FormBeanForm.MAX_ENTRIES;
mappings = new DynaMapping[FormBeanForm.MAX_ENTRIES];
}
for (i = 0; i < count; i++) {
mappings[i] = new DynaMapping ();
}
form.setMappings(mappings);
*/
mappings = form.getMappings();
iterator = children.iterator();
i = 0;
while (iterator.hasNext()) {
fieldElem = (Element) iterator.next();
//handleTrace ("FormBean.loadForm:fieldElem.getName():" + fieldElem.getName(), 0);
if (!"field".equals (fieldElem.getName()))
continue;
fieldName = fieldElem.getAttributeValue("property");
handleTrace ("FormBean.loadForm:fieldName:" + fieldName, 0);
if (fieldName == null || fieldName.equals (""))
continue;
mappings[i].setName(fieldName);
loadField (fieldElem, mappings[i]);
i++;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?