aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java')
-rw-r--r--src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java382
1 files changed, 0 insertions, 382 deletions
diff --git a/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java b/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java
deleted file mode 100644
index aa38c69..0000000
--- a/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/CreateSip2SipAccountForm.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
- * 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
- *
- * 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.
- */
-package net.java.sip.communicator.plugin.sip2sipaccregwizz;
-
-import java.awt.*;
-import java.awt.event.*;
-import java.io.*;
-import java.net.*;
-
-import javax.swing.*;
-import javax.swing.text.*;
-
-import net.java.sip.communicator.plugin.ippiaccregwizz.*;
-import net.java.sip.communicator.plugin.sipaccregwizz.*;
-import net.java.sip.communicator.util.*;
-import net.java.sip.communicator.plugin.desktoputil.*;
-
-import org.json.simple.*;
-
-/**
- * @author Yana Stamcheva
- */
-public class CreateSip2SipAccountForm
- extends TransparentPanel
- implements SIPAccountCreationFormService
-{
- /**
- * Serial version UID.
- */
- private static final long serialVersionUID = 0L;
-
- /**
- * The logger.
- */
- private static final Logger logger
- = Logger.getLogger(CreateSip2SipAccountForm.class);
-
- /**
- * The user name text field.
- */
- private final JTextField usernameField = new TrimTextField();
-
- /**
- * The display name text field.
- */
- private final JTextField displayNameField = new JTextField();
-
- /**
- * The password field.
- */
- private final JPasswordField passField = new JPasswordField();
-
- /**
- * The retype password field.
- */
- private final JPasswordField retypePassField = new JPasswordField();
-
- /**
- * The email field.
- */
- private final JTextField emailField = new JTextField();
-
- /**
- * The error text pane.
- */
- private final JTextPane errorPane = new JTextPane();
-
- /**
- * The register link.
- */
- private static String registerLink
- = "https://enrollment.sipthor.net/enrollment.phtml?";
-
- /**
- * Creates an instance of <tt>RegisterSip2SipAccountForm</tt>.
- */
- public CreateSip2SipAccountForm()
- {
- super(new BorderLayout());
-
- this.init();
- }
-
- /**
- * Initializes this panel.
- */
- private void init()
- {
- JPanel mainPanel = new TransparentPanel(new BorderLayout());
-
- mainPanel.setBorder(BorderFactory.createTitledBorder(
- Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sipaccregwizz.CREATE_ACCOUNT_TITLE")));
-
- JPanel labelsPanel = new TransparentPanel(new GridLayout(0, 1));
-
- JPanel valuesPanel = new TransparentPanel(new GridLayout(0, 1));
-
- JLabel usernameLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sip2sipaccregwizz.USERNAME"));
-
- JLabel displayNameLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sipaccregwizz.DISPLAY_NAME"));
-
- JLabel passLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("service.gui.PASSWORD"));
-
- JLabel retypePasswordLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sip2sipaccregwizz.RETYPE_PASSWORD"));
-
- JLabel emailLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sip2sipaccregwizz.EMAIL"));
-
- labelsPanel.add(displayNameLabel);
- labelsPanel.add(usernameLabel);
- labelsPanel.add(passLabel);
- labelsPanel.add(retypePasswordLabel);
- labelsPanel.add(emailLabel);
-
- valuesPanel.add(displayNameField);
- valuesPanel.add(usernameField);
- valuesPanel.add(passField);
- valuesPanel.add(retypePassField);
- valuesPanel.add(emailField);
-
- JLabel emailDescriptionLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sip2sipaccregwizz.EMAIL_NOTE"),
- SwingConstants.CENTER);
- emailDescriptionLabel.setForeground(Color.GRAY);
- emailDescriptionLabel.setFont(emailDescriptionLabel.getFont().deriveFont(8));
- emailDescriptionLabel.setBorder(BorderFactory.createEmptyBorder(0, 10, 8, 10));
-
- initErrorArea();
-
- mainPanel.add(labelsPanel, BorderLayout.WEST);
- mainPanel.add(valuesPanel, BorderLayout.CENTER);
- mainPanel.add(emailDescriptionLabel, BorderLayout.SOUTH);
-
- this.add(mainPanel, BorderLayout.CENTER);
-
- JLabel infoLabel
- = new JLabel(Sip2SipAccRegWizzActivator.getResources()
- .getI18NString("plugin.sip2sipaccregwizz.INFO_NOTE"),
- SwingConstants.RIGHT);
- infoLabel.setCursor(new Cursor(Cursor.HAND_CURSOR));
- infoLabel.setForeground(Color.GRAY);
- infoLabel.setFont(emailDescriptionLabel.getFont().deriveFont(8));
- infoLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 8, 0));
- infoLabel.addMouseListener(new MouseAdapter()
- {
- @Override
- public void mousePressed(MouseEvent e)
- {
- Sip2SipAccRegWizzActivator.getBrowserLauncher()
- .openURL("http://wiki.sip2sip.info");
- }
- });
-
- this.add(infoLabel, BorderLayout.SOUTH);
- }
-
- /**
- * Creates the error area component.
- */
- private void initErrorArea()
- {
- SimpleAttributeSet attribs = new SimpleAttributeSet();
- StyleConstants.setAlignment(attribs, StyleConstants.ALIGN_RIGHT);
- StyleConstants.setFontFamily(attribs, errorPane.getFont().getFamily());
- StyleConstants.setForeground(attribs, Color.RED);
- errorPane.setParagraphAttributes(attribs, true);
- errorPane.setPreferredSize(new Dimension(100, 50));
- errorPane.setMinimumSize(new Dimension(100, 50));
- errorPane.setOpaque(false);
- }
-
- /**
- * Creates this account on the server.
- * @return the created account
- */
- public NewAccount createAccount()
- {
- // Check if the two passwords match.
- String pass1 = new String( passField.getPassword());
- String pass2 = new String( retypePassField.getPassword());
- if (!pass1.equals(pass2))
- {
- showErrorMessage(
- IppiAccRegWizzActivator.getResources().getI18NString(
- "plugin.sipaccregwizz.NOT_SAME_PASSWORD"));
-
- return null;
- }
-
- NewAccount newAccount = null;
- try
- {
- StringBuilder registerLinkBuilder = new StringBuilder(registerLink);
- registerLinkBuilder
- .append(URLEncoder.encode("email", "UTF-8"))
- .append("=").append(
- URLEncoder.encode(emailField.getText(), "UTF-8"))
- .append("&").append(URLEncoder.encode("password", "UTF-8"))
- .append("=").append(
- URLEncoder.encode(new String(passField.getPassword()), "UTF-8"))
- .append("&").append(URLEncoder.encode("display_name", "UTF-8"))
- .append("=").append(
- URLEncoder.encode(displayNameField.getText(), "UTF-8"))
- .append("&").append(URLEncoder.encode("username", "UTF-8"))
- .append("=").append(
- URLEncoder.encode(usernameField.getText(), "UTF-8"))
- .append("&").append(URLEncoder.encode("user_agent", "UTF-8"))
- .append("=").append(
- URLEncoder.encode("sip-communicator.org", "UTF-8"));
-
- URL url = new URL(registerLinkBuilder.toString());
- URLConnection conn = url.openConnection();
-
- // If this is not an http connection we have nothing to do here.
- if (!(conn instanceof HttpURLConnection))
- {
- return null;
- }
-
- HttpURLConnection httpConn = (HttpURLConnection) conn;
-
- int responseCode = httpConn.getResponseCode();
-
- if (responseCode == HttpURLConnection.HTTP_OK)
- {
- // Read all the text returned by the server
- BufferedReader in = new BufferedReader(
- new InputStreamReader(conn.getInputStream()));
- String str;
-
- StringBuffer stringBuffer = new StringBuffer();
- while ((str = in.readLine()) != null)
- {
- stringBuffer.append(str);
- }
-
- if (logger.isInfoEnabled())
- logger.info("JSON response to create account request: "
- + stringBuffer.toString());
-
- newAccount = parseHttpResponse(stringBuffer.toString());
- }
- }
- catch (MalformedURLException e1)
- {
- if (logger.isInfoEnabled())
- logger.info("Failed to create URL with string: "
- + registerLink, e1);
- }
- catch (IOException e1)
- {
- if (logger.isInfoEnabled())
- logger.info("Failed to open connection.", e1);
- }
- return newAccount;
- }
-
- /**
- * Returns the form, which would be used by the user to create a new
- * account.
- * @return the component of the form
- */
- public Component getForm()
- {
- return this;
- }
-
- /**
- * Clears all the data previously entered in the form.
- */
- public void clear()
- {
- usernameField.setText("");
- displayNameField.setText("");
- passField.setText("");
- retypePassField.setText("");
- emailField.setText("");
- errorPane.setText("");
-
- remove(errorPane);
- }
-
- /**
- * Parses the given http response.
- * @param response the http response to parse
- * @return the new account
- */
- private NewAccount parseHttpResponse(String response)
- {
- NewAccount newAccount = null;
- try
- {
- JSONObject jsonObject = (JSONObject)JSONValue
- .parseWithException(response);
- boolean isSuccess = (Boolean)jsonObject.get("success");
-
- if (isSuccess)
- {
- newAccount = new NewAccount(
- (String)jsonObject.get("sip_address"),
- passField.getPassword(),
- null,
- (String)jsonObject.get("outbound_proxy"));
-
- String xcapRoot = (String)jsonObject.get("xcap_root");
-
- // as sip2sip adds @sip2sip.info at the end of the
- // xcap_uri but doesn't report it in resullt after
- // creating account, we add it
- String domain = null;
- int delimIndex = newAccount.getUserName().indexOf("@");
- if (delimIndex != -1)
- {
- domain = newAccount.getUserName().substring(delimIndex);
- }
- if(domain != null)
- {
- if(xcapRoot.endsWith("/"))
- xcapRoot =
- xcapRoot.substring(0, xcapRoot.length() - 1)
- + domain;
- else
- xcapRoot += domain;
- }
-
- newAccount.setXcapRoot(xcapRoot);
- }
- else
- {
- showErrorMessage((String)jsonObject.get("error_message"));
- }
- }
- catch (Throwable e1)
- {
- if (logger.isInfoEnabled())
- logger.info("Failed Json parsing.", e1);
- }
-
- return newAccount;
- }
-
- /**
- * Shows the given error message.
- *
- * @param text the text of the error
- */
- private void showErrorMessage(String text)
- {
- errorPane.setText(text);
-
- if (errorPane.getParent() == null)
- add(errorPane, BorderLayout.NORTH);
-
- SwingUtilities.getWindowAncestor(CreateSip2SipAccountForm.this).pack();
- }
-}