Author: solomax
Date: Thu Dec 24 14:40:33 2015
New Revision: 1721629

URL: http://svn.apache.org/viewvc?rev=1721629&view=rev
Log:
[OPENMEETINGS-1305] PHP RESR API tested to work as expected; red5, wicket, 
wicketstuff, ldap-api libraries are updated; code clean-up

Removed:
    openmeetings/application/branches/3.1.x/openmeetings-core/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-db/src/site/
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/vslider.lzx
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-install/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-service/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-util/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-web/src/site/
    openmeetings/application/branches/3.1.x/openmeetings-webservice/src/site/
Modified:
    openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml
    openmeetings/application/branches/3.1.x/openmeetings-core/src/   (props 
changed)
    openmeetings/application/branches/3.1.x/openmeetings-db/src/   (props 
changed)
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
    openmeetings/application/branches/3.1.x/openmeetings-flash/src/   (props 
changed)
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/changeWidthSlider.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/library.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/volumeSlider.lzx
    openmeetings/application/branches/3.1.x/openmeetings-install/src/   (props 
changed)
    openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/   
(props changed)
    openmeetings/application/branches/3.1.x/openmeetings-server/pom.xml
    
openmeetings/application/branches/3.1.x/openmeetings-server/src/site/xdoc/BitrixPlugin.xml
    openmeetings/application/branches/3.1.x/openmeetings-service/src/   (props 
changed)
    
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
    openmeetings/application/branches/3.1.x/openmeetings-util/src/   (props 
changed)
    
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
    
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
    openmeetings/application/branches/3.1.x/openmeetings-web/src/   (props 
changed)
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
    openmeetings/application/branches/3.1.x/openmeetings-webservice/src/   
(props changed)
    openmeetings/application/branches/3.1.x/pom.xml
    openmeetings/application/trunk/README
    openmeetings/application/trunk/openmeetings-core/pom.xml
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
    
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
    
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
    
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
    
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
    openmeetings/application/trunk/pom.xml

Modified: openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-core/pom.xml Thu Dec 
24 14:40:33 2015
@@ -129,7 +129,7 @@
                <dependency>
                        <groupId>org.apache.directory.api</groupId>
                        <artifactId>api-all</artifactId>
-                       <version>1.0.0-M32</version>
+                       <version>1.0.0-M33</version>
                </dependency>
        </dependencies>
 </project>

Propchange: openmeetings/application/branches/3.1.x/openmeetings-core/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Propchange: openmeetings/application/branches/3.1.x/openmeetings-db/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 Thu Dec 24 14:40:33 2015
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.db
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 import java.util.Collection;
 import java.util.Date;
@@ -233,7 +234,7 @@ public class UserDao implements IDataPro
        // FetchType is Lazy, this extra hook here might be not needed with a
        // different mechanism to protect the password from being read
        // sebawagner, 01.10.2012
-       public User update(User user, String password, long updatedBy) throws 
NoSuchAlgorithmException {
+       public User update(User user, String password, long updatedBy) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                User u = update(user, updatedBy);
                if (password != null && !password.isEmpty()) {
                        //OpenJPA is not allowing to set fields not being 
fetched before
@@ -633,7 +634,7 @@ public class UserDao implements IDataPro
        public User addUser(Set<Right> rights, String firstname, String login, 
String lastname, long languageId,
                        String userpass, Address adress, boolean sendSMS, Date 
age, String hash, TimeZone timezone,
                        Boolean forceTimeZoneCheck, String userOffers, String 
userSearchs, Boolean showContactData,
-                       Boolean showContactDataToContacts, String externalId, 
String externalType, List<GroupUser> orgList, String pictureuri) throws 
NoSuchAlgorithmException {
+                       Boolean showContactDataToContacts, String externalId, 
String externalType, List<GroupUser> orgList, String pictureuri) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                
                User u = new User();
                u.setFirstname(firstname);

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 Thu Dec 24 14:40:33 2015
@@ -21,10 +21,10 @@ package org.apache.openmeetings.db.dto.r
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.io.Serializable;
-import java.security.NoSuchAlgorithmException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.UUID;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -35,7 +35,6 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User.Type;
-import org.apache.openmeetings.util.crypt.MD5;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -161,14 +160,7 @@ public class InvitationDTO implements Se
        
        public Invitation get(Long userId, UserDao userDao, RoomDao roomDao) {
                Invitation i = new Invitation();
-               String hashRaw = "HASH" + (System.currentTimeMillis());
-               try {
-                       i.setHash(MD5.do_checksum(hashRaw));
-               } catch (NoSuchAlgorithmException e) {
-                       //FIXME TODO need to throw other exception
-                       log.error("Unexpected error while creating invitation", 
e);
-                       throw new RuntimeException(e);
-               }
+               i.setHash(UUID.randomUUID().toString());
                i.setPasswordProtected(passwordProtected);
                if (passwordProtected) {
                        
i.setPassword(ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(password));

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
 Thu Dec 24 14:40:33 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.db.entit
 
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.Date;
@@ -386,11 +387,11 @@ public class User implements IDataProvid
                this.login = login;
        }
 
-       public void updatePassword(ConfigurationDao configDao, String pass) 
throws NoSuchAlgorithmException {
+       public void updatePassword(ConfigurationDao configDao, String pass) 
throws NoSuchAlgorithmException, UnsupportedEncodingException {
                updatePassword(configDao, pass, false);
        }
        
-       public void updatePassword(ConfigurationDao configDao, String pass, 
boolean empty) throws NoSuchAlgorithmException {
+       public void updatePassword(ConfigurationDao configDao, String pass, 
boolean empty) throws NoSuchAlgorithmException, UnsupportedEncodingException {
                if (!empty) {
                        if (invalidPassword(pass, configDao)) {
                                throw new RuntimeException("Password of invalid 
length is provided");

Propchange: openmeetings/application/branches/3.1.x/openmeetings-flash/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/changeWidthSlider.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/changeWidthSlider.lzx?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/changeWidthSlider.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/changeWidthSlider.lzx
 Thu Dec 24 14:40:33 2015
@@ -20,149 +20,143 @@
 -->
 <library>  
 
-<class name="changeWidthSlider" extends="basePropertySelector" 
bgcolor="0xFFFFFF" width="60" height="24">
+       <class name="changeWidthSlider" extends="basePropertySelector" 
bgcolor="0xFFFFFF" width="60" height="24">
+       
+               <attribute name="numberAlign" value="right" type="string" />
+               <attribute name="minimum" type="number" value="1" />
+               <attribute name="maximum" type="number" value="100" />
+               <attribute name="step" value="1" type="number" />
+               <attribute name="initialNumberInit" value="1" type="number" />
+               <attribute name="initialNumber" value="3" type="number" />
+       
+               <attribute name="boxPosition" value="down" type="string" />
+       
+               <attribute name="labelid" value="429" type="number" />
+       
+               <event name="onplus" />
+               <event name="onminus" />
+       
+               <handler name="oninit">
+                       this.initialNumberInit=initialNumber;
+               </handler>
+       
+               <method name="getValue">
+                       return this.initialNumber;
+               </method>
+       
+               <method name="setSliderValue" args="v">
+                       this.initialNumber = v;
+                       
this.numericValue.setAttribute('tempValue',this.initialNumber);
+                       
this.numericValue.setAttribute('text',this.initialNumber);
+                       if ($debug) Debug.write("setSliderValue ",v);
+                       this.setEnabled(true);
+               </method>
+       
+               <edittext name="numericValue" width="34" height="24" 
text="$once{ parent.initialNumber }">
+                       <attribute name="tempValue" value="$once{ 
parent.initialNumber }" type="number" />
+                       <handler name="onfocus">
+                               this.tempValue = Number(this.getText());
+                       </handler>
+                       <handler name="onblur">
+                       <![CDATA[
+                               var t = parseInt(this.getText());
+                               if (isNaN(t) || t > this.parent.maximum || t < 
this.parent.minimum){
+                                       t = this.tempValue;
+                                       this.setAttribute('text',t);
+                                       lz.Focus.setFocus(this);
+                               } else {
+                                       this.tempValue = t;
+                                       parent.setAttribute('initialNumber',t);
+                               }
+                       ]]>
+                       </handler>
+               </edittext>
+       
+       
+               <button name="arrowView" x="36" width="24" y="1" height="23">
+                       <view name="arrow_down_slider" 
resource="arrow_down_slider_rsc" x="4" y="3" />
+                       <handler name="onclick">
+                               if (this.parent.boxPosition=="up"){
+                               var pick = new lz.changeWidthSliderWin(canvas,{
+                               initialNumber:parent.numericValue.tempValue,
+                               
btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+                               maxvalue:parent.maximum,
+                               
y:(parent.getAttributeRelative('y',canvas)-140+parent.height)
+                               });
+                               } else {
+                               var pick = new lz.changeWidthSliderWin(canvas,{
+                               initialNumber:parent.numericValue.tempValue,
+                               
btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
+                               maxvalue:parent.maximum,
+                               y:(parent.getAttributeRelative('y',canvas))
+                               });
+                               }
+                               lz.ModeManager.makeModal( pick );
+                       </handler>
+                       <labelTooltip labelid="$once{ parent.parent.labelid }" 
/>
+               </button>
+       
+       </class>
+
+       <class name="closableView" extends="view">
+               <method name="close">
+                       lz.ModeManager.release(this);
+                       this.destroy();
+               </method>
+       </class>
+
+       <class name="changeWidthSliderWin" extends="closableView" 
bgcolor="white" clickable="true" width="58" height="140">
+
+               <attribute name="btnRef" value="null" />
+               <attribute name="initialNumber" value="3" type="number" />
+               <attribute name="maxvalue" value="100" type="number" />
+
+               <!--- @keywords private -->
+               <method name="passModeEvent" args="eventStr,view"> 
+               <![CDATA[
+                       if (eventStr == "onmousedown"){
+                               if (null != view) {
+                                  if ( !view.childOf(this) ) {
+                                               this.close();
+                                  }
+                               } else {
+                                       this.close();
+                               }
+                       }
+                       if (view && view.childOf(this)) {
+                               if (view[ eventStr ]) {
+                                       view[ eventStr ].sendEvent( view );
+                               }
+                               return false;
+                       }
+                       return true;
+               ]]>
+               </method>
+
+               <view bgcolor="$once{ 
canvas.getThemeColor('baseMousecolorizer') }" width="58" height="138" x="1" 
y="1" />
+
+               <vslider name="_slider" height="120" y="10" x="10" minvalue="1" 
maxvalue="$once{ parent.maxvalue }" initvalue="$once{ parent.initialNumber }"
+                       showrange="false" showvalue="true">
+                       <handler name="onvalue" args="v">
+                               //if ($debug) Debug.write("onvalue",v);
+                               parent.btnRef.numericValue.tempValue = 
Number(v);
+                               
parent.btnRef.numericValue.setAttribute('text',v);
+                               parent.btnRef.setAttribute('initialNumber',v);
+                       </handler>
+                       <handler name="onvalueChosenFinal">
+                               parent.close();
+                       </handler>
+               </vslider>
+
+               <view name="_close" x="$once{ parent.width-this.width-2 }" 
y="2" resource="btn_presenter_close" onmouseover="this.setAttribute('frame',2)"
+                       onmouseout="this.setAttribute('frame',1)" 
onmousedown="this.setAttribute('frame',3)" 
onmouseup="this.setAttribute('frame',1)">
+                       <handler name="onclick">
+                               this.setAttribute('frame',2);
+                               this.parent.close();
+                       </handler>
+                       <labelTooltip labelid="430" />
+               </view>
 
-    <attribute name="numberAlign" value="right" type="string"/>
-    <attribute name="minimum" type="number" value="1" />
-    <attribute name="maximum" type="number" value="100" />
-    <attribute name="step" value="1" type="number"/>
-    <attribute name="initialNumberInit" value="1" type="number"/>
-    <attribute name="initialNumber" value="3" type="number"/>
-    
-    <attribute name="boxPosition" value="down" type="string"/>
-    
-    <attribute name="labelid" value="429" type="number"/>
-    
-    <event name="onplus" />
-    <event name="onminus" />
-    
-    <handler name="oninit">
-        this.initialNumberInit=initialNumber;
-    </handler>
-    
-    <method name="getValue">
-        return this.initialNumber;
-    </method>
-    
-    <method name="setSliderValue" args="v">
-       this.initialNumber = v;
-       this.numericValue.setAttribute('tempValue',this.initialNumber);
-       this.numericValue.setAttribute('text',this.initialNumber);
-       if ($debug) Debug.write("setSliderValue ",v);
-       this.setEnabled(true);
-    </method>
-
-    <edittext name="numericValue" width="34" height="24" text="$once{ 
parent.initialNumber }" >
-        <attribute name="tempValue" value="$once{ parent.initialNumber }" 
type="number" />
-        <handler name="onfocus">
-            this.tempValue = Number(this.getText());
-        </handler>            
-        <handler name="onblur">
-            <![CDATA[
-                var t = parseInt(this.getText());
-                if (isNaN(t) || t > this.parent.maximum || t < 
this.parent.minimum){
-                    t = this.tempValue;
-                    this.setAttribute('text',t);
-                    lz.Focus.setFocus(this);
-                } else {
-                    this.tempValue = t;
-                    parent.setAttribute('initialNumber',t);
-                }
-            ]]>
-        </handler>
-    </edittext>
-
-
-    <button name="arrowView" x="36" width="24" y="1" height="23" >
-        <view name="arrow_down_slider" resource="arrow_down_slider_rsc" 
-            x="4" y="3" />
-            <handler name="onclick">
-               if (this.parent.boxPosition=="up"){
-                       var pick = new lz.changeWidthSliderWin(canvas,{
-                                                                       
initialNumber:parent.numericValue.tempValue,
-                                                                       
btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
-                                                                       
maxvalue:parent.maximum,
-                                                                       
y:(parent.getAttributeRelative('y',canvas)-140+parent.height)
-                                                               });
-               } else {
-                       var pick = new lz.changeWidthSliderWin(canvas,{
-                                                                       
initialNumber:parent.numericValue.tempValue,
-                                                                       
btnRef:this.parent,x:(parent.getAttributeRelative('x',canvas)),
-                                                                       
maxvalue:parent.maximum,
-                                                                       
y:(parent.getAttributeRelative('y',canvas))
-                                                               });
-               }
-                lz.ModeManager.makeModal( pick );
-            </handler>
-        <labelTooltip labelid="$once{ parent.parent.labelid }" />
-    </button>
-    
-</class>
-    
-<class name="closableView" extends="view">
-    <method name="close">
-        lz.ModeManager.release(this);
-        this.destroy();
-    </method>
-</class>    
-    
-<class name="changeWidthSliderWin" extends="closableView" bgcolor="white" 
-    clickable="true" width="58" height="140" >
-    
-    <attribute name="btnRef" value="null" />
-    <attribute name="initialNumber" value="3" type="number"/>
-    <attribute name="maxvalue" value="100" type="number" />
-    
-    <!--- @keywords private -->
-    <method name="passModeEvent" args="eventStr,view" > 
-        <![CDATA[
-            if ( eventStr == "onmousedown"  ){
-                if ( view != null ) {
-                   if ( !view.childOf(this) ) {
-                        this.close();
-                   }
-                } else {
-                    this.close();
-                }
-            }
-            if (view && view.childOf(this)) {
-                if (view[ eventStr ]) {
-                    view[ eventStr ].sendEvent( view );
-                }
-                return false;
-            }
-            return true;
-        ]]> 
-    </method>
-
-    <view bgcolor="$once{ canvas.getThemeColor('baseMousecolorizer') }" 
width="58" height="138" x="1" y="1" />
-    
-    <vslider name="_slider" height="120" y="10" x="10" minvalue="1" 
maxvalue="$once{ parent.maxvalue }" 
-        initvalue="$once{ parent.initialNumber }" showrange="false" 
showvalue="true">
-        <handler name="onvalue" args="v">
-            //if ($debug) Debug.write("onvalue",v);
-            parent.btnRef.numericValue.tempValue = Number(v);
-            parent.btnRef.numericValue.setAttribute('text',v);
-            parent.btnRef.setAttribute('initialNumber',v);
-        </handler>
-        <handler name="onvalueChosenFinal">
-            parent.close();
-        </handler>        
-    </vslider>
-    
-    <view name="_close" x="$once{ parent.width-this.width-2 }" y="2"
-        resource="btn_presenter_close"
-        onmouseover="this.setAttribute('frame',2)"
-        onmouseout="this.setAttribute('frame',1)"
-        onmousedown="this.setAttribute('frame',3)"
-        onmouseup="this.setAttribute('frame',1)" >
-        <handler name="onclick">
-            this.setAttribute('frame',2);
-            this.parent.close();
-        </handler>
-        <labelTooltip labelid="430" />
-    </view>     
-        
-</class>    
+       </class>
 
 </library>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/library.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/library.lzx?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/library.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/components/lps/library.lzx
 Thu Dec 24 14:40:33 2015
@@ -23,7 +23,7 @@
        <!-- APL Author sebawagner -->
     <resource name="arrow_down_slider_rsc" 
src="resources/arrow_down_slider.png" /> 
 
-       <include href="vslider.lzx" /> 
+    <include href="incubator/vslider.lzx" />
        <include href="basePropertySelector.lzx" />
        <include href="colorpicker.lzx" />
     <include href="lineColorChoose.lzx" />

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 Thu Dec 24 14:40:33 2015
@@ -201,7 +201,6 @@
        <method name="reconnectComplete">
                if (this.reconnectionAction){
                        this.reconnectionAction = false;
-                       this.reconnectObjRef.reconnectSuccess();
                }
                canvas.currentContentView.sendInit.sendEvent(this);
        </method>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/volumeSlider.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/volumeSlider.lzx?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/volumeSlider.lzx
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/volumeSlider.lzx
 Thu Dec 24 14:40:33 2015
@@ -20,69 +20,49 @@
 -->
 <library>
 
-<class name="VolumeSlider" extends="closableView" clickable="true" 
height="120">
-
-    <switch>
-    <when property="$as3">
-        <passthrough>
-            import flash.net.*;
-            import flash.media.*;
-        </passthrough>
-    </when>
-    </switch>
-
-    <attribute name="videoStream" value="null" />
-    <attribute name="ownStream" type="boolean" value="false" />
-    <attribute name="resizing" type="boolean" value="false" />
-
-    <attribute name="videoObject" value="null" />
-    <attribute name="initialNumber" value="50" type="number"/>
-    <attribute name="maxvalue" value="100" type="number" />
-
-    <dragHelper name="dragHelper"/>
-
-    <handler name="oninit">
-        dragHelper.create();
-    </handler>
-
-    <handler name="ondestroy">
-        dragHelper.remove();
-    </handler>
-
-    <!--- @keywords private -->
-    <method name="passModeEvent" args="eventStr,view" >
-        <![CDATA[
-        if (eventStr == "onmousedown") {
-            if (null != view) {
-                if (!view.childOf(this)) {
-                    this.close();
-                }
-            } else {
-                this.close();
-            }
-        }
-        if (view && view.childOf(this)) {
-            if (view[eventStr]) {
-                view[eventStr].sendEvent(view);
-            }
-            return false;
-        }
-        return true;
-        ]]>
-    </method>
-
-    <vslider name="_slider" height="$once{parent.height}" y="10" x="0" 
minvalue="0" maxvalue="100"
-        initvalue="$once{parent.initialNumber}" showrange="false" 
showvalue="false" switchaxis="true">
-        <handler name="onvalue" args="v">
-            if ($debug) Debug.write("onvalue", v);
-
-            parent.videoObject.setStreamVolume(Number(v));
-        </handler>
-        <handler name="onvalueChosenFinal">
-            parent.close();
-        </handler>
-    </vslider>
-
-</class>
+       <class name="VolumeSlider" extends="closableView" clickable="true" 
height="120">
+               <attribute name="videoStream" value="null" />
+               <attribute name="ownStream" type="boolean" value="false" />
+               <attribute name="resizing" type="boolean" value="false" />
+       
+               <attribute name="videoObject" value="null" />
+               <attribute name="initialNumber" value="50" type="number" />
+               <attribute name="maxvalue" value="100" type="number" />
+       
+               <!--- @keywords private -->
+               <method name="passModeEvent" args="eventStr,view">
+               <![CDATA[
+                       if (eventStr == "onmousedown") {
+                               if (null != view) {
+                                       if (!view.childOf(this)) {
+                                               this.close();
+                                       }
+                               } else {
+                                       this.close();
+                               }
+                       }
+                       if (view && view.childOf(this)) {
+                               if (view[eventStr]) {
+                                       view[eventStr].sendEvent(view);
+                               }
+                               return false;
+                       }
+                       return true;
+               ]]>
+               </method>
+       
+               <vslider name="_slider" height="$once{parent.height}" y="10" 
x="0" minvalue="0" maxvalue="100" initvalue="$once{ parent.initialNumber }"
+                       showrange="false" showvalue="false" switchaxis="true">
+                       <handler name="onvalue" args="v">
+                               if ($debug) Debug.write("onvalue", v);
+       
+                               parent.videoObject.setStreamVolume(Number(v));
+                       </handler>
+                       <handler name="onvalueChosenFinal">
+                               parent.close();
+                       </handler>
+               </vslider>
+       
+       </class>
 
 </library>

Propchange: openmeetings/application/branches/3.1.x/openmeetings-install/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Propchange: 
openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: openmeetings/application/branches/3.1.x/openmeetings-server/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-server/pom.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-server/pom.xml 
(original)
+++ openmeetings/application/branches/3.1.x/openmeetings-server/pom.xml Thu Dec 
24 14:40:33 2015
@@ -128,7 +128,7 @@
                        <id>prepare-red5-server</id>
                        <activation>
                                <file>
-                                       
<missing>red5-server/red5-server-1.0.6-RELEASE-server.zip</missing> <!-- TODO 
should be in-sync with global property -->
+                                       
<missing>red5-server/red5-server-1.0.7-SNAPSHOT-server.zip</missing> <!-- TODO 
should be in-sync with global property -->
                                </file>
                        </activation>
                        <build>

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-server/src/site/xdoc/BitrixPlugin.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-server/src/site/xdoc/BitrixPlugin.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-server/src/site/xdoc/BitrixPlugin.xml
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-server/src/site/xdoc/BitrixPlugin.xml
 Thu Dec 24 14:40:33 2015
@@ -46,4 +46,4 @@
                </section>
        </body>
 
-</document>
\ No newline at end of file
+</document>

Propchange: openmeetings/application/branches/3.1.x/openmeetings-service/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 Thu Dec 24 14:40:33 2015
@@ -22,10 +22,10 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 
-import java.security.NoSuchAlgorithmException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.TimeZone;
+import java.util.UUID;
 import java.util.Vector;
 
 import org.apache.openmeetings.IApplication;
@@ -51,7 +51,6 @@ import org.apache.openmeetings.service.m
 import org.apache.openmeetings.service.mail.template.InvitationTemplate;
 import 
org.apache.openmeetings.service.mail.template.UpdatedAppointmentTemplate;
 import org.apache.openmeetings.util.CalendarHelper;
-import org.apache.openmeetings.util.crypt.MD5;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.util.mail.IcalHandler;
 import org.apache.wicket.Application;
@@ -316,13 +315,7 @@ public class InvitationManager implement
                Invitation invitation = _invitation;
                if (null == _invitation) {
                        invitation = new Invitation();
-                       String hashRaw = "HASH" + (System.currentTimeMillis());
-                       try {
-                               invitation.setHash(MD5.do_checksum(hashRaw));
-                       } catch (NoSuchAlgorithmException e) {
-                               log.error("Unexpected error while creating 
invitation", e);
-                               throw new RuntimeException(e);
-                       }
+                       invitation.setHash(UUID.randomUUID().toString());
                }
 
                invitation.setPasswordProtected(isPasswordProtected);

Propchange: openmeetings/application/branches/3.1.x/openmeetings-util/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
 Thu Dec 24 14:40:33 2015
@@ -18,17 +18,17 @@
  */
 package org.apache.openmeetings.util.crypt;
 
+import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
 import org.apache.commons.codec.binary.Hex;
 
 public class MD5 {
-       public static String do_checksum(String data) throws 
NoSuchAlgorithmException {
+       public static String do_checksum(String data) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                MessageDigest md5 = MessageDigest.getInstance("MD5");
-
-               md5.update(data.getBytes(), 0, data.length());
-
+               byte[] b = data == null ? new byte[0] : data.getBytes("UTF-8");
+               md5.update(b, 0, b.length);
                return Hex.encodeHexString(md5.digest());
        }
 }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 Thu Dec 24 14:40:33 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.util.cry
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 
 import org.red5.logging.Red5LoggerFactory;
@@ -37,7 +38,7 @@ public class MD5Implementation implement
                String passPhrase = null;
                try {
                        passPhrase = MD5.do_checksum(userGivenPass);
-               } catch (NoSuchAlgorithmException e) {
+               } catch (NoSuchAlgorithmException | 
UnsupportedEncodingException e) {
                        log.error("Error", e);
                }
                return passPhrase;

Propchange: openmeetings/application/branches/3.1.x/openmeetings-web/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java
 Thu Dec 24 14:40:33 2015
@@ -27,15 +27,16 @@ import java.util.List;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.wicketstuff.select2.Response;
-import org.wicketstuff.select2.TextChoiceProvider;
+import org.wicketstuff.select2.ChoiceProvider;
 
-public abstract class AdminUserChoiceProvider extends TextChoiceProvider<User> 
{
+public abstract class AdminUserChoiceProvider extends ChoiceProvider<User> {
        private static final long serialVersionUID = 1L;
        protected static int PAGE_SIZE = 20;
 
        @Override
-       protected Object getId(User choice) {
-               return choice.getId();
+       public String getIdValue(User choice) {
+               Long id = choice.getId();
+               return id == null ? null : "" + id;
        }
 
        @Override

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
 Thu Dec 24 14:40:33 2015
@@ -63,7 +63,7 @@ public class GroupForm extends AdminBase
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       protected String getDisplayText(User choice) {
+                       public String getDisplayValue(User choice) {
                                return formatUser(choice);
                        }
                }));

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
 Thu Dec 24 14:40:33 2015
@@ -66,10 +66,10 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Duration;
+import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2Choice;
 import org.wicketstuff.select2.Select2MultiChoice;
-import org.wicketstuff.select2.TextChoiceProvider;
 
 public class RoomForm extends AdminBaseForm<Room> {
        private static final long serialVersionUID = 1L;
@@ -115,18 +115,19 @@ public class RoomForm extends AdminBaseF
                for (Group org : orgList) {
                        orgRooms.add(new RoomGroup(org, getModelObject()));
                }
-               add(new Select2MultiChoice<RoomGroup>("roomGroups", null, new 
TextChoiceProvider<RoomGroup>() {
+               add(new Select2MultiChoice<RoomGroup>("roomGroups", null, new 
ChoiceProvider<RoomGroup>() {
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       protected String getDisplayText(RoomGroup choice) {
+                       public String getDisplayValue(RoomGroup choice) {
                                String name = choice.getGroup().getName();
                                return name == null ? "" : name;
                        }
 
                        @Override
-                       protected Object getId(RoomGroup choice) {
-                               return choice.getGroup().getId();
+                       public String getIdValue(RoomGroup choice) {
+                               Long id = choice.getGroup().getId();
+                               return id == null ? null : "" + id;
                        }
 
                        @Override
@@ -213,7 +214,7 @@ public class RoomForm extends AdminBaseF
                        }
 
                        @Override
-                       protected String getDisplayText(User choice) {
+                       public String getDisplayValue(User choice) {
                                Address a = choice.getAddress();
                                return String.format("\"%s %s\" <%s>", 
choice.getFirstname(), choice.getLastname(), a == null ? "" : a.getEmail());
                        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java
 Thu Dec 24 14:40:33 2015
@@ -64,9 +64,9 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.util.time.Duration;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
-import org.wicketstuff.select2.TextChoiceProvider;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 
@@ -187,16 +187,16 @@ public class UserForm extends AdminBaseF
 
                add(new CheckBox("forceTimeZoneCheck"));
 
-               add(new Select2MultiChoice<Right>("rights", null, new 
TextChoiceProvider<Right>() {
+               add(new Select2MultiChoice<Right>("rights", null, new 
ChoiceProvider<Right>() {
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       protected String getDisplayText(Right choice) {
+                       public String getDisplayValue(Right choice) {
                                return choice.name();
                        }
 
                        @Override
-                       protected Object getId(Right choice) {
+                       public String getIdValue(Right choice) {
                                return choice.name();
                        }
 

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Thu Dec 24 14:40:33 2015
@@ -93,7 +93,6 @@ import org.apache.wicket.util.tester.Wic
 import org.slf4j.Logger;
 import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.XmlWebApplicationContext;
-import org.wicketstuff.select2.ApplicationSettings;
 
 import ro.fortsoft.wicket.dashboard.WidgetRegistry;
 import ro.fortsoft.wicket.dashboard.web.DashboardContext;
@@ -125,7 +124,6 @@ public class Application extends Authent
                //Resource Loader for a the property key
                getResourceSettings().getStringResourceLoaders().add(0, new 
LabelResourceLoader());
                
-               ApplicationSettings.get().setIncludeJqueryUI(false);
                super.init();
                
                // register some widgets

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java
 Thu Dec 24 14:40:33 2015
@@ -59,9 +59,9 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.util.string.Strings;
 import org.threeten.bp.LocalDate;
+import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
-import org.wicketstuff.select2.TextChoiceProvider;
 
 import com.googlecode.wicket.kendo.ui.form.datetime.local.AjaxDatePicker;
 import com.googlecode.wicket.kendo.ui.resource.KendoGlobalizeResourceReference;
@@ -134,17 +134,18 @@ public class GeneralUserForm extends For
                } else {
                        orgUsers = getModelObject().getGroupUsers();
                }
-               add(new Select2MultiChoice<GroupUser>("groupUsers", null, new 
TextChoiceProvider<GroupUser>() {
+               add(new Select2MultiChoice<GroupUser>("groupUsers", null, new 
ChoiceProvider<GroupUser>() {
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       protected String getDisplayText(GroupUser choice) {
+                       public String getDisplayValue(GroupUser choice) {
                                return choice.getGroup().getName();
                        }
 
                        @Override
-                       protected Object getId(GroupUser choice) {
-                               return choice.getGroup().getId();
+                       public String getIdValue(GroupUser choice) {
+                               Long id = choice.getGroup().getId();
+                               return id == null ? null : "" + id;
                        }
 
                        @Override

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/InvitationDialog.java
 Thu Dec 24 14:40:33 2015
@@ -22,8 +22,8 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getInvitationLink;
 import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -72,9 +72,9 @@ import org.apache.wicket.model.util.Coll
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
+import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
-import org.wicketstuff.select2.TextChoiceProvider;
 
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -105,7 +105,7 @@ public class InvitationDialog extends Ab
        private final UserMultiChoice recipients = new 
UserMultiChoice("recipients", new CollectionModel<User>(new ArrayList<User>()));
        private final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
-                       , new TextChoiceProvider<Group>() {
+                       , new ChoiceProvider<Group>() {
                                private static final long serialVersionUID = 1L;
 
                                @Override
@@ -137,13 +137,14 @@ public class InvitationDialog extends Ab
                                }
 
                                @Override
-                               protected String getDisplayText(Group choice) {
+                               public String getDisplayValue(Group choice) {
                                        return choice.getName();
                                }
 
                                @Override
-                               protected Object getId(Group choice) {
-                                       return choice.getId();
+                               public String getIdValue(Group choice) {
+                                       Long id = choice.getId();
+                                       return id == null ? null : "" + id;
                                }
                        });
 

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/AviRecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -28,11 +28,11 @@ public class AviRecordingResourceReferen
        private static final long serialVersionUID = 1L;
 
        public AviRecordingResourceReference() {
-               super(AviRecordingResourceReference.class);
+               super();
        }
        
        @Override
-       public String getContentType() {
+       public String getMimeType() {
                return "video/avi";
        }
        

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FlvRecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -28,11 +28,11 @@ public class FlvRecordingResourceReferen
        private static final long serialVersionUID = 1L;
 
        public FlvRecordingResourceReference() {
-               super(FlvRecordingResourceReference.class);
+               super();
        }
        
        @Override
-       public String getContentType() {
+       public String getMimeType() {
                return "video/flv";
        }
        

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/JpgRecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -28,11 +28,11 @@ public class JpgRecordingResourceReferen
        private static final long serialVersionUID = 1L;
 
        public JpgRecordingResourceReference() {
-               super(JpgRecordingResourceReference.class);
+               super();
        }
        
        @Override
-       public String getContentType() {
+       public String getMimeType() {
                return "image/jpeg";
        }
        

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/Mp4RecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -29,11 +29,11 @@ public class Mp4RecordingResourceReferen
        private static final long serialVersionUID = 1L;
 
        public Mp4RecordingResourceReference() {
-               super(Mp4RecordingResourceReference.class);
+               super();
        }
        
        @Override
-       public String getContentType() {
+       public String getMimeType() {
                return "video/mp4";
        }
        

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OggRecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -29,11 +29,11 @@ public class OggRecordingResourceReferen
        private static final long serialVersionUID = 1L;
 
        public OggRecordingResourceReference() {
-               super(OggRecordingResourceReference.class);
+               super();
        }
        
        @Override
-       public String getContentType() {
+       public String getMimeType() {
                return "video/ogg";
        }
        

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -25,10 +25,8 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 
-import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
-import java.io.InputStream;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -36,104 +34,50 @@ import org.apache.openmeetings.db.dao.re
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.request.resource.AbstractResource;
-import org.apache.wicket.request.resource.AbstractResource.ResourceResponse;
-import org.apache.wicket.request.resource.ContentDisposition;
 import org.apache.wicket.request.resource.IResource;
 import org.apache.wicket.request.resource.IResource.Attributes;
-import org.apache.wicket.request.resource.PartWriterCallback;
-import org.apache.wicket.request.resource.ResourceReference;
-import org.apache.wicket.util.io.IOUtils;
-import org.apache.wicket.util.resource.FileResourceStream;
-import org.apache.wicket.util.resource.IResourceStream;
-import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
-import org.apache.wicket.util.time.Time;
+import org.apache.wicket.resource.FileSystemResource;
+import org.apache.wicket.resource.FileSystemResourceReference;
+import org.apache.wicket.util.string.StringValue;
 import org.slf4j.Logger;
 
-public abstract class RecordingResourceReference extends ResourceReference {
+public abstract class RecordingResourceReference extends 
FileSystemResourceReference {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
getLogger(RecordingResourceReference.class, webAppRootKey);
 
-       public RecordingResourceReference(Class<? extends 
RecordingResourceReference> clazz) {
-               super(clazz, "recordings");
+       public RecordingResourceReference() {
+               super("recordings");
        }
 
        @Override
        public IResource getResource() {
-               return new AbstractResource() {
+               return new FileSystemResource() {
                        private static final long serialVersionUID = 1L;
                        private File file;
                        
                        @Override
+                       protected String getMimeType() throws IOException {
+                               return 
RecordingResourceReference.this.getMimeType();
+                       }
+                       
+                       @Override
                        protected ResourceResponse 
newResourceResponse(Attributes attributes) {
-                               ResourceResponse rr = new ResourceResponse();
                                Recording r = getRecording(attributes);
                                if (r != null) {
                                        file = getFile(r);
-                                       IResourceStream rs = file == null ? 
null : new FileResourceStream(file);
-                                       
-                                       if (rs != null) {
-                                               rr.setFileName(getFileName(r));
-                                               
rr.setContentType(RecordingResourceReference.this.getContentType());
-                                               
rr.setContentDisposition(ContentDisposition.INLINE);
-                                               
rr.setLastModified(Time.millis(file.lastModified()));
-                                               
rr.setAcceptRange(ContentRangeType.BYTES);
-                                               
-                                               try {
-                                                       // read resource data 
to get the content length
-                                                       InputStream inputStream 
= rs.getInputStream();
-       
-                                                       byte[] bytes = null;
-                                                       // send Content-Length 
header
-                                                       bytes = 
IOUtils.toByteArray(inputStream);
-                                                       
rr.setContentLength(bytes.length);
-       
-                                                       // get content range 
information
-                                                       RequestCycle cycle = 
RequestCycle.get();
-                                                       Long startbyte = 
cycle.getMetaData(CONTENT_RANGE_STARTBYTE);
-                                                       Long endbyte = 
cycle.getMetaData(CONTENT_RANGE_ENDBYTE);
-       
-                                                       // send response body 
with resource data
-                                                       PartWriterCallback 
partWriterCallback = new PartWriterCallback(bytes != null
-                                                               ? new 
ByteArrayInputStream(bytes) : inputStream, rr.getContentLength(), startbyte, 
endbyte);
-       
-                                                       // If read buffered is 
set to false ensure the part writer callback is going to
-                                                       // close the input 
stream
-                                                       
rr.setWriteCallback(partWriterCallback.setClose(false));
-                                               } catch (IOException e) {
-                                                       
log.debug(e.getMessage(), e);
-                                                       return 
sendResourceError(rr, file, 500, "Unable to read resource stream");
-                                               } catch 
(ResourceStreamNotFoundException e) {
-                                                       
log.debug(e.getMessage(), e);
-                                                       return 
sendResourceError(rr, file, 500, "Unable to open resource stream");
-                                               } finally {
-                                                       try {
-                                                               
IOUtils.close(rs);
-                                                       } catch (IOException e) 
{
-                                                               
log.warn("Unable to close the resource stream", e);
-                                                       }
-                                               }
-                                       }
+                                       return 
createResourceResponse(file.toPath());
                                } else {
+                                       log.debug("No recording was found");
+                                       ResourceResponse rr = new 
ResourceResponse();
                                        
rr.setError(HttpServletResponse.SC_NOT_FOUND);
+                                       return rr;
                                }
-                               return rr;
                        }
                };
        }
        
-       private ResourceResponse sendResourceError(ResourceResponse 
resourceResponse, File file, int errorCode, String errorMessage) {
-               String msg = String.format("resource [file = %s]: %s 
(status=%d)", file == null ? null : file.getAbsolutePath(), errorMessage, 
errorCode);
-
-               log.warn(msg);
-
-               resourceResponse.setError(errorCode, errorMessage);
-               return resourceResponse;
-       }
-
-       abstract String getContentType();
+       abstract String getMimeType();
        abstract String getFileName(Recording r);
        abstract File getFile(Recording r);
        
@@ -160,13 +104,19 @@ public abstract class RecordingResourceR
        
        private Recording getRecording(Attributes attributes) {
                PageParameters params = attributes.getParameters();
-               Long id = params.get("id").toOptionalLong();
+               StringValue _id = params.get("id");
+               Long id = null;
+               try {
+                       id = _id.toOptionalLong();
+               } catch (NumberFormatException e) {
+                       //no-op expected
+               }
                WebSession ws = WebSession.get();
                if (id != null && ws.isSignedIn()) {
                        return getRecording(id);
                } else {
                        ws.invalidate();
-                       if (ws.signIn(params.get("id").toString())) {
+                       if (ws.signIn(_id.toString())) {
                                return getRecording(getRecordingId());
                        }
                }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
 Thu Dec 24 14:40:33 2015
@@ -37,7 +37,7 @@ import org.apache.wicket.validation.Vali
 import org.wicketstuff.select2.ChoiceProvider;
 import org.wicketstuff.select2.Response;
 
-public class UserChoiceProvider implements ChoiceProvider<User> {
+public class UserChoiceProvider extends ChoiceProvider<User> {
        private static final long serialVersionUID = 1L;
        private final static int PAGE_SIZE = 10;
        private Map<String, User> newContacts = new Hashtable<String, User>();
@@ -76,7 +76,8 @@ public class UserChoiceProvider implemen
                return u;
        }
 
-       protected Object getId(User u) {
+       @Override
+       public String getIdValue(User u) {
                String id = "" + u.getId();
                if (u.getId() == null) {
                        newContacts.put(u.getLogin(), u);
@@ -86,6 +87,11 @@ public class UserChoiceProvider implemen
        }
 
        @Override
+       public String getDisplayValue(User object) {
+               return FormatHelper.formatUser(object, true);
+       }
+
+       @Override
        public void query(String term, int page, Response<User> response) {
                User c = getUser(term);
                if (c != null) {
@@ -112,10 +118,8 @@ public class UserChoiceProvider implemen
 
        @Override
        public void toJson(User choice, JSONWriter writer) throws JSONException 
{
-               writer
-                       .key("id").value(getId(choice))
-                       .key("text").value(FormatHelper.formatUser(choice, 
true))
-                       .key("contact").value(choice.getType() == Type.contact);
+               super.toJson(choice, writer);
+               writer.key("contact").value(choice.getType() == Type.contact);
        }
 
        @Override

Propchange: openmeetings/application/branches/3.1.x/openmeetings-webservice/src/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Dec 24 14:40:33 2015
@@ -0,0 +1,2 @@
+site
+

Modified: openmeetings/application/branches/3.1.x/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/pom.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/pom.xml (original)
+++ openmeetings/application/branches/3.1.x/pom.xml Thu Dec 24 14:40:33 2015
@@ -36,15 +36,15 @@
                <wicket.mode>DEPLOYMENT</wicket.mode>
                <om.quick.build>false</om.quick.build>
                <db>derby</db>
-               <spring.version>4.1.7.RELEASE</spring.version>
+               <spring.version>4.2.3.RELEASE</spring.version>
                <junit.version>4.12</junit.version>
                <maven.javadoc.version>2.10.3</maven.javadoc.version>
                <maven.surefire.version>2.18.1</maven.surefire.version>
                <maven-site.version>3.4</maven-site.version>
-               <wicket.version>7.1.0</wicket.version>
+               <wicket.version>7.2.0-SNAPSHOT</wicket.version>
                <wicketju.version>7.1.1-SNAPSHOT</wicketju.version>
-               <wickets.version>7.0.0</wickets.version>
-               <red5-server.version>1.0.6-RELEASE</red5-server.version>
+               <wickets.version>7.2.0-SNAPSHOT</wickets.version>
+               <red5-server.version>1.0.7-SNAPSHOT</red5-server.version>
                <red5-client.version>1.0.6-RELEASE</red5-client.version>
                <batik.version>1.7</batik.version>
                <commons-transaction.version>1.2</commons-transaction.version>
@@ -400,10 +400,6 @@
                                <version>${red5-server.version}</version>
                                <exclusions>
                                        <exclusion>
-                                               <groupId>org</groupId>
-                                               
<artifactId>jaudiotagger</artifactId>
-                                       </exclusion>
-                                       <exclusion>
                                                <groupId>xerces</groupId>
                                                
<artifactId>xercesImpl</artifactId>
                                        </exclusion>
@@ -432,10 +428,6 @@
                                <version>${red5-client.version}</version>
                                <exclusions>
                                        <exclusion>
-                                               <groupId>org</groupId>
-                                               
<artifactId>jaudiotagger</artifactId>
-                                       </exclusion>
-                                       <exclusion>
                                                
<groupId>org.apache.mina</groupId>
                                                
<artifactId>mina-core</artifactId>
                                        </exclusion>

Modified: openmeetings/application/trunk/README
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/README?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/trunk/README (original)
+++ openmeetings/application/trunk/README Thu Dec 24 14:40:33 2015
@@ -247,4 +247,3 @@ To build from source code:
     
 For a detailed documentation on how to build from source and options see:
     http://openmeetings.apache.org/BuildInstructions.html
-

Modified: openmeetings/application/trunk/openmeetings-core/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/pom.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-core/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-core/pom.xml Thu Dec 24 
14:40:33 2015
@@ -129,7 +129,7 @@
                <dependency>
                        <groupId>org.apache.directory.api</groupId>
                        <artifactId>api-all</artifactId>
-                       <version>1.0.0-M32</version>
+                       <version>1.0.0-M33</version>
                </dependency>
        </dependencies>
 </project>

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 Thu Dec 24 14:40:33 2015
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.db
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 import java.util.Collection;
 import java.util.Date;
@@ -233,7 +234,7 @@ public class UserDao implements IDataPro
        // FetchType is Lazy, this extra hook here might be not needed with a
        // different mechanism to protect the password from being read
        // sebawagner, 01.10.2012
-       public User update(User user, String password, long updatedBy) throws 
NoSuchAlgorithmException {
+       public User update(User user, String password, long updatedBy) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                User u = update(user, updatedBy);
                if (password != null && !password.isEmpty()) {
                        //OpenJPA is not allowing to set fields not being 
fetched before
@@ -633,7 +634,7 @@ public class UserDao implements IDataPro
        public User addUser(Set<Right> rights, String firstname, String login, 
String lastname, long languageId,
                        String userpass, Address adress, boolean sendSMS, Date 
age, String hash, TimeZone timezone,
                        Boolean forceTimeZoneCheck, String userOffers, String 
userSearchs, Boolean showContactData,
-                       Boolean showContactDataToContacts, String externalId, 
String externalType, List<GroupUser> orgList, String pictureuri) throws 
NoSuchAlgorithmException {
+                       Boolean showContactDataToContacts, String externalId, 
String externalType, List<GroupUser> orgList, String pictureuri) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                
                User u = new User();
                u.setFirstname(firstname);

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 Thu Dec 24 14:40:33 2015
@@ -21,10 +21,10 @@ package org.apache.openmeetings.db.dto.r
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.io.Serializable;
-import java.security.NoSuchAlgorithmException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.UUID;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -35,7 +35,6 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.user.User.Type;
-import org.apache.openmeetings.util.crypt.MD5;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -161,14 +160,7 @@ public class InvitationDTO implements Se
        
        public Invitation get(Long userId, UserDao userDao, RoomDao roomDao) {
                Invitation i = new Invitation();
-               String hashRaw = "HASH" + (System.currentTimeMillis());
-               try {
-                       i.setHash(MD5.do_checksum(hashRaw));
-               } catch (NoSuchAlgorithmException e) {
-                       //FIXME TODO need to throw other exception
-                       log.error("Unexpected error while creating invitation", 
e);
-                       throw new RuntimeException(e);
-               }
+               i.setHash(UUID.randomUUID().toString());
                i.setPasswordProtected(passwordProtected);
                if (passwordProtected) {
                        
i.setPassword(ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(password));

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/user/User.java
 Thu Dec 24 14:40:33 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.db.entit
 
 import static org.apache.openmeetings.db.util.UserHelper.invalidPassword;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.Date;
@@ -386,11 +387,11 @@ public class User implements IDataProvid
                this.login = login;
        }
 
-       public void updatePassword(ConfigurationDao configDao, String pass) 
throws NoSuchAlgorithmException {
+       public void updatePassword(ConfigurationDao configDao, String pass) 
throws NoSuchAlgorithmException, UnsupportedEncodingException {
                updatePassword(configDao, pass, false);
        }
        
-       public void updatePassword(ConfigurationDao configDao, String pass, 
boolean empty) throws NoSuchAlgorithmException {
+       public void updatePassword(ConfigurationDao configDao, String pass, 
boolean empty) throws NoSuchAlgorithmException, UnsupportedEncodingException {
                if (!empty) {
                        if (invalidPassword(pass, configDao)) {
                                throw new RuntimeException("Password of invalid 
length is provided");

Modified: 
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 Thu Dec 24 14:40:33 2015
@@ -22,10 +22,10 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
 
-import java.security.NoSuchAlgorithmException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.TimeZone;
+import java.util.UUID;
 import java.util.Vector;
 
 import org.apache.openmeetings.IApplication;
@@ -51,7 +51,6 @@ import org.apache.openmeetings.service.m
 import org.apache.openmeetings.service.mail.template.InvitationTemplate;
 import 
org.apache.openmeetings.service.mail.template.UpdatedAppointmentTemplate;
 import org.apache.openmeetings.util.CalendarHelper;
-import org.apache.openmeetings.util.crypt.MD5;
 import org.apache.openmeetings.util.crypt.ManageCryptStyle;
 import org.apache.openmeetings.util.mail.IcalHandler;
 import org.apache.wicket.Application;
@@ -316,13 +315,7 @@ public class InvitationManager implement
                Invitation invitation = _invitation;
                if (null == _invitation) {
                        invitation = new Invitation();
-                       String hashRaw = "HASH" + (System.currentTimeMillis());
-                       try {
-                               invitation.setHash(MD5.do_checksum(hashRaw));
-                       } catch (NoSuchAlgorithmException e) {
-                               log.error("Unexpected error while creating 
invitation", e);
-                               throw new RuntimeException(e);
-                       }
+                       invitation.setHash(UUID.randomUUID().toString());
                }
 
                invitation.setPasswordProtected(isPasswordProtected);

Modified: 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5.java
 Thu Dec 24 14:40:33 2015
@@ -18,17 +18,17 @@
  */
 package org.apache.openmeetings.util.crypt;
 
+import java.io.UnsupportedEncodingException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
 import org.apache.commons.codec.binary.Hex;
 
 public class MD5 {
-       public static String do_checksum(String data) throws 
NoSuchAlgorithmException {
+       public static String do_checksum(String data) throws 
NoSuchAlgorithmException, UnsupportedEncodingException {
                MessageDigest md5 = MessageDigest.getInstance("MD5");
-
-               md5.update(data.getBytes(), 0, data.length());
-
+               byte[] b = data == null ? new byte[0] : data.getBytes("UTF-8");
+               md5.update(b, 0, b.length);
                return Hex.encodeHexString(md5.digest());
        }
 }

Modified: 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/crypt/MD5Implementation.java
 Thu Dec 24 14:40:33 2015
@@ -20,6 +20,7 @@ package org.apache.openmeetings.util.cry
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.io.UnsupportedEncodingException;
 import java.security.NoSuchAlgorithmException;
 
 import org.red5.logging.Red5LoggerFactory;
@@ -37,7 +38,7 @@ public class MD5Implementation implement
                String passPhrase = null;
                try {
                        passPhrase = MD5.do_checksum(userGivenPass);
-               } catch (NoSuchAlgorithmException e) {
+               } catch (NoSuchAlgorithmException | 
UnsupportedEncodingException e) {
                        log.error("Error", e);
                }
                return passPhrase;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html
 Thu Dec 24 14:40:33 2015
@@ -77,4 +77,4 @@
                </table>
        </form>
 </wicket:panel>
-</html>
\ No newline at end of file
+</html>

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/RecordingResourceReference.java
 Thu Dec 24 14:40:33 2015
@@ -39,6 +39,7 @@ import org.apache.wicket.request.resourc
 import org.apache.wicket.request.resource.IResource.Attributes;
 import org.apache.wicket.resource.FileSystemResource;
 import org.apache.wicket.resource.FileSystemResourceReference;
+import org.apache.wicket.util.string.StringValue;
 import org.slf4j.Logger;
 
 public abstract class RecordingResourceReference extends 
FileSystemResourceReference {
@@ -103,13 +104,19 @@ public abstract class RecordingResourceR
        
        private Recording getRecording(Attributes attributes) {
                PageParameters params = attributes.getParameters();
-               Long id = params.get("id").toOptionalLong();
+               StringValue _id = params.get("id");
+               Long id = null;
+               try {
+                       id = _id.toOptionalLong();
+               } catch (NumberFormatException e) {
+                       //no-op expected
+               }
                WebSession ws = WebSession.get();
                if (id != null && ws.isSignedIn()) {
                        return getRecording(id);
                } else {
                        ws.invalidate();
-                       if (ws.signIn(params.get("id").toString())) {
+                       if (ws.signIn(_id.toString())) {
                                return getRecording(getRecordingId());
                        }
                }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
 Thu Dec 24 14:40:33 2015
@@ -66,8 +66,8 @@ public class TestHashMapSession extends
                        rcm.setUserport(0);
                        rcm.setUserip("remoteAddress");
                        rcm.setSwfurl("swfUrl");
-                       rcm.setIsMod(new Boolean(false));
-                       rcm.setCanDraw(new Boolean(false));
+                       rcm.setIsMod(false);
+                       rcm.setCanDraw(false);
 
                        if (cache.containsKey(null, streamId)) {
                                log.error("Tried to add an existing Client " + 
streamId);

Modified: openmeetings/application/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/pom.xml?rev=1721629&r1=1721628&r2=1721629&view=diff
==============================================================================
--- openmeetings/application/trunk/pom.xml (original)
+++ openmeetings/application/trunk/pom.xml Thu Dec 24 14:40:33 2015
@@ -36,7 +36,7 @@
                <wicket.mode>DEPLOYMENT</wicket.mode>
                <om.quick.build>false</om.quick.build>
                <db>derby</db>
-               <spring.version>4.1.7.RELEASE</spring.version>
+               <spring.version>4.2.3.RELEASE</spring.version>
                <junit.version>4.12</junit.version>
                <maven.javadoc.version>2.10.3</maven.javadoc.version>
                <maven.surefire.version>2.18.1</maven.surefire.version>
@@ -400,10 +400,6 @@
                                <version>${red5-server.version}</version>
                                <exclusions>
                                        <exclusion>
-                                               <groupId>org</groupId>
-                                               
<artifactId>jaudiotagger</artifactId>
-                                       </exclusion>
-                                       <exclusion>
                                                <groupId>xerces</groupId>
                                                
<artifactId>xercesImpl</artifactId>
                                        </exclusion>
@@ -432,10 +428,6 @@
                                <version>${red5-client.version}</version>
                                <exclusions>
                                        <exclusion>
-                                               <groupId>org</groupId>
-                                               
<artifactId>jaudiotagger</artifactId>
-                                       </exclusion>
-                                       <exclusion>
                                                
<groupId>org.apache.mina</groupId>
                                                
<artifactId>mina-core</artifactId>
                                        </exclusion>


Reply via email to