diff --git a/src/fr/devinsy/xid/Presenter.java b/src/fr/devinsy/xid/Presenter.java index 16849d6..be50a68 100644 --- a/src/fr/devinsy/xid/Presenter.java +++ b/src/fr/devinsy/xid/Presenter.java @@ -117,11 +117,11 @@ public class Presenter /* * */ - static protected StringBuffer processChildren (Node node, IdsDataById datas, String webappPath, StringBuffer errorOutput) + static protected StringBuffer processChildren (Node node, IdsDataById datas, StringBuffer errorOutput) { StringBuffer result; - result = processChildren (node, datas, webappPath, "", errorOutput); + result = processChildren (node, datas, "", errorOutput); // return (result); @@ -132,10 +132,9 @@ public class Presenter * */ static protected StringBuffer processChildren (Node node, - IdsDataById datas, - String webappPath, - String suffix, - StringBuffer errorOutput) + IdsDataById datas, + String suffix, + StringBuffer errorOutput) { StringBuffer result; result = new StringBuffer (); @@ -182,90 +181,90 @@ public class Presenter switch (strategy) { - case ONLY_FIRST_ROW: - int lineCounter = 0; - for (int childIndex = 0; childIndex < childrenCount; childIndex++) - { - if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) + case ONLY_FIRST_ROW: + int lineCounter = 0; + for (int childIndex = 0; childIndex < childrenCount; childIndex++) { - lineCounter += 1; - if (lineCounter == 1) + if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) + { + lineCounter += 1; + if (lineCounter == 1) + { + result.append (process (children.item (childIndex), datas, suffix, errorOutput)); + } + } + else + { + result.append (process (children.item (childIndex), datas, suffix, errorOutput)); + } + } + break; + + case ONLY_FIRST_TWO_ROWS: + lineCounter = 0; + for (int childIndex = 0; childIndex < childrenCount; childIndex++) + { + if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) + { + lineCounter += 1; + + if ((lineCounter == 1) || (lineCounter == 2)) + { + result.append (process (children.item (childIndex), datas, suffix, errorOutput)); + } + } + else { result.append (process (children.item (childIndex), datas, suffix, errorOutput)); } } - else + break; + + case ONLY_ROWS_WITH_ID: + for (int childIndex = 0; childIndex < childrenCount; childIndex++) { - result.append (process (children.item (childIndex), datas, suffix, errorOutput)); - } - } - break; - - case ONLY_FIRST_TWO_ROWS: - lineCounter = 0; - for (int childIndex = 0; childIndex < childrenCount; childIndex++) - { - if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) - { - lineCounter += 1; - - if ((lineCounter == 1) || (lineCounter == 2)) + if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) + { + NamedNodeMap attrs2 = children.item (childIndex).getAttributes (); + + if ((attrs2 != null) && + (attrs2.getNamedItem ("id") != null)) + { + result.append (process (children.item (childIndex), datas, suffix, errorOutput)); + } + } + else { result.append (process (children.item (childIndex), datas, suffix, errorOutput)); } } - else + break; + + case ONLY_ROWS_WITHOUT_ID: + for (int childIndex = 0; childIndex < childrenCount; childIndex++) { - result.append (process (children.item (childIndex), datas, suffix, errorOutput)); - } - } - break; - - case ONLY_ROWS_WITH_ID: - for (int childIndex = 0; childIndex < childrenCount; childIndex++) - { - if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) - { - NamedNodeMap attrs2 = children.item (childIndex).getAttributes (); - - if ((attrs2 != null) && - (attrs2.getNamedItem ("id") != null)) + if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) + { + NamedNodeMap attrs2 = children.item (childIndex).getAttributes (); + if ((attrs2 == null) || + (attrs2.getNamedItem ("id") == null)) + { + result.append (process (children.item(childIndex), datas, suffix, errorOutput)); + } + } + else { result.append (process (children.item (childIndex), datas, suffix, errorOutput)); } } - else + break; + + case ALL_ROWS: + for (int childIndex = 0; childIndex < childrenCount; childIndex++) { - result.append (process (children.item (childIndex), datas, suffix, errorOutput)); + result.append (process (children.item(childIndex), datas, suffix, errorOutput)); } - } - break; - - case ONLY_ROWS_WITHOUT_ID: - for (int childIndex = 0; childIndex < childrenCount; childIndex++) - { - if (children.item (childIndex).getNodeType () == Node.ELEMENT_NODE) - { - NamedNodeMap attrs2 = children.item (childIndex).getAttributes (); - if ((attrs2 == null) || - (attrs2.getNamedItem ("id") == null)) - { - result.append (process (children.item(childIndex), datas, suffix, errorOutput)); - } - } - else - { - result.append (process (children.item (childIndex), datas, suffix, errorOutput)); - } - } - break; - - case ALL_ROWS: - for (int childIndex = 0; childIndex < childrenCount; childIndex++) - { - result.append (process (children.item(childIndex), datas, suffix, errorOutput)); - } - break; + break; } // @@ -285,16 +284,15 @@ public class Presenter * The ID. */ static protected StringBuffer processElementWithId (Node node, - NamedNodeMap attrs, - Node idAttr, - IdsDataById datas, - String webappPath, - StringBuffer errorOutput) + NamedNodeMap attrs, + Node idAttr, + IdsDataById datas, + StringBuffer errorOutput) { StringBuffer result; - result = processElementWithId (node, attrs, idAttr, datas, "", webappPath, errorOutput); + result = processElementWithId (node, attrs, idAttr, datas, "", errorOutput); // return (result); @@ -316,7 +314,6 @@ public class Presenter NamedNodeMap attrs, Node idAttr, IdsDataById datas, - String webappPath, String suffix, StringBuffer errorOutput) { @@ -334,7 +331,7 @@ public class Presenter if (dataCore == null) { - result.append (Presenter.processElementBasically (node, datas, webappPath, suffix, errorOutput)); + result.append (Presenter.processElementBasically (node, datas, suffix, errorOutput)); } else if (dataCore instanceof IdData) { @@ -351,7 +348,7 @@ public class Presenter } if ((theClass == null) || - (!theClass.equals ("xid:nodisplay"))) + (!theClass.equals ("xid:nodisplay"))) { // Open the tag. result.append ("<"); @@ -376,7 +373,7 @@ public class Presenter if ((data == null) || (data.display () == null)) { - result.append (processChildren (node, datas, webappPath, suffix, errorOutput)); + result.append (processChildren (node, datas, suffix, errorOutput)); } else { @@ -408,7 +405,7 @@ public class Presenter result.append (processAttributes (attrs, data.getAttributes (), Integer.toString (nLine))); if ((node.getChildNodes () == null) && - ((data == null) || (data.display () == null))) + ((data == null) || (data.display () == null))) { // Close the tag. result.append (" />\n"); @@ -423,7 +420,7 @@ public class Presenter // Insert data. if ((data == null) || (data.display () == null)) { - result.append (processChildren (node, datas, webappPath, suffix, errorOutput)); + result.append (processChildren (node, datas, suffix, errorOutput)); } else { @@ -441,7 +438,7 @@ public class Presenter // Manage a Hashmap. IdsDataById data = (IdsDataById) tags.elementAt (nLine); - result.append (Presenter.processElementWithId (node, attrs, idAttr, data, webappPath, Integer.toString (nLine), errorOutput)); + result.append (Presenter.processElementWithId (node, attrs, idAttr, data, Integer.toString (nLine), errorOutput)); result.append ('\n'); } } @@ -478,7 +475,7 @@ public class Presenter */ static protected StringBuffer process (Node node, IdsDataById datas, String suffix, StringBuffer errorOutput) { - logger.debug ("Enter"); + logger.debug ("process - started"); String TRANSITIONAL_DTD = "xhtml1-transitional.dtd"; String TRANSITIONAL_DOCTYPE = "\n"; @@ -495,114 +492,114 @@ public class Presenter name = getClassAttributeValue (node); if ((name == null) || - ((name != null) && - (!name.equals ("xid:nodisplay")))) + ((name != null) && + (!name.equals ("xid:nodisplay")))) { int type = node.getNodeType(); switch (type) { - case Node.DOCUMENT_NODE: - { - logger.debug ("case Node.DOCUMENT_NODE"); - DocumentType dt = ((Document) node).getDoctype(); - - if (dt != null) + case Node.DOCUMENT_NODE: { - String publicId = dt.getPublicId(); - String systemId = dt.getSystemId(); - - if (systemId.equals(TRANSITIONAL_DTD)) + logger.debug ("case Node.DOCUMENT_NODE"); + DocumentType dt = ((Document) node).getDoctype(); + + if (dt != null) { - result.append(TRANSITIONAL_DOCTYPE); + String publicId = dt.getPublicId(); + String systemId = dt.getSystemId(); + + if (systemId.equals(TRANSITIONAL_DTD)) + { + result.append(TRANSITIONAL_DOCTYPE); + } + + // Log.write(Log.TRACE,"publicId = " + publicId); + // Log.write(Log.TRACE,"systemId = " + systemId); } - - // Log.write(Log.TRACE,"publicId = " + publicId); - // Log.write(Log.TRACE,"systemId = " + systemId); + + result.append (Presenter.process (((Document) node).getDocumentElement(), datas, suffix, errorOutput)); + + break; } - - result.append (Presenter.process (((Document) node).getDocumentElement(), datas, suffix, errorOutput)); - - break; - } - - case Node.ELEMENT_NODE: - { - logger.debug ("case Node.ELEMENT_NODE"); - - NamedNodeMap attrs = node.getAttributes (); - Node idAttr = attrs.getNamedItem ("id"); - - if (idAttr != null) + + case Node.ELEMENT_NODE: { - result.append (Presenter.processElementWithId (node, - attrs, - idAttr, - datas, - suffix, - errorOutput)); + logger.debug ("case Node.ELEMENT_NODE"); + + NamedNodeMap attrs = node.getAttributes (); + Node idAttr = attrs.getNamedItem ("id"); + + if (idAttr != null) + { + result.append (Presenter.processElementWithId (node, + attrs, + idAttr, + datas, + suffix, + errorOutput)); + } + else + { + result.append (Presenter.processElementBasically (node, datas, suffix, errorOutput)); + } + + break; } - else + + // handle entity reference nodes + case Node.ENTITY_REFERENCE_NODE: { - result.append (Presenter.processElementBasically (node, datas, suffix, errorOutput)); + logger.debug ("case Node.ENTITY_REFERENCE_NODE"); + + result.append ('&'); + result.append (node.getNodeName()); + result.append (';'); + break; } - - break; - } - - // handle entity reference nodes - case Node.ENTITY_REFERENCE_NODE: - { - logger.debug ("case Node.ENTITY_REFERENCE_NODE"); - - result.append ('&'); - result.append (node.getNodeName()); - result.append (';'); - break; - } - - // print cdata sections - case Node.CDATA_SECTION_NODE: - { - logger.debug ("case Node.CDATA_SECTION_NODE"); - - result.append (""); - - break; - } - - // print text - case Node.TEXT_NODE: - { - logger.debug ("case Node.TEXTE_NODE"); - result.append (restoreEntities (new StringBuffer(node.getNodeValue()))); - break; - } - - // print processing instruction - case Node.PROCESSING_INSTRUCTION_NODE: - { - logger.debug ("Node.PROCESSING_INSTRUCTION_NODE"); - - result.append (" 0)) + + // print cdata sections + case Node.CDATA_SECTION_NODE: { - result.append (' '); - result.append (data); + logger.debug ("case Node.CDATA_SECTION_NODE"); + + result.append (""); + + break; + } + + // print text + case Node.TEXT_NODE: + { + logger.debug ("case Node.TEXTE_NODE"); + result.append (restoreEntities (new StringBuffer(node.getNodeValue()))); + break; + } + + // print processing instruction + case Node.PROCESSING_INSTRUCTION_NODE: + { + logger.debug ("Node.PROCESSING_INSTRUCTION_NODE"); + + result.append (" 0)) + { + result.append (' '); + result.append (data); + } + result.append ("?>"); + break; } - result.append ("?>"); - break; - } } } } // //logger.info ("result=" + result); - logger.debug ("Exit"); + logger.debug ("process - ended"); return (result); } @@ -610,11 +607,11 @@ public class Presenter /* * */ - static StringBuffer processElementBasically (Node node, IdsDataById datas, String webappPath, StringBuffer errorOutput) + static StringBuffer processElementBasically (Node node, IdsDataById datas,StringBuffer errorOutput) { StringBuffer result; - result = processElementBasically (node, datas, webappPath, "", errorOutput); + result = processElementBasically (node, datas, "", errorOutput); // return (result); @@ -624,15 +621,24 @@ public class Presenter /* * */ - static StringBuffer processElementBasically (Node node, IdsDataById datas, String webappPath, String suffix, StringBuffer errorOutput) + static StringBuffer processElementBasically (Node node, IdsDataById datas, String suffix, StringBuffer errorOutput) { StringBuffer result; + logger.debug("processElementBasically - started"); result = new StringBuffer (); // Open the tag. result.append ('<'); result.append (node.getNodeName()); + + // Build the tag attributes. + Attributes tagAttributes; + + result.append (processAttributes (node.getAttributes (), + null, + suffix)); + // if (node.getChildNodes () == null) { @@ -642,13 +648,14 @@ public class Presenter { result.append('>'); - result.append (processChildren (node, datas, webappPath, suffix, errorOutput)); + result.append (processChildren (node, datas, suffix, errorOutput)); result.append("'); } + logger.debug("processElementBasically - ended"); // return (result);