Revision: 2823
Author: seba.wagner
Date: Thu Jan 21 07:54:24 2010
Log: Update Issue 1094
Save, Update and Form for Sip-User Data
http://code.google.com/p/openmeetings/source/detail?r=2823

Added:
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/dao/UserSipDataDaoImpl.java
Modified:
/trunk/singlewebapp/WebContent/openmeetings/modules/admin/useradmin/userAdminValueForm.lzx
 /trunk/singlewebapp/src/app/logback.xml
/trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java /trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java /trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java
 /trunk/singlewebapp/src/app/org/openmeetings/app/remote/UserService.java
 /trunk/singlewebapp/src/test/org/openmeetings/test/basic/StartUpData.java
 /trunk/singlewebapp/src/test/org/openmeetings/test/init/Addadminuser.java

=======================================
--- /dev/null
+++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/user/dao/UserSipDataDaoImpl.java Thu Jan 21 07:54:24 2010
@@ -0,0 +1,104 @@
+package org.openmeetings.app.data.user.dao;
+
+import java.util.Date;
+
+import org.hibernate.HibernateException;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.openmeetings.app.hibernate.beans.user.UserSipData;
+import org.openmeetings.app.hibernate.utils.HibernateUtil;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+public class UserSipDataDaoImpl {
+
+ private static final Logger log = Red5LoggerFactory.getLogger(UserSipDataDaoImpl.class, "openmeetings");
+
+       private static UserSipDataDaoImpl instance = null;
+
+
+       private UserSipDataDaoImpl() {
+       }
+
+       public static synchronized UserSipDataDaoImpl getInstance() {
+               if (instance == null) {
+                       instance = new UserSipDataDaoImpl();
+               }
+               return instance;
+       }
+
+       public UserSipData getUserSipDataById(Long userSipDataId) {
+               try {
+
+ String hql = "select c from UserSipData as c where c.userSipDataId = :userSipDataId";
+
+                       Object idf = HibernateUtil.createSession();
+                       Session session = HibernateUtil.getSession();
+                       Transaction tx = session.beginTransaction();
+                       Query query = session.createQuery(hql);
+                       query.setLong("userSipDataId", userSipDataId);
+                       UserSipData userSipData = (UserSipData) 
query.uniqueResult();
+                       tx.commit();
+                       HibernateUtil.closeSession(idf);
+
+                       return userSipData;
+               } catch (HibernateException ex) {
+                       log.error("getUser",ex);
+               } catch (Exception ex2) {
+                       log.error("getUser",ex2);
+               }
+               return null;
+       }
+
+       public Long addUserSipData(UserSipData userSipData) {
+               try {
+
+                       if (userSipData == null) {
+                               return null;
+                       }
+
+                       userSipData.setInserted(new Date());
+
+                       Object idf = HibernateUtil.createSession();
+                       Session session = HibernateUtil.getSession();
+                       Transaction tx = session.beginTransaction();
+                       Long userSipDataId = (Long) session.save(userSipData);
+                       tx.commit();
+                       HibernateUtil.closeSession(idf);
+
+                       return userSipDataId;
+               } catch (HibernateException ex) {
+                       log.error("[addUserSipData] ",ex);
+               } catch (Exception ex2) {
+                       log.error("[addUserSipData] ",ex2);
+               }
+               return null;
+       }
+
+       public Long updateUserSipData(UserSipData userSipData) {
+               try {
+
+                       if (userSipData == null) {
+                               return null;
+                       }
+
+                       userSipData.setUpdated(new Date());
+
+                       Object idf = HibernateUtil.createSession();
+                       Session session = HibernateUtil.getSession();
+                       Transaction tx = session.beginTransaction();
+                       session.update(userSipData);
+                       tx.commit();
+                       HibernateUtil.closeSession(idf);
+
+                       return userSipData.getUserSipDataId();
+               } catch (HibernateException ex) {
+                       log.error("[updateUserSipData] ",ex);
+               } catch (Exception ex2) {
+                       log.error("[updateUserSipData] ",ex2);
+               }
+               return null;
+       }
+
+}
=======================================
--- /trunk/singlewebapp/WebContent/openmeetings/modules/admin/useradmin/userAdminValueForm.lzx Fri Nov 13 03:16:33 2009 +++ /trunk/singlewebapp/WebContent/openmeetings/modules/admin/useradmin/userAdminValueForm.lzx Thu Jan 21 07:54:24 2010
@@ -36,6 +36,9 @@
         this.adress_comment.setAttribute('text','');
         this.status.selectItem(String('1'));
         this._organisationslist.clearList();
+        this.sip_user.setAttribute('text','');
+        this.sip_pass.setAttribute('text','');
+        this.sip_auth.setAttribute('text','');
        </handler>

     <handler name="ondelete" >
@@ -80,6 +83,16 @@
                        for (var i=0;i<obj.organisation_users.length;i++){
this._organisationslist.addItem(obj.organisation_users[i].organisation.name,obj.organisation_users[i].organisation.organisation_id);
                        }
+
+                       if (obj.userSipData != null) {
+                               
this.sip_user.setAttribute('text',obj.userSipData.username);
+                       
this.sip_pass.setAttribute('text',obj.userSipData.userpass);
+                       
this.sip_auth.setAttribute('text',obj.userSipData.authId);
+                       } else {
+                               this.sip_user.setAttribute('text','');
+                       this.sip_pass.setAttribute('text','');
+                       this.sip_auth.setAttribute('text','');
+                       }
         ]]>
     </method>

@@ -140,6 +153,9 @@
                        this.sendObject["title_id"] = 
Number(this.parent.salutation.getValue());
this.sendObject["organisations"] = this.parent._organisationslist.getAllItems();

+                       this.sendObject["sip_user"] = 
this.parent.sip_user.getText();
+                       this.sendObject["sip_pass"] = 
this.parent.sip_pass.getText();
+                       this.sendObject["sip_auth"] = 
this.parent.sip_auth.getText();

                        if ($debug) Debug.write("prepareCall: 
",this.sendObject);
                </method>
@@ -259,6 +275,7 @@
                //if (this.user_id!=0)
new lz.chooseOrganisationWindow(canvas.main_content._content.inner,{refObj:this,item_id:this.user_id});
        </method>
+
<baseChooseIcon resourceN="button_cancel_rsc" labelid="176" y="542" x="430" onclick="new lz.confirmDeleteWindow(canvas.main_content._content.inner,{refObj:this});" >
                <method name="confirmDelete">
@@ -266,8 +283,30 @@
for (var i in this.parent._organisationslist._selected) this.parent._organisationslist.removeItem(this.parent._organisationslist._selected[i].value);
                </method>
        </baseChooseIcon>
-
-
+
+    <!--Moderated -->
+    <labelText labelid="883" width="200" y="650" resize="false"
+               x="0" fontstyle="bold" />
+
+    <view resource="messagebox_info_rsc" x="0" y="670" />
+
+    <labelText labelid="884" x="24" y="670"  fontstyle="italic"
+               multiline="true" width="364" />
+
+    <labelText labelid="885" width="200" y="730" resize="false" x="2"/>
+        <customEdittext name="sip_user" y="730" x="120" width="270"
+                                       text="" />
+
+       <labelText labelid="886" width="200" y="760" resize="false" x="2"/>
+        <customEdittext name="sip_pass" y="760" x="120" width="270"
+                                       text="" />
+
+    <labelText labelid="887" width="200" y="790" resize="false" x="2"/>
+        <customEdittext name="sip_auth" y="790" x="120" width="270"
+                                       text="" />
+
+       <view y="850" />
+
 </class>

 </library>
=======================================
--- /trunk/singlewebapp/src/app/logback.xml     Thu Jan 21 05:58:03 2010
+++ /trunk/singlewebapp/src/app/logback.xml     Thu Jan 21 07:54:24 2010
@@ -48,7 +48,7 @@
                </layout>
        </appender>
        <root>
-               <level value="ERROR" />
+               <level value="DEBUG" />
                <appender-ref ref="CONSOLE" />
                <appender-ref ref="FILE" />
                <appender-ref ref="ERRORFILE" />
@@ -150,10 +150,6 @@
        <logger name="org.red5.server.webapp.oflaDemo">
                <level value="WARN" />
        </logger>
-
-       <logger name="org.openmeetings">
-        <level value="DEBUG" />
-    </logger>

        <!-- Mina -->
        <logger name="org.apache.mina">
@@ -278,6 +274,9 @@
     <logger name="org.openmeetings">
         <level value="DEBUG"/>
     </logger>
+    <logger name="org.openlaszlo">
+        <level value="DEBUG"/>
+    </logger>
     <logger name="org.apache.axis2">
         <level value="ERROR"/>
     </logger>
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java Fri Nov 20 07:07:23 2009 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/user/Usermanagement.java Thu Jan 21 07:54:24 2010
@@ -19,12 +19,14 @@
 import org.openmeetings.app.data.basic.Fieldmanagment;
 import org.openmeetings.app.data.basic.Sessionmanagement;
 import org.openmeetings.app.data.beans.basic.SearchResult;
+import org.openmeetings.app.data.user.dao.UserSipDataDaoImpl;
 import org.openmeetings.app.data.user.dao.UsersDaoImpl;
 import org.openmeetings.app.hibernate.beans.adresses.Adresses;
 import org.openmeetings.app.hibernate.beans.basic.Sessiondata;
 import org.openmeetings.app.hibernate.beans.domain.Organisation_Users;
 import org.openmeetings.app.hibernate.beans.lang.Fieldlanguagesvalues;
 import org.openmeetings.app.hibernate.beans.recording.RoomClient;
+import org.openmeetings.app.hibernate.beans.user.UserSipData;
 import org.openmeetings.app.hibernate.beans.user.Userdata;
 import org.openmeetings.app.hibernate.beans.user.Userlevel;
 import org.openmeetings.app.hibernate.beans.user.Users;
@@ -459,11 +461,12 @@
Date age, String street, String additionalname, String zip, long states_id, String town,
                        int availible, String telefon, String fax,
String mobil, String email, String comment, int status, List organisations,
-                       int title_id, String phone) {
+ int title_id, String phone, String sip_user, String sip_pass, String sip_auth) {

if (AuthLevelmanagement.getInstance().checkUserLevel(user_level) && user_id != 0) {
                        try {
                                Users us = 
UsersDaoImpl.getInstance().getUser(user_id);
+
                                // Check for duplicates
                                boolean checkName = true;

@@ -489,7 +492,7 @@
                                        us.setAvailible(availible);
                                        us.setStatus(status);
                                        us.setTitle_id(title_id);
-
+
                                        if (level_id != 0)
                                                us.setLevel_id(new 
Long(level_id));
                                        if (password.length() != 0) {
@@ -509,7 +512,33 @@
Organisationmanagement.getInstance().updateUserOrganisationsByUser(us, organisations);
                                        }

-//                                     log.info("USER " + us.getLastname());
+
+                                       if (us.getUserSipData() == null) {
+                                               UserSipData userSipData = new 
UserSipData();
+
+                                               
userSipData.setUsername(sip_user);
+                                               
userSipData.setUserpass(sip_pass);
+                                               userSipData.setAuthId(sip_auth);
+
+ Long userSipDataId = UserSipDataDaoImpl.getInstance().addUserSipData(userSipData);
+
+ us.setUserSipData(UserSipDataDaoImpl.getInstance().getUserSipDataById(userSipDataId));
+
+                                       } else {
+
+ UserSipData userSipData = UserSipDataDaoImpl.getInstance().getUserSipDataById(us.getUserSipData().getUserSipDataId());
+
+                                               
userSipData.setUsername(sip_user);
+                                               
userSipData.setUserpass(sip_pass);
+                                               userSipData.setAuthId(sip_auth);
+
+                                               
UserSipDataDaoImpl.getInstance().updateUserSipData(userSipData);
+
+                                               us.setUserSipData(userSipData);
+
+                                       }
+
+                                       //log.info("USER " + us.getLastname());
                                        Object idf = 
HibernateUtil.createSession();
                                        Session session = 
HibernateUtil.getSession();
                                        Transaction tx = 
session.beginTransaction();
@@ -820,10 +849,13 @@
                                if (baseURL.length() != 0 && 
sendEmailWithVerficationCode == 1) {
                                        sendConfirmation = true;
                                }
+
+                               //TODO: Read and generate SIP-Data via 
RPC-Interface Issue 1098

Long user_id = this.registerUserInit(3, 1, 0, 1, login, Userpass,lastname, firstname, email, age,
                                                                                
street, additionalname,fax, zip, states_id, town,
- language_id, true, new LinkedList(), phone, baseURL, sendConfirmation);
+                                                                               
language_id, true, new LinkedList(), phone, baseURL,
+                                                                               
sendConfirmation,"","","");

                                // Get the default organisation_id of 
registered users
                                if (user_id>0){
@@ -873,7 +905,8 @@
                        String firstname, String email, Date age, String street,
                        String additionalname, String fax, String zip, long 
states_id,
                        String town, long language_id, boolean 
sendWelcomeMessage,
- List organisations, String phone, String baseURL, Boolean sendConfirmation) throws Exception { + List organisations, String phone, String baseURL, Boolean sendConfirmation,
+                       String sip_user, String sip_pass, String sip_auth) 
throws Exception {
                //TODO: make phone number persistent
                // User Level must be at least Admin
                // Moderators will get a temp update of there UserLevel to add 
Users to
@@ -904,7 +937,9 @@
                                                status = 0;
                                        }

- Long user_id = this.addUser(level_id, availible, status,firstname, login, lastname, language_id, Userpass,address_id, age, hash); + Long user_id = this.addUser(level_id, availible, status,firstname, login, lastname, language_id,
+                                                                       
Userpass,address_id, age, hash,
+                                                                       
sip_user, sip_pass, sip_auth);
                                        if (user_id==null) {
                                                return new Long(-111);
                                        }
@@ -958,7 +993,8 @@
         */
        public Long addUser(long level_id, int availible, int status,
                        String firstname, String login, String lastname, long 
language_id,
-                       String userpass, long adress_id, Date age, String hash) 
{
+                       String userpass, long adress_id, Date age, String hash,
+                       String sip_user, String sip_pass, String sip_auth) {
                try {
                        Users users = new Users();
                        users.setFirstname(firstname);
@@ -975,6 +1011,16 @@
                        users.setStarttime(new Date());
                        users.setActivatehash(hash);

+                       UserSipData userSipData = new UserSipData();
+
+                       userSipData.setUsername(sip_user);
+                       userSipData.setUserpass(sip_pass);
+                       userSipData.setAuthId(sip_auth);
+
+ Long userSipDataId = UserSipDataDaoImpl.getInstance().addUserSipData(userSipData);
+
+ users.setUserSipData(UserSipDataDaoImpl.getInstance().getUserSipDataById(userSipDataId));
+
                        // this is needed cause the language is not a needed 
data at
                        // registering
                        if (language_id != 0) {
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java Sat Jan 9 11:15:10 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/installation/ImportInitvalues.java Thu Jan 21 07:54:24 2010
@@ -335,7 +335,8 @@
                        Long user_id = 
Usermanagement.getInstance().registerUserInit(
                                        new Long(3), 3, 1, 1, username, userpass, 
"lastname",
                                        "firstname", email, new java.util.Date(), 
"street", "no",
-                                       "fax", "zip", 1, "town", 0, false, null, "phone", 
"", false);
+                                       "fax", "zip", 1, "town", 0, false, null, "phone", 
"", false,
+                                       "","","");

                        log.debug("Installation - User Added user-Id "+user_id);

=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java Fri Dec 4 04:17:12 2009 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/ldap/LdapLoginManagement.java Thu Jan 21 07:54:24 2010
@@ -462,6 +462,9 @@
                Long newUserId = null;

                try{
+
+                       //CHeck if LDAP Users get a SIP Account Issue 1099
+
                        newUserId= 
Usermanagement.getInstance().registerUserInit(
                                2,//user_level
                                1,//level_id
@@ -484,7 +487,9 @@
                                null,
                                phone,
                                "",//BaseURL is empty as we do not send an 
Email here
-                               false);//send verification code
+                               false,//send verification code
+                               "","",""//sip_user, sip_pass, sip_auth
+                               );
                }catch(Exception e){
                        log.error("Error creating user : " + e.getMessage());
                }
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/remote/UserService.java Mon Oct 26 08:27:13 2009 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/remote/UserService.java Thu Jan 21 07:54:24 2010
@@ -294,7 +294,11 @@
Long.valueOf(argObjectMap.get("states_id").toString()).longValue(), argObjectMap.get("town").toString(),
                                        0,
                                        true,
-                                       organisations, 
argObjectMap.get("phone").toString(),"",false);
+                                       organisations, 
argObjectMap.get("phone").toString(),
+                                       "",false,
+                                       argObjectMap.get("sip_user").toString(),
+                                       argObjectMap.get("sip_pass").toString(),
+                                       
argObjectMap.get("sip_auth").toString());
                } else {
return Usermanagement.getInstance().updateUser(user_level,user_idClient, Long.valueOf(argObjectMap.get("level_id").toString()).longValue(), argObjectMap.get("login").toString(),
@@ -309,7 +313,11 @@
Integer.valueOf(argObjectMap.get("status").toString()).intValue(),
                                        organisations,
Integer.valueOf(argObjectMap.get("title_id").toString()).intValue(),
-                                       argObjectMap.get("phone").toString());
+                                       argObjectMap.get("phone").toString(),
+                                       argObjectMap.get("sip_user").toString(),
+                                       argObjectMap.get("sip_pass").toString(),
+                                       argObjectMap.get("sip_auth").toString()
+                                       );
                }
        } catch (Exception ex) {
                log.error("[saveOrUpdateUser]: ",ex);
=======================================
--- /trunk/singlewebapp/src/test/org/openmeetings/test/basic/StartUpData.java Mon Oct 12 02:56:03 2009 +++ /trunk/singlewebapp/src/test/org/openmeetings/test/basic/StartUpData.java Thu Jan 21 07:54:24 2010
@@ -56,7 +56,8 @@
Long user_id = Usermanagement.getInstance().registerUserInit(new Long(3),3, 1, 1,
                                "swagner", "test", "lastname", "firstname",
                                "[email protected]", new java.util.Date(), "street", 
"no", "fax",
-                               "zip", 1, "town", 0, false, null, "phone", "", 
false);
+                               "zip", 1, "town", 0, false, null, "phone", "", 
false,
+                               "","","");

                //Add default group
Long organisation_id = Organisationmanagement.getInstance().addOrganisation("default", user_id);
=======================================
--- /trunk/singlewebapp/src/test/org/openmeetings/test/init/Addadminuser.java Fri Nov 13 07:33:01 2009 +++ /trunk/singlewebapp/src/test/org/openmeetings/test/init/Addadminuser.java Thu Jan 21 07:54:24 2010
@@ -22,7 +22,9 @@
//(long user_level,String login, String Userpass, String lastname, String firstname, String email, int age, String street, String additionalname, String fax, String zip, long states_id, String town, long language_id) long user_id = Usermanagement.getInstance().registerUserInit(new Long(3), 3, 1, 1, "swagner4", "*****", "Wagner",
                                "Sebastian", "[email protected]", new 
java.util.Date(),
- "Bleichstrasse", "92", "fax number", "75173", 1, "Pforzheim", 1, true, null, "phone", "", false);
+                               "Bleichstrasse", "92", "fax number", "75173", 1, 
"Pforzheim", 1,
+                               true, null, "phone", "", false,
+                               "","","");

                log.error("new User: "+user_id);
        }
-- 
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.


Reply via email to