Fix error in tagData remove action.

This commit is contained in:
Christian P. MOMON 2010-02-24 16:54:53 +01:00
parent 58ffaea88d
commit e473833ccc

View file

@ -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 = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 "
+ "Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\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 ("<![CDATA[");
result.append (node.getNodeValue());
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 ("<?");
result.append (node.getNodeName());
String data = node.getNodeValue();
if ((data != null) && (data.length () > 0))
// print cdata sections
case Node.CDATA_SECTION_NODE:
{
result.append (' ');
result.append (data);
logger.debug ("case Node.CDATA_SECTION_NODE");
result.append ("<![CDATA[");
result.append (node.getNodeValue());
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 ("<?");
result.append (node.getNodeName());
String data = node.getNodeValue();
if ((data != null) && (data.length () > 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("</");
result.append(node.getNodeName());
result.append('>');
}
logger.debug("processElementBasically - ended");
//
return (result);