Author: aaf
Date: Thu Jul 19 13:15:59 2012
New Revision: 1363326

URL: http://svn.apache.org/viewvc?rev=1363326&view=rev
Log:
Added proxy

Modified:
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigManager.java
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigPanel.java
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigManager.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigManager.java?rev=1363326&r1=1363325&r2=1363326&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigManager.java
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigManager.java
 Thu Jul 19 13:15:59 2012
@@ -23,6 +23,8 @@ public class OpenmeetingsConfigManager
 
     private String password;
 
+    private String proxy;
+
     private OpenmeetingsPluginSoapClient soapClient;
 
     private static BundleContext bundleContext;
@@ -64,6 +66,7 @@ public class OpenmeetingsConfigManager
         String server = getServer();
         String uriContext = getOmUriContext();
         soapClient.setServerUrl(protoPrefix + server + uriContext);
+        soapClient.setProxy(getProxy());
 
         String invitationHash = null;
 
@@ -238,7 +241,20 @@ public class OpenmeetingsConfigManager
         password = encryptionEngine.decrypt(value);
         return password;
     }
+    
+    public void setProxy(String proxy)
+    {
+        this.proxy = proxy;
+        getConfigurationService().setProperty("plugin.openmeetings.PROXY",
+            proxy);
+    }
 
+    public String getProxy()
+    {
+        proxy = (String) 
getConfigurationService().getProperty("plugin.openmeetings.PROXY");
+        return proxy;
+    }
+    
     public void setContext(BundleContext bc)
     {
         bundleContext = bc;

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigPanel.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigPanel.java?rev=1363326&r1=1363325&r2=1363326&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigPanel.java
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsConfigPanel.java
 Thu Jul 19 13:15:59 2012
@@ -4,6 +4,8 @@ import java.awt.*;
 import java.awt.event.*;
 
 import javax.swing.*;
+
+import net.java.sip.communicator.util.Logger;
 import net.java.sip.communicator.util.swing.*;
 
 import org.osgi.framework.*;
@@ -17,12 +19,16 @@ public class OpenmeetingsConfigPanel
         */
     private static final long serialVersionUID = 1L;
 
+    Logger logger = Logger.getLogger(OpenmeetingsPluginActivator.class);
+
     private final JTextField teServer = new JTextField(20);
 
     private final JTextField teLogin = new JTextField(20);
 
     private final JPasswordField tePassword = new JPasswordField(20);
 
+    private final JTextField teProxy = new JTextField(20);
+
     private final JTextField fakeField = new JTextField(20);
 
     private final JButton btOk = new JButton(
@@ -35,6 +41,8 @@ public class OpenmeetingsConfigPanel
 
     private String password;
 
+    private String proxy;
+
     public OpenmeetingsConfigPanel()
         throws Exception
     {
@@ -81,11 +89,22 @@ public class OpenmeetingsConfigPanel
         JLabel lblPassword =
             new JLabel(
                 OpenmeetingsPluginActivator.resourceService
-                    .getI18NString("plugin.openmeetings.PASWWORD"));
+                    .getI18NString("plugin.openmeetings.PASSWORD"));
         lblPassword.setPreferredSize(prefSize);
         passwordPanel.setAlignmentX(LEFT_ALIGNMENT);
         passwordPanel.add(lblPassword);
         passwordPanel.add(tePassword);
+        
+        JPanel proxyPanel = new TransparentPanel();
+        proxyPanel.setLayout(new BoxLayout(proxyPanel, BoxLayout.LINE_AXIS));
+        JLabel lblProxy =
+            new JLabel(
+                OpenmeetingsPluginActivator.resourceService
+                    .getI18NString("plugin.openmeetings.PROXY"));
+        lblProxy.setPreferredSize(prefSize);
+        proxyPanel.setAlignmentX(LEFT_ALIGNMENT);
+        proxyPanel.add(lblProxy);
+        proxyPanel.add(teProxy);        
 
         OpenmeetingsConfigManager cfg = 
OpenmeetingsConfigManager.getInstance();
         String serverUri = cfg.getServer();
@@ -94,10 +113,13 @@ public class OpenmeetingsConfigPanel
             serverUri =
                 cfg.getProtoPrefix() + serverUri + cfg.getOmUriContext();
         }
+
         teServer.setText(serverUri);
         teLogin.setText(OpenmeetingsConfigManager.getInstance().getLogin());
         tePassword.setText(OpenmeetingsConfigManager.getInstance()
             .getPassword());
+        teProxy.setText(OpenmeetingsConfigManager.getInstance()
+            .getProxy());
 
         JPanel buttonPanel = new TransparentPanel();
         buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
@@ -120,17 +142,13 @@ public class OpenmeetingsConfigPanel
         omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
         omPanel.add(passwordPanel);
         omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
+        omPanel.add(proxyPanel);
+        omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
         omPanel.add(buttonPanel);
 
         add(omPanel, BorderLayout.PAGE_START);
     }
 
-    public String getTest()
-    {
-
-        return "Hello!!!!";
-    }
-
     public void setServer(String server)
     {
 
@@ -162,6 +180,16 @@ public class OpenmeetingsConfigPanel
         return password;
     }
 
+    public void setProxy(String proxy)
+    {
+        this.proxy = proxy;
+    }
+
+    public String getProxy()
+    {
+        return proxy;
+    }
+
     private class ButtonOkListener
         implements ActionListener
     {
@@ -198,13 +226,14 @@ public class OpenmeetingsConfigPanel
             cfg.setProtoPrefix(protoPrefix);
             cfg.setOmUriContext(uriContext);
             cfg.setLogin(teLogin.getText());
+            cfg.setProxy(proxy);
             try
             {
                 cfg.setPassword(new String(tePassword.getPassword()));
             }
             catch (Exception e1)
             {
-                e1.printStackTrace();
+                logger.error(e1);
             }
         }
     }

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java?rev=1363326&r1=1363325&r2=1363326&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java
 Thu Jul 19 13:15:59 2012
@@ -1,42 +1,31 @@
 package net.java.sip.communicator.plugin.openmeetings;
 
 import java.io.ByteArrayOutputStream;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.List;
+import java.net.URI;
 
 import javax.swing.JOptionPane;
 import javax.xml.soap.MessageFactory;
-import javax.xml.soap.Name;
 import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPBodyElement;
 import javax.xml.soap.SOAPConnection;
 import javax.xml.soap.SOAPConnectionFactory;
 import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPEnvelope;
 import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPHeader;
 import javax.xml.soap.SOAPMessage;
 import javax.xml.soap.SOAPPart;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
 import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
+
+import net.java.sip.communicator.util.Logger;
 
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import net.java.sip.communicator.util.Logger;
-
 public class OpenmeetingsPluginSoapClient
 {
 
     String serverUrl;
-
+    
     Logger logger = Logger.getLogger(OpenmeetingsPluginActivator.class);
 
     private static final String NAMESPACE_PREFIX = "openmeetings";
@@ -49,23 +38,10 @@ public class OpenmeetingsPluginSoapClien
     public String getSID(String username, String password) throws Exception
     {
         final SOAPMessage soapMessage = getSoapMessage();
-        final SOAPBody soapBody = soapMessage.getSOAPBody();
-        final SOAPElement sessionElement =
-            soapBody.addChildElement("getSession", NAMESPACE_PREFIX);
-
+        soapMessage.getSOAPBody().addChildElement("getSession", 
NAMESPACE_PREFIX);
         soapMessage.saveChanges();
-
-        logger.info("\n Soap request to " + getUserServiceUrl() + "\n");
-        logMessage(soapMessage);
-
-        final SOAPConnection soapConnection = getSoapConnection();
-        final SOAPMessage soapMessageReply =
-            soapConnection.call(soapMessage, getUserServiceUrl());
-        logger.info("\n Soap response:\n");
-        logMessage(soapMessageReply);
-        soapConnection.close();
-
-        SOAPBody responseBody = soapMessageReply.getSOAPBody();
+        
+        final SOAPBody responseBody = getSOAPResponseBody(soapMessage, 
getUserServiceUrl());
 
         String sid = null;
 
@@ -105,32 +81,15 @@ public class OpenmeetingsPluginSoapClien
             username);
         loginElement.addChildElement("userpass", NAMESPACE_PREFIX).addTextNode(
             password);
-
-        // System.out.println("\nLOGIN REQUEST:\n");
-        // soapMessage.writeTo(System.out);
-        // System.out.println();
-
         soapMessage.saveChanges();
 
-        final SOAPConnection soapConnection = getSoapConnection();
-        final SOAPMessage soapMessageReply =
-            soapConnection.call(soapMessage, getUserServiceUrl());
-        final String textContent =
-            soapMessageReply.getSOAPBody().getFirstChild().getTextContent();
-
-        // System.out.println("\nLOGIN RESPONSE:\n");
-        // soapMessageReply.writeTo(System.out);
-        // System.out.println();
-        //
-        // System.out.println( "LOGIN =  " + textContent);
-        //
+        final SOAPBody soapResponseBody = getSOAPResponseBody(soapMessage, 
getUserServiceUrl());
+        final String textContent = 
soapResponseBody.getFirstChild().getTextContent();
         if (!textContent.equals("1"))
             JOptionPane.showMessageDialog(null,
                 OpenmeetingsPluginActivator.resourceService
                     .getI18NString("plugin.openmeetings.ERROR_LOGIN_MSG"));
 
-        soapConnection.close();
-
         return textContent;
     }
 
@@ -169,27 +128,11 @@ public class OpenmeetingsPluginSoapClien
             .addTextNode(displayedName);
         requestElement.addChildElement("room_id", NAMESPACE_PREFIX)
             .addTextNode(room_id);
-
         soapMessage.saveChanges();
 
-        logger.info("\nGET INVITATION REQUEST:\n");
-        // soapMessage.writeTo(System.out);
-        // System.out.println();
-
-        final SOAPConnection soapConnection = getSoapConnection();
-        final SOAPMessage soapMessageReply =
-            soapConnection.call(soapMessage, getJabberServiceUrl());
-
-        logger.info("\nGET INVITATION RESPONSE:\n");
-        // soapMessageReply.writeTo(System.out);
-        // System.out.println();
-
-        final String textContent =
-            soapMessageReply.getSOAPBody().getFirstChild().getTextContent();
-
+        final SOAPBody soapResponseBody = getSOAPResponseBody(soapMessage, 
getJabberServiceUrl());
+        final String textContent = 
soapResponseBody.getFirstChild().getTextContent();
         logger.info("INVITATION RESPONSE =  " + textContent);
-        soapConnection.close();
-
         return textContent;
     }
 
@@ -200,29 +143,13 @@ public class OpenmeetingsPluginSoapClien
     {
         final SOAPMessage soapMessage = getSoapMessage();
         final SOAPBody soapBody = soapMessage.getSOAPBody();
-
         final SOAPElement elemCodeElement =
             soapBody.addChildElement("getAvailableRooms", NAMESPACE_PREFIX);
-
         elemCodeElement.addChildElement("SID", "rooms").addTextNode(sid);
-
-        logger.info("\nGET_AVAILABLE_ROOMS REQUEST:\n");
-        logMessage(soapMessage);
-
         soapMessage.saveChanges();
 
-        final SOAPConnection soapConnection = getSoapConnection();
-        final SOAPMessage soapMessageReply =
-            soapConnection.call(soapMessage, getJabberServiceUrl());
-        final String textContent =
-            soapMessageReply.getSOAPBody().getTextContent();
-
-        logger.info("\nGET_AVAILABLE_ROOMS RESPONSE:\n");
-        logMessage(soapMessageReply);
-        
-        final Node getRoomsResponse = soapMessageReply.getSOAPBody();
-        final Node getFirstRoomResult =
-            getRoomsResponse.getFirstChild().getFirstChild();
+        final SOAPBody soapResponseBody = getSOAPResponseBody(soapMessage, 
getJabberServiceUrl());
+        final Node getFirstRoomResult = 
soapResponseBody.getFirstChild().getFirstChild();
 
         String rooms_id = new String();
         final NodeList childNodes = getFirstRoomResult.getChildNodes();
@@ -235,9 +162,7 @@ public class OpenmeetingsPluginSoapClien
                 rooms_id = childNodes.item(i).getTextContent();
             }
         }
-
         System.out.println("GET_AVAILABLE_ROOMS RESULT =  " + rooms_id);
-        soapConnection.close();
 
         return rooms_id;
     }
@@ -250,37 +175,38 @@ public class OpenmeetingsPluginSoapClien
         final SOAPBody soapBody = soapMessage.getSOAPBody();
         final SOAPElement errorCodeElement =
             soapBody.addChildElement("getErrorByCode", NAMESPACE_PREFIX);
-
         errorCodeElement.addChildElement("SID", NAMESPACE_PREFIX).addTextNode(
             sid);
         errorCodeElement.addChildElement("errorid", NAMESPACE_PREFIX)
             .addTextNode(error_id);
         errorCodeElement.addChildElement("language_id", NAMESPACE_PREFIX)
             .addTextNode("0");
-
-        // System.out.println("\nERROR CODE REQUEST:\n");
-        // soapMessage.writeTo(System.out);
-        // System.out.println();
-
         soapMessage.saveChanges();
 
-        final SOAPConnection soapConnection = getSoapConnection();
+        final SOAPBody soapResponseBody = getSOAPResponseBody(soapMessage, 
getUserServiceUrl());
+        return soapResponseBody.getFirstChild().getTextContent();
+    }
+    
+    private SOAPBody getSOAPResponseBody(SOAPMessage soapMessage, String url)
+        throws SOAPException,
+        IOException
+    {
+        logger.info("\nSOAP request to " + url);
+        logMessage(soapMessage);
+
+      
+        final SOAPConnection soapConnection = getSoapConnectionInstance();
         final SOAPMessage soapMessageReply =
-            soapConnection.call(soapMessage, getUserServiceUrl());
-        final String textContent =
-            soapMessageReply.getSOAPBody().getFirstChild().getTextContent();
-
-        // System.out.println("\nERROR CODE RESPONSE:\n");
-        // soapMessageReply.writeTo(System.out);
-        // System.out.println();
-        //
-        // System.out.println( "ERROR RESULT =  " + textContent);
+            soapConnection.call(soapMessage, url);
+        logger.info("\nSOAP response");
+        logMessage(soapMessageReply);
         soapConnection.close();
-
-        return textContent;
+        
+        return soapMessageReply.getSOAPBody();
     }
+    
 
-    private SOAPConnection getSoapConnection()
+    private SOAPConnection getSoapConnectionInstance()
         throws UnsupportedOperationException,
         SOAPException
     {
@@ -326,18 +252,19 @@ public class OpenmeetingsPluginSoapClien
         return soapMessage;
     }
 
-    private void addSID(final String sid, final SOAPMessage soapMessage)
-        throws SOAPException
+    public void setServerUrl(String serverUrl)
     {
-        final SOAPHeader header = soapMessage.getSOAPHeader();
-        final SOAPElement sidHeader =
-            header.addChildElement("SID", NAMESPACE_PREFIX);
-        sidHeader.addChildElement("SID", NAMESPACE_PREFIX).addTextNode(sid);
+        this.serverUrl = serverUrl;
     }
-
-    public void setServerUrl(String serverUrl_)
+    
+    public void setProxy(String proxy) throws Exception
     {
-        serverUrl = serverUrl_;
+        if ((proxy != null) && (proxy.length() > 0))
+        {
+            URI u = new URI(proxy);
+            System.getProperties().put("http.proxyHost", u.getHost());
+            System.getProperties().put("http.proxyPort", u.getPort());
+        }
     }
 
     private String getServerUrl()


Reply via email to