diff --git a/resources/languages/resources.properties b/resources/languages/resources.properties index 502468f3e..ca8c4bf16 100644 --- a/resources/languages/resources.properties +++ b/resources/languages/resources.properties @@ -1429,6 +1429,8 @@ plugin.provisioning.CLIPBOARD_FAILED=Failed to copy UUID to clipboard plugin.provisioning.EXIT_ON_FAIL=Exit the application if the provisioning fails plugin.provisioning.CREDENTIALS=Last stored provisioning credentials plugin.provisioning.REMOVE_CREDENTIALS_MESSAGE=Are you sure you want to remove provisioning password? +plugin.provisioning.PROV_FAILED=Provisioning failed +plugin.provisioning.PROV_FAILED_MSG=Provisioning failed. {0}!
Please, try again later or contact your administrator. # packet logging service plugin.loggingutils.PACKET_LOGGING_CONFIG=Logging diff --git a/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java b/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java index 45eb91cc3..5f00f2650 100644 --- a/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java +++ b/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java @@ -16,7 +16,6 @@ import javax.swing.*; import javax.swing.UIManager.LookAndFeelInfo; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.event.*; import net.java.sip.communicator.impl.gui.lookandfeel.*; import net.java.sip.communicator.impl.gui.main.*; diff --git a/src/net/java/sip/communicator/impl/gui/customcontrols/wizard/WizardController.java b/src/net/java/sip/communicator/impl/gui/customcontrols/wizard/WizardController.java index 094530d18..5cc7c330a 100644 --- a/src/net/java/sip/communicator/impl/gui/customcontrols/wizard/WizardController.java +++ b/src/net/java/sip/communicator/impl/gui/customcontrols/wizard/WizardController.java @@ -12,8 +12,8 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.service.gui.*; +import net.java.sip.communicator.util.swing.*; /** * This class is responsible for reacting to events generated by pushing any diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallTransferHandler.java b/src/net/java/sip/communicator/impl/gui/main/call/CallTransferHandler.java index beaf53667..df54503b8 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallTransferHandler.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallTransferHandler.java @@ -14,7 +14,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/call/ChooseCallAccountPopupMenu.java b/src/net/java/sip/communicator/impl/gui/main/call/ChooseCallAccountPopupMenu.java index 99c65fac9..a2ade8705 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/ChooseCallAccountPopupMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/ChooseCallAccountPopupMenu.java @@ -15,7 +15,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.chat.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; import net.java.sip.communicator.impl.gui.utils.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatTransferHandler.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatTransferHandler.java index 0aa0eff40..b49a2c415 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatTransferHandler.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatTransferHandler.java @@ -16,7 +16,6 @@ import javax.swing.text.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; import net.java.sip.communicator.impl.gui.main.contactlist.contactsource.*; import net.java.sip.communicator.service.contactlist.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomSubjectPanel.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomSubjectPanel.java index 75e46abba..ad477f217 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomSubjectPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ChatRoomSubjectPanel.java @@ -12,7 +12,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ConferenceChatManager.java b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ConferenceChatManager.java index c22bceac2..d7f557aac 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/conference/ConferenceChatManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/conference/ConferenceChatManager.java @@ -10,7 +10,6 @@ import java.util.concurrent.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.chat.*; import net.java.sip.communicator.impl.gui.main.chat.history.*; import net.java.sip.communicator.impl.gui.main.chatroomslist.*; @@ -22,7 +21,8 @@ import net.java.sip.communicator.service.protocol.globalstatus.*; import net.java.sip.communicator.util.*; -import org.jdesktop.swingworker.*; +import net.java.sip.communicator.util.swing.*; +import org.jdesktop.swingworker.SwingWorker; import org.jitsi.service.resources.*; import org.osgi.framework.*; // Java 1.6 has javax.swing.SwingWorker so we have to disambiguate. diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java index f7cefeb89..7ea60baf1 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java @@ -16,7 +16,6 @@ import javax.swing.tree.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.call.*; import net.java.sip.communicator.impl.gui.main.contactlist.contactsource.*; import net.java.sip.communicator.impl.gui.utils.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListUtils.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListUtils.java index 18a630e7c..143d922e6 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListUtils.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListUtils.java @@ -7,10 +7,10 @@ package net.java.sip.communicator.impl.gui.main.contactlist; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.service.contactlist.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; +import net.java.sip.communicator.util.swing.*; public class ContactListUtils { diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactListManager.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactListManager.java index 63fe978e9..ae174c8a7 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactListManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactListManager.java @@ -13,6 +13,7 @@ import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.contactlist.*; import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.util.swing.*; /** * The MetaContactListManager is the class through which we make diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactRightButtonMenu.java index c07af3761..7a21c08c0 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/MetaContactRightButtonMenu.java @@ -15,7 +15,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.event.*; import net.java.sip.communicator.impl.gui.main.*; import net.java.sip.communicator.impl.gui.main.authorization.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/SourceContactRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/SourceContactRightButtonMenu.java index c9b129c28..1aa3e4458 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/SourceContactRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/SourceContactRightButtonMenu.java @@ -14,7 +14,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.call.*; import net.java.sip.communicator.impl.gui.main.contactlist.contactsource.*; import net.java.sip.communicator.impl.gui.utils.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java b/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java index 2816c6d14..1c5fc0c36 100644 --- a/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/login/LoginManager.java @@ -15,6 +15,7 @@ import net.java.sip.communicator.service.protocol.globalstatus.*; import net.java.sip.communicator.util.*; +import net.java.sip.communicator.util.swing.*; import org.osgi.framework.*; /** diff --git a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java index c452785fa..5c753ddf5 100644 --- a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java @@ -12,7 +12,6 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.event.*; import net.java.sip.communicator.impl.gui.main.*; import net.java.sip.communicator.impl.gui.main.call.*; diff --git a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java b/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java index edfb48540..943bef952 100644 --- a/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java +++ b/src/net/java/sip/communicator/impl/gui/main/presence/GlobalStatusServiceImpl.java @@ -6,11 +6,11 @@ package net.java.sip.communicator.impl.gui.main.presence; import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.impl.gui.main.login.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.service.protocol.globalstatus.*; import net.java.sip.communicator.util.*; +import net.java.sip.communicator.util.swing.*; import org.jitsi.service.configuration.*; import java.util.*; diff --git a/src/net/java/sip/communicator/plugin/dnsconfig/DnssecPanel.java b/src/net/java/sip/communicator/plugin/dnsconfig/DnssecPanel.java index 4d7134ae9..b4f741aa3 100644 --- a/src/net/java/sip/communicator/plugin/dnsconfig/DnssecPanel.java +++ b/src/net/java/sip/communicator/plugin/dnsconfig/DnssecPanel.java @@ -14,7 +14,6 @@ import javax.swing.plaf.basic.*; import javax.swing.table.*; -import net.java.sip.communicator.impl.gui.customcontrols.*; import net.java.sip.communicator.util.*; import net.java.sip.communicator.util.dns.*; import net.java.sip.communicator.util.swing.*; diff --git a/src/net/java/sip/communicator/plugin/provisioning/ProvisioningServiceImpl.java b/src/net/java/sip/communicator/plugin/provisioning/ProvisioningServiceImpl.java index dae111c06..63e584482 100644 --- a/src/net/java/sip/communicator/plugin/provisioning/ProvisioningServiceImpl.java +++ b/src/net/java/sip/communicator/plugin/provisioning/ProvisioningServiceImpl.java @@ -430,15 +430,25 @@ else if(s.indexOf(passwordParam) != -1) } } - HttpUtils.HTTPResponseResult res = - HttpUtils.postForm( - url, - PROPERTY_PROVISIONING_USERNAME, - PROPERTY_PROVISIONING_PASSWORD, - paramNames, - paramValues, - usernameIx, - passwordIx); + HttpUtils.HTTPResponseResult res = null; + Throwable errorWhileProvisioning = null; + try + { + res = + HttpUtils.postForm( + url, + PROPERTY_PROVISIONING_USERNAME, + PROPERTY_PROVISIONING_PASSWORD, + paramNames, + paramValues, + usernameIx, + passwordIx); + } + catch(Throwable t) + { + logger.error("Error posting form", t); + errorWhileProvisioning = t; + } // if there was an error in retrieving stop if(res == null) @@ -457,6 +467,23 @@ else if(s.indexOf(passwordParam) != -1) if(ProvisioningActivator.getConfigurationService().getBoolean( PROPERTY_PROVISIONING_MANDATORY, provisioningMandatory)) { + String errorMsg; + if(errorWhileProvisioning != null) + errorMsg = errorWhileProvisioning.getLocalizedMessage(); + else + errorMsg = ""; + + ErrorDialog ed = new ErrorDialog( + null, + ProvisioningActivator.getResourceService() + .getI18NString("plugin.provisioning.PROV_FAILED"), + ProvisioningActivator.getResourceService() + .getI18NString("plugin.provisioning.PROV_FAILED_MSG", + new String[]{errorMsg}), + errorWhileProvisioning); + ed.setModal(true); + ed.showDialog(); + // as shutdown service is not started and other bundles // are scheduled to start, stop all of them { diff --git a/src/net/java/sip/communicator/service/httputil/HttpUtils.java b/src/net/java/sip/communicator/service/httputil/HttpUtils.java index 18305baba..eb210c642 100644 --- a/src/net/java/sip/communicator/service/httputil/HttpUtils.java +++ b/src/net/java/sip/communicator/service/httputil/HttpUtils.java @@ -341,74 +341,67 @@ public static HTTPResponseResult postForm(String address, ArrayList formParamValues, int usernameParamIx, int passwordParamIx) + throws Throwable { DefaultHttpClient httpClient; HttpPost postMethod; HttpEntity resEntity = null; - try - { - // if any authentication exception rise while executing - // will retry - AuthenticationException authEx; - HTTPCredentialsProvider credentialsProvider = null; - do - { - postMethod = new HttpPost(address); - httpClient = getHttpClient( - usernamePropertyName, passwordPropertyName, - postMethod.getURI().getHost(), credentialsProvider); - - try - { - // execute post - resEntity = postForm( - httpClient, - postMethod, - address, - usernamePropertyName, - passwordPropertyName, - formParamNames, - formParamValues, - usernameParamIx, - passwordParamIx); - authEx = null; - } - catch(AuthenticationException ex) - { - authEx = ex; + // if any authentication exception rise while executing + // will retry + AuthenticationException authEx; + HTTPCredentialsProvider credentialsProvider = null; + do + { + postMethod = new HttpPost(address); + httpClient = getHttpClient( + usernamePropertyName, passwordPropertyName, + postMethod.getURI().getHost(), credentialsProvider); - // lets reuse credentialsProvider - credentialsProvider = (HTTPCredentialsProvider) - httpClient.getCredentialsProvider(); - String userName = credentialsProvider.authUsername; - - // clear - credentialsProvider.clear(); - - // lets show the same username - credentialsProvider.authUsername = userName; - credentialsProvider.errorMessage = - HttpUtilActivator.getResources().getI18NString( - "service.gui.AUTHENTICATION_FAILED", - new String[] - {credentialsProvider.usedScope.getHost()}); - } + try + { + // execute post + resEntity = postForm( + httpClient, + postMethod, + address, + usernamePropertyName, + passwordPropertyName, + formParamNames, + formParamValues, + usernameParamIx, + passwordParamIx); + + authEx = null; } - while(authEx != null); - - // canceled or no result - if(resEntity == null) - return null; + catch(AuthenticationException ex) + { + authEx = ex; - return new HTTPResponseResult(resEntity, httpClient); - } - catch(Throwable e) - { - logger.error("Error posting form", e); + // lets reuse credentialsProvider + credentialsProvider = (HTTPCredentialsProvider) + httpClient.getCredentialsProvider(); + String userName = credentialsProvider.authUsername; + + // clear + credentialsProvider.clear(); + + // lets show the same username + credentialsProvider.authUsername = userName; + credentialsProvider.errorMessage = + HttpUtilActivator.getResources().getI18NString( + "service.gui.AUTHENTICATION_FAILED", + new String[] + {credentialsProvider.usedScope.getHost()}); + } } + while(authEx != null); - return null; + // canceled or no result + if(resEntity == null) + return null; + + return new HTTPResponseResult(resEntity, httpClient); } /** diff --git a/src/net/java/sip/communicator/impl/gui/customcontrols/ErrorDialog.java b/src/net/java/sip/communicator/util/swing/ErrorDialog.java similarity index 91% rename from src/net/java/sip/communicator/impl/gui/customcontrols/ErrorDialog.java rename to src/net/java/sip/communicator/util/swing/ErrorDialog.java index 2ce3a94f0..5bfdb2321 100644 --- a/src/net/java/sip/communicator/impl/gui/customcontrols/ErrorDialog.java +++ b/src/net/java/sip/communicator/util/swing/ErrorDialog.java @@ -4,7 +4,7 @@ * Distributable under LGPL license. * See terms of license at gnu.org. */ -package net.java.sip.communicator.impl.gui.customcontrols; +package net.java.sip.communicator.util.swing; import java.awt.*; import java.awt.event.*; @@ -13,13 +13,8 @@ import javax.swing.*; import javax.swing.event.*; -import net.java.sip.communicator.impl.gui.*; -import net.java.sip.communicator.impl.gui.lookandfeel.*; -import net.java.sip.communicator.impl.gui.utils.*; -import net.java.sip.communicator.service.resources.*; import net.java.sip.communicator.util.*; import net.java.sip.communicator.util.skin.*; -import net.java.sip.communicator.util.swing.*; /** * Implements a JDialog which displays an error message and, @@ -47,11 +42,11 @@ public class ErrorDialog private JButton okButton = new JButton( - GuiActivator.getResources().getI18NString("service.gui.OK")); + UtilActivator.getResources().getI18NString("service.gui.OK")); private JLabel iconLabel - = new JLabel( - new ImageIcon(ImageLoader.getImage(ImageLoader.ERROR_ICON))); + = new JLabel(new ImageIcon( + UtilActivator.getImage("service.gui.icons.ERROR_ICON"))); private StyledHTMLEditorPane htmlMsgEditorPane = new StyledHTMLEditorPane(); @@ -121,8 +116,8 @@ public ErrorDialog( Frame owner, this.mainPanel.setBorder( BorderFactory.createEmptyBorder(20, 20, 10, 20)); - this.stackTraceScrollPane.setBorder( - new SIPCommBorders.BoldRoundBorder()); + this.stackTraceScrollPane.setBorder(BorderFactory.createLineBorder( + iconLabel.getForeground())); this.stackTraceScrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); @@ -226,8 +221,8 @@ public ErrorDialog( Frame owner, if(type == WARNING) { - iconLabel.setIcon(new ImageIcon(ImageLoader - .getImage(ImageLoader.WARNING_ICON))); + iconLabel.setIcon(new ImageIcon( + UtilActivator.getImage("service.gui.icons.WARNING_ICON"))); this.type = type; } } @@ -354,11 +349,11 @@ public void hyperlinkUpdate(HyperlinkEvent e) */ public void loadSkin() { - ImageID icon + String icon = (type == WARNING) - ? ImageLoader.WARNING_ICON - : ImageLoader.ERROR_ICON; + ? "service.gui.icons.WARNING_ICON" + : "service.gui.icons.ERROR_ICON"; - iconLabel.setIcon(new ImageIcon(ImageLoader.getImage(icon))); + iconLabel.setIcon(new ImageIcon(UtilActivator.getImage(icon))); } }