001    /*
002    @license.text@
003     */
004    package biz.hammurapi.sql.xml;
005    
006    import org.w3c.dom.Element;
007    import org.w3c.dom.Node;
008    
009    import biz.hammurapi.config.ConfigurationException;
010    import biz.hammurapi.config.Context;
011    import biz.hammurapi.config.DomConfigurable;
012    import biz.hammurapi.config.PropertyParser;
013    import biz.hammurapi.sql.SQLProcessor;
014    import biz.hammurapi.xml.dom.AbstractDomObject;
015    
016    
017    /**
018     * @author Pavel Vlasov
019     * @version $Revision: 1.4 $
020     */
021    public class Message extends AbstractDomObject implements Command, DomConfigurable {
022    
023            private String key;
024            private String message;
025    
026            public void execute(Element holder, SQLProcessor processor, Context context) throws SQL2XMLException {
027                    Element me=holder.getOwnerDocument().createElement("message");
028                    if (key!=null) {
029                            me.setAttribute("key", key);
030                    }
031                    holder.appendChild(me);
032                    me.appendChild(holder.getOwnerDocument().createTextNode(new PropertyParser(context, false).parse(message)));
033            }
034    
035            public void configure(Node configNode, Context context) throws ConfigurationException {
036                    Element configElement=(Element) configNode;
037                    if (configElement.hasAttribute("key")) {
038                            key=configElement.getAttribute("key");
039                    }
040    
041                    message=getElementText(configNode);
042            }
043    }