This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e93ede  [OPENMEETINGS-1857] 'hash' method of room service is fixed
9e93ede is described below

commit 9e93ededc9d06a3886d3b378f030315d999bc3af
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Wed Mar 21 21:06:55 2018 +0700

    [OPENMEETINGS-1857] 'hash' method of room service is fixed
---
 .../openmeetings/db/dto/room/InvitationDTO.java    | 63 ++++++++++++++++++----
 .../openmeetings/webservice/TestRoomService.java   | 35 ++++++++++++
 2 files changed, 87 insertions(+), 11 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
index e24cac9..7503567 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/InvitationDTO.java
@@ -37,6 +37,8 @@ import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.github.openjson.JSONObject;
+
 @XmlRootElement
 @XmlAccessorType(XmlAccessType.FIELD)
 public class InvitationDTO implements Serializable {
@@ -65,72 +67,81 @@ public class InvitationDTO implements Serializable {
                return email;
        }
 
-       public void setEmail(String email) {
+       public InvitationDTO setEmail(String email) {
                this.email = email;
+               return this;
        }
 
        public String getFirstname() {
                return firstname;
        }
 
-       public void setFirstname(String firstname) {
+       public InvitationDTO setFirstname(String firstname) {
                this.firstname = firstname;
+               return this;
        }
 
        public String getLastname() {
                return lastname;
        }
 
-       public void setLastname(String lastname) {
+       public InvitationDTO setLastname(String lastname) {
                this.lastname = lastname;
+               return this;
        }
 
        public String getMessage() {
                return message;
        }
 
-       public void setMessage(String message) {
+       public InvitationDTO setMessage(String message) {
                this.message = message;
+               return this;
        }
 
        public String getSubject() {
                return subject;
        }
 
-       public void setSubject(String subject) {
+       public InvitationDTO setSubject(String subject) {
                this.subject = subject;
+               return this;
        }
 
        public Long getRoomId() {
                return roomId;
        }
 
-       public void setRoomId(Long roomId) {
+       public InvitationDTO setRoomId(Long roomId) {
                this.roomId = roomId;
+               return this;
        }
 
        public boolean isPasswordProtected() {
                return passwordProtected;
        }
 
-       public void setPasswordProtected(boolean passwordProtected) {
+       public InvitationDTO setPasswordProtected(boolean passwordProtected) {
                this.passwordProtected = passwordProtected;
+               return this;
        }
 
        public String getPassword() {
                return password;
        }
 
-       public void setPassword(String password) {
+       public InvitationDTO setPassword(String password) {
                this.password = password;
+               return this;
        }
 
        public Valid getValid() {
                return valid;
        }
 
-       public void setValid(Valid valid) {
+       public InvitationDTO setValid(Valid valid) {
                this.valid = valid;
+               return this;
        }
 
        /**
@@ -148,8 +159,9 @@ public class InvitationDTO implements Serializable {
         * @param validFrom
         *            date-time in format YYYY-MM-dd HH:mm:ss
         */
-       public void setValidFrom(String validFrom) {
+       public InvitationDTO setValidFrom(String validFrom) {
                this.validFrom = validFrom;
+               return this;
        }
 
        /**
@@ -167,8 +179,9 @@ public class InvitationDTO implements Serializable {
         * @param validTo
         *            date-time in format YYYY-MM-dd HH:mm:ss
         */
-       public void setValidTo(String validTo) {
+       public InvitationDTO setValidTo(String validTo) {
                this.validTo = validTo;
+               return this;
        }
 
        public long getLanguageId() {
@@ -219,4 +232,32 @@ public class InvitationDTO implements Serializable {
                i.setAppointment(null);
                return i;
        }
+
+       public static InvitationDTO fromString(String s) {
+               return get(new JSONObject(s));
+       }
+
+       public static InvitationDTO get(JSONObject o) {
+               if (o == null) {
+                       return null;
+               }
+               InvitationDTO i = new InvitationDTO();
+               i.firstname = o.optString("firstname");
+               i.lastname = o.optString("lastname");
+               i.email = o.optString("email");
+               i.password = o.optString("password");
+               i.passwordProtected = o.optBoolean("passwordProtected", false);
+               i.subject = o.optString("subject");
+               i.roomId = o.getLong("roomId");
+               i.message = o.optString("message");
+               i.valid = Valid.valueOf(o.optString("valid", 
Valid.Period.name()));
+               i.validFrom = o.optString("validFrom");
+               i.validTo = o.optString("validTo");
+               return i;
+       }
+
+       @Override
+       public String toString() {
+               return new JSONObject(this).toString();
+       }
 }
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
index 128470a..63d74f7 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/webservice/TestRoomService.java
@@ -25,19 +25,28 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
+import java.util.List;
 import java.util.UUID;
 
+import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
 import org.apache.openmeetings.db.dto.file.FileItemDTO;
+import org.apache.openmeetings.db.dto.room.InvitationDTO;
 import org.apache.openmeetings.db.dto.room.RoomDTO;
 import org.apache.openmeetings.db.dto.room.RoomFileDTO;
 import org.apache.openmeetings.db.entity.file.BaseFileItem;
+import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestRoomService extends AbstractWebServiceTest {
        private static final long CAPACITY = 666L;
 
+       @Autowired
+       private RoomDao roomDao;
+
        @Test
        public void testExternal() {
                ServiceResult sr = login();
@@ -134,4 +143,30 @@ public class TestRoomService extends 
AbstractWebServiceTest {
                CallResult<RoomDTO> res = createAndValidate(fileCall.getSid(), 
r);
                assertFalse("Room files should NOT be empty", 
res.getObj().getFiles().isEmpty());
        }
+
+       @Test
+       public void testHash() {
+               List<Room> rooms = roomDao.get(0,  100);
+               assertFalse("Room list should not be empty", rooms.isEmpty());
+
+               ServiceResult sr = login();
+               ServiceResult res = getClient(getRoomUrl())
+                               .path("/hash")
+                               .query("sid", sr.getMessage())
+                               .query("invite", new InvitationDTO()
+                                               .setFirstname("Mark")
+                                               .setLastname("Steven")
+                                               .setEmail("[email protected]")
+                                               .setPassword("Sys@123!")
+                                               .setPasswordProtected(true)
+                                               .setSubject("Health Meeting")
+                                               .setRoomId(rooms.get(0).getId())
+                                               .setMessage("Meeting")
+                                               .setValid(Valid.Period)
+                                               .setValidFrom("2018-03-19 
02:25:12")
+                                               .setValidTo("2018-04-20 
02:25:12")
+                                               .toString())
+                               .post("", ServiceResult.class);
+               assertEquals("Login should be successful", Type.SUCCESS.name(), 
res.getType());
+       }
 }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to