01: /*
02: * soapUI, copyright (C) 2004-2007 eviware.com
03: *
04: * soapUI is free software; you can redistribute it and/or modify it under the
05: * terms of version 2.1 of the GNU Lesser General Public License as published by
06: * the Free Software Foundation.
07: *
08: * soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
09: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: * See the GNU Lesser General Public License for more details at gnu.org.
11: */
12:
13: package com.eviware.soapui.support.xml.actions;
14:
15: import java.awt.event.ActionEvent;
16:
17: import javax.swing.AbstractAction;
18: import javax.swing.Action;
19:
20: import org.apache.log4j.Logger;
21:
22: import com.eviware.soapui.support.UISupport;
23: import com.eviware.soapui.support.xml.JXEditTextArea;
24: import com.eviware.soapui.support.xml.XmlUtils;
25:
26: /**
27: * Formats the XML of a JXmlTextArea
28: *
29: * @author Ole.Matzura
30: */
31:
32: public class FormatXmlAction extends AbstractAction {
33: private final static Logger log = Logger
34: .getLogger(FormatXmlAction.class);
35: private final JXEditTextArea textArea;
36:
37: public FormatXmlAction(JXEditTextArea textArea) {
38: super ("Format XML");
39: putValue(Action.SMALL_ICON, UISupport
40: .createImageIcon("/format_request.gif"));
41: putValue(Action.SHORT_DESCRIPTION,
42: "Pretty-prints the request xml");
43: putValue(Action.ACCELERATOR_KEY, UISupport
44: .getKeyStroke("alt F"));
45: this .textArea = textArea;
46: }
47:
48: public void actionPerformed(ActionEvent e) {
49: try {
50: textArea.setText(XmlUtils
51: .prettyPrintXml(textArea.getText()));
52: textArea.setCaretPosition(0);
53: } catch (Exception e1) {
54: log.error(e1.getMessage());
55: }
56: }
57: }
|