1
2
3
4
5
6
7
8
9
10
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 {
34 private final static Logger log = Logger.getLogger( FormatXmlAction.class );
35 private final JXEditTextArea textArea;
36
37 public FormatXmlAction( JXEditTextArea textArea )
38 {
39 super( "Format XML" );
40 putValue( Action.SMALL_ICON, UISupport.createImageIcon( "/format_request.gif" ) );
41 putValue( Action.SHORT_DESCRIPTION, "Pretty-prints the request xml" );
42 putValue( Action.ACCELERATOR_KEY, UISupport.getKeyStroke( "alt F" ) );
43 this.textArea = textArea;
44 }
45
46 public void actionPerformed( ActionEvent e )
47 {
48 try
49 {
50 textArea.setText( XmlUtils.prettyPrintXml( textArea.getText() ) );
51 textArea.setCaretPosition( 0 );
52 }
53 catch( Exception e1 )
54 {
55 log.error( e1.getMessage() );
56 }
57 }
58 }