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)));
}
}