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 2018/09/26 08:24:42 UTC

[openmeetings] branch master updated (8ee1b52 -> 324ffaf)

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

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


    from 8ee1b52  [OPENMEETINGS-1932] resolution marked as selected is used by default
     new f10683a  [OPENMEETINGS-1929] method to clean WB was added
     new 324ffaf  [OPENMEETINGS-1929] method to clean WB was added

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../db/manager/IWhiteboardManager.java             |  1 +
 .../openmeetings/web/app/WhiteboardManager.java    | 22 ++++++++++++++++++++-
 .../openmeetings/webservice/RoomWebService.java    | 23 ++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)


[openmeetings] 02/02: [OPENMEETINGS-1929] method to clean WB was added

Posted by so...@apache.org.
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

commit 324ffafacc87a0ecacaccc018e4ae31d87d7f83e
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Sep 26 15:24:28 2018 +0700

    [OPENMEETINGS-1929] method to clean WB was added
---
 .../main/java/org/apache/openmeetings/webservice/RoomWebService.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index 591315a..984094e 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -80,6 +80,8 @@ public class RoomWebService extends BaseWebService {
 	@Autowired
 	private IClientManager clientManager;
 	@Autowired
+	private IWhiteboardManager wbManager;
+	@Autowired
 	private InvitationDao inviteDao;
 	@Autowired
 	private InvitationManager inviteManager;
@@ -384,7 +386,7 @@ public class RoomWebService extends BaseWebService {
 	{
 		log.debug("[cleanwb] room id {}", id);
 		return performCall(sid, User.Right.Soap, sd -> {
-			getBean(IWhiteboardManager.class).remove(id);
+			wbManager.remove(id);
 			return new ServiceResult("", Type.SUCCESS);
 		});
 	}


[openmeetings] 01/02: [OPENMEETINGS-1929] method to clean WB was added

Posted by so...@apache.org.
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

commit f10683a8b7c45a18488e605f92c92c53c860d17f
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Sep 26 15:17:32 2018 +0700

    [OPENMEETINGS-1929] method to clean WB was added
---
 .../db/manager/IWhiteboardManager.java             |  1 +
 .../openmeetings/web/app/WhiteboardManager.java    | 22 +++++++++++++++++++++-
 .../openmeetings/webservice/RoomWebService.java    | 21 +++++++++++++++++++++
 3 files changed, 43 insertions(+), 1 deletion(-)

diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IWhiteboardManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IWhiteboardManager.java
index b321ab0..9e2a3cd 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IWhiteboardManager.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/manager/IWhiteboardManager.java
@@ -22,4 +22,5 @@ import org.apache.openmeetings.db.dto.room.Whiteboards;
 
 public interface IWhiteboardManager {
 	Whiteboards get(Long roomId);
+	void remove(Long roomId);
 }
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
index 854af61..54eda74 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WhiteboardManager.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.TimeUnit;
 
 import javax.annotation.PostConstruct;
 
@@ -83,7 +84,26 @@ public class WhiteboardManager implements IWhiteboardManager {
 	}
 
 	public boolean contains(Long roomId) {
-		return map().containsKey(roomId);
+		return onlineWbs.containsKey(roomId);
+	}
+
+	@Override
+	public void remove(Long roomId) {
+		if (roomId == null) {
+			return;
+		}
+		try {
+			if (contains(roomId) && map().tryLock(roomId, 1, TimeUnit.SECONDS)) {
+				try {
+					onlineWbs.remove(roomId);
+					map().delete(roomId);
+				} finally {
+					map().unlock(roomId);
+				}
+			}
+		} catch (InterruptedException e) {
+			log.warn("Unexpected exception while map clean-up", e);
+		}
 	}
 
 	@Override
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index 59568d4..591315a 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -51,6 +51,7 @@ import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.RoomFile;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.manager.IClientManager;
+import org.apache.openmeetings.db.manager.IWhiteboardManager;
 import org.apache.openmeetings.db.util.ws.RoomMessage;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -367,4 +368,24 @@ public class RoomWebService extends BaseWebService {
 			}
 		});
 	}
+
+	/**
+	 * Method to clean room white board (all objects will be purged)
+	 *
+	 * @param roomId - id of the room to clean
+	 * @return - serviceResult object with the result
+	 */
+	@WebMethod
+	@GET
+	@Path("/cleanwb/{id}")
+	public ServiceResult cleanWb(@WebParam(name="sid") @QueryParam("sid") String sid
+			, @WebParam(name="id") @PathParam("id") long id
+			)
+	{
+		log.debug("[cleanwb] room id {}", id);
+		return performCall(sid, User.Right.Soap, sd -> {
+			getBean(IWhiteboardManager.class).remove(id);
+			return new ServiceResult("", Type.SUCCESS);
+		});
+	}
 }