package org.buzztroll.mud; import java.lang.*; import java.awt.*; import java.net.*; import java.io.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import com.ibm.wsdl.util.xml.DOM2Writer; public class HostSetupPanel extends JPanel { public JTextField hostnameText; public JTextField portText; public JTextField contactText; public JTextField usernameText; public JPasswordField passwordText; protected String passwordString; public HostSetupPanel() { super(); JPanel tempP = new JPanel(); JPanel tempP2 = new JPanel(); tempP.setLayout(new GridLayout(6, 1)); tempP2.setLayout(new GridLayout(6, 1)); hostnameText = new JTextField(""); portText = new JTextField(""); contactText = new JTextField(""); usernameText = new JTextField(""); passwordText = new JPasswordField(); tempP.add(new JLabel("Hostname:")); tempP.add(new JLabel("Port:")); tempP.add(new JLabel("Name:")); tempP.add(new JLabel("User Name:")); tempP.add(new JLabel("Password:")); tempP2.add(hostnameText); tempP2.add(portText); tempP2.add(contactText); tempP2.add(usernameText); tempP2.add(passwordText); this.setLayout(new BorderLayout(5, 5)); this.add("West", tempP); this.add("Center", tempP2); } public Node createDoc( Document doc) throws Exception { int ctr; Element serverE = doc.createElement("server"); serverE.setAttribute("name", this.getContactName()); Element connectE = doc.createElement("connect"); connectE.setAttribute("hostname", this.getHostname()); connectE.setAttribute("port", this.portText.getText()); Element authE = doc.createElement("auth"); authE.setAttribute("username", this.getUsername()); authE.setAttribute("password", this.getPassword()); serverE.appendChild(connectE); serverE.appendChild(authE); return serverE; } public void parse( Document doc) { int ctr; String connectionName = ""; Node n; Node nj; String portS = ""; String hostname = ""; String username = ""; String password = ""; System.out.println(doc); Element rootE = doc.getDocumentElement(); n = rootE.getFirstChild(); while(n != null) { if(Node.ELEMENT_NODE == n.getNodeType()) { Element e = (Element)n; /* get server name host port and auth */ if(e.getTagName().equals("server")) { connectionName = e.getAttribute("name"); nj = n.getFirstChild(); while(nj != null) { if(Node.ELEMENT_NODE == nj.getNodeType()) { Element ej = (Element)nj; if(ej.getTagName().equals("connect")) { hostname = ej.getAttribute("hostname"); portS = ej.getAttribute("port"); } else if(ej.getTagName().equals("auth")) { username = ej.getAttribute("username"); password = ej.getAttribute("password"); } } nj = nj.getNextSibling(); } } } n = n.getNextSibling(); } this.hostnameText.setText(hostname); this.portText.setText(portS); this.contactText.setText(connectionName); this.usernameText.setText(username); passwordString = password; } public String getHostname() { return this.hostnameText.getText(); } public int getPort() { return new Integer(this.portText.getText()).intValue(); } public String getContactName() { return this.contactText.getText(); } public String getUsername() { return this.usernameText.getText(); } public String getPassword() { return passwordString; } public void reset() { contactText.setText(""); portText.setText(""); hostnameText.setText(""); } }