📄 configurator.java
字号:
*/
public PasswordDialog() {
super("JXTA Secure Login");
//PDA requirements 01.03.2002
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(0);
}
});
//PDA requirements 01.03.2002
//PDA requirements 19.02.2002
//javax.swing.JPanel -> java.awt.Panel
//javax.swing.JPanel contentPane = new javax.swing.JPanel(new java.awt.BorderLayout());
Panel contentPane = new Panel(new BorderLayout());
//PDA requirements 19.02.2002
// principal
//PDA requirements 19.02.2002
//javax.swing.JPanel -> java.awt.Panel
//javax.swing.JPanel cp0 = new javax.swing.JPanel(new java.awt.BorderLayout());
Panel cp0 = new Panel(new BorderLayout());
cp0.setBackground(Color.lightGray);
//javax.swing.JLabel -> java.awt.Label
//javax.swing.JLabel pLabel = new javax.swing.JLabel("Secure Username: ");
Label pLabel = new Label("Secure Username: ");
//PDA requirements 19.02.2002
//PDA requirements 19.02.2002
//javax.swing.JComponent.setBorder(Border border) was not presented in jdk 1.1.8, it was excluded
//cp0.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20));
//PDA requirements 19.02.2002
cp0.add(pLabel, BorderLayout.WEST);
cp0.add(principalField, BorderLayout.EAST);
// password
//PDA requirements 19.02.2002
//javax.swing.JPanel -> java.awt.Panel
//javax.swing.JPanel cp1 = new javax.swing.JPanel(new java.awt.BorderLayout());
Panel cp1 = new Panel(new BorderLayout());
cp1.setBackground(Color.lightGray);
//javax.swing.JLabel -> java.awt.Label
Label label = new Label("Password: ");
//PDA requirements 19.02.2002
passwordField.setEchoChar('*');
//PDA requirements 19.02.2002
//javax.swing.JComponent.setBorder(Border border) was not presented in jdk 1.1.8, it was excluded
//cp1.setBorder(javax.swing.BorderFactory.createEmptyBorder(20, 20, 20, 20));
//PDA requirements 19.02.2002
cp1.add(label, BorderLayout.WEST);
cp1.add(passwordField, BorderLayout.EAST);
principalField.addActionListener(this);
passwordField.addActionListener(this);
// panes in the pane
//PDA requirements 19.02.2002
//javax.swing.JFrame.setContentPane(Container contentPane)
//was not presented in jdk 1.1.8, it was excluded
//contentPane.add(cp0,java.awt.BorderLayout.NORTH);
add(cp0,BorderLayout.NORTH);
//contentPane.add(cp1,java.awt.BorderLayout.SOUTH);
add(cp1,BorderLayout.SOUTH);
//PDA requirements 19.02.2002
//PDA requirements 19.02.2002
//javax.swing.JFrame.setContentPane(Container contentPane)
//was not presented in jdk 1.1.8, it was excluded
//setContentPane(contentPane);
//PDA requirements 19.02.2002
//PDA requirements 19.02.2002
//java.awt.Window.getGraphicsConfiguration() was not presented in jdk 1.1.8
//java.awt.Rectangle screenRect = getGraphicsConfiguration().getBounds();
//setLocation(
//screenRect.x + screenRect.width / 2 - getSize().width / 2,
//screenRect.y + screenRect.height / 2 - getSize().height / 2);
Dimension screenSize = this.getToolkit().getScreenSize();
Dimension thisSize = this.getSize();
setLocation(
screenSize.width - screenSize.width/2 - thisSize.width/2,
screenSize.height - screenSize.height/2 - thisSize.height/2);
//PDA requirements 19.02.2002
pack();
setVisible(true);
/* // commenting the following due to the fact that
// dialog disappears debug, leaving the code in to debug later
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
try {
int reply = javax.swing.JOptionPane.showConfirmDialog(frame,
"Do you really want to exit?",
"JXTA Secure Login",
javax.swing.JOptionPane.YES_NO_OPTION,
javax.swing.JOptionPane.QUESTION_MESSAGE);
if (reply == javax.swing.JOptionPane.YES_OPTION) {
setVisible(false);
dispose();
System.exit(0);
}
} catch (Exception any) {
}
}
});
*/
untilDone();
dispose();
}
private synchronized void untilDone() {
// wait until correct info entered
try {
wait();
} catch (InterruptedException e) {
}
}
//PDA requirements 19.02.2002
//javax.swing.JOptionPane was not presented in jdk 1.1.8, additional code was written
private class ErrorDialog extends Dialog implements ActionListener {
private Button okButton;
private ErrorDialog dialog = this;
Frame owner;
ErrorDialog(Frame owner, String title, String error) {
super(owner, title, false);
this.owner = owner;
owner.setEnabled(false);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
dialog.owner.setEnabled(true);
dialog.hide();
dialog.owner.toFront();
}
});
okButton = new Button(" Ok ");
okButton.addActionListener(this);
okButton.setBackground(Color.lightGray);
Panel buttonPanel = new Panel(new FlowLayout());
buttonPanel.add(okButton);
buttonPanel.setBackground(Color.lightGray);
Panel labelPanel = new Panel(new FlowLayout());
labelPanel.add(new Label(" " + error));
labelPanel.setBackground(Color.lightGray);
add(labelPanel, BorderLayout.NORTH);
add(buttonPanel, BorderLayout.SOUTH);
setResizable(false);
pack();
//set location on the screen
Point ownerLocation = owner.getLocationOnScreen();
Dimension ownerSize = owner.getSize();
Dimension thisSize = getSize();
this.setLocation((ownerSize.width - thisSize.width)/2 + ownerLocation.x,
(ownerSize.height - thisSize.height)/2 + ownerLocation.y);
show();
}
public void actionPerformed (ActionEvent e) {
if (e.getSource() == okButton) {
owner.setEnabled(true);
hide();
owner.toFront();
}
}
}
//PDA requirements 19.02.2002
public synchronized void actionPerformed(ActionEvent e) {
String password = passwordField.getText();
String principal = principalField.getText();
if (principal.length() == 0 || !JTlsUtil.principalIsIssuer(principal) ){
//PDA requirements 19.02.2002
//javax.swing.JOptionPane was not presented in jdk 1.1.8
//javax.swing.JOptionPane.showMessageDialog(this,
//"Invalid Secure Username. Try again.",
//"Error Message",
//javax.swing.JOptionPane.ERROR_MESSAGE);
ErrorDialog dialog = new ErrorDialog(this, "Error Message", "Invalid Secure Username. Try again.");
//PDA requirements 19.02.2002
return;
} else {
//PDA requirements 19.02.2002
//method java.lang.System.setProperty(String key, String value) was not presented in jdk 1.1.8,
//additional code was written
//System.setProperty("net.jxta.tls.principal", principal);
java.util.Properties properties = System.getProperties();
properties.put("net.jxta.tls.principal", principal);
System.setProperties(properties);
//PDA requirements 19.02.2002
if (password.length() == 0) {
passwordField.requestFocus();
return;
}
}
if (password.length() == 0 || ! JTlsUtil.validPasswd(password) ){
//PDA requirements 19.02.2002
//javax.swing.JOptionPane was not presented in jdk 1.1.8
//javax.swing.JOptionPane.showMessageDialog(this,
//"Invalid Password. Try again.",
//"Error Message",
//javax.swing.JOptionPane.ERROR_MESSAGE);
ErrorDialog dialog = new ErrorDialog(this, "Error Message", "Invalid Password. Try again.");
//PDA requirements 19.02.2002
return;
} else {
//PDA requirements 19.02.2002
//method java.lang.System.setProperty(String key, String value) was not presented in jdk 1.1.8,
//additional code was written
//System.setProperty("net.jxta.tls.password",password);
Properties properties = System.getProperties();
properties.put("net.jxta.tls.password", password);
System.setProperties(properties);
//PDA requirements 19.02.2002
notifyAll();
}
}
}
private void routerRdvMatch() {
try {
// Make sure that the rendez-vous and router lists
// are randomly ordered and reduce http rendez-vous and routers to their
// intersection, in order to accomodate a current limitation.
// This accounts for most of the junk below.
// Note that if http routers are not required then all rdvs are good.
Enumeration rdvElements = null;
Vector rdvs = new Vector();
try {
TextElement param = (TextElement)
advertisement.getServiceParam(PeerGroup.rendezvousClassID);
if (param != null) {
// First, get the Rdv part of the service param.
rdvElements = param.getChildren("Rdv");
// Get the rendezvous EndpointService Addresses
Enumeration rdvEnum = param.getChildren("Addr");
while (rdvEnum.hasMoreElements()) {
rdvs.addElement( ( (TextElement)
rdvEnum.nextElement() ).getTextValue() );
}
}
} catch (Exception nobigdeal) {
}
HTTPAdv httpAdv = null;
boolean httpDisabled = false;
Vector routers;
try {
Element param =
advertisement.getServiceParam(PeerGroup.httpProtoClassID);
if (param.getChildren("isOff").hasMoreElements()) {
httpDisabled = true;
}
// FIXME 20011220 bondolo@jxta.org Temporarily accept both nodes of
// type HTTPAdv and TransportAdvertisement.
Enumeration httpChilds = param.getChildren(
TransportAdvertisement.getAdvertisementType());
// get the TransportAdv from either TransportAdv or HttpAdv
if( httpChilds.hasMoreElements() ) {
param = (Element) httpChilds.nextElement();
} else {
httpChilds = param.getChildren(
HTTPAdv.getAdvertisementType());
if( httpChilds.hasMoreElements() ) {
param = (Element) httpChilds.nextElement();
}
}
httpAdv = (HTTPAdv)
AdvertisementFactory.newAdvertisement((TextElement) param);
} catch (Exception nevermind) {
// Very weird, though. We could not get the HttpAdv while we know
// that at the very least it was created by fixAdv...
httpAdv = new HTTPAdv( );
httpAdv.setProtocol( "http" );
httpAdv.setPort( "9700" );
httpAdv.setRouterEnabled(true);
httpAdv.setProxyEnabled(false);
httpAdv.setServerEnabled(false);
if (LOG.isEnabledFor(Priority.WARN)) LOG.warn("httpAdv has vanished");
}
routers = httpAdv.getRouters();
if (routers == null) routers = new Vector();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -