Author: ggrekhov
Date: Thu Aug 16 10:41:00 2012
New Revision: 1373784

URL: http://svn.apache.org/viewvc?rev=1373784&view=rev
Log:
OPENMEETINGS-399 patch is applied

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/OpenmeetingsPluginActivator.java
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginMenuItem.java
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginSoapClient.java
    
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/openmeetingsplugin.manifest.mf

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=1373784&r1=1373783&r2=1373784&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 Aug 16 10:41:00 2012
@@ -1,7 +1,8 @@
 package net.java.sip.communicator.plugin.openmeetings;
 
 // import net.java.sip.communicator.impl.protocol.zeroconf.MessageZeroconfImpl;
-import net.java.sip.communicator.service.configuration.ConfigurationService;
+// import net.java.sip.communicator.service.configuration.ConfigurationService;
+import org.jitsi.service.configuration.*;
 import net.java.sip.communicator.util.Logger;
 
 import org.osgi.framework.BundleContext;
@@ -23,8 +24,12 @@ public class OpenmeetingsConfigManager
 
     private String password;
 
+    private String displayedName;
+
     private String proxy;
 
+    private String RoomID;
+
     private OpenmeetingsPluginSoapClient soapClient;
 
     private static BundleContext bundleContext;
@@ -33,14 +38,11 @@ public class OpenmeetingsConfigManager
 
     private static OpenmeetingsConfigManager instance;
 
-    private EncryptionEngine encryptionEngine;
-
     private OpenmeetingsConfigManager()
     {
 
         super();
         soapClient = new OpenmeetingsPluginSoapClient();
-        encryptionEngine = new EncryptionEngine();
     }
 
     public static OpenmeetingsConfigManager getInstance()
@@ -55,7 +57,7 @@ public class OpenmeetingsConfigManager
     public String createInvitationUrl(String hash) throws Exception
     {
         final String url =
-            "http://"; + getServer() + "/openmeetings/?invitationHash=" + hash;
+            getProtoPrefix() + getServer() + getOmUriContext() 
+"?invitationHash=" + hash;
         System.out.println("INVITATION URL = " + url);
         return url;
     }
@@ -74,7 +76,7 @@ public class OpenmeetingsConfigManager
         {
             invitationHash =
                 soapClient.getInvitationHash(getLogin(), getPassword(),
-                    displayedName);
+                    displayedName, getRoomID());
         }
         catch (Exception e)
         {
@@ -147,15 +149,15 @@ public class OpenmeetingsConfigManager
     public void setServer(String server)
     {
         this.server = server;
-        getConfigurationService().setProperty("plugin.openmeetings.SERVER",
-            server);
+        getConfigurationService().
+                setProperty(OpenmeetingsPluginActivator.SERVER_PROP, server);
     }
 
     public String getServer()
     {
         String value =
             (String) getConfigurationService().getProperty(
-                "plugin.openmeetings.SERVER");
+                OpenmeetingsPluginActivator.SERVER_PROP);
         if (null == value)
         {
             value = "";
@@ -168,14 +170,14 @@ public class OpenmeetingsConfigManager
     {
         this.protoPrefix = protoPrefix;
         getConfigurationService().setProperty(
-            "plugin.openmeetings.PROTOCOL_PREFIX", protoPrefix);
+            OpenmeetingsPluginActivator.PROTOCOL_PREFIX_PROP, protoPrefix);
     }
 
     public String getProtoPrefix()
     {
         String value =
             (String) getConfigurationService().getProperty(
-                "plugin.openmeetings.PROTOCOL_PREFIX");
+                OpenmeetingsPluginActivator.PROTOCOL_PREFIX_PROP);
         if (null == value)
         {
             value = "";
@@ -188,14 +190,14 @@ public class OpenmeetingsConfigManager
     {
         this.omUriContext = omUriContext;
         getConfigurationService().setProperty(
-            "plugin.openmeetings.OM_URI_CONTEXT", omUriContext);
+            OpenmeetingsPluginActivator.OM_URI_CONTEXT_PROP, omUriContext);
     }
 
     public String getOmUriContext()
     {
         String value =
             (String) getConfigurationService().getProperty(
-                "plugin.openmeetings.OM_URI_CONTEXT");
+                OpenmeetingsPluginActivator.OM_URI_CONTEXT_PROP);
         if (null == value)
         {
             value = "";
@@ -211,50 +213,75 @@ public class OpenmeetingsConfigManager
     public void setLogin(String login)
     {
         this.login = login;
-        getConfigurationService().setProperty("plugin.openmeetings.LOGIN",
-            login);
+        getConfigurationService().setProperty(
+                OpenmeetingsPluginActivator.LOGIN_PROP, login);
     }
 
     public String getLogin()
     {
-        login = (String) 
getConfigurationService().getProperty("plugin.openmeetings.LOGIN");
+        login = (String) getConfigurationService().getProperty(
+                OpenmeetingsPluginActivator.LOGIN_PROP);
         return login;
     }
 
-    public void setPassword(String password) throws Exception
+    public boolean setPassword(String password)
     {
-        this.password = password;
         if (password == null)
-            return;
-        String encrypted = encryptionEngine.encrypt(password);
+            return false;
+        return OpenmeetingsPluginActivator.getCredService().
+                storePassword("net.java.sip.communicator.plugin.openmeetings", 
+                password);
+    }
+
+    public String getPassword()
+    {
+        return OpenmeetingsPluginActivator.getCredService().
+                loadPassword("net.java.sip.communicator.plugin.openmeetings");
+    }
+
+    public void setDisplayedName(String displayedName)
+    {
+        this.displayedName = displayedName.trim();
         getConfigurationService().setProperty(
-            "plugin.openmeetings.ENCRYPTED_PASSWORD", encrypted);
+                OpenmeetingsPluginActivator.DISPLAYED_NAME_PROP, 
+                this.displayedName);
     }
 
-    public String getPassword() throws Exception
+    public String getDisplayedName()
     {
-        String value =
-            (String) getConfigurationService().getProperty(
-                "plugin.openmeetings.ENCRYPTED_PASSWORD");
-        if (value == null)
-            return null;
-        password = encryptionEngine.decrypt(value);
-        return password;
+        displayedName = (String) getConfigurationService().getProperty(
+                OpenmeetingsPluginActivator.DISPLAYED_NAME_PROP);
+        return displayedName;
     }
-    
+
     public void setProxy(String proxy)
     {
         this.proxy = proxy;
-        getConfigurationService().setProperty("plugin.openmeetings.PROXY",
-            proxy);
+        getConfigurationService().setProperty(
+                OpenmeetingsPluginActivator.PROXY_PROP, proxy);
     }
 
     public String getProxy()
     {
-        proxy = (String) 
getConfigurationService().getProperty("plugin.openmeetings.PROXY");
+        proxy = (String) getConfigurationService().getProperty(
+                OpenmeetingsPluginActivator.PROXY_PROP);
         return proxy;
     }
-    
+
+    public void setRoomID(String RoomID)
+    {
+        this.RoomID = RoomID;
+        getConfigurationService().setProperty(
+                OpenmeetingsPluginActivator.ROOM_ID_PROP, RoomID);
+    }
+
+    public String getRoomID()
+    {
+        RoomID = (String) getConfigurationService().getProperty(
+                OpenmeetingsPluginActivator.ROOM_ID_PROP);
+        return RoomID;
+    }
+
     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=1373784&r1=1373783&r2=1373784&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 Aug 16 10:41:00 2012
@@ -27,7 +27,11 @@ public class OpenmeetingsConfigPanel
 
     private final JPasswordField tePassword = new JPasswordField(20);
 
+    private final JTextField tedisplayedName = new JTextField(20);
+
     private final JTextField teProxy = new JTextField(20);
+ 
+    private final JTextField teRoomID = new JTextField(20);
 
     private final JTextField fakeField = new JTextField(20);
 
@@ -41,6 +45,12 @@ public class OpenmeetingsConfigPanel
 
     private String password;
 
+    private String displayedName;
+
+    private String proxy;
+
+    private String RoomID;
+
     public OpenmeetingsConfigPanel()
         throws Exception
     {
@@ -93,6 +103,18 @@ public class OpenmeetingsConfigPanel
         passwordPanel.add(lblPassword);
         passwordPanel.add(tePassword);
         
+        JPanel displayedNamePanel = new TransparentPanel();
+        displayedNamePanel.setLayout(new BoxLayout(displayedNamePanel, 
+                BoxLayout.LINE_AXIS));
+        JLabel lbldisplayedName =
+            new JLabel(
+                OpenmeetingsPluginActivator.resourceService
+                    .getI18NString("plugin.openmeetings.DISPLAYED_NAME"));
+        lbldisplayedName.setPreferredSize(prefSize);
+        displayedNamePanel.setAlignmentX(LEFT_ALIGNMENT);
+        displayedNamePanel.add(lbldisplayedName);
+        displayedNamePanel.add(tedisplayedName);
+
         JPanel proxyPanel = new TransparentPanel();
         proxyPanel.setLayout(new BoxLayout(proxyPanel, BoxLayout.LINE_AXIS));
         JLabel lblProxy =
@@ -104,6 +126,18 @@ public class OpenmeetingsConfigPanel
         proxyPanel.add(lblProxy);
         proxyPanel.add(teProxy);        
 
+        JPanel RoomIDPanel = new TransparentPanel();
+        RoomIDPanel.setLayout(new BoxLayout(RoomIDPanel, 
+                BoxLayout.LINE_AXIS));
+        JLabel lblRoomID =
+            new JLabel(
+                OpenmeetingsPluginActivator.resourceService
+                    .getI18NString("plugin.openmeetings.ROOM_ID"));
+        lblRoomID.setPreferredSize(prefSize);
+        RoomIDPanel.setAlignmentX(LEFT_ALIGNMENT);
+        RoomIDPanel.add(lblRoomID);
+        RoomIDPanel.add(teRoomID);
+
         OpenmeetingsConfigManager cfg = 
OpenmeetingsConfigManager.getInstance();
         String serverUri = cfg.getServer();
         if (!serverUri.isEmpty())
@@ -115,9 +149,13 @@ public class OpenmeetingsConfigPanel
         teServer.setText(serverUri);
         teLogin.setText(OpenmeetingsConfigManager.getInstance().getLogin());
         tePassword.setText(OpenmeetingsConfigManager.getInstance()
-            .getPassword());
+                .getPassword());
+        tedisplayedName.setText(OpenmeetingsConfigManager.getInstance()
+                .getDisplayedName());
         teProxy.setText(OpenmeetingsConfigManager.getInstance()
-            .getProxy());
+                .getProxy());
+        teRoomID.setText(OpenmeetingsConfigManager.getInstance()
+                .getRoomID());
 
         JPanel buttonPanel = new TransparentPanel();
         buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
@@ -140,8 +178,12 @@ public class OpenmeetingsConfigPanel
         omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
         omPanel.add(passwordPanel);
         omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
+        omPanel.add(displayedNamePanel);
+        omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
         omPanel.add(proxyPanel);
         omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
+        omPanel.add(RoomIDPanel);
+        omPanel.add(Box.createRigidArea(new Dimension(20, 5)));
         omPanel.add(buttonPanel);
 
         add(omPanel, BorderLayout.PAGE_START);
@@ -178,6 +220,36 @@ public class OpenmeetingsConfigPanel
         return password;
     }
 
+    public void setDisplayedName(String displayedName)
+    {
+        this.displayedName = displayedName;
+    }
+
+    public String getDisplayedName()
+    {
+        return displayedName;
+    }
+
+    public void setProxy(String proxy)
+    {
+        this.proxy = proxy;
+    }
+
+    public String getProxy()
+    {
+        return proxy;
+    }
+
+    public void setRoomID(String RoomID)
+    {
+        this.RoomID = RoomID;
+    }
+
+    public String getRoomID()
+    {
+        return RoomID;
+    }
+
     private class ButtonOkListener
         implements ActionListener
     {
@@ -214,15 +286,11 @@ public class OpenmeetingsConfigPanel
             cfg.setProtoPrefix(protoPrefix);
             cfg.setOmUriContext(uriContext);
             cfg.setLogin(teLogin.getText());
-            cfg.setProxy(teProxy.getText());
-            try
-            {
-                cfg.setPassword(new String(tePassword.getPassword()));
-            }
-            catch (Exception e1)
-            {
-                logger.error(e1);
-            }
+            cfg.setDisplayedName(tedisplayedName.getText());
+            cfg.setProxy(proxy);
+            if (!cfg.setPassword(new String(tePassword.getPassword())))
+                logger.error("Cannot set password");
+            cfg.setRoomID(teRoomID.getText());
         }
     }
 

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginActivator.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginActivator.java?rev=1373784&r1=1373783&r2=1373784&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginActivator.java
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginActivator.java
 Thu Aug 16 10:41:00 2012
@@ -10,10 +10,14 @@ import java.util.*;
 import net.java.sip.communicator.impl.gui.event.PluginComponentEvent;
 import net.java.sip.communicator.impl.gui.main.contactlist.ContactListPane;
 import net.java.sip.communicator.plugin.otr.OtrActivator;
+import net.java.sip.communicator.service.credentialsstorage.*;
 import net.java.sip.communicator.service.gui.*;
 import net.java.sip.communicator.service.gui.internal.GuiServiceActivator;
-import net.java.sip.communicator.service.resources.ResourceManagementService;
+import net.java.sip.communicator.service.resources.*;
+import org.jitsi.service.resources.ResourceManagementService;
 import 
net.java.sip.communicator.service.resources.ResourceManagementServiceUtils;
+//import org.jitsi.service.resources.*;
+import org.jitsi.service.configuration.*;
 import net.java.sip.communicator.util.*;
 
 import org.osgi.framework.*;
@@ -28,6 +32,55 @@ public class OpenmeetingsPluginActivator
     Logger logger = Logger.getLogger(OpenmeetingsPluginActivator.class);
 
     /**
+     * Indicates if the openmeetings configuration form should be disabled, 
i.e.
+     * not visible to the user.
+     */
+    private static final String DISABLED_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.DISABLED";
+
+    /**
+     * Indicates the OpemMeetings server.
+     */
+    public static final String SERVER_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.SERVER";
+
+    /**
+     * Indicates the OpemMeetings protocol prefix.
+     */
+    public static final String PROTOCOL_PREFIX_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.PROTOCOL_PREFIX";
+
+    /**
+     * Indicates the OpemMeetings URI context.
+     */
+    public static final String OM_URI_CONTEXT_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.OM_URI_CONTEXT";
+
+    /**
+     * Indicates the OpemMeetings proxy.
+     */
+    public static final String PROXY_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.PROXY";
+
+    /**
+     * Indicates the OpemMeetings SOAP login user.
+     */
+    public static final String LOGIN_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.LOGIN";
+
+    /**
+     * If defined, use the display name instead of the login user name.
+     */
+    public static final String DISPLAYED_NAME_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.DISPLAYED_NAME";
+
+    /**
+     * If defined, use the OpenMeetings Room ID.
+     */
+    public static final String ROOM_ID_PROP
+        = "net.java.sip.communicator.plugin.openmeetings.ROOM_ID";
+
+    /**
      * Called when this bundle is started so the Framework can perform the
      * bundle-specific activities necessary to start this bundle. In the case 
of
      * our example plug-in we create our menu item and register it as a plug-in
@@ -54,13 +107,23 @@ public class OpenmeetingsPluginActivator
         Dictionary<String, String> properties = new Hashtable<String, 
String>();
         properties.put(ConfigurationForm.FORM_TYPE,
             ConfigurationForm.ADVANCED_TYPE);
+        if(!getConfigService().getBoolean(DISABLED_PROP, false))
+        {
         bc.registerService(
             ConfigurationForm.class.getName(),
             new LazyConfigurationForm(
                 
"net.java.sip.communicator.plugin.openmeetings.OpenmeetingsConfigPanel",
                 getClass().getClassLoader(), "plugin.skinmanager.PLUGIN_ICON",
                 "plugin.openmeetings.PLUGIN_NAME", 1002, true), properties);
-
+        }
+        
openMeetingsPlugin.setOMserver(getConfigService().getString(SERVER_PROP, ""));
+        
openMeetingsPlugin.setOMprotoPrefix(getConfigService().getString(PROTOCOL_PREFIX_PROP,
 ""));
+        
openMeetingsPlugin.setOMuriContext(getConfigService().getString(OM_URI_CONTEXT_PROP,
 ""));
+        openMeetingsPlugin.setOMproxy(getConfigService().getString(PROXY_PROP, 
""));
+        openMeetingsPlugin.setOMlogin(getConfigService().getString(LOGIN_PROP, 
""));
+        // ProvisioningService takes care of .PASSWORD
+        
openMeetingsPlugin.setOMdisplayedName(getConfigService().getString(DISPLAYED_NAME_PROP,
 ""));
+        
openMeetingsPlugin.setOMRoomID(getConfigService().getString(ROOM_ID_PROP, ""));
     }
 
     /**
@@ -72,4 +135,31 @@ public class OpenmeetingsPluginActivator
     {
 
     }
+
+    /**
+     * Returns a reference to a ConfigurationService implementation currently
+     * registered in the bundle context or null if no such implementation was
+     * found.
+     * 
+     * @return a currently valid implementation of the ConfigurationService.
+     */
+    public static ConfigurationService getConfigService()
+    {
+        return ServiceUtils.getService(bundleContext,
+            ConfigurationService.class);
+    }
+
+    /**
+     * Returns a reference to a CredentialsStorageService implementation
+     * currently registered in the bundle context or null if no such
+     * implementation was found.
+     * 
+     * @return a currently valid implementation of the
+     *         CredentialsStorageService.
+     */
+    public static CredentialsStorageService getCredService()
+    {
+        return ServiceUtils.getService(bundleContext,
+            CredentialsStorageService.class);
+    }
 }

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginMenuItem.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginMenuItem.java?rev=1373784&r1=1373783&r2=1373784&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginMenuItem.java
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/OpenmeetingsPluginMenuItem.java
 Thu Aug 16 10:41:00 2012
@@ -52,26 +52,21 @@ public class OpenmeetingsPluginMenuItem
     {
         Logger logger = Logger.getLogger(OpenmeetingsPluginActivator.class);
 
-        ServiceReference uiServiceRef = 
bc.getServiceReference(UIService.class.getName());
-        UIService uiService = (UIService) bc.getService(uiServiceRef);
-        Chat chat = uiService.getChat(metaContact.getDefaultContact());
-        chat.setChatVisible(true);
-
-        ProtocolProviderService jabberProvider = 
OpenmeetingsPluginMenuItem.getJabberProtocol(bc, logger);
-        if (jabberProvider == null)
-        {
-            return;
-        }
-
         String invitationUrl = null;
+        String inviterDisplayedName = OpenmeetingsConfigManager.getInstance().
+                getDisplayedName().trim();
+        if (inviterDisplayedName.length() == 0)
+            inviterDisplayedName = OpenmeetingsConfigManager.getInstance()
+                    .getLogin();
+
+        logger.info("getting invitation for inviter "
+            + inviterDisplayedName);
 
-        logger.info("getting invitation for "
-            + OpenmeetingsConfigManager.getInstance().getLogin());
         try
         {
             invitationUrl =
                 OpenmeetingsConfigManager.getInstance().getInvitationUrl(
-                    OpenmeetingsConfigManager.getInstance().getLogin());
+                    inviterDisplayedName);
         }
         catch (Exception e1)
         {
@@ -96,6 +91,17 @@ public class OpenmeetingsPluginMenuItem
             logger.info(e1.getMessage());
         }
 
+        ServiceReference uiServiceRef = 
bc.getServiceReference(UIService.class.getName());
+        UIService uiService = (UIService) bc.getService(uiServiceRef);
+        Chat chat = uiService.getChat(metaContact.getDefaultContact());
+        chat.setChatVisible(true);
+
+        ProtocolProviderService jabberProvider = 
OpenmeetingsPluginMenuItem.getJabberProtocol(bc, logger);
+        if (jabberProvider == null)
+        {
+            return;
+        }
+
         OperationSetBasicInstantMessaging basicInstMsgImpl = jabberProvider
                     .getOperationSet(OperationSetBasicInstantMessaging.class);
 
@@ -115,6 +121,70 @@ public class OpenmeetingsPluginMenuItem
     }
 
     /*
+     * Sets the OpenMeetings server.
+     */
+    public void setOMserver(String OMserver)
+    {
+        OpenmeetingsConfigManager.getInstance().setServer(OMserver);
+    }
+
+    /*
+     * Sets the OpenMeetings protocol prefix.
+     */
+    public void setOMprotoPrefix(String OMprotoPrefix)
+    {
+        OpenmeetingsConfigManager.getInstance().setProtoPrefix(OMprotoPrefix);
+    }
+
+    /*
+     * Sets the OpenMeetings URI context.
+     */
+    public void setOMuriContext(String OMuriContext)
+    {
+        OpenmeetingsConfigManager.getInstance().setOmUriContext(OMuriContext);
+    }
+
+    /*
+     * Sets the OpenMeetings URI context.
+     */
+    public void setOMproxy(String OMproxy)
+    {
+        OpenmeetingsConfigManager.getInstance().setProxy(OMproxy);
+    }
+
+    /*
+     * Sets the OpenMeetings SOAP login username.
+     */
+    public void setOMlogin(String OMlogin)
+    {
+        OpenmeetingsConfigManager.getInstance().setLogin(OMlogin);
+    }
+
+    /*
+     * Sets the OpenMeetings SOAP login user password.
+     */
+    public void setOMpassword(String OMpassword)
+    {
+        OpenmeetingsConfigManager.getInstance().setPassword(OMpassword);
+    }
+
+    /*
+     * Sets the name to display for the user who invites others to a 
conference.
+     */
+    public void setOMdisplayedName(String displayedName)
+    {
+        
OpenmeetingsConfigManager.getInstance().setDisplayedName(displayedName);
+    }
+
+    /*
+     * Sets the conference room ID.
+     */
+    public void setOMRoomID(String RoomID)
+    {
+        OpenmeetingsConfigManager.getInstance().setRoomID(RoomID);
+    }
+
+    /*
      * Implements PluginComponent#getComponent().
      */
     public Object getComponent()

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=1373784&r1=1373783&r2=1373784&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 Aug 16 10:41:00 2012
@@ -87,21 +87,23 @@ public class OpenmeetingsPluginSoapClien
         final String textContent = 
soapResponseBody.getFirstChild().getTextContent();
         if (!textContent.equals("1"))
             JOptionPane.showMessageDialog(null,
-                OpenmeetingsPluginActivator.resourceService
-                    .getI18NString("plugin.openmeetings.ERROR_LOGIN_MSG"));
+                    OpenmeetingsPluginActivator.resourceService
+                    .getI18NString("plugin.openmeetings.ERROR_LOGIN_MSG") 
+                    + " - Reason: " + this.getErrorCode(sid, textContent));
 
         return textContent;
     }
 
     public String getInvitationHash(final String username,
-        final String password, final String displayedName) throws Exception
+        final String password, final String displayedName, final String RoomID)
+            throws Exception
     {
         final SOAPMessage soapMessage = getSoapMessage();
         final SOAPBody soapBody = soapMessage.getSOAPBody();
         final SOAPElement requestElement =
             soapBody.addChildElement("getInvitationHash", NAMESPACE_PREFIX);
 
-        logger.info(username + ":" + password + ":" + displayedName);
+        logger.info(username + ":" + displayedName);
 
         String sid = getSID(username, password);
         String error_id = null;
@@ -120,7 +122,18 @@ public class OpenmeetingsPluginSoapClien
             return null;
         }
 
-        String room_id = getAvailableRooms(sid);
+        String room_id = RoomID;
+        if ((room_id == null) || (room_id.trim().isEmpty()))
+            room_id = getAvailableRooms(sid);
+        if (room_id == null)
+        {
+            logger.error("No rooms available in openmeetings");
+            return null;
+        } else
+        {
+            room_id = room_id.trim();
+            logger.info("Found openmeetings conference room ID " + room_id);
+        }
 
         requestElement.addChildElement("SID", NAMESPACE_PREFIX)
             .addTextNode(sid);
@@ -150,6 +163,8 @@ public class OpenmeetingsPluginSoapClien
 
         final SOAPBody soapResponseBody = getSOAPResponseBody(soapMessage, 
getJabberServiceUrl());
         final Node getFirstRoomResult = 
soapResponseBody.getFirstChild().getFirstChild();
+        if (getFirstRoomResult == null)
+            return null;
 
         String rooms_id = new String();
         final NodeList childNodes = getFirstRoomResult.getChildNodes();

Modified: 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/openmeetingsplugin.manifest.mf
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/openmeetingsplugin.manifest.mf?rev=1373784&r1=1373783&r2=1373784&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/openmeetingsplugin.manifest.mf
 (original)
+++ 
incubator/openmeetings/trunk/plugins/jitsi/src/net/java/sip/communicator/plugin/openmeetings/openmeetingsplugin.manifest.mf
 Thu Aug 16 10:41:00 2012
@@ -11,6 +11,10 @@ Import-Package: org.osgi.framework,
  net.java.sip.communicator.service.gui.event,
  net.java.sip.communicator.service.protocol,
  net.java.sip.communicator.service.resources,
+ net.java.sip.communicator.service.credentialsstorage,
+ org.jitsi.service.configuration,
+ org.jitsi.service.libjitsi,
+ org.jitsi.service.resources,
  net.java.sip.communicator.util,
  net.java.sip.communicator.util.swing,
  javax.swing,
@@ -31,7 +35,6 @@ Import-Package: org.osgi.framework,
  javax.xml.transform,
  javax.xml.transform.stream,
  org.w3c.dom,
- net.java.sip.communicator.service.configuration,
  javax.crypto,
  javax.crypto.spec,
  sun.misc


Reply via email to