strutsconfigfile.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 867 行 · 第 1/2 页
JAVA
867 行
if (index < 0)
return (qclassname);
return (qclassname.substring(index+1));
}
//private DAODefinitionForm retrieveDAODefinition (String filename) {
private DAODefinitionForm retrieveDAODefinition (InputStream inputStream) {
JtMessage msg = new JtMessage (DAODefinition.READ_STREAM);
//DAODefinitionForm form = new DAODefinitionForm ();
DAODefinitionForm oform;
//String keys[];
String classname;
String prefix;
int i;
//if (filename == null)
// return (null);
if (inputStream == null)
return null;
DAODefinition daoDef = new DAODefinition ();
//form.setFileName(filename);
//msg.setMsgData(form);
msg.setMsgData(inputStream);
oform = (DAODefinitionForm) factory.sendMessage(daoDef, msg);
if (daoDef.getObjException() != null) {
this.setObjException(daoDef.getObjException());
return null;
}
if (oform == null) {
handleError ("Unable to retrieve DAO configuration file.");
return (null);
}
classname = oform.getName();
if (classname == null) {
handleError ("Invalid classname (null)");
return (null);
}
this.setClassname(classname);
prefix = retrieveClassname (classname);
if (prefix != null)
this.setPrefix (prefix.toLowerCase());
keys = oform.getDbkeys();
//if (keys != null && keys.length == 1)
// key = keys[0];
if (keys != null) {
for (i=0; i < keys.length; i++) {
handleTrace ("retrieveDAODefinition (key[" + i + "]):" + keys[i]);
}
} else
handleTrace ("retrieveDAODefinition(warning): no keys");
return (oform);
}
private boolean checkExtension (String name)
{
if (name == null)
return false;
return (name.endsWith(".xml"));
}
// Update struts-config.xml
private void updateConfigFile (FileForm form) {
//String filename;
InputStream inputStream = null;
FormFile theFile;
if (form == null)
return;
theFile = form.getTheFile();
if (theFile == null || !checkExtension (theFile.getFileName())) {
handleUIError ("File must be a DAO mapping file (.xml)");
return;
}
if (form.getFormName() == null || "".equals(form.getFormName())) {
handleUIError ("Form name is required.");
return;
}
try {
inputStream = theFile.getInputStream();
} catch (Exception e) {
handleException (e);
}
if (inputStream == null) {
return;
}
/*
//filename = (String) form.get ("filename");
filename = (String) form.getFilename();
if (filename == null) {
handleError ("Invalid filename");
return;
}
*/
if ((defForm = retrieveDAODefinition (inputStream)) == null)
return;
updateAction ("/Create#name", form);
updateAction ("/Read#name", form);
updateAction ("/Edit#name", form);
updateAction ("/Delete#name", form);
updateAction ("/ConfirmDelete#name", form);
updateAction ("/Query#name", form);
updateAction ("/Update#name", form);
//updateActionForm ("#nameForm");
}
private Element findForm (JDOMAdapter adapter, String name) {
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtFactory factory = new JtFactory ();
Element elem;
List children;
int i;
String tmp;
if (adapter == null || name == null)
return null;
msg.setMsgContent("struts-config/form-beans");
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 Element findActionMapping (JDOMAdapter adapter, String name) {
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtFactory factory = new JtFactory ();
Element elem;
List children;
int i;
String tmp;
if (adapter == null || name == null)
return null;
msg.setMsgContent("struts-config/action-mappings");
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("path");
if (name.equals(tmp)) {
//elem.getParentElement();
//elem.detach ();
//factory.sendMessage (adapter, msg1);
return (elem);
}
}
return (null);
}
private Object createActionMapping (Element newElem) {
JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
JtFactory factory = new JtFactory ();
if (adapter == null || newElem == null)
return null;
msg2.setMsgData("struts-config/action-mappings");
msg2.setMsgContent(newElem);
newElem.detach ();
factory.sendMessage (adapter, msg2);
factory.sendMessage (adapter, msg1);
return (null);
}
private Object createForm (Element newElem) {
JtMessage msg1 = new JtMessage (JDOMAdapter.SAVE_FILE);
JtMessage msg2 = new JtMessage (JDOMAdapter.ADD_ELEMENT);
JtFactory factory = new JtFactory ();
//String actionPath;
if (adapter == null || newElem == null)
return null;
msg2.setMsgData("struts-config/form-beans");
msg2.setMsgContent(newElem);
newElem.detach ();
factory.sendMessage (adapter, msg2);
factory.sendMessage (adapter, msg1);
return (null);
}
private Object updateActionMapping (String actionPath, Element newElem) {
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;
List children;
int i;
String tmp;
if (actionPath == null || newElem == null)
return null;
msg.setMsgContent("struts-config/action-mappings");
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("path");
if (actionPath.equals(tmp)) {
//newElem = (Element) buildActionMapping (form);
//if (newElem == null) {
// handleError ("Unable to create the Action Mapping.");
// return (null);
//}
msg2.setMsgData("struts-config/action-mappings");
msg2.setMsgContent(newElem);
newElem.detach ();
factory.sendMessage (adapter, msg2);
elem.getParentElement();
elem.detach ();
factory.sendMessage (adapter, msg1);
return (null);
}
}
return (null);
}
private Object updateForm (String name, Element newElem) {
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;
List children;
int i;
String tmp;
if (name == null || newElem == null)
return null;
msg.setMsgContent("struts-config/form-beans");
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)) {
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);
}
/**
* 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();
try {
if (!init) {
init = initialized ();
}
if (e.getMsgId().equals(JtObject.JtACTIVATE)) {
//data = e.getMsgData ();
//generateActionsAndForm ((DynaActionForm) data));
//updateConfigFile ((CrudForm) data);
updateConfigFile ((FileForm) form);
return (null);
}
} catch (Exception ex) {
handleException (ex);
return (null);
}
return (super.processMessage(message));
}
/**
* Demonstrates the messages processed by this class
*/
public static void main(String[] args) {
JtFactory factory = new JtFactory ();
StrutsConfigFile configFile = new StrutsConfigFile ();
JtMessage msg;
String temp = "Create#name";
//DynaActionForm form = new DynaActionForm ();
//FileForm form = new FileForm ();
msg = new JtMessage (JtObject.JtACTIVATE);
//form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/Member.hbm.xml");
//form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/History.hbm.xml");
//msg.setMsgData(form);
//configFile.setPrefix("member");
//configFile.setClassname("Jt.examples.Member");
//System.out.print(temp.replaceFirst("#name", "Hello"));
factory.sendMessage (configFile, msg);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?