Author: solomax
Date: Wed Dec 23 10:09:21 2015
New Revision: 1721518
URL: http://svn.apache.org/viewvc?rev=1721518&view=rev
Log:
[OPENMEETINGS-1305] room creation is partially tested
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
Wed Dec 23 10:09:21 2015
@@ -18,6 +18,9 @@
*/
package org.apache.openmeetings.db.dto.room;
+import static org.apache.openmeetings.db.dto.room.RoomOptionsDTO.optInt;
+import static org.apache.openmeetings.db.dto.room.RoomOptionsDTO.optLong;
+
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -27,7 +30,7 @@ import javax.xml.bind.annotation.XmlAcce
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.openmeetings.db.entity.room.Room;
-
+import org.apache.wicket.ajax.json.JSONObject;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RoomDTO implements Serializable {
@@ -43,7 +46,7 @@ public class RoomDTO implements Serializ
private boolean demo;
private boolean closed;
private Integer demoTime;
- private Long externalId;
+ private String externalId;
private String externalType;
private String redirectUrl;
private boolean moderated;
@@ -296,11 +299,11 @@ public class RoomDTO implements Serializ
this.isPublic = isPublic;
}
- public Long getExternalId() {
+ public String getExternalId() {
return externalId;
}
- public void setExternalId(Long externalId) {
+ public void setExternalId(String externalId) {
this.externalId = externalId;
}
@@ -337,4 +340,41 @@ public class RoomDTO implements Serializ
}
return rList;
}
+
+ public static RoomDTO fromString(String s) {
+ JSONObject o = new JSONObject(s);
+ RoomDTO r = new RoomDTO();
+ r.id = optLong(o, "id");
+ r.name = o.optString("name");
+ r.comment = o.optString("comment");
+ r.type = Room.Type.valueOf(o.getString("type"));
+ r.numberOfPartizipants = o.optLong("numberOfPartizipants", 4);
+ r.appointment = o.optBoolean("appointment", false);
+ r.confno = o.optString("confno");
+ r.isPublic = o.optBoolean("isPublic", false);
+ r.demo = o.optBoolean("demo", false);
+ r.closed = o.optBoolean("closed", false);
+ r.demoTime = optInt(o, "demoTime");
+ r.externalId = o.optString("externalId");
+ r.externalType = o.optString("externalType");
+ r.redirectUrl = o.optString("redirectUrl");
+ r.moderated = o.optBoolean("moderated", false);
+ r.allowUserQuestions = o.optBoolean("allowUserQuestions",
false);
+ r.allowRecording = o.optBoolean("allowRecording", false);
+ r.waitForRecording = o.optBoolean("waitForRecording", false);
+ r.audioOnly = o.optBoolean("audioOnly", false);
+ r.topBarHidden = o.optBoolean("topBarHidden", false);
+ r.chatHidden = o.optBoolean("chatHidden", false);
+ r.activitiesHidden = o.optBoolean("activitiesHidden", false);
+ r.filesExplorerHidden = o.optBoolean("filesExplorerHidden",
false);
+ r.actionsMenuHidden = o.optBoolean("actionsMenuHidden", false);
+ r.screenSharingHidden = o.optBoolean("screenSharingHidden",
false);
+ r.whiteboardHidden = o.optBoolean("whiteboardHidden", false);
+ return r;
+ }
+
+ @Override
+ public String toString() {
+ return new JSONObject(this).toString();
+ }
}
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
Wed Dec 23 10:09:21 2015
@@ -96,8 +96,12 @@ public class RoomOptionsDTO implements S
this.allowRecording = allowRecording;
}
- private static Long optLong(JSONObject o, String key) {
- return o.has(key) ? o.getLong(key) : null;
+ public static Integer optInt(JSONObject o, String key) {
+ return o.has(key) && !o.isNull(key) ? o.getInt(key) : null;
+ }
+
+ public static Long optLong(JSONObject o, String key) {
+ return o.has(key) && !o.isNull(key) ? o.getLong(key) : null;
}
public static RoomOptionsDTO fromString(String s) {
Modified:
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
Wed Dec 23 10:09:21 2015
@@ -173,7 +173,7 @@ public class Room implements IDataProvid
// Vars to simulate external Room
@Column(name = "external_id")
@Element(data = true, required = false)
- private Long externalId;
+ private String externalId;
@Column(name = "external_type")
@Element(data = true, required = false)
@@ -415,11 +415,11 @@ public class Room implements IDataProvid
this.moderated = moderated;
}
- public Long getExternalId() {
+ public String getExternalId() {
return externalId;
}
- public void setExternalId(Long externalId) {
+ public void setExternalId(String externalId) {
this.externalId = externalId;
}
Modified:
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
Wed Dec 23 10:09:21 2015
@@ -29,6 +29,7 @@ import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.ws.rs.DELETE;
+import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@@ -207,7 +208,7 @@ public class RoomWebService {
@WebMethod
@POST
@Path("/")
- public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="room") @QueryParam("room") RoomDTO room) throws
ServiceException {
+ public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="room") @FormParam("room") RoomDTO room) throws ServiceException
{
try {
Long userId = sessionDao.checkSession(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
@@ -275,9 +276,13 @@ public class RoomWebService {
public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid")
String sid, @WebParam(name="id") @PathParam("id") long id) throws
ServiceException {
Long userId = sessionDao.checkSession(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
- roomDao.delete(roomDao.get(id), userId);
-
- return new ServiceResult(id, "Deleted", Type.SUCCESS);
+ Room r = roomDao.get(id);
+ if (r != null) {
+ roomDao.delete(r, userId);
+ return new ServiceResult(id, "Deleted",
Type.SUCCESS);
+ } else {
+ return new ServiceResult(0, "Not found",
Type.SUCCESS);
+ }
} else {
throw new ServiceException("Insufficient permissins");
//TODO code -26
}
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomDTO.java
Wed Dec 23 10:09:21 2015
@@ -18,6 +18,9 @@
*/
package org.apache.openmeetings.db.dto.room;
+import static org.apache.openmeetings.db.dto.room.RoomOptionsDTO.optInt;
+import static org.apache.openmeetings.db.dto.room.RoomOptionsDTO.optLong;
+
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -27,7 +30,7 @@ import javax.xml.bind.annotation.XmlAcce
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.openmeetings.db.entity.room.Room;
-
+import org.apache.wicket.ajax.json.JSONObject;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RoomDTO implements Serializable {
@@ -43,7 +46,7 @@ public class RoomDTO implements Serializ
private boolean demo;
private boolean closed;
private Integer demoTime;
- private Long externalId;
+ private String externalId;
private String externalType;
private String redirectUrl;
private boolean moderated;
@@ -296,11 +299,11 @@ public class RoomDTO implements Serializ
this.isPublic = isPublic;
}
- public Long getExternalId() {
+ public String getExternalId() {
return externalId;
}
- public void setExternalId(Long externalId) {
+ public void setExternalId(String externalId) {
this.externalId = externalId;
}
@@ -337,4 +340,41 @@ public class RoomDTO implements Serializ
}
return rList;
}
+
+ public static RoomDTO fromString(String s) {
+ JSONObject o = new JSONObject(s);
+ RoomDTO r = new RoomDTO();
+ r.id = optLong(o, "id");
+ r.name = o.optString("name");
+ r.comment = o.optString("comment");
+ r.type = Room.Type.valueOf(o.getString("type"));
+ r.numberOfPartizipants = o.optLong("numberOfPartizipants", 4);
+ r.appointment = o.optBoolean("appointment", false);
+ r.confno = o.optString("confno");
+ r.isPublic = o.optBoolean("isPublic", false);
+ r.demo = o.optBoolean("demo", false);
+ r.closed = o.optBoolean("closed", false);
+ r.demoTime = optInt(o, "demoTime");
+ r.externalId = o.optString("externalId");
+ r.externalType = o.optString("externalType");
+ r.redirectUrl = o.optString("redirectUrl");
+ r.moderated = o.optBoolean("moderated", false);
+ r.allowUserQuestions = o.optBoolean("allowUserQuestions",
false);
+ r.allowRecording = o.optBoolean("allowRecording", false);
+ r.waitForRecording = o.optBoolean("waitForRecording", false);
+ r.audioOnly = o.optBoolean("audioOnly", false);
+ r.topBarHidden = o.optBoolean("topBarHidden", false);
+ r.chatHidden = o.optBoolean("chatHidden", false);
+ r.activitiesHidden = o.optBoolean("activitiesHidden", false);
+ r.filesExplorerHidden = o.optBoolean("filesExplorerHidden",
false);
+ r.actionsMenuHidden = o.optBoolean("actionsMenuHidden", false);
+ r.screenSharingHidden = o.optBoolean("screenSharingHidden",
false);
+ r.whiteboardHidden = o.optBoolean("whiteboardHidden", false);
+ return r;
+ }
+
+ @Override
+ public String toString() {
+ return new JSONObject(this).toString();
+ }
}
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomOptionsDTO.java
Wed Dec 23 10:09:21 2015
@@ -96,8 +96,12 @@ public class RoomOptionsDTO implements S
this.allowRecording = allowRecording;
}
- private static Long optLong(JSONObject o, String key) {
- return o.has(key) ? o.getLong(key) : null;
+ public static Integer optInt(JSONObject o, String key) {
+ return o.has(key) && !o.isNull(key) ? o.getInt(key) : null;
+ }
+
+ public static Long optLong(JSONObject o, String key) {
+ return o.has(key) && !o.isNull(key) ? o.getLong(key) : null;
}
public static RoomOptionsDTO fromString(String s) {
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
Wed Dec 23 10:09:21 2015
@@ -173,7 +173,7 @@ public class Room implements IDataProvid
// Vars to simulate external Room
@Column(name = "external_id")
@Element(data = true, required = false)
- private Long externalId;
+ private String externalId;
@Column(name = "external_type")
@Element(data = true, required = false)
@@ -415,11 +415,11 @@ public class Room implements IDataProvid
this.moderated = moderated;
}
- public Long getExternalId() {
+ public String getExternalId() {
return externalId;
}
- public void setExternalId(Long externalId) {
+ public void setExternalId(String externalId) {
this.externalId = externalId;
}
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1721518&r1=1721517&r2=1721518&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
Wed Dec 23 10:09:21 2015
@@ -29,6 +29,7 @@ import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.ws.rs.DELETE;
+import javax.ws.rs.FormParam;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
@@ -207,7 +208,7 @@ public class RoomWebService {
@WebMethod
@POST
@Path("/")
- public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="room") @QueryParam("room") RoomDTO room) throws
ServiceException {
+ public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="room") @FormParam("room") RoomDTO room) throws ServiceException
{
try {
Long userId = sessionDao.checkSession(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
@@ -275,9 +276,13 @@ public class RoomWebService {
public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid")
String sid, @WebParam(name="id") @PathParam("id") long id) throws
ServiceException {
Long userId = sessionDao.checkSession(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
- roomDao.delete(roomDao.get(id), userId);
-
- return new ServiceResult(id, "Deleted", Type.SUCCESS);
+ Room r = roomDao.get(id);
+ if (r != null) {
+ roomDao.delete(r, userId);
+ return new ServiceResult(id, "Deleted",
Type.SUCCESS);
+ } else {
+ return new ServiceResult(0, "Not found",
Type.SUCCESS);
+ }
} else {
throw new ServiceException("Insufficient permissins");
//TODO code -26
}