w.rittmeyer_at_jsptutorial.org wrote:
> Oops. The classes com.sun.enterprise.deployment.node.runtime.web.ValveNode and com.sun.enterprise.deployment.runtime.web.Valve are missing (deployment). I will add them this evening (MEZ).
>
And finally these two classes ;-)
--
Wolfram Rittmeyer
package com.sun.enterprise.deployment.node.runtime.web;
import com.sun.enterprise.deployment.node.XMLElement;
import com.sun.enterprise.deployment.runtime.web.Valve;
import com.sun.enterprise.deployment.runtime.web.WebProperty;
import com.sun.enterprise.deployment.xml.RuntimeTagNames;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
/**
* Node representing a valve tag.
*/
public class ValveNode extends WebRuntimeNode {
public ValveNode() {
registerElementHandler(new XMLElement(RuntimeTagNames.PROPERTY),
WebPropertyNode.class, "addWebProperty");
}
@Override
protected boolean setAttributeValue(XMLElement elementName, XMLElement attributeName, String value) {
Valve descriptor = (Valve) getRuntimeDescriptor();
if (descriptor == null) {
throw new RuntimeException("Trying to set values on a null descriptor");
}
if (attributeName.getQName().equals(RuntimeTagNames.NAME)) {
descriptor.setAttributeValue(Valve.NAME, value);
return true;
} else if (attributeName.getQName().equals(RuntimeTagNames.CLASSNAME)) {
descriptor.setAttributeValue(Valve.CLASSNAME, value);
return true;
}
return false;
}
/**
* write the descriptor class to a DOM tree and return it
*
* @param parent node for the DOM tree
* @param node name
* @param the descriptor to write
* @return the DOM tree top node
*/
public Node writeDescriptor(Node parent, String nodeName, Valve descriptor) {
Element valve = (Element) super.writeDescriptor(parent, nodeName, descriptor);
WebPropertyNode wpn = new WebPropertyNode();
// sub-element property*
wpn.writeDescriptor(valve, RuntimeTagNames.PROPERTY, descriptor.getWebProperty());
// attributes classname and name
setAttribute(valve, RuntimeTagNames.NAME, (String) descriptor.getAttributeValue(Valve.NAME));
setAttribute(valve, RuntimeTagNames.CLASSNAME, (String) descriptor.getAttributeValue(Valve.CLASSNAME));
return valve;
}
}
package com.sun.enterprise.deployment.runtime.web;
public class Valve extends WebPropertyContainer {
static public final String CLASSNAME = "ClassName";
}