generatejsp.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 609 行 · 第 1/2 页
JAVA
609 行
fpath = concatenatePath (jspDirectoryPath , fileName);
jspGenerator.setPath(fpath);
jspGenerator.setPrefix(prefix);
jspGenerator.setFormName(formName);
if (key0 != null)
jspGenerator.setKey(key0);
if (keys != null && (keys.size() > 0)) {
jspGenerator.setKeys(keys);
}
//jspGenerator.setClassName(classname); // check
//if (readonly == true)
// jspGenerator.setReadonly(true);
msg.setMsgContent(operation);
factory.sendMessage(jspGenerator, msg);
propagateException (jspGenerator);
}
private boolean checkExtension (String name)
{
if (name == null)
return false;
return (name.endsWith(".xml"));
}
private void generateJSPs (FileForm form) {
String Prefix;
//String filename;
FormFile theFile;
InputStream inputStream = null;
if (form == null)
return;
/*
filename = (String) form.getFilename();
if (filename == null) {
handleError ("Invalid filename");
return;
}
*/
theFile = form.getTheFile();
if (theFile == null || !checkExtension (theFile.getFileName())) {
handleUIError ("File must be a DAO mapping file (.xml)");
return;
}
try {
inputStream = theFile.getInputStream();
} catch (Exception e) {
handleException (e);
}
if (inputStream == null) {
return;
}
if (retrieveDAODefinition (inputStream) == null)
return;
if (prefix == null) {
handleError ("Attribute prefix needs to be set.");
return;
}
Prefix = capFirstLetter (prefix);
createJSPDirectory ();
if (this.getObjException() != null)
return;
if (copyTemplate ("CRUDTemplates/Create.jsp", "Create" + Prefix + ".jsp"))
updateJsp ("Create" + Prefix + ".jsp", form.getFormName(), JtObject.JtCREATE);
if (copyTemplate ("CRUDTemplates/Update.jsp", "Update" + Prefix + ".jsp"))
updateJsp ("Update" + Prefix + ".jsp", form.getFormName(), JtObject.JtUPDATE);
if (copyTemplate ("CRUDTemplates/Read.jsp", Prefix + ".jsp"))
updateJsp (Prefix + ".jsp", form.getFormName(), JtObject.JtREAD);
if (copyTemplate ("CRUDTemplates/Query.jsp", "Query" + Prefix + ".jsp"))
updateQueryJsp ("Query" + Prefix + ".jsp", form.getFormName());
if (copyTemplate ("CRUDTemplates/ConfirmDelete.jsp", "ConfirmDelete" + Prefix + ".jsp"))
updateJsp ("ConfirmDelete" + Prefix + ".jsp", form.getFormName(), JtObject.JtDELETE);
if (copyTemplate ("CRUDTemplates/index.jsp", "index.jsp"))
updateIndexJsp ("index.jsp");
}
// Initialize
private boolean initialized () {
config = (WizardConfig) factory.createObject(WizardConfig.JtCLASS_NAME);
if (config == null) {
handleError ("Unable to create instance of configuration class (WizardConfig).");
return (false);
}
factory.sendMessage(config, new JtMessage (JtObject.JtINITIALIZE));
//webAppPath = config.getWebAppPath();
return (true);
}
/*
private void compute () {
JtMessage msg = new JtMessage (JtFile.JtCONVERT_TO_STRING);
JtFile src = new JtFile ();
JtFile target = new JtFile ();
String tmp, str;
// Read source file
src.setName("");
tmp = (String) factory.sendMessage (src, msg);
// Chech exceptions
// Transform
target.setName ("");
msg.setMsgId(JtFile.JtSAVE_STRING);
msg.setMsgContent (tmp);
}
*/
private String retrieveClassname (String qclassname) {
int index;
if (qclassname == null)
return (null);
index = qclassname.lastIndexOf('.');
if (index < 0)
return (qclassname);
return (qclassname.substring(index+1));
}
private DAODefinitionForm retrieveDAODefinition (InputStream inputStream) {
JtMessage msg = new JtMessage (DAODefinition.READ_STREAM);
DAODefinitionForm form = new DAODefinitionForm ();
DAODefinitionForm oform;
String keysA[];
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 || classname.equals("")) {
handleError ("Invalid classname");
return (null);
}
this.setClassname(classname);
prefix = retrieveClassname (classname);
if (prefix != null)
this.setPrefix (prefix.toLowerCase());
keysA = oform.getDbkeys();
keys = new LinkedList ();
for (i = 0; i < keysA.length ; i++)
keys.add(keysA[i]);
if (keysA != null && keysA.length > 0)
key0 = keysA[0];
return (oform);
}
/**
* Process object messages.
* <ul>
* <li> JtACTIVATE
* </ul>
* @param message message
*/
public Object processMessage (Object message) {
Object data;
//String content;
JtMessage e = (JtMessage) message;
JtContext context;
ActionForm form = null;
if (e == null || (e.getMsgId() == null))
return (null);
context = (JtContext) e.getMsgContext();
if (context != null)
form = (ActionForm) context.getActionForm();
try { // check
if (!init) {
init = initialized ();
if (init == false)
return (null);
}
if (e.getMsgId().equals(JtObject.JtACTIVATE)) {
//data = e.getMsgData ();
generateJSPs ((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 ();
GenerateJSP generator = new GenerateJSP ();
JtMessage msg;
//WizardConfig config = new WizardConfig ();
CrudForm form = new CrudForm ();
msg = new JtMessage (JtObject.JtACTIVATE);
form.setFilename("c:/home/projects/Jt1/src/java/Jt/examples/hibernate/Member.hbm.xml");
msg.setMsgData(form);
factory.sendMessage (generator, msg);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?