diff options
Diffstat (limited to 'src')
3 files changed, 314 insertions, 213 deletions
diff --git a/src/net/java/sip/communicator/plugin/sipaccregwizz/ConnectionPanel.java b/src/net/java/sip/communicator/plugin/sipaccregwizz/ConnectionPanel.java index f7d2a20..1f27ec4 100644 --- a/src/net/java/sip/communicator/plugin/sipaccregwizz/ConnectionPanel.java +++ b/src/net/java/sip/communicator/plugin/sipaccregwizz/ConnectionPanel.java @@ -1,19 +1,19 @@ /* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. - * + * * Copyright @ 2015 Atlassian Pty Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. */ package net.java.sip.communicator.plugin.sipaccregwizz; @@ -25,9 +25,9 @@ import javax.swing.event.*; import net.java.sip.communicator.service.certificate.*; import net.java.sip.communicator.plugin.desktoputil.*; - import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.service.protocol.sip.*; + import org.jitsi.util.*; /** @@ -38,9 +38,7 @@ import org.jitsi.util.*; */ public class ConnectionPanel extends TransparentPanel - implements ItemListener, - DocumentListener, - ValidatingPanel + implements ItemListener, DocumentListener, ValidatingPanel { /** * Serial version UID. @@ -63,31 +61,26 @@ public class ConnectionPanel private final JCheckBox proxyAutoCheckBox; + private final JCheckBox proxyForceBypassCheckBox; + private final JComboBox certificate = new JComboBox(); - private JComboBox transportCombo - = new JComboBox(new String[] { "UDP", "TCP", "TLS" }); + private JComboBox transportCombo = new JComboBox(new String[] + { "UDP", "TCP", "TLS" }); - private JComboBox keepAliveMethodBox - = new JComboBox(new String[] { "NONE", "REGISTER", "OPTIONS", "CRLF" }); + private JComboBox keepAliveMethodBox = new JComboBox(new String[] + { "NONE", "REGISTER", "OPTIONS", "CRLF" }); - private JTextField keepAliveIntervalValue - = new JTextField(SipAccountID.getDefaultStr( - ProtocolProviderFactory.KEEP_ALIVE_INTERVAL)); + private JTextField keepAliveIntervalValue = + new JTextField( + SipAccountID + .getDefaultStr(ProtocolProviderFactory.KEEP_ALIVE_INTERVAL)); - private JComboBox dtmfMethodBox - = new JComboBox( - new String[] - { - Resources.getString( - "plugin.sipaccregwizz.DTMF_AUTO"), - Resources.getString( - "plugin.sipaccregwizz.DTMF_RTP"), - Resources.getString( - "plugin.sipaccregwizz.DTMF_SIP_INFO"), - Resources.getString( - "plugin.sipaccregwizz.DTMF_INBAND") - }); + private JComboBox dtmfMethodBox = new JComboBox(new String[] + { Resources.getString("plugin.sipaccregwizz.DTMF_AUTO"), + Resources.getString("plugin.sipaccregwizz.DTMF_RTP"), + Resources.getString("plugin.sipaccregwizz.DTMF_SIP_INFO"), + Resources.getString("plugin.sipaccregwizz.DTMF_INBAND") }); /** * The text field used to change the DTMF minimal tone duration. @@ -102,6 +95,7 @@ public class ConnectionPanel /** * Creates an instance of the <tt>ConnectionPanel</tt>. + * * @param regform the parent registration form */ public ConnectionPanel(SIPAccountRegistrationForm regform) @@ -111,9 +105,10 @@ public class ConnectionPanel this.regform = regform; this.regform.addValidatingPanel(this); - proxyAutoCheckBox = new SIPCommCheckBox( - Resources.getString("plugin.sipaccregwizz.PROXY_AUTO"), - regform.getRegistration().isProxyAutoConfigure()); + proxyAutoCheckBox = + new SIPCommCheckBox( + Resources.getString("plugin.sipaccregwizz.PROXY_AUTO"), regform + .getRegistration().isProxyAutoConfigure()); enablesProxyAutoConfigure(proxyAutoCheckBox.isSelected()); proxyAutoCheckBox.addActionListener(new ActionListener() { @@ -127,10 +122,28 @@ public class ConnectionPanel } }); + proxyForceBypassCheckBox = + new SIPCommCheckBox( + Resources.getString("plugin.sipaccregwizz.PROXY_FORCE_BYPASS"), + regform.getRegistration().isProxyForceBypassConfigure()); + enablesProxyForceBypassConfigure(proxyForceBypassCheckBox.isSelected()); + proxyForceBypassCheckBox.addActionListener(new ActionListener() + { + /** + * Invoked when an action occurs. + */ + public void actionPerformed(ActionEvent e) + { + enablesProxyForceBypassConfigure(proxyForceBypassCheckBox + .isSelected()); + ConnectionPanel.this.regform.reValidateInput(); + } + }); + this.transportCombo.addItemListener(this); - transportCombo.setSelectedItem( - regform.getRegistration().getPreferredTransport()); + transportCombo.setSelectedItem(regform.getRegistration() + .getPreferredTransport()); JPanel mainPanel = new TransparentPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); @@ -138,23 +151,21 @@ public class ConnectionPanel JPanel registrarMainPanel = new TransparentPanel(new BorderLayout(10, 10)); - JPanel labelsPanel - = new TransparentPanel(new GridLayout(0, 1, 10, 10)); - JPanel valuesPanel - = new TransparentPanel(new GridLayout(0, 1, 10, 10)); + JPanel labelsPanel = new TransparentPanel(new GridLayout(0, 1, 10, 10)); + JPanel valuesPanel = new TransparentPanel(new GridLayout(0, 1, 10, 10)); - JLabel serverLabel - = new JLabel(Resources.getString("plugin.sipaccregwizz.REGISTRAR")); + JLabel serverLabel = + new JLabel(Resources.getString("plugin.sipaccregwizz.REGISTRAR")); - JLabel authNameLabel - = new JLabel(Resources.getString( - "plugin.sipaccregwizz.AUTH_NAME")); + JLabel authNameLabel = + new JLabel(Resources.getString("plugin.sipaccregwizz.AUTH_NAME")); - JLabel serverPortLabel - = new JLabel(Resources.getString("service.gui.PORT")); + JLabel serverPortLabel = + new JLabel(Resources.getString("service.gui.PORT")); - JLabel certLabel = new JLabel( - Resources.getString("plugin.sipaccregwizz.CLIENT_CERTIFICATE")); + JLabel certLabel = + new JLabel( + Resources.getString("plugin.sipaccregwizz.CLIENT_CERTIFICATE")); labelsPanel.add(serverLabel); labelsPanel.add(authNameLabel); @@ -165,8 +176,7 @@ public class ConnectionPanel JPanel serverPanel = new TransparentPanel(new BorderLayout(5, 5)); serverPanel.add(serverField, BorderLayout.CENTER); - JPanel serverPortPanel = new TransparentPanel( - new BorderLayout(5, 5)); + JPanel serverPortPanel = new TransparentPanel(new BorderLayout(5, 5)); serverPortPanel.add(serverPortLabel, BorderLayout.WEST); serverPortPanel.add(serverPortField, BorderLayout.EAST); serverPanel.add(serverPortPanel, BorderLayout.EAST); @@ -178,43 +188,44 @@ public class ConnectionPanel registrarMainPanel.add(labelsPanel, BorderLayout.WEST); registrarMainPanel.add(valuesPanel, BorderLayout.CENTER); - registrarMainPanel.setBorder( - BorderFactory.createEmptyBorder(10, 5, 10, 5)); + registrarMainPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, + 5)); mainPanel.add(registrarMainPanel); - proxyAutoCheckBox.setSelected( - regform.getRegistration().isProxyAutoConfigure()); - if(!StringUtils.isNullOrEmpty( - regform.getRegistration().getProxy())) + proxyAutoCheckBox.setSelected(regform.getRegistration() + .isProxyAutoConfigure()); + proxyForceBypassCheckBox.setSelected(regform.getRegistration() + .isProxyForceBypassConfigure()); + if (!StringUtils.isNullOrEmpty(regform.getRegistration().getProxy())) proxyField.setText(regform.getRegistration().getProxy()); - if(!StringUtils.isNullOrEmpty( - regform.getRegistration().getProxyPort())) + if (!StringUtils + .isNullOrEmpty(regform.getRegistration().getProxyPort())) proxyPortField.setText(regform.getRegistration().getProxyPort()); - JLabel proxyLabel - = new JLabel(Resources.getString("plugin.sipaccregwizz.PROXY")); + JLabel proxyLabel = + new JLabel(Resources.getString("plugin.sipaccregwizz.PROXY")); - JLabel proxyPortLabel - = new JLabel(Resources.getString("service.gui.PORT")); + JLabel proxyPortLabel = + new JLabel(Resources.getString("service.gui.PORT")); - JLabel transportLabel - = new JLabel(Resources.getString( - "plugin.sipaccregwizz.PREFERRED_TRANSPORT")); + JLabel transportLabel = + new JLabel( + Resources.getString("plugin.sipaccregwizz.PREFERRED_TRANSPORT")); - JPanel proxyMainPanel - = new TransparentPanel(new BorderLayout(10, 10)); + JPanel proxyMainPanel = new TransparentPanel(new BorderLayout(10, 10)); proxyField.getDocument().addDocumentListener(this); proxyPortField.getDocument().addDocumentListener(this); JPanel proxyPanel = new TransparentPanel(new BorderLayout(5, 5)); proxyPanel.add(proxyField, BorderLayout.CENTER); - JPanel proxyPortPanel = new TransparentPanel( - new BorderLayout(5, 5)); + JPanel proxyPortPanel = new TransparentPanel(new BorderLayout(5, 5)); proxyPortPanel.add(proxyPortLabel, BorderLayout.WEST); proxyPortPanel.add(proxyPortField, BorderLayout.EAST); proxyPanel.add(proxyPortPanel, BorderLayout.EAST); + JPanel proxyNorthPanel = + new TransparentPanel(new GridLayout(2, 1, 10, 1)); labelsPanel = new TransparentPanel(new GridLayout(0, 1, 10, 10)); valuesPanel = new TransparentPanel(new GridLayout(0, 1, 10, 10)); @@ -222,44 +233,50 @@ public class ConnectionPanel labelsPanel.add(transportLabel); valuesPanel.add(proxyPanel); valuesPanel.add(transportCombo); + proxyNorthPanel.add(proxyForceBypassCheckBox); + proxyNorthPanel.add(proxyAutoCheckBox); + - proxyMainPanel.add(proxyAutoCheckBox, BorderLayout.NORTH); + proxyMainPanel.add(proxyNorthPanel, BorderLayout.NORTH); proxyMainPanel.add(labelsPanel, BorderLayout.WEST); proxyMainPanel.add(valuesPanel, BorderLayout.CENTER); - proxyMainPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getString("plugin.sipaccregwizz.PROXY_OPTIONS"))); + proxyMainPanel.setBorder(BorderFactory.createTitledBorder(Resources + .getString("plugin.sipaccregwizz.PROXY_OPTIONS"))); mainPanel.add(proxyMainPanel); mainPanel.add(Box.createVerticalStrut(5)); mainPanel.add(createKeepAlivePanel()); - JPanel encryptionPanel - = new TransparentPanel(new GridLayout(1, 2, 2, 2)); + JPanel encryptionPanel = + new TransparentPanel(new GridLayout(1, 2, 2, 2)); mainPanel.add(Box.createVerticalStrut(5)); mainPanel.add(encryptionPanel); JPanel voicemailPanel = new TransparentPanel(new BorderLayout(10, 10)); - JPanel voicemailUriPanelLabels - = new TransparentPanel(new GridLayout(0, 1, 10, 10)); - JPanel voicemailUriPanelValues - = new TransparentPanel(new GridLayout(0, 1, 10, 10)); - - mwiCheckBox = new SIPCommCheckBox( - Resources.getString("plugin.sipaccregwizz.MWI"), - regform.getRegistration().isMessageWaitingIndicationsEnabled()); - - voicemailUriPanelLabels.add(new JLabel( - Resources.getString("plugin.sipaccregwizz.VOICEMAIL_URI"))); - voicemailUriPanelLabels.add(new JLabel( - Resources.getString("plugin.sipaccregwizz.VOICEMAIL_CHECK_URI"))); + JPanel voicemailUriPanelLabels = + new TransparentPanel(new GridLayout(0, 1, 10, 10)); + JPanel voicemailUriPanelValues = + new TransparentPanel(new GridLayout(0, 1, 10, 10)); + + mwiCheckBox = + new SIPCommCheckBox( + Resources.getString("plugin.sipaccregwizz.MWI"), regform + .getRegistration().isMessageWaitingIndicationsEnabled()); + + voicemailUriPanelLabels.add(new JLabel(Resources + .getString("plugin.sipaccregwizz.VOICEMAIL_URI"))); + voicemailUriPanelLabels.add(new JLabel(Resources + .getString("plugin.sipaccregwizz.VOICEMAIL_CHECK_URI"))); voicemailUriPanelValues.add(voicemailAliasField); voicemailUriPanelValues.add(voicemailCheckField); - voicemailPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getString("plugin.sipaccregwizz.VOICEMAIL"))); + voicemailPanel.setBorder(BorderFactory.createTitledBorder(Resources + .getString("plugin.sipaccregwizz.VOICEMAIL"))); - voicemailAliasField.setText(regform.getRegistration().getVoicemailURI()); - voicemailCheckField.setText(regform.getRegistration().getVoicemailCheckURI()); + voicemailAliasField + .setText(regform.getRegistration().getVoicemailURI()); + voicemailCheckField.setText(regform.getRegistration() + .getVoicemailCheckURI()); voicemailPanel.add(mwiCheckBox, BorderLayout.NORTH); voicemailPanel.add(voicemailUriPanelLabels, BorderLayout.WEST); @@ -278,15 +295,13 @@ public class ConnectionPanel { certificate.removeAllItems(); certificate.insertItemAt( - Resources.getString("plugin.sipaccregwizz.NO_CERTIFICATE"), - 0); + Resources.getString("plugin.sipaccregwizz.NO_CERTIFICATE"), 0); certificate.setSelectedIndex(0); - for(CertificateConfigEntry e - : SIPAccRegWizzActivator.getCertificateService() - .getClientAuthCertificateConfigs()) + for (CertificateConfigEntry e : SIPAccRegWizzActivator + .getCertificateService().getClientAuthCertificateConfigs()) { certificate.addItem(e); - if(e.getId().equals(id)) + if (e.getId().equals(id)) certificate.setSelectedItem(e); } } @@ -294,6 +309,7 @@ public class ConnectionPanel /** * Parse the server part from the sip id and set it to server as default * value. If Advanced option is enabled Do nothing. + * * @param serverAddress the address of the server */ public void setServerFieldAccordingToUIN(String serverAddress) @@ -301,33 +317,35 @@ public class ConnectionPanel if (!regform.isModification() || !isServerOverridden) { serverField.setText(serverAddress); - //proxyField.setText(serverAddress); + // proxyField.setText(serverAddress); } } /** * Indicates that the state of the item has changed. + * * @param e the <tt>ItemEvent</tt> that notified us */ public void itemStateChanged(ItemEvent e) { // do not set default values cause they are counted // as overrrided ones -// if (e.getStateChange() == ItemEvent.SELECTED -// && e.getItem().equals("TLS")) -// { -// serverPortField.setText(SIPAccountRegistration.DEFAULT_TLS_PORT); -// proxyPortField.setText(SIPAccountRegistration.DEFAULT_TLS_PORT); -// } -// else -// { -// serverPortField.setText(SIPAccountRegistration.DEFAULT_PORT); -// proxyPortField.setText(SIPAccountRegistration.DEFAULT_PORT); -// } + // if (e.getStateChange() == ItemEvent.SELECTED + // && e.getItem().equals("TLS")) + // { + // serverPortField.setText(SIPAccountRegistration.DEFAULT_TLS_PORT); + // proxyPortField.setText(SIPAccountRegistration.DEFAULT_TLS_PORT); + // } + // else + // { + // serverPortField.setText(SIPAccountRegistration.DEFAULT_PORT); + // proxyPortField.setText(SIPAccountRegistration.DEFAULT_PORT); + // } } /** * Creates the keep alive panel. + * * @return the created keep alive panel */ private Component createKeepAlivePanel() @@ -335,39 +353,40 @@ public class ConnectionPanel JPanel emptyLabelPanel = new TransparentPanel(); emptyLabelPanel.setMaximumSize(new Dimension(40, 35)); - JPanel keepAlivePanel - = new TransparentPanel(new BorderLayout(10, 10)); + JPanel keepAlivePanel = new TransparentPanel(new BorderLayout(10, 10)); - JPanel keepAliveLabels - = new TransparentPanel(new GridLayout(0, 1, 5, 5)); + JPanel keepAliveLabels = + new TransparentPanel(new GridLayout(0, 1, 5, 5)); - JPanel keepAliveValues - = new TransparentPanel(new GridLayout(0, 1, 5, 5)); + JPanel keepAliveValues = + new TransparentPanel(new GridLayout(0, 1, 5, 5)); - JLabel keepAliveMethodLabel = new JLabel( - Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE_METHOD")); + JLabel keepAliveMethodLabel = + new JLabel( + Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE_METHOD")); - JLabel keepAliveIntervalLabel = new JLabel( - Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE_INTERVAL")); + JLabel keepAliveIntervalLabel = + new JLabel( + Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE_INTERVAL")); - JLabel keepAliveIntervalExampleLabel = new JLabel( - Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE_INTERVAL_INFO")); + JLabel keepAliveIntervalExampleLabel = + new JLabel( + Resources + .getString("plugin.sipaccregwizz.KEEP_ALIVE_INTERVAL_INFO")); keepAliveLabels.add(keepAliveMethodLabel); keepAliveLabels.add(keepAliveIntervalLabel); keepAliveLabels.add(emptyLabelPanel); keepAliveIntervalExampleLabel.setForeground(Color.GRAY); - keepAliveIntervalExampleLabel - .setFont(keepAliveIntervalExampleLabel.getFont().deriveFont(8)); - keepAliveIntervalExampleLabel - .setMaximumSize(new Dimension(40, 35)); - keepAliveIntervalExampleLabel - .setBorder(BorderFactory.createEmptyBorder(0, 0, 8, 0)); - - keepAliveMethodBox.setSelectedItem( - SipAccountID.getDefaultStr( - ProtocolProviderFactory.KEEP_ALIVE_METHOD)); + keepAliveIntervalExampleLabel.setFont(keepAliveIntervalExampleLabel + .getFont().deriveFont(8)); + keepAliveIntervalExampleLabel.setMaximumSize(new Dimension(40, 35)); + keepAliveIntervalExampleLabel.setBorder(BorderFactory + .createEmptyBorder(0, 0, 8, 0)); + + keepAliveMethodBox.setSelectedItem(SipAccountID + .getDefaultStr(ProtocolProviderFactory.KEEP_ALIVE_METHOD)); keepAliveValues.add(keepAliveMethodBox); keepAliveValues.add(keepAliveIntervalValue); keepAliveValues.add(keepAliveIntervalExampleLabel); @@ -375,14 +394,15 @@ public class ConnectionPanel keepAlivePanel.add(keepAliveLabels, BorderLayout.WEST); keepAlivePanel.add(keepAliveValues, BorderLayout.CENTER); - keepAlivePanel.setBorder(BorderFactory.createTitledBorder( - Resources.getString("plugin.sipaccregwizz.KEEP_ALIVE"))); + keepAlivePanel.setBorder(BorderFactory.createTitledBorder(Resources + .getString("plugin.sipaccregwizz.KEEP_ALIVE"))); return keepAlivePanel; } /** * Creates the DTMF panel. + * * @return the created DTMF panel */ private Component createDTMFPanel() @@ -391,11 +411,12 @@ public class ConnectionPanel // Labels. JPanel dtmfLabels = new TransparentPanel(new GridLayout(0, 1, 5, 5)); - JLabel dtmfMethodLabel = new JLabel( - Resources.getString("plugin.sipaccregwizz.DTMF_METHOD")); - JLabel minimalDTMFToneDurationLabel = new JLabel( - Resources.getString( - "plugin.sipaccregwizz.DTMF_MINIMAL_TONE_DURATION")); + JLabel dtmfMethodLabel = + new JLabel(Resources.getString("plugin.sipaccregwizz.DTMF_METHOD")); + JLabel minimalDTMFToneDurationLabel = + new JLabel( + Resources + .getString("plugin.sipaccregwizz.DTMF_MINIMAL_TONE_DURATION")); dtmfLabels.add(dtmfMethodLabel); dtmfLabels.add(minimalDTMFToneDurationLabel); dtmfLabels.add(emptyLabelPanel); @@ -403,46 +424,46 @@ public class ConnectionPanel // Values JPanel dtmfValues = new TransparentPanel(new GridLayout(0, 1, 5, 5)); dtmfMethodBox.addItemListener(new ItemListener() + { + public void itemStateChanged(ItemEvent e) + { + boolean isEnabled = false; + String selectedItem = (String) dtmfMethodBox.getSelectedItem(); + if (selectedItem != null + && (selectedItem.equals(Resources + .getString("plugin.sipaccregwizz.DTMF_AUTO")) || selectedItem + .equals(Resources + .getString("plugin.sipaccregwizz.DTMF_RTP")))) { - public void itemStateChanged(ItemEvent e) - { - boolean isEnabled = false; - String selectedItem - = (String) dtmfMethodBox.getSelectedItem(); - if(selectedItem != null - && (selectedItem.equals(Resources.getString( - "plugin.sipaccregwizz.DTMF_AUTO")) - || selectedItem.equals(Resources.getString( - "plugin.sipaccregwizz.DTMF_RTP"))) - ) - { - isEnabled = true; - } - dtmfMinimalToneDurationValue.setEnabled(isEnabled); - } - }); - dtmfMethodBox.setSelectedItem( - regform.getRegistration().getDTMFMethod()); - dtmfMinimalToneDurationValue - .setText(regform.getRegistration().getDtmfMinimalToneDuration()); - JLabel dtmfMinimalToneDurationExampleLabel = new JLabel( - Resources.getString( - "plugin.sipaccregwizz.DTMF_MINIMAL_TONE_DURATION_INFO")); + isEnabled = true; + } + dtmfMinimalToneDurationValue.setEnabled(isEnabled); + } + }); + dtmfMethodBox + .setSelectedItem(regform.getRegistration().getDTMFMethod()); + dtmfMinimalToneDurationValue.setText(regform.getRegistration() + .getDtmfMinimalToneDuration()); + JLabel dtmfMinimalToneDurationExampleLabel = + new JLabel( + Resources + .getString("plugin.sipaccregwizz.DTMF_MINIMAL_TONE_DURATION_INFO")); dtmfMinimalToneDurationExampleLabel.setForeground(Color.GRAY); - dtmfMinimalToneDurationExampleLabel.setFont( - dtmfMinimalToneDurationExampleLabel.getFont().deriveFont(8)); - dtmfMinimalToneDurationExampleLabel.setMaximumSize( - new Dimension(40, 35)); - dtmfMinimalToneDurationExampleLabel.setBorder( - BorderFactory.createEmptyBorder(0, 0, 8, 0)); + dtmfMinimalToneDurationExampleLabel + .setFont(dtmfMinimalToneDurationExampleLabel.getFont() + .deriveFont(8)); + dtmfMinimalToneDurationExampleLabel + .setMaximumSize(new Dimension(40, 35)); + dtmfMinimalToneDurationExampleLabel.setBorder(BorderFactory + .createEmptyBorder(0, 0, 8, 0)); dtmfValues.add(dtmfMethodBox); dtmfValues.add(dtmfMinimalToneDurationValue); dtmfValues.add(dtmfMinimalToneDurationExampleLabel); // DTMF panel JPanel dtmfPanel = new TransparentPanel(new BorderLayout(10, 10)); - dtmfPanel.setBorder(BorderFactory.createTitledBorder( - Resources.getString("plugin.sipaccregwizz.DTMF"))); + dtmfPanel.setBorder(BorderFactory.createTitledBorder(Resources + .getString("plugin.sipaccregwizz.DTMF"))); dtmfPanel.add(dtmfLabels, BorderLayout.WEST); dtmfPanel.add(dtmfValues, BorderLayout.CENTER); @@ -451,6 +472,7 @@ public class ConnectionPanel /** * Returns the server address. + * * @return the server address */ String getServerAddress() @@ -460,6 +482,7 @@ public class ConnectionPanel /** * Sets the server address. + * * @param serverAddress the server address */ void setServerAddress(String serverAddress) @@ -469,8 +492,9 @@ public class ConnectionPanel /** * Enables/disables the server text field. + * * @param isEnabled <tt>true</tt> to enable the server text field, - * <tt>false</tt> - otherwise + * <tt>false</tt> - otherwise */ void setServerEnabled(boolean isEnabled) { @@ -479,6 +503,7 @@ public class ConnectionPanel /** * Returns the authentication name. + * * @return the authentication name */ String getAuthenticationName() @@ -488,6 +513,7 @@ public class ConnectionPanel /** * Sets the authentication name. + * * @param authName the authentication name */ void setAuthenticationName(String authName) @@ -497,6 +523,7 @@ public class ConnectionPanel /** * Returns the server port. + * * @return the server port */ String getServerPort() @@ -506,6 +533,7 @@ public class ConnectionPanel /** * Sets the server port. + * * @param serverPort the server port */ void setServerPort(String serverPort) @@ -515,6 +543,7 @@ public class ConnectionPanel /** * Returns the proxy. + * * @return the proxy */ String getProxy() @@ -524,6 +553,7 @@ public class ConnectionPanel /** * Sets the proxy address. + * * @param proxyAddress the proxy address */ void setProxy(String proxyAddress) @@ -533,6 +563,7 @@ public class ConnectionPanel /** * Return the proxy port. + * * @return the proxy port */ String getProxyPort() @@ -542,6 +573,7 @@ public class ConnectionPanel /** * Sets the proxy port. + * * @param proxyPort the proxy port */ void setProxyPort(String proxyPort) @@ -551,15 +583,16 @@ public class ConnectionPanel /** * Returns the selected transport. + * * @return the selected transport */ String getSelectedTransport() { - //Emil: it appears that sometimes the selected item may be null even - //though the combo box does not allow a null selection. + // Emil: it appears that sometimes the selected item may be null even + // though the combo box does not allow a null selection. Object selectedItem = transportCombo.getSelectedItem(); - if(selectedItem == null) + if (selectedItem == null) selectedItem = transportCombo.getItemAt(0); return selectedItem.toString(); @@ -567,6 +600,7 @@ public class ConnectionPanel /** * Sets the selected transport. + * * @param preferredTransport the transport to select */ void setSelectedTransport(String preferredTransport) @@ -585,8 +619,8 @@ public class ConnectionPanel { Object selectedItem = certificate.getSelectedItem(); - if((selectedItem != null) - && (selectedItem instanceof CertificateConfigEntry)) + if ((selectedItem != null) + && (selectedItem instanceof CertificateConfigEntry)) { return ((CertificateConfigEntry) selectedItem).getId(); } @@ -595,6 +629,7 @@ public class ConnectionPanel /** * Sets the selected client TLS certificate entry. + * * @param id The ID of the entry to select. */ void setCertificateId(String id) @@ -604,13 +639,14 @@ public class ConnectionPanel /** * Returns the keep alive method. + * * @return the keep alive method */ String getKeepAliveMethod() { Object selItem = keepAliveMethodBox.getSelectedItem(); - if(selItem != null) + if (selItem != null) return selItem.toString(); else return null; @@ -618,6 +654,7 @@ public class ConnectionPanel /** * Sets the keep alive method. + * * @param keepAliveMethod the keep alive method */ void setKeepAliveMethod(String keepAliveMethod) @@ -627,6 +664,7 @@ public class ConnectionPanel /** * Returns the keep alive interval + * * @return the keep alive interval */ String getKeepAliveInterval() @@ -636,6 +674,7 @@ public class ConnectionPanel /** * Returns the DTMF method. + * * @return the DTMF method */ String getDTMFMethod() @@ -643,25 +682,24 @@ public class ConnectionPanel Object selItem = dtmfMethodBox.getSelectedItem(); // By default sets DTMF mezthod to auto. - if(selItem == null) + if (selItem == null) { return null; } String selString = selItem.toString(); - if(selString.equals( - Resources.getString("plugin.sipaccregwizz.DTMF_RTP"))) + if (selString.equals(Resources + .getString("plugin.sipaccregwizz.DTMF_RTP"))) { return "RTP_DTMF"; } - else if(selString.equals( - Resources.getString( - "plugin.sipaccregwizz.DTMF_SIP_INFO"))) + else if (selString.equals(Resources + .getString("plugin.sipaccregwizz.DTMF_SIP_INFO"))) { return "SIP_INFO_DTMF"; } - else if(selString.equals( - Resources.getString("plugin.sipaccregwizz.DTMF_INBAND"))) + else if (selString.equals(Resources + .getString("plugin.sipaccregwizz.DTMF_INBAND"))) { return "INBAND_DTMF"; } @@ -673,28 +711,29 @@ public class ConnectionPanel /** * Sets the DTMF method. + * * @param dtmfMethod the DTMF method */ void setDTMFMethod(String dtmfMethod) { - if(dtmfMethod == null) + if (dtmfMethod == null) { dtmfMethodBox.setSelectedItem(0); } else { String selString; - if(dtmfMethod.equals("RTP_DTMF")) + if (dtmfMethod.equals("RTP_DTMF")) { selString = Resources.getString("plugin.sipaccregwizz.DTMF_RTP"); } - else if(dtmfMethod.equals("SIP_INFO_DTMF")) + else if (dtmfMethod.equals("SIP_INFO_DTMF")) { selString = Resources.getString("plugin.sipaccregwizz.DTMF_SIP_INFO"); } - else if(dtmfMethod.equals("INBAND_DTMF")) + else if (dtmfMethod.equals("INBAND_DTMF")) { selString = Resources.getString("plugin.sipaccregwizz.DTMF_INBAND"); @@ -720,6 +759,7 @@ public class ConnectionPanel /** * Sets the keep alive interval + * * @param keepAliveInterval the keep alive interval */ void setKeepAliveInterval(String keepAliveInterval) @@ -729,6 +769,7 @@ public class ConnectionPanel /** * Returns the voicemail URI. + * * @return the voicemail URI. */ String getVoicemailURI() @@ -738,6 +779,7 @@ public class ConnectionPanel /** * Sets the voicemail URI. + * * @param voicemailURI the voicemail URI. */ void setVoicemailURI(String voicemailURI) @@ -747,6 +789,7 @@ public class ConnectionPanel /** * Returns the voicemail check URI. + * * @return the voicemail URI. */ String getVoicemailCheckURI() @@ -756,6 +799,7 @@ public class ConnectionPanel /** * Sets the voicemail check URI. + * * @param voicemailCheckURI the voicemail URI. */ void setVoicemailCheckURI(String voicemailCheckURI) @@ -765,6 +809,7 @@ public class ConnectionPanel /** * Returns is message waiting indications is enabled. + * * @return is message waiting indications is enabled. */ boolean isMessageWaitingEnabled() @@ -774,6 +819,7 @@ public class ConnectionPanel /** * Sets is message waiting indications is enabled. + * * @param enabled is message waiting indications is enabled. */ void setMessageWaitingIndications(boolean enabled) @@ -793,8 +839,9 @@ public class ConnectionPanel /** * Sets the <tt>serverOverridden</tt> property. + * * @param isServerOverridden <tt>true</tt> to indicate that the server is - * overridden, <tt>false</tt> - otherwise + * overridden, <tt>false</tt> - otherwise */ void setServerOverridden(boolean isServerOverridden) { @@ -803,8 +850,9 @@ public class ConnectionPanel /** * Indicates if the proxy auto-configure is enabled. + * * @return <tt>true</tt> if the proxy auto-configuration is enabled, - * <tt>false</tt> - otherwise + * <tt>false</tt> - otherwise */ boolean isProxyAutoConfigureEnabled() { @@ -813,8 +861,9 @@ public class ConnectionPanel /** * Enables/disables the proxy auto-configuration. + * * @param isEnable <tt>true</tt> to enable proxy auto-configuration, - * <tt>false</tt> - otherwise + * <tt>false</tt> - otherwise */ void enablesProxyAutoConfigure(boolean isEnable) { @@ -826,10 +875,35 @@ public class ConnectionPanel } /** - * Handles the <tt>DocumentEvent</tt> triggered when user types in the - * proxy or port field. Enables or disables the "Next" wizard button - * according to whether the fields are empty. - * @param e the <tt>DocumentEvent</tt> that notified us */ + * Indicates if the proxy force bypass-configure is enabled. + * + * @return <tt>true</tt> if the proxy force bypass-configuration is enabled, + * <tt>false</tt> - otherwise + */ + boolean isProxyForceBypassConfigureEnabled() + { + return proxyAutoCheckBox.isSelected(); + } + + /** + * Enables/disables the proxy force bypass-configuration. + * + * @param isEnable <tt>true</tt> to enable force proxy bypass-configuration, + * <tt>false</tt> - otherwise + */ + void enablesProxyForceBypassConfigure(boolean isEnable) + { + proxyForceBypassCheckBox.setSelected(isEnable); + regform.reValidateInput(); + } + + /** + * Handles the <tt>DocumentEvent</tt> triggered when user types in the proxy + * or port field. Enables or disables the "Next" wizard button according to + * whether the fields are empty. + * + * @param e the <tt>DocumentEvent</tt> that notified us + */ public void insertUpdate(DocumentEvent e) { regform.reValidateInput(); @@ -839,6 +913,7 @@ public class ConnectionPanel * Handles the <tt>DocumentEvent</tt> triggered when user deletes letters * from the proxy and port fields. Enables or disables the "Next" wizard * button according to whether the fields are empty. + * * @param e the <tt>DocumentEvent</tt> that notified us */ public void removeUpdate(DocumentEvent e) @@ -851,26 +926,26 @@ public class ConnectionPanel * * @param e the document event */ - public void changedUpdate(DocumentEvent e){} + public void changedUpdate(DocumentEvent e) + { + } /** - * Whether current inserted values into the panel are valid and enough - * to continue with account creation/modification. - * Checks whether proxy field values are ok to continue with - * account creating. + * Whether current inserted values into the panel are valid and enough to + * continue with account creation/modification. Checks whether proxy field + * values are ok to continue with account creating. * * @return whether the input values are ok to continue with account - * creation/modification. + * creation/modification. */ public boolean isValidated() { - if(!proxyAutoCheckBox.isSelected()) + if (!proxyAutoCheckBox.isSelected()) { - return - proxyField.getText() != null - && proxyField.getText().length() > 0 + return proxyField.getText() != null + && proxyField.getText().length() > 0 && proxyPortField.getText() != null - && proxyPortField.getText().length() > 0; + && proxyPortField.getText().length() > 0; } return true; diff --git a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java index 8a2672e..722b3a1 100644 --- a/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java +++ b/src/net/java/sip/communicator/plugin/sipaccregwizz/SIPAccountRegistrationForm.java @@ -297,6 +297,9 @@ public class SIPAccountRegistrationForm registration.setProxyAutoConfigure( connectionPanel.isProxyAutoConfigureEnabled()); + registration.setProxyForceBypassConfigure( + connectionPanel.isProxyForceBypassConfigureEnabled()); + registration.setEnablePresence( presencePanel.isPresenceEnabled()); registration.setForceP2PMode( @@ -382,6 +385,8 @@ public class SIPAccountRegistrationForm String clientTlsCertificateId = sipAccReg.getTlsClientCertificate(); boolean proxyAutoConfigureEnabled = sipAccReg.isProxyAutoConfigure(); + + boolean proxyForceBypassConfigureEnabled = sipAccReg.isProxyForceBypassConfigure(); String pollingPeriod = sipAccReg.getPollingPeriod(); diff --git a/src/net/java/sip/communicator/service/protocol/sip/SipAccountID.java b/src/net/java/sip/communicator/service/protocol/sip/SipAccountID.java index 6166427..a8fd65b 100644 --- a/src/net/java/sip/communicator/service/protocol/sip/SipAccountID.java +++ b/src/net/java/sip/communicator/service/protocol/sip/SipAccountID.java @@ -185,6 +185,27 @@ public class SipAccountID putAccountProperty(ProtocolProviderFactory.PROXY_AUTO_CONFIG, proxyAutoConfigure); } + + /** + * Is proxy force bypass configured. + * @return <tt>true</tt> if proxy is force bypass configured. + */ + public boolean isProxyForceBypassConfigure() + { + return getAccountPropertyBoolean( + ProtocolProviderFactory.FORCE_PROXY_BYPASS, false); + } + + /** + * Sets force bypass configuration of proxy enabled or disabled. + * @param proxyForceBypassConfigure <tt>true</tt> if the proxy will bypassed + * needed for HA scenarios with load balancing. + */ + public void setProxyForceBypassConfigure(boolean proxyForceBypassConfigure) + { + putAccountProperty(ProtocolProviderFactory.FORCE_PROXY_BYPASS, + proxyForceBypassConfigure); + } /** * Sets the proxy port. |