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 2014/10/12 13:02:28 UTC

svn commit: r1631159 - in /openmeetings: branches/3.0.x/WebContent/src/base/hibernate/ branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/ branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/ branches/3.0.x/src/main/ja...

Author: solomax
Date: Sun Oct 12 11:02:27 2014
New Revision: 1631159

URL: http://svn.apache.org/r1631159
Log:
[OPENMEETINGS-1092] room check is fixed

Modified:
    openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
    openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/Server.java
    openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
    openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java
    openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java
    openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
    openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java
    openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java

Modified: openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/hibernate/hibRtmpConnection.lzx Sun Oct 12 11:02:27 2014
@@ -850,6 +850,8 @@
 					hib.currentdomainObj = value.organisation_users[0].organisation;
 				}
 				parent.getCurrentRoomClient.doCall();
+			} else {
+				new lz.labelerrorPopup(canvas, {errorlabelid: 1599});
 			}
 		]]>
 		</handler>

Modified: openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/Server.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/Server.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/Server.java (original)
+++ openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/server/Server.java Sun Oct 12 11:02:27 2014
@@ -56,7 +56,7 @@ import org.simpleframework.xml.Root;
 @Root
 public class Server implements Serializable, IDataProviderEntity {
 
-	private static final long serialVersionUID = -6822732074549167727L;
+	private static final long serialVersionUID = 1L;
 
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -258,33 +258,45 @@ public class Server implements Serializa
 	}
 
 	@Override
-	public boolean equals(Object obj) {
-		if (obj == null) {
-			return false;
-		}
-		if (!(obj instanceof Server)) {
-			return false;
-		} else {
-			Server s = (Server)obj;
-			return s.id == id && ((s.address != null && s.address.equals(address)) || (s.address == null && s.address == address));
-		}
+	public String toString() {
+		return "Server [id=" + id + ", name=" + name + ", address=" + address
+				+ ", port=" + port + ", user=" + user + ", pass=" + pass
+				+ ", protocol=" + protocol 
+				+ ", active=" + active + ", webapp=" + webapp + ", deleted="
+				+ deleted + "]";
 	}
-	
+
 	@Override
 	public int hashCode() {
 		final int prime = 31;
 		int result = 1;
-		result = prime * result + (int)id + (address == null ? 0 : address.hashCode());
+		result = prime * result + ((address == null) ? 0 : address.hashCode());
+		result = prime * result + (int) (id ^ (id >>> 32));
 		return result;
 	}
-	
+
 	@Override
-	public String toString() {
-		return "Server [id=" + id + ", name=" + name + ", address=" + address
-				+ ", port=" + port + ", user=" + user + ", pass=" + pass
-				+ ", protocol=" + protocol 
-				+ ", active=" + active + ", webapp=" + webapp + ", deleted="
-				+ deleted + "]";
+	public boolean equals(Object obj) {
+		if (this == obj) {
+			return true;
+		}
+		if (obj == null) {
+			return false;
+		}
+		if (getClass() != obj.getClass()) {
+			return false;
+		}
+		Server other = (Server) obj;
+		if (address == null) {
+			if (other.address != null) {
+				return false;
+			}
+		} else if (!address.equals(other.address)) {
+			return false;
+		}
+		if (id != other.id) {
+			return false;
+		}
+		return true;
 	}
-
 }

Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java Sun Oct 12 11:02:27 2014
@@ -354,7 +354,7 @@ public class InvitationManager implement
 		
 		if (ical) {
 			String username = i.getInvitee().getLogin();
-			boolean isOwner = owner.getUser_id() == i.getInvitee().getUser_id();
+			boolean isOwner = owner.getUser_id().equals(i.getInvitee().getUser_id());
 			IcalHandler handler = new IcalHandler(MessageType.Cancel == type ? IcalHandler.ICAL_METHOD_CANCEL : IcalHandler.ICAL_METHOD_REQUEST);
 
 			HashMap<String, String> attendeeList = handler.getAttendeeData(email, username, isOwner);

Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/ConferenceService.java Sun Oct 12 11:02:27 2014
@@ -602,14 +602,14 @@ public class ConferenceService {
 				}
 				activeRoomsMap.put(server, roomIds);
 			}
-			for (Server server : activeRoomsMap.keySet()) {
-				List<Long> roomIds = activeRoomsMap.get(server);
+			for (Map.Entry<Server, List<Long>> entry : activeRoomsMap.entrySet()) {
+				List<Long> roomIds = entry.getValue();
 				Long capacity = roomDao.getRoomsCapacityByIds(roomIds);
 				if (minimum < 0 || capacity < minimum) {
 					minimum = capacity;
-					result = server;
+					result = entry.getKey();
 				}
-				log.debug("Checking server: " + server + " Number of rooms " + roomIds.size() + " RoomIds: "
+				log.debug("Checking server: " + entry.getKey() + " Number of rooms " + roomIds.size() + " RoomIds: "
 						+ roomIds + " max(Sum): " + capacity);
 			}
 			return result == null ? null : new ServerDTO(result);

Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/MainService.java Sun Oct 12 11:02:27 2014
@@ -177,15 +177,18 @@ public class MainService implements IPen
 	}
 
 	public User loginWicket(String SID, String wicketSID, Long wicketroomid) {
+		log.debug("[loginWicket]");
 		Long userId = sessiondataDao.checkSession(wicketSID);
 		User u = userId == null ? null : userDao.get(userId);
 		if (u != null && wicketroomid != null) {
+			log.debug("[loginWicket] user and roomid are not empty: " + userId + ", " + wicketroomid);
 			boolean allowed = false;
 			Room r = roomDao.get(wicketroomid);
 			if (r.getAppointment() != null && r.getAppointment()) {
 				Appointment a = appointmentDao.getAppointmentByRoom(wicketroomid);
 				if (a != null && !a.isDeleted()) {
-					allowed = a.getOwner().getUser_id() == userId;
+					allowed = a.getOwner().getUser_id().equals(userId);
+					log.debug("[loginWicket] appointed room, isOwner ? " + allowed);
 					if (!allowed) {
 						for (MeetingMember mm : a.getMeetingMembers()) {
 							if (mm.getUser().getUser_id() == userId) {
@@ -206,11 +209,12 @@ public class MainService implements IPen
 					*/
 				}
 			} else {
-				allowed = r.getIspublic() || (r.getOwnerId() != null && r.getOwnerId() == userId);
+				allowed = r.getIspublic() || (r.getOwnerId() != null && r.getOwnerId().equals(userId));
+				log.debug("[loginWicket] public ? " + r.getIspublic() + ", ownedId ? " + r.getOwnerId() + " " + allowed);
 				if (!allowed) {
 					for (RoomOrganisation ro : r.getRoomOrganisations()) {
 						for (Organisation_Users ou : u.getOrganisation_users()) {
-							if (ro.getOrganisation().getOrganisation_id() == ou.getOrganisation().getOrganisation_id()) {
+							if (ro.getOrganisation().getOrganisation_id().equals(ou.getOrganisation().getOrganisation_id())) {
 								allowed = true;
 								break;
 							}
@@ -221,28 +225,27 @@ public class MainService implements IPen
 					}
 				}
 			}
-			if (!allowed) {
-				return null;
-			}
-			IConnection current = Red5.getConnectionLocal();
-			String streamId = current.getClient().getId();
-			Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-			
-			if (!u.getOrganisation_users().isEmpty()) {
-				u.setSessionData(sessiondataDao.getSessionByHash(wicketSID));
-				currentClient.setUser_id(u.getUser_id());
-				currentClient.setRoom_id(wicketroomid);
-				SessionVariablesUtil.setUserId(current.getClient(), u.getUser_id());
-			
-				currentClient.setUsername(u.getLogin());
-				currentClient.setFirstname(u.getFirstname());
-				currentClient.setLastname(u.getLastname());
-				currentClient.setPicture_uri(u.getPictureuri());
-				sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
+			if (allowed) {
+				IConnection current = Red5.getConnectionLocal();
+				String streamId = current.getClient().getId();
+				Client currentClient = sessionManager.getClientByStreamId(streamId, null);
 				
-				scopeApplicationAdapter.syncMessageToCurrentScope("roomConnect", currentClient, false);
+				if (!u.getOrganisation_users().isEmpty()) {
+					u.setSessionData(sessiondataDao.getSessionByHash(wicketSID));
+					currentClient.setUser_id(u.getUser_id());
+					currentClient.setRoom_id(wicketroomid);
+					SessionVariablesUtil.setUserId(current.getClient(), u.getUser_id());
 				
-				return u;
+					currentClient.setUsername(u.getLogin());
+					currentClient.setFirstname(u.getFirstname());
+					currentClient.setLastname(u.getLastname());
+					currentClient.setPicture_uri(u.getPictureuri());
+					sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
+					
+					scopeApplicationAdapter.syncMessageToCurrentScope("roomConnect", currentClient, false);
+					
+					return u;
+				}
 			}
 		}
 		return null;

Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Sun Oct 12 11:02:27 2014
@@ -163,9 +163,8 @@ public class ScopeApplicationAdapter ext
 				isAVClient = Boolean.valueOf("" + params[0]);
 			}
 
-			log.debug("### Client connected to OpenMeetings, register Client StreamId: "
-					+ streamId + " scope " + conn.getScope().getName()+ " isAVClient "+isAVClient);
-			log.debug("params "+params);
+			log.debug("### Client connected to OpenMeetings, register Client StreamId: " + streamId + " scope "
+					+ conn.getScope().getName() + " isAVClient " + isAVClient + " params " + params);
 
 			// Set StreamId in Client
 			service.invoke("setId", new Object[] { streamId }, this);

Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/labels/LangPanel.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/labels/LangPanel.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/admin/labels/LangPanel.java Sun Oct 12 11:02:27 2014
@@ -207,8 +207,8 @@ public class LangPanel extends AdminPane
 					download.setFileName(fl.getName() + ".xml");
 					download.setResourceStream(new AbstractResourceStream() {
 						private static final long serialVersionUID = 1L;
-						private StringWriter sw;
-						private InputStream is;
+						private transient StringWriter sw;
+						private transient InputStream is;
 						
 						public InputStream getInputStream() throws ResourceStreamNotFoundException {
 							try {

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Sun Oct 12 11:02:27 2014
@@ -52,7 +52,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.util.CalendarPatterns;
-import org.apache.openmeetings.util.OpenmeetingsVariables;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IConnection;
 import org.red5.server.api.Red5;
@@ -65,9 +65,7 @@ import org.springframework.beans.factory
  * 
  */
 public class ConferenceService {
-
-	private static final Logger log = Red5LoggerFactory.getLogger(
-			ConferenceService.class, OpenmeetingsVariables.webAppRootKey);
+	private static final Logger log = Red5LoggerFactory.getLogger(ConferenceService.class, webAppRootKey);
 
 	@Autowired
 	private AppointmentLogic appointmentLogic;
@@ -590,7 +588,7 @@ public class ConferenceService {
 
 			long minimum = -1;
 			Server result = null;
-			HashMap<Server, List<Long>> activeRoomsMap = new HashMap<Server, List<Long>>();
+			Map<Server, List<Long>> activeRoomsMap = new HashMap<Server, List<Long>>();
 			for (Server server : serverList) {
 				List<Long> roomIds = sessionManager.getActiveRoomIdsByServer(server);
 				if (roomIds.contains(roomId)) {
@@ -600,14 +598,14 @@ public class ConferenceService {
 				}
 				activeRoomsMap.put(server, roomIds);
 			}
-			for (Server server : activeRoomsMap.keySet()) {
-				List<Long> roomIds = activeRoomsMap.get(server);
+			for (Map.Entry<Server, List<Long>> entry : activeRoomsMap.entrySet()) {
+				List<Long> roomIds = entry.getValue();
 				Long capacity = roomDao.getRoomsCapacityByIds(roomIds);
 				if (minimum < 0 || capacity < minimum) {
 					minimum = capacity;
-					result = server;
+					result = entry.getKey();
 				}
-				log.debug("Checking server: " + server + " Number of rooms " + roomIds.size() + " RoomIds: "
+				log.debug("Checking server: " + entry.getKey() + " Number of rooms " + roomIds.size() + " RoomIds: "
 						+ roomIds + " max(Sum): " + capacity);
 			}
 			return result == null ? null : new ServerDTO(result);

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Sun Oct 12 11:02:27 2014
@@ -153,34 +153,6 @@ public class MainService implements IPen
 		return -1L;
 	}
 
-	public User loginWicket(String SID, String wicketSID, Long wicketroomid) {
-		Long userId = sessiondataDao.checkSession(wicketSID);
-		User u = userId == null ? null : userDao.get(userId);
-		if (u != null) {
-			IConnection current = Red5.getConnectionLocal();
-			String streamId = current.getClient().getId();
-			Client currentClient = sessionManager.getClientByStreamId(streamId, null);
-			
-			if (!u.getOrganisationUsers().isEmpty()) {
-				u.setSessionData(sessiondataDao.getSessionByHash(wicketSID));
-				currentClient.setUser_id(u.getId());
-				currentClient.setRoom_id(wicketroomid);
-				SessionVariablesUtil.setUserId(current.getClient(), u.getId());
-			
-				currentClient.setUsername(u.getLogin());
-				currentClient.setFirstname(u.getFirstname());
-				currentClient.setLastname(u.getLastname());
-				currentClient.setPicture_uri(u.getPictureuri());
-				sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
-				
-				scopeApplicationAdapter.syncMessageToCurrentScope("roomConnect", currentClient, false);
-				
-				return u;
-			}
-		}
-		return null;
-	}
-	
 	public Object secureLoginByRemote(String SID, String secureHash) {
 		try {
 

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Sun Oct 12 11:02:27 2014
@@ -154,9 +154,8 @@ public class ScopeApplicationAdapter ext
 				isAVClient = Boolean.valueOf("" + params[0]);
 			}
 
-			log.debug("### Client connected to OpenMeetings, register Client StreamId: "
-					+ streamId + " scope " + conn.getScope().getName()+ " isAVClient "+isAVClient);
-			log.debug("params "+params);
+			log.debug("### Client connected to OpenMeetings, register Client StreamId: " + streamId + " scope "
+					+ conn.getScope().getName() + " isAVClient " + isAVClient + " params " + params);
 
 			// Set StreamId in Client
 			service.invoke("setId", new Object[] { streamId }, this);

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java Sun Oct 12 11:02:27 2014
@@ -262,33 +262,45 @@ public class Server implements IDataProv
 	}
 
 	@Override
-	public boolean equals(Object obj) {
-		if (obj == null) {
-			return false;
-		}
-		if (!(obj instanceof Server)) {
-			return false;
-		} else {
-			Server s = (Server)obj;
-			return s.id == id && ((s.address != null && s.address.equals(address)) || (s.address == null && s.address == address));
-		}
+	public String toString() {
+		return "Server [id=" + id + ", name=" + name + ", address=" + address
+				+ ", port=" + port + ", user=" + user + ", pass=" + pass
+				+ ", protocol=" + protocol 
+				+ ", active=" + active + ", webapp=" + webapp + ", deleted="
+				+ deleted + "]";
 	}
-	
+
 	@Override
 	public int hashCode() {
 		final int prime = 31;
 		int result = 1;
-		result = prime * result + (int)id + (address == null ? 0 : address.hashCode());
+		result = prime * result + ((address == null) ? 0 : address.hashCode());
+		result = prime * result + (int) (id ^ (id >>> 32));
 		return result;
 	}
-	
+
 	@Override
-	public String toString() {
-		return "Server [id=" + id + ", name=" + name + ", address=" + address
-				+ ", port=" + port + ", user=" + user + ", pass=" + pass
-				+ ", protocol=" + protocol 
-				+ ", active=" + active + ", webapp=" + webapp + ", deleted="
-				+ deleted + "]";
+	public boolean equals(Object obj) {
+		if (this == obj) {
+			return true;
+		}
+		if (obj == null) {
+			return false;
+		}
+		if (getClass() != obj.getClass()) {
+			return false;
+		}
+		Server other = (Server) obj;
+		if (address == null) {
+			if (other.address != null) {
+				return false;
+			}
+		} else if (!address.equals(other.address)) {
+			return false;
+		}
+		if (id != other.id) {
+			return false;
+		}
+		return true;
 	}
-
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java Sun Oct 12 11:02:27 2014
@@ -237,7 +237,7 @@ public class InvitationManager implement
 		
 		if (ical) {
 			String username = i.getInvitee().getLogin();
-			boolean isOwner = owner.getId() == i.getInvitee().getId();
+			boolean isOwner = owner.getId().equals(i.getInvitee().getId());
 			IcalHandler handler = new IcalHandler(isCanceled ? IcalHandler.ICAL_METHOD_CANCEL : IcalHandler.ICAL_METHOD_REQUEST);
 
 			HashMap<String, String> attendeeList = handler.getAttendeeData(email, username, isOwner);

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangPanel.java Sun Oct 12 11:02:27 2014
@@ -206,7 +206,7 @@ public class LangPanel extends AdminPane
 					download.setFileName(fl.getName() + ".xml");
 					download.setResourceStream(new AbstractResourceStream() {
 						private static final long serialVersionUID = 1L;
-						private StringWriter sw;
+						private transient StringWriter sw;
 						private transient InputStream is;
 						
 						public InputStream getInputStream() throws ResourceStreamNotFoundException {

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1631159&r1=1631158&r2=1631159&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Sun Oct 12 11:02:27 2014
@@ -238,7 +238,8 @@ public class RoomPanel extends BasePanel
 		if (r.isAppointment()) {
 			Appointment a = getBean(AppointmentDao.class).getAppointmentByRoom(roomId);
 			if (a != null && !a.isDeleted()) {
-				allowed = a.getOwner().getId() == getUserId();
+				allowed = a.getOwner().getId().equals(getUserId());
+				log.debug("appointed room, isOwner ? " + allowed);
 				if (!allowed) {
 					for (MeetingMember mm : a.getMeetingMembers()) {
 						if (mm.getUser().getId() == getUserId()) {
@@ -259,7 +260,8 @@ public class RoomPanel extends BasePanel
 				*/
 			}
 		} else {
-			allowed = r.getIspublic() || (r.getOwnerId() != null && r.getOwnerId() == getUserId());
+			allowed = r.getIspublic() || (r.getOwnerId() != null && r.getOwnerId().equals(getUserId()));
+			log.debug("public ? " + r.getIspublic() + ", ownedId ? " + r.getOwnerId() + " " + allowed);
 			if (!allowed) {
 				User u = getBean(UserDao.class).get(getUserId());
 				for (RoomOrganisation ro : r.getRoomOrganisations()) {