You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/12/23 11:09:22 UTC

svn commit: r1721518 - in /openmeetings/application: branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/ branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/ branches/3.1.x/openmeetings-webs...

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
 		}