daodefinition.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 1,619 行 · 第 1/4 页
JAVA
1,619 行
private JtIterator ngetAttributes () {
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
Element elem;
List children;
Iterator iterator;
JtHashTable table = new JtHashTable ();
JtMessage msg1 = new JtMessage (JtHashTable.JtPUT);
String name;
JtIterator jiterator;
if (adapter == null)
return null;
msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
msg.setMsgContent("hibernate-mapping/class/composite-id");
children = (List) factory.sendMessage (adapter, msg);
if (children != null) {
iterator = children.iterator();
while (iterator.hasNext()) {
elem = (Element) iterator.next();
if ("key-property".equals(elem.getName())) {
name = elem.getAttributeValue("name");
if (name == null || name.equals(""))
continue;
msg1.setMsgData(name);
msg1.setMsgContent(name);
factory.sendMessage(table, msg1);
}
}
}
msg.setMsgContent("hibernate-mapping/class");
children = (List) factory.sendMessage (adapter, msg);
if (children == null) {
jiterator = (JtIterator) table.processMessage(new JtMessage (JtHashTable.JtGET_KEYS));
return jiterator;
}
iterator = children.iterator();
while (iterator.hasNext()) {
elem = (Element) iterator.next();
if ("property".equals(elem.getName()) || "id".equals(elem.getName())) {
name = elem.getAttributeValue("name");
if (name == null || name.equals(""))
continue;
msg1.setMsgData(name);
msg1.setMsgContent(name);
factory.sendMessage(table, msg1);
}
}
jiterator = (JtIterator) table.processMessage(new JtMessage (JtHashTable.JtGET_KEYS));
return (jiterator);
}
private Object readDAODefinition (FileForm dform) {
//JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
//JtMessage msg2 = new JtMessage (JDOMAdapter.FIND_ELEMENT);
//Element elem, elem1;
//DAODefinitionForm daoDefinitionForm = new DAODefinitionForm ();
InputStream inputStream = null;
FormFile theFile;
if (dform == null)
return null;
//if (inputStream == null) {
// return (null);
//}
theFile = dform.getTheFile();
if (theFile == null || !checkXMLExtension (theFile.getFileName())) {
handleUIError ("File must be an XML file (.xml)");
return null;
}
//handleTrace ("readDAODefinition:" + theFile.getFileName());
try {
inputStream = theFile.getInputStream();
} catch (Exception e) {
handleException (e);
}
if (inputStream == null) {
return null;
}
return (readDAODefinitionStream (inputStream));
/*
if (form.getFileName() == null) {
handleUIError ("Please enter a file name.");
return null;
}
*/
}
private boolean checkXMLExtension (String name)
{
if (name == null)
return false;
return (name.endsWith(".xml"));
}
private void handleColumnSubElement (Element element, DAOMapping mapping) {
List list;
Iterator iterator;
Element elem;
String notNull;
String sqlType;
String str;
if (element == null || mapping == null)
return;
list = element.getChildren();
if (list == null || list.isEmpty())
return;
iterator = list.iterator();
while (iterator.hasNext()) {
elem = (Element) iterator.next();
if (!"column".equals(elem.getName())) {
continue;
}
notNull = elem.getAttributeValue("not-null");
if (notNull != null && notNull.equals("true")) {
mapping.setNotNull(true);
}
if (notNull != null && notNull.equals("false")) {
mapping.setNotNull(false);
}
sqlType = elem.getAttributeValue("sql-type");
if (sqlType != null && !sqlType.equals("")) {
mapping.setSql_type(sqlType);
}
str = elem.getAttributeValue("unique");
if (str != null && str.equals("true")) {
mapping.setUnique(true);
}
if (str != null && str.equals("false")) {
mapping.setUnique(false);
}
}
}
private Object readDAOMappingStream (InputStream inputStream) {
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg2 = new JtMessage (JDOMAdapter.FIND_ELEMENT);
//JtFactory factory = new JtFactory ();
Element elem, elem1;
//DAODefinitionForm daoDefinitionForm = new DAODefinitionForm ();
List children;
String tmp, column;
DAOMapping attrMapping;
LinkedList list = new LinkedList ();
JtIterator iterator;
if (inputStream == null) {
return (null);
}
msg2.setMsgContent("hibernate-mapping/class");
adapter.setInputStream(inputStream);
//factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_STREAM));
if (adapter.getObjException() != null) {
propagateException (adapter);
return (null);
}
elem = (Element) factory.sendMessage (adapter, msg2);
if (elem == null) {
handleError ("Invalid XML format.");
return (null);
}
this.setClassName((elem.getAttributeValue("name")));
this.setTable(elem.getAttributeValue("table"));
iterator = ngetAttributes ();
if (iterator == null) {
return (null);// check
}
msg.setMsgContent("hibernate-mapping/class");
children = (List) factory.sendMessage (adapter, msg);
// Add the IDs to the list
addIds (list);
keys = list;
for (;;) {
tmp = (String) iterator.processMessage(new JtMessage (JtIterator.JtNEXT));
if (tmp == null)
break;
elem1 = findChild (children, tmp);
//if (isID (list, tmp))
// continue;
attrMapping = new DAOMapping ();
attrMapping.setAttribute(tmp);
handleColumnSubElement (elem1, attrMapping);
column = null;
if (elem1 != null) {
column = elem1.getAttributeValue("column");
attrMapping.setEnabled(true);
}
if (column == null || column.equals(""))
attrMapping.setColumn(tmp); //check
else
attrMapping.setColumn(column);
mappingTable.put(tmp, attrMapping);
//list.add (attrMapping);
}
/*
while (list.size() < DAODefinition.MAX_ENTRIES) {
attrMapping = new DAOMapping ();
list.add(attrMapping);
}
*/
//daoDefinitionForm.setDbmappings((DAOMapping[]) list.toArray(new DAOMapping[0]));
//initializeForm (daoDefinitionForm);
return (null);
}
private Object readDAODefinitionStream (InputStream inputStream) {
JtMessage msg = new JtMessage (JDOMAdapter.GET_CHILDREN);
JtMessage msg2 = new JtMessage (JDOMAdapter.FIND_ELEMENT);
//JtFactory factory = new JtFactory ();
Element elem, elem1;
DAODefinitionForm daoDefinitionForm = new DAODefinitionForm ();
List children;
String tmp, column;
DAOMapping attrMapping;
LinkedList list = new LinkedList ();
JtIterator iterator;
//InputStream inputStream = null;
//FormFile theFile;
//if (form == null)
// return null;
if (inputStream == null) {
return (null);
}
/*
theFile = dform.getTheFile();
handleTrace ("readDAODefinition:" + theFile.getFileName());
try {
inputStream = theFile.getInputStream();
} catch (Exception e) {
handleException (e);
}
if (inputStream == null) {
return null;
}
*/
/*
if (form.getFileName() == null) {
handleUIError ("Please enter a file name.");
return null;
}
*/
msg2.setMsgContent("hibernate-mapping/class");
//adapter.setPath(form.getFileName());
adapter.setInputStream(inputStream);
//daoDefinitionForm.setFileName(form.getFileName());
//factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_FILE));
factory.sendMessage (adapter, new JtMessage (JDOMAdapter.READ_STREAM));
if (adapter.getObjException() != null) {
propagateException (adapter);
return (null);
}
elem = (Element) factory.sendMessage (adapter, msg2);
if (elem == null) {
handleError ("Invalid XML format.");
return (null);
}
daoDefinitionForm.setName(elem.getAttributeValue("name"));
daoDefinitionForm.setTable(elem.getAttributeValue("table"));
this.setClassName(elem.getAttributeValue("name"));
iterator = ngetAttributes ();
if (iterator == null) {
return (daoDefinitionForm);// check
}
msg.setMsgContent("hibernate-mapping/class");
children = (List) factory.sendMessage (adapter, msg);
// Add the IDs to the list
addIds (list);
for (;;) {
tmp = (String) iterator.processMessage(new JtMessage (JtIterator.JtNEXT));
if (tmp == null)
break;
elem1 = findChild (children, tmp);
if (isID (list, tmp))
continue;
attrMapping = new DAOMapping ();
attrMapping.setAttribute(tmp);
handleColumnSubElement (elem1, attrMapping);
column = null;
if (elem1 != null) {
column = elem1.getAttributeValue("column");
attrMapping.setEnabled(true);
}
if (column == null || column.equals(""))
attrMapping.setColumn(tmp); //check
else
attrMapping.setColumn(column);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?