jap
Class JAPConfAnon

java.lang.Object
  extended by jap.AbstractJAPConfModule
      extended by jap.JAPConfAnon
All Implemented Interfaces:
JAPHelpContext.IHelpContext, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.util.EventListener, java.util.Observer, javax.swing.event.ListSelectionListener

 class JAPConfAnon
extends AbstractJAPConfModule
implements java.awt.event.MouseListener, java.awt.event.ActionListener, javax.swing.event.ListSelectionListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.util.Observer


Nested Class Summary
private  class JAPConfAnon.FilterPanel
           
private static class JAPConfAnon.InfoServiceTempLayer
          Temporary image of relevant infoservice entries.
private  class JAPConfAnon.LocalAnonServiceEventListener
           
private  class JAPConfAnon.ManualPanel
           
(package private)  class JAPConfAnon.MixCascadeCellRenderer
           
private  class JAPConfAnon.MixCascadeTableModel
           
private  class JAPConfAnon.OperatorsTableModel
           
private  class JAPConfAnon.ServerInfoPanel
           
private  class JAPConfAnon.ServerPanel
           
(package private)  class JAPConfAnon.TempCascade
          Cascade database entry for the temporary infoservice.
 
Nested classes/interfaces inherited from class jap.AbstractJAPConfModule
AbstractJAPConfModule.FontSizeObserver
 
Field Summary
private static int FILTER_LATENCY_MAJOR_TICK
           
private static int FILTER_LATENCY_MAX
           
private static int FILTER_LATENCY_STEPS
           
private static int FILTER_SPEED_MAJOR_TICK
           
private static int FILTER_SPEED_MAX
           
private static int FILTER_SPEED_STEPS
           
private  javax.swing.JLabel m_anonLevelLabel
           
private  boolean m_blacklist
           
private  boolean m_bMixInfoShown
           
private  javax.swing.JButton m_btnDataRetention
           
private  javax.swing.JButton m_btnEmail
           
private  javax.swing.JButton m_btnHomepage
           
private  javax.swing.JButton m_btnMap
           
private  javax.swing.JButton m_btnViewCert
           
private  boolean m_bUpdateServerPanel
           
private  javax.swing.JButton m_cancelCascadeButton
           
private  MixCascade m_cascadeInfo
           
private  javax.swing.JPanel m_cascadesPanel
           
private  javax.swing.JCheckBox m_cbxDataRetention
           
private  javax.swing.JCheckBox m_cbxFreeOfCharge
           
private  javax.swing.JCheckBox m_cbxSocks5
           
(package private)  javax.swing.JComboBox m_cmbCascadeFilter
           
private  javax.swing.JButton m_deleteCascadeButton
           
private  javax.swing.JButton m_editCascadeButton
           
private  javax.swing.JRadioButton m_filterAllCountries
           
private  javax.swing.JRadioButton m_filterAllMixes
           
private  javax.swing.JRadioButton m_filterAtLeast2Countries
           
private  javax.swing.JRadioButton m_filterAtLeast2Mixes
           
private  javax.swing.JRadioButton m_filterAtLeast3Countries
           
private  javax.swing.JRadioButton m_filterAtLeast3Mixes
           
private  javax.swing.ButtonGroup m_filterCascadeGroup
           
private  javax.swing.ButtonGroup m_filterInternationalGroup
           
private  javax.swing.JSlider m_filterLatencySlider
           
private  javax.swing.JTextField m_filterNameField
           
private  JAPConfAnon.FilterPanel m_filterPanel
           
private  javax.swing.JSlider m_filterSpeedSlider
           
private  javax.swing.JLabel m_lblAvailability
           
private  javax.swing.JLabel m_lblDelay
           
private  javax.swing.JLabel m_lblMix
           
private  javax.swing.JLabel m_lblMixOfService
           
private  javax.swing.JLabel m_lblSocks
           
private  javax.swing.JLabel m_lblSpeed
           
private  javax.swing.JLabel m_lblVDS
           
private  javax.swing.JList m_listMixCascade
           
private  javax.swing.JTable m_listOperators
           
private  java.util.Vector m_locationCoordinates
           
private  javax.swing.JLabel m_locationLabel
           
private  javax.swing.JTextField m_manHostField
           
private  javax.swing.JTextField m_manPortField
           
private  javax.swing.JButton m_manualCascadeButton
           
private  JAPConfAnon.ManualPanel m_manualPanel
           
private  boolean m_mapShown
           
private  javax.swing.JButton m_moveMixLeft
           
private  javax.swing.JButton m_moveMixRight
           
private  javax.swing.JLabel m_nrLabel
           
private  javax.swing.JPanel m_nrPanel
           
private  javax.swing.JLabel m_numOfUsersLabel
           
private  java.lang.String m_oldCascadeHost
           
private  java.lang.String m_oldCascadePort
           
private  javax.swing.JLabel m_operatorLabel
           
private  javax.swing.JPopupMenu m_opPopupMenu
           
private  javax.swing.JPanel m_pnlMixInfoButtons
           
private  TrustModel m_previousTrustModel
           
private  javax.swing.JButton m_reloadCascadesButton
           
private  java.awt.GridBagConstraints m_rootPanelConstraints
           
private  java.awt.GridBagLayout m_rootPanelLayout
           
private  javax.swing.JButton m_selectCascadeButton
           
private  MultiCertPath m_serverCertPaths
          the Certificate of the selected Mix-Server
private  MixInfo m_serverInfo
           
private  javax.swing.JPanel m_serverInfoPanel
           
private  ServerListPanel m_serverList
           
private  JAPConfAnon.ServerPanel m_serverPanel
           
private  javax.swing.JButton m_showEditFilterButton
           
private  javax.swing.JButton m_showEditPanelButton
           
private  javax.swing.JTable m_tableMixCascade
           
private  TrustModel m_trustModelCopy
          A copy of the trust model we're currently editing
private  boolean m_unknownPI
           
private  boolean mb_backSpacePressed
           
private  boolean mb_manualCascadeNew
           
private static java.lang.String MSG_ANON_LEVEL
           
private static java.lang.String MSG_BAD_AVAILABILITY
           
private static java.lang.String MSG_BUTTONEDITSHOW
           
private static java.lang.String MSG_CONNECTED
           
private static java.lang.String MSG_EDIT_FILTER
           
private static java.lang.String MSG_EXPLAIN_BLACKLISTED
           
private static java.lang.String MSG_EXPLAIN_CURRENT_CASCADE_NOT_TRUSTED
           
private static java.lang.String MSG_EXPLAIN_MIX_TT
           
private static java.lang.String MSG_EXPLAIN_NO_CASCADES
           
private static java.lang.String MSG_EXPLAIN_NOT_TRUSTWORTHY
           
private static java.lang.String MSG_EXPLAIN_PI_UNAVAILABLE
           
private static java.lang.String MSG_FILTER
           
private static java.lang.String MSG_FILTER_ALL
           
private static java.lang.String MSG_FILTER_AT_LEAST
           
private static java.lang.String MSG_FILTER_AT_LEAST_2_COUNTRIES
           
private static java.lang.String MSG_FILTER_AT_LEAST_2_MIXES
           
private static java.lang.String MSG_FILTER_AT_LEAST_3_COUNTRIES
           
private static java.lang.String MSG_FILTER_AT_LEAST_3_MIXES
           
private static java.lang.String MSG_FILTER_AT_MOST
           
private static java.lang.String MSG_FILTER_BUSINESS_ONLY
           
private static java.lang.String MSG_FILTER_CANCEL
           
private static java.lang.String MSG_FILTER_CASCADES
           
private static java.lang.String MSG_FILTER_INTERNATIONALITY
           
private static java.lang.String MSG_FILTER_LATENCY
           
private static java.lang.String MSG_FILTER_NO_DATA_RETENTION
           
private static java.lang.String MSG_FILTER_NO_PAYMENT_ONLY
           
private static java.lang.String MSG_FILTER_OPERATORS
           
private static java.lang.String MSG_FILTER_OTHER
           
private static java.lang.String MSG_FILTER_PAYMENT
           
private static java.lang.String MSG_FILTER_PAYMENT_ONLY
           
private static java.lang.String MSG_FILTER_PREMIUM_PRIVATE_ONLY
           
private static java.lang.String MSG_FILTER_SELECT_ALL_OPERATORS
           
private static java.lang.String MSG_FILTER_SOCKS_ONLY
           
private static java.lang.String MSG_FILTER_SPEED
           
private static java.lang.String MSG_FIRST_MIX_TEXT
           
private static java.lang.String MSG_GOOD_AVAILABILITY
           
private static java.lang.String MSG_HARDLY_REACHABLE
           
private static java.lang.String MSG_LAST_MIX_TEXT
           
private static java.lang.String MSG_LBL_AVAILABILITY
           
private static java.lang.String MSG_MIDDLE_MIX_TEXT
           
private static java.lang.String MSG_MIX_FIRST
           
private static java.lang.String MSG_MIX_ID
           
private static java.lang.String MSG_MIX_LAST
           
private static java.lang.String MSG_MIX_MIDDLE
           
private static java.lang.String MSG_MIX_POSITION
           
private static java.lang.String MSG_MIX_SINGLE
           
private static java.lang.String MSG_MIX_VERSION
           
private static java.lang.String MSG_NOT_TRUSTWORTHY
           
private static java.lang.String MSG_OF_THE_SERVICE
           
private static java.lang.String MSG_PAYCASCADE
           
private static java.lang.String MSG_REALLY_DELETE
           
private static java.lang.String MSG_SHOW_ON_MAP
           
private static java.lang.String MSG_SINGLE_MIX_TEXT
           
private static java.lang.String MSG_SUPPORTS_SOCKS
           
private static java.lang.String MSG_UNREACHABLE
           
private static java.lang.String MSG_UNSTABLE
           
private static java.lang.String MSG_USER_LIMIT
           
private static java.lang.String MSG_WHAT_IS_THIS
           
private static java.lang.String MSG_X_OF_Y_CERTS_TRUSTED
           
private  javax.swing.JPanel pRoot
           
 
Fields inherited from class jap.AbstractJAPConfModule
LOCK_OBSERVABLE, m_savePoint
 
Constructor Summary
protected JAPConfAnon(IJAPConfSavePoint savePoint)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Deactivates GUI when no cascades are returned by the Infoservice
private  void applyFilter()
          Applies the filter
private  int convertDelayValue(int a_delay, boolean a_bFromUtilToReal)
           
private  void deleteManualCascade()
          Deletes a manually configured cascade
private  void drawCascadesPanel()
           
private  void drawCompleteDialog()
           
private  void drawFilterPanel()
           
private  void drawManualPanel(java.lang.String a_hostName, java.lang.String a_port)
           
private  void drawServerInfoPanel()
           
private  void drawServerPanel(int a_numberOfMixes, java.lang.String a_strCascadeName, boolean a_enabled, int a_selectedIndex)
           
private  void editManualCascade()
          Edits a manually configured cascade
private  void enterManualCascade()
          Adds a manually entered cascade to the cascade database
private  void fetchCascades(boolean bErr, boolean a_bCheckInfoServiceUpdateStatus)
           
private static java.lang.String getEMailFromLabel(javax.swing.JButton a_emailLabel)
           
 java.lang.String getHelpContext()
           
 java.lang.String getTabTitle()
          getTabTitle
private static java.lang.String getUrlFromLabel(javax.swing.JButton a_urlLabel)
           
private  void hideEditFilter()
           
protected  boolean initObservers()
          All observables that are observed by this object MUST be registered here.
private  boolean isServerCertVerified()
           
 void itemStateChanged(java.awt.event.ItemEvent e)
           
 void keyPressed(java.awt.event.KeyEvent e)
          keyPressed
 void keyReleased(java.awt.event.KeyEvent e)
          keyReleased
 void keyTyped(java.awt.event.KeyEvent e)
          keyTyped
private  void maybeShowPopup(java.awt.event.MouseEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void onCancelPressed()
          This method can be overwritten by the children of AbstractJAPConfModule.
 boolean onOkPressed()
          This method can be overwritten by the children of AbstractJAPConfModule.
 void onResetToDefaultsPressed()
          This method can be overwritten by the children of AbstractJAPConfModule.
protected  void onRootPanelShown()
          This method can be overwritten by the children of AbstractJAPConfModule.
protected  void onUpdateValues()
          This method can be overwritten by the children of AbstractJAPConfModule.
 void recreateRootPanel()
          This method must be implemented by the children of AbstractJAPConfModule.
private  void setAvailabilityLabel(MixCascade cascade, PerformanceEntry a_entry)
           
 void setSelectedCascade(MixCascade a_cascade)
           
 void showFilter()
           
 void update(java.util.Observable a_notifier, java.lang.Object a_message)
          This is the observer implementation.
 void valueChanged(javax.swing.event.ListSelectionEvent e)
          Handles the selection of a cascade
 
Methods inherited from class jap.AbstractJAPConfModule
cancelPressed, createSavePoint, createTabbedRootPanelContraints, fontSizeChanged, getHelpExtractionDisplayContext, getRootPanel, okPressed, resetToDefaultsPressed, updateValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MSG_X_OF_Y_CERTS_TRUSTED

private static final java.lang.String MSG_X_OF_Y_CERTS_TRUSTED

MSG_REALLY_DELETE

private static final java.lang.String MSG_REALLY_DELETE

MSG_MIX_VERSION

private static final java.lang.String MSG_MIX_VERSION

MSG_MIX_ID

private static final java.lang.String MSG_MIX_ID

MSG_BUTTONEDITSHOW

private static final java.lang.String MSG_BUTTONEDITSHOW

MSG_PAYCASCADE

private static final java.lang.String MSG_PAYCASCADE

MSG_MIX_POSITION

private static final java.lang.String MSG_MIX_POSITION

MSG_OF_THE_SERVICE

private static final java.lang.String MSG_OF_THE_SERVICE

MSG_MIX_FIRST

private static final java.lang.String MSG_MIX_FIRST

MSG_MIX_SINGLE

private static final java.lang.String MSG_MIX_SINGLE

MSG_MIX_MIDDLE

private static final java.lang.String MSG_MIX_MIDDLE

MSG_MIX_LAST

private static final java.lang.String MSG_MIX_LAST

MSG_SHOW_ON_MAP

private static final java.lang.String MSG_SHOW_ON_MAP

MSG_EXPLAIN_MIX_TT

private static final java.lang.String MSG_EXPLAIN_MIX_TT

MSG_FIRST_MIX_TEXT

private static final java.lang.String MSG_FIRST_MIX_TEXT

MSG_SINGLE_MIX_TEXT

private static final java.lang.String MSG_SINGLE_MIX_TEXT

MSG_MIDDLE_MIX_TEXT

private static final java.lang.String MSG_MIDDLE_MIX_TEXT

MSG_LAST_MIX_TEXT

private static final java.lang.String MSG_LAST_MIX_TEXT

MSG_NOT_TRUSTWORTHY

private static final java.lang.String MSG_NOT_TRUSTWORTHY

MSG_EXPLAIN_NOT_TRUSTWORTHY

private static final java.lang.String MSG_EXPLAIN_NOT_TRUSTWORTHY

MSG_EXPLAIN_BLACKLISTED

private static final java.lang.String MSG_EXPLAIN_BLACKLISTED

MSG_EXPLAIN_PI_UNAVAILABLE

private static final java.lang.String MSG_EXPLAIN_PI_UNAVAILABLE

MSG_EXPLAIN_NO_CASCADES

private static final java.lang.String MSG_EXPLAIN_NO_CASCADES

MSG_EXPLAIN_CURRENT_CASCADE_NOT_TRUSTED

private static final java.lang.String MSG_EXPLAIN_CURRENT_CASCADE_NOT_TRUSTED

MSG_WHAT_IS_THIS

private static final java.lang.String MSG_WHAT_IS_THIS

MSG_FILTER

private static final java.lang.String MSG_FILTER

MSG_FILTER_CANCEL

private static final java.lang.String MSG_FILTER_CANCEL
See Also:
Constant Field Values

MSG_EDIT_FILTER

private static final java.lang.String MSG_EDIT_FILTER

MSG_ANON_LEVEL

private static final java.lang.String MSG_ANON_LEVEL

MSG_SUPPORTS_SOCKS

private static final java.lang.String MSG_SUPPORTS_SOCKS

MSG_FILTER_PAYMENT

private static final java.lang.String MSG_FILTER_PAYMENT

MSG_FILTER_CASCADES

private static final java.lang.String MSG_FILTER_CASCADES

MSG_FILTER_INTERNATIONALITY

private static final java.lang.String MSG_FILTER_INTERNATIONALITY

MSG_FILTER_OPERATORS

private static final java.lang.String MSG_FILTER_OPERATORS

MSG_FILTER_SPEED

private static final java.lang.String MSG_FILTER_SPEED

MSG_FILTER_LATENCY

private static final java.lang.String MSG_FILTER_LATENCY

MSG_FILTER_ALL

private static final java.lang.String MSG_FILTER_ALL

MSG_FILTER_PAYMENT_ONLY

private static final java.lang.String MSG_FILTER_PAYMENT_ONLY

MSG_FILTER_PREMIUM_PRIVATE_ONLY

private static final java.lang.String MSG_FILTER_PREMIUM_PRIVATE_ONLY

MSG_FILTER_BUSINESS_ONLY

private static final java.lang.String MSG_FILTER_BUSINESS_ONLY

MSG_FILTER_NO_PAYMENT_ONLY

private static final java.lang.String MSG_FILTER_NO_PAYMENT_ONLY

MSG_FILTER_AT_LEAST_3_MIXES

private static final java.lang.String MSG_FILTER_AT_LEAST_3_MIXES

MSG_FILTER_AT_LEAST_2_MIXES

private static final java.lang.String MSG_FILTER_AT_LEAST_2_MIXES

MSG_FILTER_AT_LEAST_2_COUNTRIES

private static final java.lang.String MSG_FILTER_AT_LEAST_2_COUNTRIES

MSG_FILTER_AT_LEAST_3_COUNTRIES

private static final java.lang.String MSG_FILTER_AT_LEAST_3_COUNTRIES

MSG_FILTER_AT_LEAST

private static final java.lang.String MSG_FILTER_AT_LEAST

MSG_FILTER_AT_MOST

private static final java.lang.String MSG_FILTER_AT_MOST

MSG_FILTER_SELECT_ALL_OPERATORS

private static final java.lang.String MSG_FILTER_SELECT_ALL_OPERATORS

MSG_FILTER_OTHER

private static final java.lang.String MSG_FILTER_OTHER

MSG_FILTER_SOCKS_ONLY

private static final java.lang.String MSG_FILTER_SOCKS_ONLY

MSG_FILTER_NO_DATA_RETENTION

private static final java.lang.String MSG_FILTER_NO_DATA_RETENTION

MSG_CONNECTED

private static final java.lang.String MSG_CONNECTED

MSG_LBL_AVAILABILITY

private static final java.lang.String MSG_LBL_AVAILABILITY

MSG_USER_LIMIT

private static final java.lang.String MSG_USER_LIMIT

MSG_UNSTABLE

private static final java.lang.String MSG_UNSTABLE

MSG_HARDLY_REACHABLE

private static final java.lang.String MSG_HARDLY_REACHABLE

MSG_UNREACHABLE

private static final java.lang.String MSG_UNREACHABLE

MSG_BAD_AVAILABILITY

private static final java.lang.String MSG_BAD_AVAILABILITY

MSG_GOOD_AVAILABILITY

private static final java.lang.String MSG_GOOD_AVAILABILITY

FILTER_SPEED_MAJOR_TICK

private static final int FILTER_SPEED_MAJOR_TICK
See Also:
Constant Field Values

FILTER_SPEED_MAX

private static final int FILTER_SPEED_MAX
See Also:
Constant Field Values

FILTER_SPEED_STEPS

private static final int FILTER_SPEED_STEPS
See Also:
Constant Field Values

FILTER_LATENCY_STEPS

private static final int FILTER_LATENCY_STEPS
See Also:
Constant Field Values

FILTER_LATENCY_MAJOR_TICK

private static final int FILTER_LATENCY_MAJOR_TICK
See Also:
Constant Field Values

FILTER_LATENCY_MAX

private static final int FILTER_LATENCY_MAX
See Also:
Constant Field Values

m_bUpdateServerPanel

private boolean m_bUpdateServerPanel

m_cmbCascadeFilter

javax.swing.JComboBox m_cmbCascadeFilter

m_listMixCascade

private javax.swing.JList m_listMixCascade

m_tableMixCascade

private javax.swing.JTable m_tableMixCascade

m_listOperators

private javax.swing.JTable m_listOperators

m_serverList

private ServerListPanel m_serverList

pRoot

private javax.swing.JPanel pRoot

m_cascadesPanel

private javax.swing.JPanel m_cascadesPanel

m_serverPanel

private JAPConfAnon.ServerPanel m_serverPanel

m_serverInfoPanel

private javax.swing.JPanel m_serverInfoPanel

m_manualPanel

private JAPConfAnon.ManualPanel m_manualPanel

m_filterPanel

private JAPConfAnon.FilterPanel m_filterPanel

m_lblSpeed

private javax.swing.JLabel m_lblSpeed

m_lblDelay

private javax.swing.JLabel m_lblDelay

m_anonLevelLabel

private javax.swing.JLabel m_anonLevelLabel

m_numOfUsersLabel

private javax.swing.JLabel m_numOfUsersLabel

m_lblVDS

private javax.swing.JLabel m_lblVDS

m_lblSocks

private javax.swing.JLabel m_lblSocks

m_rootPanelLayout

private java.awt.GridBagLayout m_rootPanelLayout

m_rootPanelConstraints

private java.awt.GridBagConstraints m_rootPanelConstraints

m_lblMix

private javax.swing.JLabel m_lblMix

m_lblMixOfService

private javax.swing.JLabel m_lblMixOfService

m_nrPanel

private javax.swing.JPanel m_nrPanel

m_nrLabel

private javax.swing.JLabel m_nrLabel

m_pnlMixInfoButtons

private javax.swing.JPanel m_pnlMixInfoButtons

m_operatorLabel

private javax.swing.JLabel m_operatorLabel

m_btnEmail

private javax.swing.JButton m_btnEmail

m_btnHomepage

private javax.swing.JButton m_btnHomepage

m_btnMap

private javax.swing.JButton m_btnMap

m_btnDataRetention

private javax.swing.JButton m_btnDataRetention

m_moveMixLeft

private javax.swing.JButton m_moveMixLeft

m_moveMixRight

private javax.swing.JButton m_moveMixRight

m_locationLabel

private javax.swing.JLabel m_locationLabel

m_lblAvailability

private javax.swing.JLabel m_lblAvailability

m_blacklist

private boolean m_blacklist

m_unknownPI

private boolean m_unknownPI

m_btnViewCert

private javax.swing.JButton m_btnViewCert

m_manualCascadeButton

private javax.swing.JButton m_manualCascadeButton

m_reloadCascadesButton

private javax.swing.JButton m_reloadCascadesButton

m_selectCascadeButton

private javax.swing.JButton m_selectCascadeButton

m_editCascadeButton

private javax.swing.JButton m_editCascadeButton

m_deleteCascadeButton

private javax.swing.JButton m_deleteCascadeButton

m_cancelCascadeButton

private javax.swing.JButton m_cancelCascadeButton

m_showEditPanelButton

private javax.swing.JButton m_showEditPanelButton

m_showEditFilterButton

private javax.swing.JButton m_showEditFilterButton

m_opPopupMenu

private javax.swing.JPopupMenu m_opPopupMenu

m_manHostField

private javax.swing.JTextField m_manHostField

m_manPortField

private javax.swing.JTextField m_manPortField

m_filterSpeedSlider

private javax.swing.JSlider m_filterSpeedSlider

m_filterLatencySlider

private javax.swing.JSlider m_filterLatencySlider

m_filterAllCountries

private javax.swing.JRadioButton m_filterAllCountries

m_filterAtLeast2Countries

private javax.swing.JRadioButton m_filterAtLeast2Countries

m_filterAtLeast3Countries

private javax.swing.JRadioButton m_filterAtLeast3Countries

m_filterAllMixes

private javax.swing.JRadioButton m_filterAllMixes

m_filterAtLeast2Mixes

private javax.swing.JRadioButton m_filterAtLeast2Mixes

m_filterAtLeast3Mixes

private javax.swing.JRadioButton m_filterAtLeast3Mixes

m_filterNameField

private javax.swing.JTextField m_filterNameField

m_cbxSocks5

private javax.swing.JCheckBox m_cbxSocks5

m_cbxDataRetention

private javax.swing.JCheckBox m_cbxDataRetention

m_cbxFreeOfCharge

private javax.swing.JCheckBox m_cbxFreeOfCharge

m_filterCascadeGroup

private javax.swing.ButtonGroup m_filterCascadeGroup

m_filterInternationalGroup

private javax.swing.ButtonGroup m_filterInternationalGroup

mb_backSpacePressed

private boolean mb_backSpacePressed

mb_manualCascadeNew

private boolean mb_manualCascadeNew

m_oldCascadeHost

private java.lang.String m_oldCascadeHost

m_oldCascadePort

private java.lang.String m_oldCascadePort

m_bMixInfoShown

private boolean m_bMixInfoShown

m_mapShown

private boolean m_mapShown

m_serverCertPaths

private MultiCertPath m_serverCertPaths
the Certificate of the selected Mix-Server


m_serverInfo

private MixInfo m_serverInfo

m_cascadeInfo

private MixCascade m_cascadeInfo

m_locationCoordinates

private java.util.Vector m_locationCoordinates

m_previousTrustModel

private TrustModel m_previousTrustModel

m_trustModelCopy

private TrustModel m_trustModelCopy
A copy of the trust model we're currently editing

Constructor Detail

JAPConfAnon

protected JAPConfAnon(IJAPConfSavePoint savePoint)
Method Detail

recreateRootPanel

public void recreateRootPanel()
Description copied from class: AbstractJAPConfModule
This method must be implemented by the children of AbstractJAPConfModule. It is called every time the root panel needs to be (re)created (e.g. the language has changed). This method is also called by the constructor of AbstractJAPConfModule after creating the root panel.

Specified by:
recreateRootPanel in class AbstractJAPConfModule

drawServerPanel

private void drawServerPanel(int a_numberOfMixes,
                             java.lang.String a_strCascadeName,
                             boolean a_enabled,
                             int a_selectedIndex)

drawServerInfoPanel

private void drawServerInfoPanel()

drawManualPanel

private void drawManualPanel(java.lang.String a_hostName,
                             java.lang.String a_port)

drawFilterPanel

private void drawFilterPanel()

drawCascadesPanel

private void drawCascadesPanel()

drawCompleteDialog

private void drawCompleteDialog()

setAvailabilityLabel

private void setAvailabilityLabel(MixCascade cascade,
                                  PerformanceEntry a_entry)

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

getTabTitle

public java.lang.String getTabTitle()
getTabTitle

Specified by:
getTabTitle in class AbstractJAPConfModule
Returns:
String

onResetToDefaultsPressed

public void onResetToDefaultsPressed()
Description copied from class: AbstractJAPConfModule
This method can be overwritten by the children of AbstractJAPConfModule. It is called every time the user presses "Reset to defaults" in the configuration dialog after the restoring of the default configuration from the savepoint (if there is a savepoint for this module).

Overrides:
onResetToDefaultsPressed in class AbstractJAPConfModule

onCancelPressed

protected void onCancelPressed()
Description copied from class: AbstractJAPConfModule
This method can be overwritten by the children of AbstractJAPConfModule. It is called every time the user presses "Cancel" in the configuration dialog after the restoring of the savepoint data (if there is a savepoint for this module).

Overrides:
onCancelPressed in class AbstractJAPConfModule

onOkPressed

public boolean onOkPressed()
Description copied from class: AbstractJAPConfModule
This method can be overwritten by the children of AbstractJAPConfModule. It is called every time the user presses "OK" in the configuration dialog.

Overrides:
onOkPressed in class AbstractJAPConfModule

onUpdateValues

protected void onUpdateValues()
Description copied from class: AbstractJAPConfModule
This method can be overwritten by the children of AbstractJAPConfModule. It is called every time the values of the model have changed and must be reread by the module. SHOULD NOT BE CALLED DIRECTLY in subclasses!!

Overrides:
onUpdateValues in class AbstractJAPConfModule

fetchCascades

private void fetchCascades(boolean bErr,
                           boolean a_bCheckInfoServiceUpdateStatus)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Deactivates GUI when no cascades are returned by the Infoservice

Specified by:
actionPerformed in interface java.awt.event.ActionListener

showFilter

public void showFilter()

hideEditFilter

private void hideEditFilter()

isServerCertVerified

private boolean isServerCertVerified()

editManualCascade

private void editManualCascade()
Edits a manually configured cascade


deleteManualCascade

private void deleteManualCascade()
Deletes a manually configured cascade


enterManualCascade

private void enterManualCascade()
Adds a manually entered cascade to the cascade database


applyFilter

private void applyFilter()
Applies the filter


mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

convertDelayValue

private int convertDelayValue(int a_delay,
                              boolean a_bFromUtilToReal)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

maybeShowPopup

private void maybeShowPopup(java.awt.event.MouseEvent e)

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

getHelpContext

public java.lang.String getHelpContext()
Specified by:
getHelpContext in interface JAPHelpContext.IHelpContext

initObservers

protected boolean initObservers()
Description copied from class: AbstractJAPConfModule
All observables that are observed by this object MUST be registered here. Subsequent calls of this method should not lead to additional registrations.

Overrides:
initObservers in class AbstractJAPConfModule

onRootPanelShown

protected void onRootPanelShown()
Description copied from class: AbstractJAPConfModule
This method can be overwritten by the children of AbstractJAPConfModule. It is called every time the root panel comes to the foreground (is set to visible).

Overrides:
onRootPanelShown in class AbstractJAPConfModule

setSelectedCascade

public void setSelectedCascade(MixCascade a_cascade)

valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent e)
Handles the selection of a cascade

Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener
Parameters:
e - ListSelectionEvent

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
keyTyped

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - KeyEvent

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
keyPressed

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - KeyEvent

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
keyReleased

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - KeyEvent

update

public void update(java.util.Observable a_notifier,
                   java.lang.Object a_message)
This is the observer implementation. We observe the forwarding system to enabled / disable the mixselection button. The button has to be disabled, if connect-via-forwarder is enabled because, selecting a mixcascade is not possible via the "normal" way.

Specified by:
update in interface java.util.Observer
Parameters:
a_notifier - The observed Object (JAPRoutingSettings at the moment).
a_message - The reason of the notification, should be a JAPRoutingMessage.

getEMailFromLabel

private static java.lang.String getEMailFromLabel(javax.swing.JButton a_emailLabel)

getUrlFromLabel

private static java.lang.String getUrlFromLabel(javax.swing.JButton a_urlLabel)