Repository: openmeetings Updated Branches: refs/heads/master cfb231e5b -> dee23b391
[OPENMEETINGS-1671] initial commit on room files Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/dee23b39 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/dee23b39 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/dee23b39 Branch: refs/heads/master Commit: dee23b391132987a6769923fcb1e986b3d3f79c8 Parents: cfb231e Author: Maxim Solodovnik <[email protected]> Authored: Wed Sep 13 17:14:41 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Fri Sep 15 15:51:22 2017 +0700 ---------------------------------------------------------------------- .../openmeetings/db/dao/room/RoomDao.java | 4 +- .../openmeetings/db/entity/room/Room.java | 6 +++ .../openmeetings/db/entity/room/RoomFile.java | 51 ++++++++++++++++++++ .../classes/META-INF/db2_persistence.xml | 1 + .../classes/META-INF/derby_persistence.xml | 1 + .../classes/META-INF/mssql_persistence.xml | 1 + .../classes/META-INF/mysql_persistence.xml | 1 + .../classes/META-INF/oracle_persistence.xml | 1 + .../classes/META-INF/postgresql_persistence.xml | 1 + 9 files changed, 65 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java index 9acfabc..2dd2fc6 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/RoomDao.java @@ -84,7 +84,7 @@ public class RoomDao implements IGroupAdminDataProviderDao<Room> { q.setParameter("id", id); @SuppressWarnings("unchecked") OpenJPAQuery<Room> kq = OpenJPAPersistence.cast(q); - kq.getFetchPlan().addFetchGroups("roomModerators", "groups"); + kq.getFetchPlan().addFetchGroups("roomModerators", "groups", "roomFiles"); List<Room> l = kq.getResultList(); r = l.isEmpty() ? r : l.get(0); } finally { @@ -104,7 +104,7 @@ public class RoomDao implements IGroupAdminDataProviderDao<Room> { TypedQuery<Room> q = oem.createNamedQuery("getBackupRooms", Room.class); @SuppressWarnings("unchecked") OpenJPAQuery<Room> kq = OpenJPAPersistence.cast(q); - kq.getFetchPlan().addFetchGroups("roomModerators", "groups"); + kq.getFetchPlan().addFetchGroups("roomModerators", "groups", "roomFiles"); return kq.getResultList(); } finally { oem.getFetchPlan().setQueryResultCacheEnabled(qrce); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/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 dac699e..7ac81b1 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 @@ -61,6 +61,7 @@ import org.simpleframework.xml.Root; @FetchGroups({ @FetchGroup(name = "roomModerators", attributes = { @FetchAttribute(name = "moderators") }) , @FetchGroup(name = "roomGroups", attributes = { @FetchAttribute(name = "groups") }) + , @FetchGroup(name = "roomFiles", attributes = { @FetchAttribute(name = "roomFiles") }) }) @NamedQueries({ @NamedQuery(name = "getNondeletedRooms", query = "SELECT r FROM Room r WHERE r.deleted = false"), @@ -301,6 +302,11 @@ public class Room implements IDataProviderEntity { @org.simpleframework.xml.Transient private List<RoomGroup> groups = new ArrayList<>(); + @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @JoinColumn(name = "room_id", insertable = true, updatable = true, nullable = false) + @ElementDependent + private List<RoomFile> roomfiles = new ArrayList<>(); + @Transient private List<StreamClient> currentusers; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomFile.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomFile.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomFile.java new file mode 100644 index 0000000..3098aa9 --- /dev/null +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomFile.java @@ -0,0 +1,51 @@ +/* + * 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 javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.apache.openmeetings.db.entity.IDataProviderEntity; + +@Entity +@Table(name = "room_file") +public class RoomFile implements IDataProviderEntity { + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "room_id") + private Long roomId; + + @Override + public Long getId() { + return id; + } + + @Override + public void setId(Long id) { + this.id = id; + } +} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml index 7f71cbd..de6a58a 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml index 604e9a9..40a6c43 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml index e69bdc3..80de13d 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml index dc5ef55..faaaaa8 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml index b746538..33acf1b 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dee23b39/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml index f5facf3..11bcb0f 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml @@ -45,6 +45,7 @@ <class>org.apache.openmeetings.db.entity.room.RoomModerator</class> <class>org.apache.openmeetings.db.entity.room.Room</class> <class>org.apache.openmeetings.db.entity.room.RoomGroup</class> + <class>org.apache.openmeetings.db.entity.room.RoomFile</class> <class>org.apache.openmeetings.db.entity.user.Address</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessage</class> <class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>
