formbean.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 2,094 行 · 第 1/5 页
JAVA
2,094 行
fieldElement.addContent(elem);
}
//if ("String".equals(type) || "boolean".equals(type)) {
if ("boolean".equals(type)) {
elem = new Element ("var");
tmp = new Element ("var-name");
tmp.setText ("type");
elem.addContent(tmp);
tmp = new Element ("var-value");
tmp.setText (type);
elem.addContent(tmp);
fieldElement.addContent(elem);
}
/*
if (buffer.length() == 0) {
arg0Elem = new Element ("arg");
arg0Elem.setAttribute("key", "Jt." + formName + "." + fieldName);
arg0Elem.setAttribute("position", "0");
updateResourceFile ("Jt." + formName + "." + fieldName, fieldName,
operation);
fieldElement.addContent(arg0Elem);
}
*/
fieldElement.setAttribute("depends", buffer.toString());
return (fieldElement);
}
private boolean updateValidatorElement (FormBeanForm form, Element element,
String operation) {
//Element element;
DynaMapping mappings[];
int i;
Element fieldElement;
String tmp;
if (form == null || element == null) {
return false;
}
/*
tmp = form.getName();
if (tmp == null || tmp.equals ("")) {
return;
}
element = new Element ("form");
element.setAttribute("name", tmp);
*/
mappings = form.getMappings();
if (mappings != null) {
element.removeContent(); // check
for (i = 0; i < mappings.length; i++) {
if (mappings[i] == null)
continue;
tmp = mappings[i].getName();
if (tmp == null || tmp.equals(""))
continue;
fieldElement = buildFieldElement (form.getName(), mappings[i],
operation);
if (fieldElement != null)
element.addContent(fieldElement);
}
return true;
} else
return false;
}
private Element formToValidatorElement (FormBeanForm form, String operation) {
Element element;
DynaMapping mappings[];
int i;
Element fieldElement;
String tmp;
boolean isEmpty = true;
if (form == null) {
return (null);
}
tmp = form.getName();
if (tmp == null || tmp.equals ("")) {
return (null);
}
element = new Element ("form");
element.setAttribute("name", tmp);
mappings = form.getMappings();
if (mappings != null) {
//handleTrace ("mappings != null");
for (i = 0; i < mappings.length; i++) {
//fieldElement = new Element ("field");
if (mappings[i] == null)
continue;
tmp = mappings[i].getName();
if (tmp == null || tmp.equals(""))
continue;
fieldElement = buildFieldElement (form.getName(), mappings[i],
operation);
if (fieldElement != null) {
element.addContent(fieldElement);
isEmpty = false;
}
}
}
if (isEmpty)
return null;
else
return (element);
}
private String mapValidatorType (String type) {
if (type == null)
return null;
if (type.equals("boolean")) {
return ("java.lang.Boolean");
} else if (type.equals("short"))
return ("java.lang.Short");
else if (type.equals("byte"))
return ("java.lang.Byte");
else if (type.equals("double"))
return ("java.lang.Double");
else if (type.equals("float"))
return ("java.lang.Float");
else if (type.equals("integer"))
return ("java.lang.Integer");
else if (type.equals("long"))
return ("java.lang.Long");
else if (type.equals("date"))
return ("java.sql.Date");
else
return ("java.lang.String");
}
private Object buildFormBean (FormBeanForm form) {
//JDOMAdapter adapter;
Element element, actionElem, propertyElement;
//JtMessage msg = new JtMessage (JDOMAdapter.ADD_ELEMENT);
JtFactory factory = new JtFactory ();
DynaMapping mappings[];
int i;
String name;
String type;
handleTrace ("buildFormBean", 0);
if (form == null) {
return (null);
}
type = (String) form.getType ();
if (type == null || type.equals ("")) {
handleUIError ("Please enter a type.");
}
name = (String) form.getName ();
if (name == null || name.equals ("")) {
handleUIError ("Please enter the name of the form bean.");
}
mappings = form.getMappings();
if (mappings == null || mappings.length < 1) {
handleUIError ("Please enter one form field or more.");
}
if (mappings[0].getName() == null || mappings[0].getName().equals("")) {
handleUIError ("Please enter one form field or more.");
}
if (getObjErrors() != null) {
return (null);
}
//adapter = (JDOMAdapter) factory.createObject (JDOMAdapter.JtCLASS_NAME);
element = new Element ("form-bean");
actionElem = element;
element.setAttribute("name", name);
element.setAttribute("type", type);
//msg.setMsgContent (element);
if ("org.apache.struts.action.DynaActionForm".equals(type)) {
form.setDynaActionForm(true);
} else {
form.setDynaActionForm(false);
return (actionElem);
}
//mappings = form.getMappings();
// Update - DynaForm
if (mappings != null) {
//handleTrace ("mappings != null");
for (i = 0; i < mappings.length; i++) {
propertyElement = new Element ("form-property");
if (mappings[i] == null)
continue;
name = mappings[i].getName();
if (name == null || name.equals(""))
continue;
handleTrace ("buildFormBean.name:" + mappings[i].getName(), 0);
propertyElement.setAttribute("name", mappings[i].getName());
propertyElement.setAttribute("type", mapValidatorType (mappings[i].getFieldType()));
if (mappings[i].getInitial() == null)
mappings[i].setInitial ("");
propertyElement.setAttribute("initial", mappings[i].getInitial());
element.addContent(propertyElement);
}
}
//factory.sendMessage(adapter, msg);
return (actionElem);
}
private Object findFormBean (String name) {
JDOMAdapter adapter = new JDOMAdapter ();
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtFactory factory = new JtFactory ();
Element elem;
List children;
int i;
String tmp;
if (name == null)
return null;
config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
if (config == null) {
handleError ("Unable to create configuration class.");
return (null);
}
factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));
adapter.setPath(config.getConfigPath());
msg.setMsgContent("struts-config/form-beans");
//adapter.setPath("c:/tmp/test.xml");
factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
children = (List) factory.sendMessage (adapter, msg);
if (children == null)
return (null);
for (i = 0; i < children.size(); i++) {
elem = (Element) children.get(i);
tmp = elem.getAttributeValue("name");
if (name.equals(tmp)) {
//elem.getParentElement();
//elem.detach ();
//factory.sendMessage (adapter, msg1);
return (elem);
}
}
return (null);
}
private Object deleteFormBean (FormBeanForm form) {
//JDOMAdapter adapter = new JDOMAdapter ();
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
JtFactory factory = new JtFactory ();
Element elem;
List children;
int i;
String tmp;
String name;
String path;
ValidatorlConfigFile confFile = new ValidatorlConfigFile ();
if (form == null)
return null;
name = form.getName();
if (name == null)
return null;
config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
if (config == null) {
handleError ("Unable to create configuration class");
return (null);
}
factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));
jdomAdapter.setPath(config.getConfigPath());
msg.setMsgContent("struts-config/form-beans");
//adapter.setPath("c:/tmp/test.xml");
factory.sendMessage (jdomAdapter, new JtMessage (JDOMAdapter.READ_FILE));
if (jdomAdapter.getObjException() != null) {
this.setObjException(jdomAdapter.getObjException());
return (null);
}
children = (List) factory.sendMessage (jdomAdapter, msg);
path = retrieveValidatorConfPath ();
//handleTrace ("deleteFormBean (validator config path):" + path, 0);
if (children == null)
return (null);
for (i = 0; i < children.size(); i++) {
elem = (Element) children.get(i);
tmp = elem.getAttributeValue("name");
if (name.equals(tmp)) {
elem.getParentElement();
elem.detach ();
factory.sendMessage (jdomAdapter, msg1);
break;
}
}
if (path == null)
return null;
path = concatenatePath (config.getWebAppPath(), path);
handleTrace ("deleteFormBean (validator config path):" + path, 0);
if (path == null)
return (null);
confFile.setPath(path);
// Validator form
if (!deleteValidatorForm (confFile, form))
return (null);
// Resource file
initializeResourceFile ();
deleteResources (form.getName());
return (null);
}
private String convertClassToPath (String c) {
if (c == null)
return (null);
return (c.replaceAll("\\.", "" + File.separatorChar));
}
private String retrieveResourcePath () {
JtMessage msg = new JtMessage (JDOMAdapter.FIND_ELEMENT);
Element elem;
String parameter;
String path;
String fileName;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?