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 2017/07/30 15:55:49 UTC
[3/5] openmeetings git commit: [OPENMEETINGS-1677] Hazelcast is added
to handle cluster
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
deleted file mode 100644
index 2e50de1..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
+++ /dev/null
@@ -1,916 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.db.entity.room;
-
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.openmeetings.db.entity.basic.IClient;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.util.CalendarPatterns;
-import org.apache.wicket.util.string.StringValue;
-
-/**
- * Can be configured to be stored in memory or in database
- *
- * @author sebawagner
- */
-@Entity
-@NamedQueries({
- @NamedQuery(name = "deleteAll", query = "DELETE FROM Client"),
- @NamedQuery(name = "deletedById", query = "DELETE FROM Client c WHERE c.id = :id"),
- @NamedQuery(name = "deleteClientsByServer", query = "DELETE FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "deletedByServerAndStreamId", query = "DELETE FROM Client c WHERE c.server = :server AND c.streamid LIKE :streamid"),
- @NamedQuery(name = "countClients", query = "SELECT count(c.id) FROM Client c"),
- @NamedQuery(name = "countClientsByServer", query = "SELECT count(c.id) FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "countClientsByServerAndStreamId", query = "SELECT count(c.id) FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
- @NamedQuery(name = "getClientByServerAndStreamId", query = "SELECT c FROM Client c WHERE c.streamid LIKE :streamid AND c.server = :server"),
- @NamedQuery(name = "getClientsByPublicSIDAndServer", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID AND c.server = :server"),
- @NamedQuery(name = "getClientsByPublicSID", query = "SELECT c FROM Client c WHERE c.publicSID LIKE :publicSID"),
- @NamedQuery(name = "getClientsByServer", query = "SELECT c FROM Client c WHERE c.server = :server"),
- @NamedQuery(name = "getClients", query = "SELECT c FROM Client c"),
- @NamedQuery(name = "getClientsWithServer", query = "SELECT c FROM Client c LEFT JOIN FETCH c.server"),
- @NamedQuery(name = "getClientsByUserId", query = "SELECT c FROM Client c WHERE c.server = :server AND c.userId = :userId"),
- @NamedQuery(name = "getClientsByRoomId", query = "SELECT c FROM Client c WHERE c.roomId = :roomId"),
- @NamedQuery(name = "getRoomsIdsByServer", query = "SELECT c.roomId FROM Client c WHERE c.server = :server GROUP BY c.roomId")
-})
-@Table(name = "client")
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.FIELD)
-public class Client implements IClient {
- private static final long serialVersionUID = 1L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "id")
- private Long id;
-
- /**
- * @see Client#getUsername()
- */
- @Column(name = "username")
- private String username = "";
-
- /**
- * @see Client#getStreamid()
- */
- @Column(name = "streamid")
- private String streamid = "";
-
- /**
- * @see Client#getScope()
- */
- @Column(name = "scope")
- private String scope = "";
-
- /**
- * @see Client#getVWidth()
- */
- @Column(name = "vwidth")
- private int vWidth = 0;
-
- /**
- * @see Client#getVHeight()
- */
- @Column(name = "vheight")
- private int vHeight = 0;
-
- /**
- * @see Client#getVX()
- */
- @Column(name = "vx")
- private int vX = 0;
-
- /**
- * @see Client#getVY()
- */
- @Column(name = "vy")
- private int vY = 0;
-
- /**
- * @see Client#getStreamPublishName()
- */
- @Column(name = "stream_publish_name")
- private String streamPublishName = "";
-
- /**
- * @see Client#getPublicSID()
- */
- @Column(name = "public_sid")
- private String publicSID = "";
-
- /**
- * {@link Client#getSid()} of the client who initiated the connection
- */
- @Column(name = "owner_sid")
- private String ownerSid = null;
-
- /**
- * @see Client#getIsMod()
- */
- @Column(name = "is_mod", nullable = false)
- private boolean isMod = false;
-
- /**
- * @see Client#getIsSuperModerator()
- */
- @Column(name = "is_supermoderator", nullable = false)
- private boolean isSuperModerator = false;
-
- /**
- * @see Client#getCanDraw()
- */
- @Column(name = "can_draw", nullable = false)
- private boolean canDraw = false;
-
- /**
- * @see Client#getCanShare()
- */
- @Column(name = "can_share", nullable = false)
- private boolean canShare = false;
-
- /**
- * @see Client#getCanRemote()
- */
- @Column(name = "can_remote", nullable = false)
- private boolean canRemote = false;
-
- /**
- * @see Client#getCanGiveAudio()
- */
- @Column(name = "can_giveaudio", nullable = false)
- private boolean canGiveAudio = false;
-
- @Column(name = "can_video", nullable = false)
- private boolean canVideo = false;
-
- /**
- * @see Client#getConnectedSince()
- */
- @Column(name = "connected_since")
- private Date connectedSince;
-
- /**
- * @see Client#getFormatedDate()
- */
- @Column(name = "formated_date")
- private String formatedDate;
-
- /**
- * @see Client#isScreenClient()
- */
- @Column(name = "is_screenclient", nullable = false)
- private boolean screenClient;
-
- /**
- * @see Client#getUsercolor()
- */
- @Column(name = "usercolor")
- private String usercolor;
-
- /**
- * @see Client#getUserpos()
- */
- @Column(name = "userpos")
- private Integer userpos;
-
- /**
- * @see Client#getUserip()
- */
- @Column(name = "userip")
- private String userip;
-
- /**
- * @see Client#getUserport()
- */
- @Column(name = "userport")
- private int userport;
-
- /**
- * @see Client#getRoomId()
- */
- @Column(name = "room_id")
- private Long roomId;
-
- /**
- * @see Client#getRoomEnter()
- */
- @Column(name = "room_enter")
- private Date roomEnter = null;
-
- /**
- * @see Client#getBroadCastID()
- */
- @Column(name = "broadcast_id")
- private long broadCastID = -2;
-
- /**
- * @see Client#getUserId()
- */
- @Column(name = "user_id")
- private Long userId = null;
-
- /**
- * @see Client#getFirstname()
- */
- @Column(name = "firstname")
- private String firstname = "";
-
- /**
- * @see Client#getLastname()
- */
- @Column(name = "lastname")
- private String lastname = "";
-
- /**
- * @see Client#getMail()
- */
- @Column(name = "email")
- private String email;
-
- /**
- * @see Client#getLastLogin()
- */
- @Column(name = "last_login")
- private String lastLogin;
-
- /**
- * @see Client#getSecurityCode()
- */
- @Column(name = "security_code")
- private String securityCode;
-
- /**
- * @see Client#getPicture_uri()
- */
- @Column(name = "picture_uri")
- private String picture_uri;
-
- /**
- * @see Client#getLanguage()
- */
- @Column(name = "language")
- private String language = "";
-
- /**
- * @see Client#getAvsettings()
- */
- @Column(name = "avsettings")
- private String avsettings = "";
-
- /**
- * @see Client#getSwfurl()
- */
- // FIXME: Move to {@link ClientSession}
- @Column(name = "swfurl", length=2048)
- private String swfurl;
-
- @Column(name = "tcurl", length=2048)
- private String tcUrl;
-
- @Column(name = "nativeSsl", nullable = false)
- private boolean nativeSsl = false;
-
- /**
- * @see Client#getIsRecording()
- */
- @Column(name = "is_recording", nullable = false)
- private boolean isRecording = false;
-
- /**
- * @see Client#getRoomRecordingName()
- */
- @Column(name = "room_recording_name")
- private String roomRecordingName;
-
- /**
- * @see Client#getRecordingId()
- */
- @Column(name = "recording_id")
- private Long recordingId;
-
- /**
- * @see Client#getRecordingMetaDataId()
- */
- @Column(name = "recording_metadata_id")
- private Long recordingMetaDataId;
-
- /**
- * @see Client#isStartRecording()
- */
- @Column(name = "start_recording", nullable = false)
- private boolean startRecording = false;
-
- /**
- * @see Client#isStartStreaming()
- */
- @Column(name = "start_streaming", nullable = false)
- private boolean startStreaming = false;
-
- /**
- * @see Client#isScreenPublishStarted()
- */
- @Column(name = "screen_publish_started", nullable = false)
- private boolean screenPublishStarted = false;
-
- /**
- * @see Client#isStreamPublishStarted()
- */
- @Column(name = "stream_publish_started", nullable = false)
- private boolean streamPublishStarted = false;
-
- /**
- * @see Client#getIsBroadcasting()
- */
- @Column(name = "is_broadcasting", nullable = false)
- private boolean isBroadcasting = false;
-
- /**
- * @see Client#getExternalUserId()
- */
- @Column(name = "external_user_id")
- private String externalUserId;
-
- /**
- * @see Client#getExternalUserType()
- */
- @Column(name = "external_user_type")
- private String externalUserType;
-
- /**
- * @see Client#getInterviewPodId()
- */
- @Column(name = "interview_pod_id")
- private Integer interviewPodId = null;
-
- /**
- * @see Client#isAllowRecording()
- */
- @Column(name = "allow_recording", nullable = false)
- private boolean allowRecording = true;
-
- /**
- * @see Client#getZombieCheckFlag()
- */
- @Column(name = "zombie_check_flag", nullable = false)
- private boolean zombieCheckFlag = false;
-
- /**
- * @see Client#getMicMuted()
- */
- @Column(name = "mic_muted", nullable = false)
- private boolean micMuted = false;
-
- /**
- * @see Client#isSipTransport()
- */
- @Column(name = "sip_transport", nullable = false)
- private boolean sipTransport = false;
-
- @Column(name = "mobile", nullable = false)
- private boolean mobile = false;
-
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "server_id")
- private Server server;
-
- public Client() {}
-
- public Client(String streamid, String publicSID, Long roomId,
- Long userId, String firstname, String lastname,
- String username, String connectedSince, String scope) {
- super();
- this.streamid = streamid;
- this.publicSID = publicSID;
- this.roomId = roomId;
- this.userId = userId;
- this.firstname = firstname;
- this.lastname = lastname;
- this.username = username;
- this.connectedSince = CalendarPatterns.parseDateWithHour(connectedSince);
- this.scope = scope;
- }
-
- public void setUserObject(Long userId, String username, String firstname, String lastname) {
- this.userId = userId;
- this.username = username;
- this.firstname = firstname;
- this.lastname = lastname;
- }
-
- public void setUserObject(String username, String firstname, String lastname) {
- this.username = username;
- this.firstname = firstname;
- this.lastname = lastname;
- }
-
- @Override
- public Long getId() {
- return id;
- }
-
- @Override
- public void setId(Long id) {
- this.id = id;
- }
-
- public Date getConnectedSince() {
- return connectedSince;
- }
-
- public void setConnectedSince(Date connectedSince) {
- this.connectedSince = connectedSince;
- }
-
- public boolean getIsMod() {
- return isMod;
- }
-
- public void setIsMod(boolean isMod) {
- this.isMod = isMod;
- }
-
- public String getUsername() {
- return username;
- }
-
- public void setUsername(String username) {
- this.username = username;
- }
-
- public String getStreamid() {
- return streamid;
- }
-
- public void setStreamid(String streamid) {
- this.streamid = streamid;
- }
-
- public String getScope() {
- return scope;
- }
-
- public void setScope(String scope) {
- this.scope = scope;
- StringValue scn = StringValue.valueOf(scope);
- long roomId = scn.toLong(Long.MIN_VALUE);
- if (roomId > 0) {
- this.roomId = roomId;
- }
- }
-
- public String getFormatedDate() {
- return formatedDate;
- }
-
- public void setFormatedDate(String formatedDate) {
- this.formatedDate = formatedDate;
- }
-
- public String getUsercolor() {
- return usercolor;
- }
-
- public void setUsercolor(String usercolor) {
- this.usercolor = usercolor;
- }
-
- public Integer getUserpos() {
- return userpos;
- }
-
- public void setUserpos(Integer userpos) {
- this.userpos = userpos;
- }
-
- public String getUserip() {
- return userip;
- }
-
- public void setUserip(String userip) {
- this.userip = userip;
- }
-
- public String getSwfurl() {
- return swfurl;
- }
-
- public void setSwfurl(String swfurl) {
- this.swfurl = swfurl;
- }
-
- public int getUserport() {
- return userport;
- }
-
- public void setUserport(int userport) {
- this.userport = userport;
- }
-
- public String getFirstname() {
- return firstname;
- }
-
- public void setFirstname(String firstname) {
- this.firstname = firstname;
- }
-
- public String getLanguage() {
- return language;
- }
-
- public void setLanguage(String language) {
- this.language = language;
- }
-
- public String getLastLogin() {
- return lastLogin;
- }
-
- public void setLastLogin(String lastLogin) {
- this.lastLogin = lastLogin;
- }
-
- public String getLastname() {
- return lastname;
- }
-
- public void setLastname(String lastname) {
- this.lastname = lastname;
- }
-
- public String getEmail() {
- return email;
- }
-
- public void setEmail(String email) {
- this.email = email;
- }
-
- public String getSecurityCode() {
- return securityCode;
- }
-
- public void setSecurityCode(String securityCode) {
- this.securityCode = securityCode;
- }
-
- public String getPicture_uri() {
- return picture_uri;
- }
-
- public void setPicture_uri(String picture_uri) {
- this.picture_uri = picture_uri;
- }
-
- public Long getUserId() {
- return userId;
- }
-
- public void setUserId(Long userId) {
- this.userId = userId;
- }
-
- public Long getRoomId() {
- return roomId;
- }
-
- public void setRoomId(Long roomId) {
- this.roomId = roomId;
- }
-
- public Date getRoomEnter() {
- return roomEnter;
- }
-
- public void setRoomEnter(Date roomEnter) {
- this.roomEnter = roomEnter;
- }
-
- public boolean getIsRecording() {
- return isRecording;
- }
-
- public void setIsRecording(boolean isRecording) {
- this.isRecording = isRecording;
- }
-
- public String getRoomRecordingName() {
- return roomRecordingName;
- }
-
- public void setRoomRecordingName(String roomRecordingName) {
- this.roomRecordingName = roomRecordingName;
- }
-
- public String getAvsettings() {
- return avsettings;
- }
-
- public void setAvsettings(String avsettings) {
- this.avsettings = avsettings;
- }
-
- public long getBroadCastID() {
- return broadCastID;
- }
-
- public void setBroadCastID(long broadCastID) {
- this.broadCastID = broadCastID;
- }
-
- public String getPublicSID() {
- return publicSID;
- }
-
- public void setPublicSID(String publicSID) {
- this.publicSID = publicSID;
- }
-
- public String getOwnerSid() {
- return ownerSid;
- }
-
- public void setOwnerSid(String ownerSid) {
- this.ownerSid = ownerSid;
- }
-
- public boolean getZombieCheckFlag() {
- return zombieCheckFlag;
- }
-
- public void setZombieCheckFlag(boolean zombieCheckFlag) {
- this.zombieCheckFlag = zombieCheckFlag;
- }
-
- public boolean getMicMuted() {
- return micMuted;
- }
-
- public void setMicMuted(boolean micMuted) {
- this.micMuted = micMuted;
- }
-
- public boolean getCanDraw() {
- return canDraw;
- }
-
- public void setCanDraw(boolean canDraw) {
- this.canDraw = canDraw;
- }
-
- public boolean getIsBroadcasting() {
- return isBroadcasting;
- }
-
- public void setIsBroadcasting(boolean isBroadcasting) {
- this.isBroadcasting = isBroadcasting;
- }
-
- public boolean getCanShare() {
- return canShare;
- }
-
- public void setCanShare(boolean canShare) {
- this.canShare = canShare;
- }
-
- public String getExternalUserId() {
- return externalUserId;
- }
-
- public void setExternalUserId(String externalUserId) {
- this.externalUserId = externalUserId;
- }
-
- public String getExternalUserType() {
- return externalUserType;
- }
-
- public void setExternalUserType(String externalUserType) {
- this.externalUserType = externalUserType;
- }
-
- public boolean getIsSuperModerator() {
- return isSuperModerator;
- }
-
- public void setIsSuperModerator(boolean isSuperModerator) {
- this.isSuperModerator = isSuperModerator;
- }
-
- public boolean isScreenClient() {
- return screenClient;
- }
-
- public void setScreenClient(boolean screenClient) {
- this.screenClient = screenClient;
- }
-
- public int getVWidth() {
- return vWidth;
- }
-
- public void setVWidth(int width) {
- vWidth = width;
- }
-
- public int getVHeight() {
- return vHeight;
- }
-
- public void setVHeight(int height) {
- vHeight = height;
- }
-
- public int getVX() {
- return vX;
- }
-
- public void setVX(int vx) {
- vX = vx;
- }
-
- public int getVY() {
- return vY;
- }
-
- public void setVY(int vy) {
- vY = vy;
- }
-
- public String getStreamPublishName() {
- return streamPublishName;
- }
-
- public void setStreamPublishName(String streamPublishName) {
- this.streamPublishName = streamPublishName;
- }
-
- public Long getRecordingId() {
- return recordingId;
- }
-
- public void setRecordingId(Long recordingId) {
- this.recordingId = recordingId;
- }
-
- public Long getRecordingMetaDataId() {
- return recordingMetaDataId;
- }
-
- public void setRecordingMetaDataId(Long recordingMetaDataId) {
- this.recordingMetaDataId = recordingMetaDataId;
- }
-
- public boolean isScreenPublishStarted() {
- return screenPublishStarted;
- }
-
- public void setScreenPublishStarted(boolean screenPublishStarted) {
- this.screenPublishStarted = screenPublishStarted;
- }
-
- public boolean isStartRecording() {
- return startRecording;
- }
-
- public void setStartRecording(boolean startRecording) {
- this.startRecording = startRecording;
- }
-
- public boolean isStartStreaming() {
- return startStreaming;
- }
-
- public void setStartStreaming(boolean startStreaming) {
- this.startStreaming = startStreaming;
- }
-
- public Integer getInterviewPodId() {
- return interviewPodId;
- }
-
- public void setInterviewPodId(Integer interviewPodId) {
- this.interviewPodId = interviewPodId;
- }
-
- public boolean getCanRemote() {
- return canRemote;
- }
-
- public void setCanRemote(boolean canRemote) {
- this.canRemote = canRemote;
- }
-
- public boolean getCanGiveAudio() {
- return canGiveAudio;
- }
-
- public void setCanGiveAudio(boolean canGiveAudio) {
- this.canGiveAudio = canGiveAudio;
- }
-
- public boolean getCanVideo() {
- return canVideo;
- }
-
- public void setCanVideo(boolean canVideo) {
- this.canVideo = canVideo;
- }
-
- public boolean isAllowRecording() {
- return allowRecording;
- }
-
- public void setAllowRecording(boolean allowRecording) {
- this.allowRecording = allowRecording;
- }
-
- public boolean isStreamPublishStarted() {
- return streamPublishStarted;
- }
-
- public void setStreamPublishStarted(boolean streamPublishStarted) {
- this.streamPublishStarted = streamPublishStarted;
- }
-
- public boolean isSipTransport() {
- return sipTransport;
- }
-
- public void setSipTransport(boolean sipTransport) {
- this.sipTransport = sipTransport;
- }
-
- public Server getServer() {
- return server;
- }
-
- public void setServer(Server server) {
- this.server = server;
- }
-
- public boolean isMobile() {
- return mobile;
- }
-
- public void setMobile(boolean mobile) {
- this.mobile = mobile;
- }
-
- public String getTcUrl() {
- return tcUrl;
- }
-
- public void setTcUrl(String tcUrl) {
- this.tcUrl = tcUrl;
- }
-
- public boolean isNativeSsl() {
- return nativeSsl;
- }
-
- public void setNativeSsl(boolean nativeSsl) {
- this.nativeSsl = nativeSsl;
- }
-
- @Override
- public String toString() {
- return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + screenClient
- + ", isMobile = " + mobile + ", roomId=" + roomId + ", broadCastID=" + broadCastID + ", userId="
- + userId + ", avsettings=" + avsettings + ", isRecording=" + isRecording + ", recordingId="
- + recordingId + ", recordingMetaDataId=" + recordingMetaDataId + ", screenPublishStarted="
- + screenPublishStarted + ", interviewPodId=" + interviewPodId + ", server=" + server + "]";
- }
-}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
index becb29f..cdaa898 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
@@ -302,7 +302,7 @@ public class Room implements IDataProviderEntity {
private List<RoomGroup> roomGroups = new ArrayList<>();
@Transient
- private List<Client> currentusers;
+ private List<StreamClient> currentusers;
public String getComment() {
return comment;
@@ -370,11 +370,11 @@ public class Room implements IDataProviderEntity {
this.ispublic = ispublic;
}
- public List<Client> getCurrentusers() {
+ public List<StreamClient> getCurrentusers() {
return currentusers;
}
- public void setCurrentusers(List<Client> currentusers) {
+ public void setCurrentusers(List<StreamClient> currentusers) {
this.currentusers = currentusers;
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
new file mode 100644
index 0000000..a532a73
--- /dev/null
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/StreamClient.java
@@ -0,0 +1,607 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") + you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.db.entity.room;
+
+import java.util.Date;
+
+import org.apache.openmeetings.db.entity.basic.IClient;
+import org.apache.openmeetings.util.CalendarPatterns;
+import org.apache.wicket.util.string.StringValue;
+
+/**
+ * Can be configured to be stored in memory or in database
+ *
+ * @author sebawagner
+ */
+public class StreamClient implements IClient {
+ private static final long serialVersionUID = 1L;
+
+ private String username = "";
+ private String streamid = "";
+ private String scope = "";
+ private int vWidth = 0;
+ private int vHeight = 0;
+ private int vX = 0;
+ private int vY = 0;
+ private String streamPublishName = "";
+ private String publicSID = "";
+ private String ownerSid = null;
+ private boolean isMod = false;
+ private boolean isSuperModerator = false;
+ private boolean canDraw = false;
+ private boolean canShare = false;
+ private boolean canRemote = false;
+ private boolean canGiveAudio = false;
+ private boolean canVideo = false;
+ private Date connectedSince;
+ private String formatedDate;
+ private boolean screenClient;
+ private String usercolor;
+ private Integer userpos;
+ private String userip;
+ private int userport;
+ private Long roomId;
+ private Date roomEnter = null;
+ private long broadCastID = -2;
+ private Long userId = null;
+ private String firstname = "";
+ private String lastname = "";
+ private String email;
+ private String lastLogin;
+ private String securityCode;
+ private String picture_uri;
+ private String language = "";
+ private String avsettings = "";
+ private String swfurl;
+ private String tcUrl;
+ private boolean nativeSsl = false;
+ private boolean isRecording = false;
+ private String roomRecordingName;
+ private Long recordingId;
+ private Long recordingMetaDataId;
+ private boolean startRecording = false;
+ private boolean startStreaming = false;
+ private boolean screenPublishStarted = false;
+ private boolean streamPublishStarted = false;
+ private boolean isBroadcasting = false;
+ private String externalUserId;
+ private String externalUserType;
+ private Integer interviewPodId = null;
+ private boolean allowRecording = true;
+ private boolean zombieCheckFlag = false;
+ private boolean micMuted = false;
+ private boolean sipTransport = false;
+ private boolean mobile = false;
+ private String serverId = null;
+
+ public StreamClient() {}
+
+ public StreamClient(String streamid, String publicSID, Long roomId,
+ Long userId, String firstname, String lastname,
+ String username, String connectedSince, String scope) {
+ super();
+ this.streamid = streamid;
+ this.publicSID = publicSID;
+ this.roomId = roomId;
+ this.userId = userId;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ this.username = username;
+ this.connectedSince = CalendarPatterns.parseDateWithHour(connectedSince);
+ this.scope = scope;
+ }
+
+ public void setUserObject(Long userId, String username, String firstname, String lastname) {
+ this.userId = userId;
+ this.username = username;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+
+ public void setUserObject(String username, String firstname, String lastname) {
+ this.username = username;
+ this.firstname = firstname;
+ this.lastname = lastname;
+ }
+
+ @Override
+ public Long getId() {
+ return null;
+ }
+
+ @Override
+ public void setId(Long id) {
+ }
+
+ @Override
+ public String getUid() {
+ return publicSID;
+ }
+
+ public Date getConnectedSince() {
+ return connectedSince;
+ }
+
+ public void setConnectedSince(Date connectedSince) {
+ this.connectedSince = connectedSince;
+ }
+
+ public boolean getIsMod() {
+ return isMod;
+ }
+
+ public void setIsMod(boolean isMod) {
+ this.isMod = isMod;
+ }
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ public String getStreamid() {
+ return streamid;
+ }
+
+ public void setStreamid(String streamid) {
+ this.streamid = streamid;
+ }
+
+ public String getScope() {
+ return scope;
+ }
+
+ public void setScope(String scope) {
+ this.scope = scope;
+ StringValue scn = StringValue.valueOf(scope);
+ long roomId = scn.toLong(Long.MIN_VALUE);
+ if (roomId > 0) {
+ this.roomId = roomId;
+ }
+ }
+
+ public String getFormatedDate() {
+ return formatedDate;
+ }
+
+ public void setFormatedDate(String formatedDate) {
+ this.formatedDate = formatedDate;
+ }
+
+ public String getUsercolor() {
+ return usercolor;
+ }
+
+ public void setUsercolor(String usercolor) {
+ this.usercolor = usercolor;
+ }
+
+ public Integer getUserpos() {
+ return userpos;
+ }
+
+ public void setUserpos(Integer userpos) {
+ this.userpos = userpos;
+ }
+
+ public String getUserip() {
+ return userip;
+ }
+
+ public void setUserip(String userip) {
+ this.userip = userip;
+ }
+
+ public String getSwfurl() {
+ return swfurl;
+ }
+
+ public void setSwfurl(String swfurl) {
+ this.swfurl = swfurl;
+ }
+
+ public int getUserport() {
+ return userport;
+ }
+
+ public void setUserport(int userport) {
+ this.userport = userport;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getLanguage() {
+ return language;
+ }
+
+ public void setLanguage(String language) {
+ this.language = language;
+ }
+
+ public String getLastLogin() {
+ return lastLogin;
+ }
+
+ public void setLastLogin(String lastLogin) {
+ this.lastLogin = lastLogin;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getSecurityCode() {
+ return securityCode;
+ }
+
+ public void setSecurityCode(String securityCode) {
+ this.securityCode = securityCode;
+ }
+
+ public String getPicture_uri() {
+ return picture_uri;
+ }
+
+ public void setPicture_uri(String picture_uri) {
+ this.picture_uri = picture_uri;
+ }
+
+ public Long getUserId() {
+ return userId;
+ }
+
+ public void setUserId(Long userId) {
+ this.userId = userId;
+ }
+
+ public Long getRoomId() {
+ return roomId;
+ }
+
+ public void setRoomId(Long roomId) {
+ this.roomId = roomId;
+ }
+
+ public Date getRoomEnter() {
+ return roomEnter;
+ }
+
+ public void setRoomEnter(Date roomEnter) {
+ this.roomEnter = roomEnter;
+ }
+
+ public boolean getIsRecording() {
+ return isRecording;
+ }
+
+ public void setIsRecording(boolean isRecording) {
+ this.isRecording = isRecording;
+ }
+
+ public String getRoomRecordingName() {
+ return roomRecordingName;
+ }
+
+ public void setRoomRecordingName(String roomRecordingName) {
+ this.roomRecordingName = roomRecordingName;
+ }
+
+ public String getAvsettings() {
+ return avsettings;
+ }
+
+ public void setAvsettings(String avsettings) {
+ this.avsettings = avsettings;
+ }
+
+ public long getBroadCastID() {
+ return broadCastID;
+ }
+
+ public void setBroadCastID(long broadCastID) {
+ this.broadCastID = broadCastID;
+ }
+
+ public String getPublicSID() {
+ return publicSID;
+ }
+
+ public void setPublicSID(String publicSID) {
+ this.publicSID = publicSID;
+ }
+
+ public String getOwnerSid() {
+ return ownerSid;
+ }
+
+ public void setOwnerSid(String ownerSid) {
+ this.ownerSid = ownerSid;
+ }
+
+ public boolean getZombieCheckFlag() {
+ return zombieCheckFlag;
+ }
+
+ public void setZombieCheckFlag(boolean zombieCheckFlag) {
+ this.zombieCheckFlag = zombieCheckFlag;
+ }
+
+ public boolean getMicMuted() {
+ return micMuted;
+ }
+
+ public void setMicMuted(boolean micMuted) {
+ this.micMuted = micMuted;
+ }
+
+ public boolean getCanDraw() {
+ return canDraw;
+ }
+
+ public void setCanDraw(boolean canDraw) {
+ this.canDraw = canDraw;
+ }
+
+ public boolean getIsBroadcasting() {
+ return isBroadcasting;
+ }
+
+ public void setIsBroadcasting(boolean isBroadcasting) {
+ this.isBroadcasting = isBroadcasting;
+ }
+
+ public boolean getCanShare() {
+ return canShare;
+ }
+
+ public void setCanShare(boolean canShare) {
+ this.canShare = canShare;
+ }
+
+ public String getExternalUserId() {
+ return externalUserId;
+ }
+
+ public void setExternalUserId(String externalUserId) {
+ this.externalUserId = externalUserId;
+ }
+
+ public String getExternalUserType() {
+ return externalUserType;
+ }
+
+ public void setExternalUserType(String externalUserType) {
+ this.externalUserType = externalUserType;
+ }
+
+ public boolean getIsSuperModerator() {
+ return isSuperModerator;
+ }
+
+ public void setIsSuperModerator(boolean isSuperModerator) {
+ this.isSuperModerator = isSuperModerator;
+ }
+
+ public boolean isScreenClient() {
+ return screenClient;
+ }
+
+ public void setScreenClient(boolean screenClient) {
+ this.screenClient = screenClient;
+ }
+
+ public int getVWidth() {
+ return vWidth;
+ }
+
+ public void setVWidth(int width) {
+ vWidth = width;
+ }
+
+ public int getVHeight() {
+ return vHeight;
+ }
+
+ public void setVHeight(int height) {
+ vHeight = height;
+ }
+
+ public int getVX() {
+ return vX;
+ }
+
+ public void setVX(int vx) {
+ vX = vx;
+ }
+
+ public int getVY() {
+ return vY;
+ }
+
+ public void setVY(int vy) {
+ vY = vy;
+ }
+
+ public String getStreamPublishName() {
+ return streamPublishName;
+ }
+
+ public void setStreamPublishName(String streamPublishName) {
+ this.streamPublishName = streamPublishName;
+ }
+
+ public Long getRecordingId() {
+ return recordingId;
+ }
+
+ public void setRecordingId(Long recordingId) {
+ this.recordingId = recordingId;
+ }
+
+ public Long getRecordingMetaDataId() {
+ return recordingMetaDataId;
+ }
+
+ public void setRecordingMetaDataId(Long recordingMetaDataId) {
+ this.recordingMetaDataId = recordingMetaDataId;
+ }
+
+ public boolean isScreenPublishStarted() {
+ return screenPublishStarted;
+ }
+
+ public void setScreenPublishStarted(boolean screenPublishStarted) {
+ this.screenPublishStarted = screenPublishStarted;
+ }
+
+ public boolean isStartRecording() {
+ return startRecording;
+ }
+
+ public void setStartRecording(boolean startRecording) {
+ this.startRecording = startRecording;
+ }
+
+ public boolean isStartStreaming() {
+ return startStreaming;
+ }
+
+ public void setStartStreaming(boolean startStreaming) {
+ this.startStreaming = startStreaming;
+ }
+
+ public Integer getInterviewPodId() {
+ return interviewPodId;
+ }
+
+ public void setInterviewPodId(Integer interviewPodId) {
+ this.interviewPodId = interviewPodId;
+ }
+
+ public boolean getCanRemote() {
+ return canRemote;
+ }
+
+ public void setCanRemote(boolean canRemote) {
+ this.canRemote = canRemote;
+ }
+
+ public boolean getCanGiveAudio() {
+ return canGiveAudio;
+ }
+
+ public void setCanGiveAudio(boolean canGiveAudio) {
+ this.canGiveAudio = canGiveAudio;
+ }
+
+ public boolean getCanVideo() {
+ return canVideo;
+ }
+
+ public void setCanVideo(boolean canVideo) {
+ this.canVideo = canVideo;
+ }
+
+ public boolean isAllowRecording() {
+ return allowRecording;
+ }
+
+ public void setAllowRecording(boolean allowRecording) {
+ this.allowRecording = allowRecording;
+ }
+
+ public boolean isStreamPublishStarted() {
+ return streamPublishStarted;
+ }
+
+ public void setStreamPublishStarted(boolean streamPublishStarted) {
+ this.streamPublishStarted = streamPublishStarted;
+ }
+
+ public boolean isSipTransport() {
+ return sipTransport;
+ }
+
+ public void setSipTransport(boolean sipTransport) {
+ this.sipTransport = sipTransport;
+ }
+
+ @Override
+ public String getServerId() {
+ return serverId;
+ }
+
+ public void setServerId(String serverId) {
+ this.serverId = serverId;
+ }
+
+ public boolean isMobile() {
+ return mobile;
+ }
+
+ public void setMobile(boolean mobile) {
+ this.mobile = mobile;
+ }
+
+ public String getTcUrl() {
+ return tcUrl;
+ }
+
+ public void setTcUrl(String tcUrl) {
+ this.tcUrl = tcUrl;
+ }
+
+ public boolean isNativeSsl() {
+ return nativeSsl;
+ }
+
+ public void setNativeSsl(boolean nativeSsl) {
+ this.nativeSsl = nativeSsl;
+ }
+
+ @Override
+ public String toString() {
+ return "Client [streamid=" + streamid + ", publicSID=" + publicSID + ", isScreenClient=" + screenClient
+ + ", isMobile = " + mobile + ", roomId=" + roomId + ", broadCastID=" + broadCastID + ", userId="
+ + userId + ", avsettings=" + avsettings + ", isRecording=" + isRecording + ", recordingId="
+ + recordingId + ", recordingMetaDataId=" + recordingMetaDataId + ", screenPublishStarted="
+ + screenPublishStarted + ", interviewPodId=" + interviewPodId + ", server=" + serverId + "]";
+ }
+}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java
deleted file mode 100644
index 046bc92..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/server/Server.java
+++ /dev/null
@@ -1,304 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.db.entity.server;
-
-import java.util.Calendar;
-import java.util.Date;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.Lob;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openmeetings.db.entity.IDataProviderEntity;
-import org.apache.openmeetings.db.entity.user.User;
-import org.simpleframework.xml.Element;
-import org.simpleframework.xml.Root;
-
-@Entity
-@NamedQueries({
- @NamedQuery(name = "getAllServers", query = "SELECT s FROM Server s WHERE s.deleted = false ORDER BY s.id"),
- @NamedQuery(name = "getServerCount", query = "SELECT COUNT(s) FROM Server s WHERE s.deleted = false"),
- @NamedQuery(name = "getServerById", query = "SELECT s FROM Server s LEFT JOIN FETCH s.insertedby LEFT JOIN FETCH s.updatedby WHERE s.deleted = false AND s.id = :id"),
- @NamedQuery(name = "getServerByName", query = "SELECT s FROM Server s WHERE s.deleted = false AND s.name LIKE :name"),
- @NamedQuery(name = "getServerByAddress", query = "SELECT s FROM Server s WHERE s.deleted = false AND s.address LIKE :address"),
- @NamedQuery(name = "getServersWithNoUsers", query = "SELECT s FROM Server s WHERE s.deleted = false AND s.id NOT IN (SELECT u.server.id FROM User u where u.server.id IS NOT NULL)"),
- @NamedQuery(name = "getServerWithMinimumUsers", query = "SELECT s.id, COUNT(u) AS cnt FROM User u JOIN u.server s WHERE s.deleted = false GROUP BY s.id ORDER BY cnt"),
- @NamedQuery(name = "getActiveServers", query = "SELECT s FROM Server s WHERE s.deleted = false AND s.active = true") //
-})
-@Table(name = "server")
-@Root
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.FIELD)
-public class Server implements IDataProviderEntity {
- private static final long serialVersionUID = 1L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- @Column(name = "id")
- @Element(data = true)
- private Long id;
-
- @Column(name = "name")
- @Element(data = true)
- private String name;
-
- @Column(name = "address")
- @Element(data = true)
- private String address;
-
- @Column(name = "inserted")
- public Date inserted;
-
- @Column(name = "updated")
- public Date updated;
-
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "insertedby_id", updatable = true, insertable = true)
- @ForeignKey(enabled = true)
- public User insertedby;
-
- @ManyToOne(fetch = FetchType.LAZY)
- @JoinColumn(name = "updatedby_id", updatable = true, insertable = true)
- @ForeignKey(enabled = true)
- public User updatedby;
-
- @Lob
- @Column(name = "comment", length = 2048)
- @Element(data = true, required = false)
- private String comment;
-
- @Column(name = "last_ping", nullable = true)
- @Element(data = true, required = false)
- private Calendar lastPing;
-
- @Column(name = "port", nullable = true)
- @Element(data = true, required = false)
- private int port;
-
- @Column(name = "protocol", nullable = true)
- @Element(data = true, required = false)
- private String protocol;
-
- @Column(name = "webapp", nullable = true)
- @Element(data = true, required = false)
- private String webapp;
-
- @Column(name = "login", nullable = true)
- @Element(data = true, required = false)
- private String user;
-
- @Column(name = "pass", nullable = true)
- @Element(data = true, required = false)
- private String pass;
-
- @Column(name = "active", nullable = false)
- @Element(data = true, required = false)
- private boolean active;
-
- @Column(name = "deleted", nullable = false)
- @Element(data = true)
- private boolean deleted = false;
-
- @Override
- public Long getId() {
- return id;
- }
-
- @Override
- public void setId(Long id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public boolean isDeleted() {
- return deleted;
- }
-
- public void setDeleted(boolean deleted) {
- this.deleted = deleted;
- }
-
- public Date getInserted() {
- return inserted;
- }
-
- public void setInserted(Date inserted) {
- this.inserted = inserted;
- }
-
- public Date getUpdated() {
- return updated;
- }
-
- public void setUpdated(Date updated) {
- this.updated = updated;
- }
-
- public User getInsertedby() {
- return insertedby;
- }
-
- public void setInsertedby(User insertedby) {
- this.insertedby = insertedby;
- }
-
- public User getUpdatedby() {
- return updatedby;
- }
-
- public void setUpdatedby(User updatedby) {
- this.updatedby = updatedby;
- }
-
- public String getComment() {
- return comment;
- }
-
- public void setComment(String comment) {
- this.comment = comment;
- }
-
- public Calendar getLastPing() {
- return lastPing;
- }
-
- public void setLastPing(Calendar lastPing) {
- this.lastPing = lastPing;
- }
-
- public int getPort() {
- return port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- public String getProtocol() {
- return protocol;
- }
-
- public void setProtocol(String protocol) {
- this.protocol = protocol;
- }
-
- public String getWebapp() {
- return webapp;
- }
-
- public void setWebapp(String webapp) {
- this.webapp = webapp;
- }
-
- public String getUser() {
- return user;
- }
-
- public void setUser(String user) {
- this.user = user;
- }
-
- public String getPass() {
- return pass;
- }
-
- public void setPass(String pass) {
- this.pass = pass;
- }
-
- public void setId(long id) {
- this.id = id;
- }
-
- public boolean isActive() {
- return active;
- }
-
- public void setActive(boolean active) {
- this.active = active;
- }
-
- @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 + "]";
- }
-
- @Override
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((address == null) ? 0 : address.hashCode());
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- return result;
- }
-
- @Override
- 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 == null) {
- if (other.id != null)
- return false;
- } else if (!id.equals(other.id))
- return false;
- return true;
- }
-}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
----------------------------------------------------------------------
diff --git a/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx b/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
index cf77111..d0ec07a 100644
--- a/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
+++ b/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
@@ -249,14 +249,6 @@
</handler>
</netRemoteCallHib>
- <netRemoteCallHib name="overwritePublicSID" funcname="overwritePublicSID" >
- <netparam><method name="getValue"> return canvas.publicSID;</method></netparam>
- <handler name="ondata" args="value">
- //The onResult-Handler will be called be the rtmpconnection
- if ($debug) Debug.write("overwritePublicSID: ",value);
- </handler>
- </netRemoteCallHib>
-
<method name="setDefaultUserLanguage">
<![CDATA[
if (userlang == -1 && canvas.language_id != 0) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
index 267d178..17bf2e7 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupExport.java
@@ -49,7 +49,6 @@ import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomGroupDao;
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
-import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
@@ -124,8 +123,6 @@ public class BackupExport {
@Autowired
private OAuth2Dao auth2Dao;
@Autowired
- private ServerDao serverDao;
- @Autowired
private GroupDao groupDao;
@Autowired
private RoomDao roomDao;
@@ -249,12 +246,6 @@ public class BackupExport {
progressHolder.setProgress(35);
/*
- * ##################### Cluster servers
- */
- writeList(ser, zos, "servers.xml", "servers", serverDao.get(0, Integer.MAX_VALUE));
- progressHolder.setProgress(40);
-
- /*
* ##################### OAuth2 servers
*/
writeList(ser, zos, "oauth2servers.xml", "oauth2servers", auth2Dao.get(0, Integer.MAX_VALUE));
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
index c4660c7..fad26ab 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/backup/BackupImport.java
@@ -81,7 +81,6 @@ import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.room.RoomGroupDao;
import org.apache.openmeetings.db.dao.server.LdapConfigDao;
import org.apache.openmeetings.db.dao.server.OAuth2Dao;
-import org.apache.openmeetings.db.dao.server.ServerDao;
import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageDao;
import org.apache.openmeetings.db.dao.user.PrivateMessageFolderDao;
@@ -104,7 +103,6 @@ import org.apache.openmeetings.db.entity.room.RoomPoll;
import org.apache.openmeetings.db.entity.room.RoomPollAnswer;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.db.entity.server.OAuthServer;
-import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -172,8 +170,6 @@ public class BackupImport {
@Autowired
private ChatDao chatDao;
@Autowired
- private ServerDao serverDao;
- @Autowired
private OAuth2Dao auth2Dao;
@Autowired
private GroupDao groupDao;
@@ -519,19 +515,7 @@ public class BackupImport {
}
}
- log.info("Meeting members import complete, starting cluster server import");
- /*
- * ##################### Cluster servers
- */
- {
- List<Server> list = readList(simpleSerializer, f, "servers.xml", "servers", Server.class, true);
- for (Server s : list) {
- s.setId(null);
- serverDao.update(s, null);
- }
- }
-
- log.info("Cluster servers import complete, starting recordings import");
+ log.info("Meeting members import complete, starting recordings server import");
/*
* ##################### Import Recordings
*/
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
----------------------------------------------------------------------
diff --git a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
index 336c91f..3c1212f 100644
--- a/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
+++ b/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
@@ -159,8 +159,7 @@ public class ImportInitvalues {
navimanagement.addMainStructure("adminModuleLDAP", null, 20, "1103", LEVEL_ADMIN, "Administration of LDAP Configs", admin.getId(), "1460");
navimanagement.addMainStructure("adminModuleOAuth", null, 21, "1571", LEVEL_ADMIN, "Administration of OAuth2 servers", admin.getId(), "1572");
navimanagement.addMainStructure("adminModuleBackup", null, 22, "367", LEVEL_ADMIN, "Administration of Backups", admin.getId(), "1461");
- navimanagement.addMainStructure("adminModuleServers", null, 23, "1498", LEVEL_ADMIN, "Administration of Servers", admin.getId(), "1499");
- navimanagement.addMainStructure("adminModuleEmail", null, 24, "main.menu.admin.email", LEVEL_ADMIN, "Administration of Emails", admin.getId(), "main.menu.admin.email.desc");
+ navimanagement.addMainStructure("adminModuleEmail", null, 23, "main.menu.admin.email", LEVEL_ADMIN, "Administration of Emails", admin.getId(), "main.menu.admin.email.desc");
log.debug("MainMenu ADDED");
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-server/src/site/xdoc/Clustering.xml
----------------------------------------------------------------------
diff --git a/openmeetings-server/src/site/xdoc/Clustering.xml b/openmeetings-server/src/site/xdoc/Clustering.xml
index e791f6e..a76ac5f 100644
--- a/openmeetings-server/src/site/xdoc/Clustering.xml
+++ b/openmeetings-server/src/site/xdoc/Clustering.xml
@@ -132,22 +132,12 @@
]]></source>
</li>
<li>
- <p>In the file <tt>/opt/red5/webapps/openmeetings/WEB-INF/classes/applicationContext.xml</tt>:</p>
+ <p>In the file <tt>/opt/red5/webapps/openmeetings/WEB-INF/classes/hazelcast.xml</tt>:</p>
<ul>
+ <li>Set <tt>instance-name</tt> for each server to unique value</li>
<li>
- For each node uncomment line:
- <source>
-<![CDATA[
-<!-- Need to be uncommented and set to the real ID if in cluster mode-->
-<property name="serverId" value="1" />
-]]>
- </source>
- and input the unique value for each node.
- </li>
- <li>
- Replace <tt><ref bean="openmeetings.HashMapStore" /> <!-- Memory based session cache by default --></tt><br/>
- with <tt><ref bean="openmeetings.DatabaseStore" /></tt>
- (Currently commented out with following comment: <tt>"The following section should be used in clustering mode"</tt>)
+ In case there are more than one network interface with multicast support and/or additional hazelcast configuration is required
+ Based on the following documentation: <a href="http://docs.hazelcast.org/docs/3.8.3/manual/html-single/index.html">http://docs.hazelcast.org/docs/3.8.3/manual/html-single/index.html</a>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java
index bcef9cf..489751d 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/quartz/scheduler/CleanupJob.java
@@ -31,7 +31,7 @@ import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.math.NumberUtils;
import org.apache.openmeetings.core.data.whiteboard.WhiteboardCache;
-import org.apache.openmeetings.core.session.SessionManager;
+import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.room.Whiteboard;
@@ -52,7 +52,7 @@ public class CleanupJob extends AbstractJob {
@Autowired
private SessiondataDao sessionDao;
@Autowired
- private SessionManager sessionManager;
+ private ISessionManager sessionManager;
@Autowired
private WhiteboardCache wbManager;
@Autowired
@@ -128,7 +128,7 @@ public class CleanupJob extends AbstractJob {
}
}
}
- if (folder.isDirectory() && roomId != null && sessionManager.getClientListByRoom(roomId).isEmpty()) {
+ if (folder.isDirectory() && roomId != null && sessionManager.listByRoom(roomId).isEmpty()) {
File[] files = folder.listFiles();
//TODO need to rework this and remove hardcodings
if (files != null) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
----------------------------------------------------------------------
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
index d09f748..6e8361a 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
@@ -52,7 +52,7 @@ import org.apache.openmeetings.db.dao.user.GroupDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.basic.SearchResult;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.GroupUser;
@@ -410,7 +410,7 @@ public class UserManager implements IUserManager {
* @return
*/
@Override
- public boolean kickUserByStreamId(String sid, Long room_id) {
+ public boolean kickUsersByRoomId(String sid, Long room_id) {
try {
Sessiondata sd = sessionDao.check(sid);
// admins only
@@ -418,7 +418,7 @@ public class UserManager implements IUserManager {
sessionDao.clearSessionByRoomId(room_id);
- for (Client rcl : sessionManager.getClientListByRoom(room_id)) {
+ for (StreamClient rcl : sessionManager.listByRoom(room_id)) {
if (rcl == null) {
return true;
}
@@ -442,12 +442,12 @@ public class UserManager implements IUserManager {
}
@Override
- public boolean kickUserByPublicSID(String sid, String publicSID) {
+ public boolean kickClient(String sid, String uid) {
try {
Sessiondata sd = sessionDao.check(sid);
// admins only
if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
- Client rcl = sessionManager.getClientByPublicSID(publicSID, null);
+ StreamClient rcl = sessionManager.get(uid);
if (rcl == null) {
return true;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/pom.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 89db6ea..25c975f 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -407,6 +407,11 @@
<version>${wickets.version}</version>
</dependency>
<dependency>
+ <groupId>org.wicketstuff</groupId>
+ <artifactId>wicketstuff-datastore-hazelcast</artifactId>
+ <version>${wickets.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-auth-roles</artifactId>
<version>${wicket.version}</version>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
index b213480..b23baab 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java
@@ -28,9 +28,10 @@ import java.util.Iterator;
import java.util.List;
import org.apache.openmeetings.db.dao.server.ISessionManager;
-import org.apache.openmeetings.db.dao.user.IUserService;
+import org.apache.openmeetings.db.dao.user.IUserManager;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.basic.IClient;
-import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.web.admin.AdminPanel;
import org.apache.openmeetings.web.admin.SearchableDataView;
import org.apache.openmeetings.web.app.Application;
@@ -58,7 +59,7 @@ public class ConnectionsPanel extends AdminPanel {
private List<IClient> list() {
List<IClient> l = new ArrayList<>();
- l.addAll(getBean(ISessionManager.class).getClientsWithServer());
+ l.addAll(getBean(ISessionManager.class).list());
l.addAll(Application.getClients());
return l;
}
@@ -89,33 +90,25 @@ public class ConnectionsPanel extends AdminPanel {
@Override
protected void onSubmit(AjaxRequestTarget target) {
IClient _c = item.getModelObject();
- if (_c instanceof Client) {
- Client c = (Client)_c;
- getBean(IUserService.class).kickUserByStreamId(getSid(), c.getStreamid()
- , c.getServer() == null ? 0 : c.getServer().getId());
- } else {
- org.apache.openmeetings.db.entity.basic.Client c = (org.apache.openmeetings.db.entity.basic.Client)_c;
- getBean(IUserService.class).kickUserBySessionId(getSid(), c.getUserId(), c.getSessionId());
- }
+ getBean(IUserManager.class).kickClient(getSid(), _c.getUid());
target.add(container, details.setVisible(false));
}
};
- if (_c instanceof Client) {
- Client c = (Client)_c;
+ if (_c instanceof StreamClient) {
+ StreamClient c = (StreamClient)_c;
item.add(new Label("streamid"));
item.add(new Label("login", c.getUsername()));
item.add(new Label("since", c.getConnectedSince()));
item.add(new Label("scope"));
- item.add(new Label("server", c.getServer() == null ? "no cluster" : c.getServer().getAddress())); //FIXME localization
confirm.setEnabled(!c.isScreenClient());
} else {
- org.apache.openmeetings.db.entity.basic.Client c = (org.apache.openmeetings.db.entity.basic.Client)_c;
+ Client c = (Client)_c;
item.add(new Label("streamid", ""));
item.add(new Label("login", c.getUser().getLogin()));
item.add(new Label("since", c.getConnectedSince()));
item.add(new Label("scope", c.getRoomId() == null ? "html5" : "" + c.getRoomId()));
- item.add(new Label("server", ""));
}
+ item.add(new Label("server", _c.getServerId()));
item.add(confirm);
item.add(new AjaxEventBehavior("click") {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
index 712dbbc..f87cf91 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java
@@ -32,13 +32,13 @@ import java.util.List;
import org.apache.openmeetings.db.dao.room.RoomDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.user.GroupDao;
-import org.apache.openmeetings.db.dao.user.IUserService;
+import org.apache.openmeetings.db.dao.user.IUserManager;
import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.entity.room.Client;
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.db.entity.room.RoomGroup;
import org.apache.openmeetings.db.entity.room.RoomModerator;
+import org.apache.openmeetings.db.entity.room.StreamClient;
import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.Group;
import org.apache.openmeetings.db.entity.user.User;
@@ -83,12 +83,12 @@ public class RoomForm extends AdminBaseForm<Room> {
private final TextField<String> pin = new TextField<>("pin");
private final WebMarkupContainer moderatorContainer = new WebMarkupContainer("moderatorContainer");
private final WebMarkupContainer clientsContainer = new WebMarkupContainer("clientsContainer");
- private final ListView<Client> clients = new ListView<Client>("clients", new ArrayList<>()) {
+ private final ListView<StreamClient> clients = new ListView<StreamClient>("clients", new ArrayList<>()) {
private static final long serialVersionUID = 1L;
@Override
- protected void populateItem(final ListItem<Client> item) {
- Client client = item.getModelObject();
+ protected void populateItem(final ListItem<StreamClient> item) {
+ StreamClient client = item.getModelObject();
item.add(new Label("clientId", "" + client.getId()))
.add(new Label("clientLogin", "" + client.getUsername()))
.add(new ConfirmableAjaxBorder("clientDelete", getString("80"), getString("833")) {
@@ -96,9 +96,8 @@ public class RoomForm extends AdminBaseForm<Room> {
@Override
protected void onSubmit(AjaxRequestTarget target) {
- Client c = item.getModelObject();
- getBean(IUserService.class).kickUserByStreamId(getSid(), c.getStreamid()
- , c.getServer() == null ? 0 : c.getServer().getId());
+ StreamClient c = item.getModelObject();
+ getBean(IUserManager.class).kickClient(getSid(), c.getUid());
updateClients(target);
}
@@ -324,7 +323,7 @@ public class RoomForm extends AdminBaseForm<Room> {
void updateClients(AjaxRequestTarget target) {
long roomId = (getModelObject().getId() != null ? getModelObject().getId() : 0);
- final List<Client> clientsInRoom = getBean(ISessionManager.class).getClientListByRoom(roomId);
+ final List<StreamClient> clientsInRoom = getBean(ISessionManager.class).listByRoom(roomId);
clients.setDefaultModelObject(clientsInRoom);
target.add(clientsContainer);
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java
deleted file mode 100644
index c40315e..0000000
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServerForm.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.admin.servers;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.WEB_DATE_PATTERN;
-import static org.apache.wicket.datetime.markup.html.basic.DateLabel.forDatePattern;
-
-import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.web.admin.AdminBaseForm;
-import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.ajax.form.AjaxFormValidatingBehavior;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.CheckBox;
-import org.apache.wicket.markup.html.form.Form;
-import org.apache.wicket.markup.html.form.RequiredTextField;
-import org.apache.wicket.markup.html.form.TextArea;
-import org.apache.wicket.markup.html.form.TextField;
-import org.apache.wicket.model.CompoundPropertyModel;
-import org.apache.wicket.model.Model;
-import org.apache.wicket.util.time.Duration;
-
-/**
- * Form component to insert/update/delete {@link Server}
- *
- * @author swagner
- *
- */
-public class ServerForm extends AdminBaseForm<Server> {
- private final WebMarkupContainer listContainer;
- private static final long serialVersionUID = 1L;
-
- public ServerForm(String id, WebMarkupContainer listContainer, final Server server) {
- super(id, new CompoundPropertyModel<>(server));
- setOutputMarkupId(true);
- this.listContainer = listContainer;
-
- add(new RequiredTextField<String>("name").setLabel(Model.of(Application.getString(1500))));
- add(new CheckBox("active"));
- add(new RequiredTextField<String>("address").setLabel(Model.of(Application.getString(1501))));
- add(new TextField<Integer>("port"));
- add(new TextField<String>("user"));
- add(new TextField<String>("pass"));
- add(new TextField<String>("webapp"));
- add(new TextField<String>("protocol"));
- add(forDatePattern("lastPing", WEB_DATE_PATTERN));
- //add(new Label("pingRunning"));
- add(forDatePattern("inserted", WEB_DATE_PATTERN));
- add(new Label("insertedby.login"));
- add(forDatePattern("updated", WEB_DATE_PATTERN));
- add(new Label("updatedby.login"));
- add(new TextArea<String>("comment"));
-
- // attach an ajax validation behavior to all form component's keydown
- // event and throttle it down to once per second
- add(new AjaxFormValidatingBehavior("keydown", Duration.ONE_SECOND));
- }
-
- @Override
- protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(ServerDao.class).update(getModelObject(), WebSession.getUserId());
- Server server = Application.getBean(ServerDao.class).get(getModelObject().getId());
- setModelObject(server);
- hideNewRecord();
- target.add(this);
- target.add(listContainer);
- target.appendJavaScript("adminPanelInit();");
- }
-
- @Override
- protected void onNewSubmit(AjaxRequestTarget target, Form<?> form) {
- Server s = new Server();
- s.setWebapp("openmeetings");
- s.setProtocol("http");
- setModelObject(s);
- target.add(this);
- target.appendJavaScript("adminPanelInit();");
- }
-
- @Override
- protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) {
- Server server = getModelObject();
- if (server.getId() != null) {
- server = Application.getBean(ServerDao.class).get(server.getId());
- } else {
- server = new Server();
- }
- setModelObject(server);
- target.add(this);
- target.appendJavaScript("adminPanelInit();");
- }
-
- @Override
- protected void onDeleteSubmit(AjaxRequestTarget target, Form<?> form) {
- Application.getBean(ServerDao.class).delete(getModelObject(), WebSession.getUserId());
- this.setModelObject(new Server());
- target.add(listContainer);
- target.add(this);
- target.appendJavaScript("adminPanelInit();");
- }
-
- @Override
- protected void onSaveError(AjaxRequestTarget target, Form<?> form) {
- // TODO Auto-generated method stub
- }
-
- @Override
- protected void onNewError(AjaxRequestTarget target, Form<?> form) {
- // TODO Auto-generated method stub
- }
-
- @Override
- protected void onRefreshError(AjaxRequestTarget target, Form<?> form) {
- // TODO Auto-generated method stub
- }
-
- @Override
- protected void onDeleteError(AjaxRequestTarget target, Form<?> form) {
- // TODO Auto-generated method stub
- }
-}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.html
deleted file mode 100644
index 187b748..0000000
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied. See the License for the
- specific language governing permissions and limitations
- under the License.
-
--->
-<html xmlns:wicket="http://wicket.apache.org">
-<wicket:extend>
- <div class="adminPanelColumnTable">
- <span wicket:id="navigator">[dataview navigator]</span>
- <table class="adminListTable">
- <thead>
- <tr>
- <th class="three_column_layout_column1 ui-widget-header"><span wicket:id="orderById"></span><wicket:message key="188" /></th>
- <th class="three_column_layout_column2 ui-widget-header"><span wicket:id="orderByName"></span><wicket:message key="1500" /></th>
- <th class="three_column_layout_column3 ui-widget-header"><span wicket:id="orderByAddress"></span><wicket:message key="1501" /></th>
- </tr>
- </thead>
- </table>
- <div class="tableWrapper" id="adminTable">
- <table class="adminListTable">
- <tbody wicket:id="listContainer">
- <tr wicket:id="serverList">
- <td class="three_column_layout_column1"><div class="three_column_layout_divcolumn1"><span wicket:id="id"></span></div></td>
- <td class="three_column_layout_column2"><div class="three_column_layout_divcolumn2"><span wicket:id="name"></span></div></td>
- <td class="three_column_layout_column3"><div class="three_column_layout_divcolumn3"><span wicket:id="address"></span></div></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
- <div class="adminPanelColumnForm">
- <form wicket:id="form" class="adminForm">
- <div wicket:id="buttons"></div>
- <div class="scrollcontent" id="adminForm">
- <fieldset class="ui-widget-content">
- <legend class="ui-widget-header"><wicket:message key="1502" /></legend>
- <div class="formelement">
- <label wicket:for="name"><wicket:message key="1500" /></label><input type="text" wicket:id="name"/>
- </div>
- <div class="formelement">
- <label wicket:for="active"><wicket:message key="1525" /></label><input type="checkbox" class="formcheckbox" wicket:id="active" />
- </div>
- <div class="formelement">
- <label wicket:for="address"><wicket:message key="1501" /></label><input type="text" wicket:id="address"/>
- </div>
- <div class="formelement">
- <label wicket:for="port"><wicket:message key="1519" /></label><input type="text" wicket:id="port"/>
- </div>
- <div class="formelement">
- <label wicket:for="user"><wicket:message key="1520" /></label><input type="text" wicket:id="user"/>
- </div>
- <div class="formelement">
- <label wicket:for="pass"><wicket:message key="1521" /></label><input type="text" wicket:id="pass"/>
- </div>
- <div class="formelement">
- <label wicket:for="webapp"><wicket:message key="1522" /></label><input type="text" wicket:id="webapp"/>
- </div>
- <div class="formelement">
- <label wicket:for="protocol"><wicket:message key="1523" /></label><input type="text" wicket:id="protocol"/>
- </div>
- <div class="formelement">
- <div class="info-text"><wicket:message key="1518" /></div>
- <br/>
- <label><wicket:message key="1517" /></label><span wicket:id="lastPing"/>
- <!-- br/>
- <label wicket:for="pingRunning"><wicket:message key="1524" /></label><span wicket:id="pingRunning"/-->
- </div>
- <div class="formelement">
- <label><wicket:message key="1110" /></label><span wicket:id="inserted"/>
- </div>
- <div class="formelement">
- <label><wicket:message key="1111" /></label><span wicket:id="insertedby.login"/>
- </div>
- <div class="formelement">
- <label><wicket:message key="1112" /></label><span wicket:id="updated"/>
- </div>
- <div class="formelement">
- <label><wicket:message key="1113" /></label><span wicket:id="updatedby.login"/>
- </div>
- <div class="formelement">
- <label wicket:for="comment"><wicket:message key="270" /></label><textarea wicket:id="comment"/>
- </div>
- </fieldset>
- </div>
- </form>
- </div>
-</wicket:extend>
-</html>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ca559564/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.java
deleted file mode 100644
index 1a60552..0000000
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/servers/ServersPanel.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.admin.servers;
-
-import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.web.admin.AdminPanel;
-import org.apache.openmeetings.web.admin.SearchableDataView;
-import org.apache.openmeetings.web.common.PagedEntityListPanel;
-import org.apache.openmeetings.web.data.DataViewContainer;
-import org.apache.openmeetings.web.data.OmOrderByBorder;
-import org.apache.openmeetings.web.data.SearchableDataProvider;
-import org.apache.wicket.AttributeModifier;
-import org.apache.wicket.ajax.AjaxEventBehavior;
-import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.repeater.Item;
-
-/**
- * Form component with list and form to manipulate {@link Server}
- *
- * @author swagner
- *
- */
-public class ServersPanel extends AdminPanel {
- private static final long serialVersionUID = 1L;
- final WebMarkupContainer listContainer = new WebMarkupContainer("listContainer");
- private ServerForm form;
-
- public ServersPanel(String id) {
- super(id);
- SearchableDataView<Server> dataView = new SearchableDataView<Server>("serverList",
- new SearchableDataProvider<>(ServerDao.class)) {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void populateItem(final Item<Server> item) {
- final Server server = item.getModelObject();
- item.add(new Label("id"));
- item.add(new Label("name"));
- item.add(new Label("address"));
- item.add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- form.setModelObject(server);
- form.hideNewRecord();
- target.add(form, listContainer);
- target.appendJavaScript("adminPanelInit();");
- }
- });
- item.add(AttributeModifier.replace("class", getRowClass(server.getId(), form.getModelObject().getId())));
- }
- };
-
- add(listContainer.add(dataView).setOutputMarkupId(true));
- PagedEntityListPanel navigator = new PagedEntityListPanel("navigator", dataView) {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- target.add(listContainer);
- }
- };
- DataViewContainer<Server> container = new DataViewContainer<>(listContainer, dataView, navigator);
- container.addLink(new OmOrderByBorder<>("orderById", "id", container))
- .addLink(new OmOrderByBorder<>("orderByName", "name", container))
- .addLink(new OmOrderByBorder<>("orderByAddress", "address", container));
- add(container.getLinks());
- add(navigator);
-
- form = new ServerForm("form", listContainer, new Server());
- form.showNewRecord();
- add(form);
-
- }
-}