dynaformbean.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 632 行 · 第 1/2 页
JAVA
632 行
msg2.setMsgContent(newElem);
newElem.detach ();
factory.sendMessage (adapter, msg2);
factory.sendMessage (adapter, msg1);
return (null);
}
private Object updateFormBean (DynaDefinitionForm form) {
JDOMAdapter adapter = new JDOMAdapter ();
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
JtFactory factory = new JtFactory ();
Element elem, newElem;
List children;
int i;
String tmp;
String name;
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));
adapter.setPath(config.getConfigPath());
msg.setMsgContent("struts-config/form-beans");
//adapter.setPath("c:/tmp/test.xml");
factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
if (adapter.getObjException() != null) {
this.setObjException(adapter.getObjException());
return (null);
}
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)) {
newElem = (Element) buildFormBean (form);
if (newElem == null) {
handleError ("Unable to create the Form Bean.");
return (null);
}
msg2.setMsgData("struts-config/form-beans");
msg2.setMsgContent(newElem);
newElem.detach ();
factory.sendMessage (adapter, msg2);
elem.getParentElement();
elem.detach ();
factory.sendMessage (adapter, msg1);
return (null);
}
}
return (null);
}
private Object getFormBean (String name) {
JDOMAdapter adapter = new JDOMAdapter ();
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg1 = new JtMessage (JDOMAdapter.ELEMENT_TO_BEAN);
JtFactory factory = new JtFactory ();
Element elem;
DynaDefinitionForm actionMappingForm = new DynaDefinitionForm ();
Object obj;
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));
if (adapter.getObjException() != null) {
this.setObjException(adapter.getObjException());
return (null);
}
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)) {
msg1.setMsgContent(elem);
msg1.setMsgData(actionMappingForm);
obj = adapter.processMessage(msg1);
//updateForm ((ActionMappingForm) obj, elem);
return (obj);
}
}
return (null);
}
private Object getFormBeans () {
JDOMAdapter adapter = new JDOMAdapter ();
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg1 = new JtMessage (JDOMAdapter.ELEMENT_TO_BEAN);
JtFactory factory = new JtFactory ();
List children;
Element elem;
DynaFormBean formBean = new DynaFormBean ();
List list = new LinkedList ();
Object obj;
String type;
int i;
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));
if (adapter.getObjException() != null) {
this.setObjException(adapter.getObjException());
return (null);
}
children = (List) factory.sendMessage (adapter, msg);
if (children == null)
return (null);
for (i = 0; i < children.size(); i++) {
elem = (Element) children.get(i);
type = elem.getAttributeValue("type");
if (!"org.apache.struts.action.DynaActionForm".equals(type))
continue;
msg1.setMsgContent(elem);
msg1.setMsgData(formBean);
obj = adapter.processMessage(msg1);
//updateBean ((FormBean) obj, elem);
if (obj != null)
list.add(obj);
}
return (list);
}
private DynaDefinitionForm newDynaForm() {
DynaDefinitionForm form = new DynaDefinitionForm ();
DynaMapping mappings[];
form.setName("hello");
mappings = form.getMappings();
if (mappings != null && (mappings.length > 0)) {
mappings[0] = new DynaMapping();
mappings[0].setName("name");
}
return (form);
}
/**
* Process object messages.
* <ul>
* <li> JtACTIVATE
* </ul>
* @param message message
*/
public Object processMessage (Object message) {
Object data;
String content;
JtContext context;
ActionForm form = null;
JtMessage e = (JtMessage) message;
if (e == null || (e.getMsgId() == null))
return (null);
context = (JtContext) e.getMsgContext();
if (context != null)
form = (ActionForm) context.getActionForm();
if (e.getMsgId().equals(JtObject.JtACTIVATE)) {
// pass the form information
//data = e.getMsgData ();
//return ( getFormBeans ());
return (newDynaForm ());
}
if (e.getMsgId().equals(DynaFormBean.READ)) {
content = (String) e.getMsgContent ();
return ( getFormBean (content));
}
if (e.getMsgId().equals(DynaFormBean.DELETE)) {
//content = (String) e.getMsgContent ();
//data = e.getMsgData ();
return ( deleteFormBean ((DynaDefinitionForm) form));
}
if (e.getMsgId().equals(DynaFormBean.UPDATE)) {
//content = (String) e.getMsgContent ();
//data = e.getMsgData ();
return ( updateFormBean ((DynaDefinitionForm) form));
}
if (e.getMsgId().equals(DynaFormBean.CREATE)) {
//content = (String) e.getMsgContent ();
//data = e.getMsgData ();
return ( createFormBean ((DynaDefinitionForm) form));
}
return (super.processMessage(message));
}
/**
* Demonstrates the messages processed by this class
*/
public static void main(String[] args) {
JtObject factory = new JtFactory ();
DynaFormBean actionMapping = new DynaFormBean ();
JtMessage msg;
List list;
msg = new JtMessage (JtObject.JtACTIVATE);
list = (List) factory.sendMessage (actionMapping, msg);
System.out.println ("List=" + list);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?