Repository: openmeetings Updated Branches: refs/heads/master 6fdcea2db -> bbb096e9e
[OPENMEETINGS-1008] 'personal.rooms.enabled' config is added Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/bbb096e9 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/bbb096e9 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/bbb096e9 Branch: refs/heads/master Commit: bbb096e9e1cb11ee8cd5d23330d679d35980c522 Parents: 6fdcea2 Author: Maxim Solodovnik <[email protected]> Authored: Tue Sep 12 23:20:28 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Tue Sep 12 23:43:40 2017 +0700 ---------------------------------------------------------------------- .../core/documents/LibraryChartLoader.java | 42 ++-- .../openmeetings/core/remote/MobileService.java | 17 +- .../db/dao/basic/NavigationDao.java | 117 ----------- .../db/dao/user/PrivateMessageDao.java | 50 ++--- .../db/entity/basic/Naviglobal.java | 196 ------------------ .../openmeetings/db/entity/basic/Navimain.java | 201 ------------------- .../openmeetings/db/entity/room/RoomGroup.java | 20 +- .../openmeetings/backup/BackupImport.java | 2 + .../installation/ImportInitvalues.java | 65 +----- .../openmeetings/screenshare/gui/BlankArea.java | 20 +- .../util/OpenmeetingsVariables.java | 11 +- .../openmeetings/util/geom/GeomPoint.java | 98 ++++----- .../apache/openmeetings/web/app/WebSession.java | 3 +- .../openmeetings/web/common/MainPanel.java | 93 ++++++--- .../web/common/menu/MainMenuItem.java | 13 +- .../openmeetings/web/user/MessageDialog.html | 2 +- .../openmeetings/web/user/MessageDialog.java | 19 +- .../web/user/calendar/AppointmentDialog.html | 2 +- .../web/user/calendar/AppointmentDialog.java | 11 +- .../openmeetings/web/util/OmUrlFragment.java | 3 +- .../classes/META-INF/db2_persistence.xml | 2 - .../classes/META-INF/derby_persistence.xml | 2 - .../classes/META-INF/mssql_persistence.xml | 2 - .../classes/META-INF/mysql_persistence.xml | 2 - .../classes/META-INF/oracle_persistence.xml | 2 - .../classes/META-INF/postgresql_persistence.xml | 2 - .../WEB-INF/classes/applicationContext.xml | 1 - .../apache/openmeetings/test/navi/TestNavi.java | 77 ------- 28 files changed, 234 insertions(+), 841 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java index 85ba038..d61296e 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/documents/LibraryChartLoader.java @@ -37,29 +37,29 @@ import com.thoughtworks.xstream.io.xml.XppDriver; public class LibraryChartLoader { private static final Logger log = Red5LoggerFactory.getLogger(LibraryChartLoader.class, webAppRootKey); - private static final String fileExt = ".xchart"; + private static final String fileExt = ".xchart"; - private static LibraryChartLoader instance; + private static LibraryChartLoader instance; - private LibraryChartLoader() { - } + private LibraryChartLoader() { + } - public static synchronized LibraryChartLoader getInstance() { - if (instance == null) { - instance = new LibraryChartLoader(); - } - return instance; - } + public static synchronized LibraryChartLoader getInstance() { + if (instance == null) { + instance = new LibraryChartLoader(); + } + return instance; + } - @SuppressWarnings("rawtypes") + @SuppressWarnings("rawtypes") public ArrayList loadChart(File dir, String fileName) { - try { - File file = new File(dir, fileName + fileExt); + try { + File file = new File(dir, fileName + fileExt); - log.error("filepathComplete: " + file); + log.error("filepathComplete: " + file); - XStream xStream = new XStream(new XppDriver()); - xStream.setMode(XStream.NO_REFERENCES); + XStream xStream = new XStream(new XppDriver()); + xStream.setMode(XStream.NO_REFERENCES); try (InputStream is = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(is, UTF_8))) @@ -67,11 +67,11 @@ public class LibraryChartLoader { ArrayList lMapList = (ArrayList) xStream.fromXML(reader); return lMapList; } - } catch (Exception err) { - log.error("Unexpected error while loading chart", err); - } + } catch (Exception err) { + log.error("Unexpected error while loading chart", err); + } - return null; - } + return null; + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java ---------------------------------------------------------------------- diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java index 1cdcd5c..940359c 100644 --- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java +++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java @@ -22,6 +22,7 @@ import static org.apache.openmeetings.db.util.LocaleHelper.getCountryName; import static org.apache.openmeetings.util.OmException.UNKNOWN; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_GROUP_ID; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_EMAIL_VERIFICATION; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_FRONTEND; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REGISTER_OAUTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; @@ -310,13 +311,15 @@ public class MobileService { IConnection current = Red5.getConnectionLocal(); StreamClient c = sessionManager.get(IClientUtil.getId(current.getClient())); User u = userDao.get(c.getUserId()); - //my rooms - List<Room> myl = new ArrayList<>(); - myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, LabelDao.getString("my.room.conference", u.getLanguageId()))); - myl.add(roomDao.getUserRoom(u.getId(), Room.Type.presentation, LabelDao.getString("my.room.presentation", u.getLanguageId()))); - myl.addAll(roomDao.getAppointedRoomsByUser(u.getId())); - for (Room r : myl) { - addRoom("my", null, false, result, r); + if (cfgDao.getBool(CONFIG_MYROOMS_ENABLED, true)) { + //my rooms + List<Room> myl = new ArrayList<>(); + myl.add(roomDao.getUserRoom(u.getId(), Room.Type.conference, LabelDao.getString("my.room.conference", u.getLanguageId()))); + myl.add(roomDao.getUserRoom(u.getId(), Room.Type.presentation, LabelDao.getString("my.room.presentation", u.getLanguageId()))); + myl.addAll(roomDao.getAppointedRoomsByUser(u.getId())); + for (Room r : myl) { + addRoom("my", null, false, result, r); + } } //private rooms http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/NavigationDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/NavigationDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/NavigationDao.java deleted file mode 100644 index c496fe5..0000000 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/NavigationDao.java +++ /dev/null @@ -1,117 +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.dao.basic; - -import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.persistence.TypedQuery; - -import org.apache.openmeetings.db.entity.basic.Naviglobal; -import org.apache.openmeetings.db.entity.basic.Navimain; -import org.red5.logging.Red5LoggerFactory; -import org.slf4j.Logger; -import org.springframework.transaction.annotation.Transactional; - -@Transactional -public class NavigationDao { - private static final Logger log = Red5LoggerFactory.getLogger(NavigationDao.class, webAppRootKey); - - @PersistenceContext - private EntityManager em; - - public Naviglobal getGlobalMenuEntry(Long globalId) { - try { - TypedQuery<Naviglobal> query = em.createNamedQuery("getNavigationById", Naviglobal.class); - query.setParameter("id", globalId); - return query.getSingleResult(); - } catch (Exception ex2) { - log.error("getGlobalMenuEntry", ex2); - } - return null; - - } - - public List<Naviglobal> getMainMenu(int level) { - List<Naviglobal> menu = em.createNamedQuery("getNavigation", Naviglobal.class) - .setParameter("levelId", level) - .getResultList(); - if (LEVEL_GROUP_ADMIN == level) { - // filtering of child objects is not working on JPQL level - for (Naviglobal ng : menu) { - em.detach(ng); - ng.setId(null); // we don't need below changed to be saved - List<Navimain> sub = new ArrayList<>(); - for (Navimain nm : ng.getMainnavi()) { - if (nm.getLevelId() <= level) { - sub.add(nm); - } - } - ng.setMainnavi(sub); - } - } - return menu; - } - - public Naviglobal addGlobalStructure(int naviorder, String labelId, int levelId, String name, String tooltipLabelId) { - Naviglobal ng = new Naviglobal(); - ng.setComment(""); - ng.setIcon(""); - ng.setNaviorder(naviorder); - ng.setLabelId(labelId); - ng.setDeleted(false); - ng.setLevelId(levelId); - ng.setName(name); - ng.setInserted(new Date()); - ng.setTooltipLabelId(tooltipLabelId); - - em.persist(ng); - return ng; - } - - public void addMainStructure(String action, String params, int naviorder, String labelId, - int levelId, String name, Long globalId, String tooltipLabelId) { - Naviglobal ng = getGlobalMenuEntry(globalId); - - Navimain nm = new Navimain(); - nm.setAction(action); - nm.setParams(params); - nm.setComment(""); - nm.setIcon(""); - nm.setLabelId(labelId); - nm.setNaviorder(naviorder); - nm.setLevelId(levelId); - nm.setName(name); - nm.setDeleted(false); - nm.setGlobalId(globalId); - nm.setInserted(new Date()); - nm.setTooltipLabelId(tooltipLabelId); - - ng.getMainnavi().add(nm); - - em.merge(ng); - } - -} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageDao.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageDao.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageDao.java index 475fafd..cd98143 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageDao.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/PrivateMessageDao.java @@ -45,8 +45,8 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { private static final Logger log = Red5LoggerFactory.getLogger(PrivateMessageDao.class, webAppRootKey); @PersistenceContext private EntityManager em; - - public Long addPrivateMessage(String subject, String message, Long parentMessageId, + + public Long addPrivateMessage(String subject, String message, Long parentMessageId, User from, User to, User owner, Boolean bookedRoom, Room room, boolean isContactRequest, Long userContactId) { try { @@ -64,41 +64,41 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { privateMessage.setIsRead(false); privateMessage.setIsContactRequest(isContactRequest); privateMessage.setUserContactId(userContactId); - + privateMessage = em.merge(privateMessage); Long privateMessageId = privateMessage.getFolderId(); - - return privateMessageId; + + return privateMessageId; } catch (Exception e) { log.error("[addPrivateMessage]",e); } return null; } - + @Override public List<PrivateMessage> get(int first, int count) { return em.createNamedQuery("getPrivateMessages", PrivateMessage.class) .setFirstResult(first).setMaxResults(count) .getResultList(); } - + @Override public PrivateMessage get(long id) { return get(Long.valueOf(id)); } - + @Override public PrivateMessage get(Long id) { - TypedQuery<PrivateMessage> query = em.createNamedQuery("getPrivateMessageById", PrivateMessage.class); + TypedQuery<PrivateMessage> query = em.createNamedQuery("getPrivateMessageById", PrivateMessage.class); query.setParameter("id", id); PrivateMessage privateMessage = null; try { privateMessage = query.getSingleResult(); - } catch (NoResultException ex) { - } + } catch (NoResultException ex) { + } return privateMessage; } - + @Override public PrivateMessage update(PrivateMessage entity, Long userId) { if (entity.getId() == null) { @@ -109,13 +109,13 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { } return entity; } - + private static String getQuery(boolean isCount, String search, String orderBy, boolean asc) { StringBuilder hql = new StringBuilder("SELECT "); hql.append(isCount ? "COUNT(" : "").append("m").append(isCount ? ")" : "") .append(" FROM PrivateMessage m WHERE m.owner.id = :ownerId ") .append(" AND m.folderId = :folderId "); - + if (!StringUtils.isEmpty(search)) { hql.append(" AND ( ") .append("lower(m.subject) LIKE :search ") @@ -126,15 +126,15 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { .append("OR lower(m.from.address.email) LIKE :search ") .append(" ) "); } - + if (!isCount && !StringUtils.isEmpty(orderBy)) { hql.append(" ORDER BY ").append(orderBy).append(asc ? " ASC" : " DESC"); } return hql.toString(); } - + public Long count(Long ownerId, Long folderId, String search) { - TypedQuery<Long> query = em.createQuery(getQuery(true, search, null, true), Long.class); + TypedQuery<Long> query = em.createQuery(getQuery(true, search, null, true), Long.class); query.setParameter("ownerId", ownerId); if (!StringUtils.isEmpty(search)) { query.setParameter("search", StringUtils.lowerCase("%" + search + "%")); @@ -142,9 +142,9 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { query.setParameter("folderId", folderId); return query.getSingleResult(); } - + public List<PrivateMessage> get(Long ownerId, Long folderId, String search, String orderBy, boolean asc, int start, int max) { - TypedQuery<PrivateMessage> query = em.createQuery(getQuery(false, search, orderBy, asc), PrivateMessage.class); + TypedQuery<PrivateMessage> query = em.createQuery(getQuery(false, search, orderBy, asc), PrivateMessage.class); query.setParameter("ownerId", ownerId); query.setParameter("folderId", folderId); if (!StringUtils.isEmpty(search)) { @@ -154,27 +154,27 @@ public class PrivateMessageDao implements IDataProviderDao<PrivateMessage> { query.setMaxResults(max); return query.getResultList(); } - + public int updateReadStatus(Collection<Long> ids, Boolean isRead) { - Query query = em.createNamedQuery("updatePrivateMessagesReadStatus"); + Query query = em.createNamedQuery("updatePrivateMessagesReadStatus"); query.setParameter("isRead", isRead); query.setParameter("ids", ids); return query.executeUpdate(); } public int moveMailsToFolder(Collection<Long> ids, Long folderId) { - Query query = em.createNamedQuery("moveMailsToFolder"); + Query query = em.createNamedQuery("moveMailsToFolder"); query.setParameter("folderId", folderId); query.setParameter("ids", ids); return query.executeUpdate(); } - + public int delete(Collection<Long> ids) { - Query query = em.createNamedQuery("deletePrivateMessages"); + Query query = em.createNamedQuery("deletePrivateMessages"); query.setParameter("ids", ids); return query.executeUpdate(); } - + public List<PrivateMessage> getByRoom(Long roomId) { return em.createNamedQuery("getPrivateMessagesByRoom", PrivateMessage.class) .setParameter("roomId", roomId).getResultList(); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Naviglobal.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Naviglobal.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Naviglobal.java deleted file mode 100644 index be48494..0000000 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Naviglobal.java +++ /dev/null @@ -1,196 +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.basic; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import javax.persistence.CascadeType; -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.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.OrderBy; -import javax.persistence.Table; - -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openmeetings.db.entity.IDataProviderEntity; - -@Entity -@NamedQueries({ - @NamedQuery(name = "getNavigation", query = "SELECT ng FROM Naviglobal ng " - + "WHERE ng.levelId <= :levelId AND ng.deleted = false ORDER BY ng.naviorder ASC"), - @NamedQuery(name = "getNavigationById", query = "SELECT ng from Naviglobal ng WHERE ng.id = :id") }) -@Table(name = "naviglobal") -public class Naviglobal implements IDataProviderEntity { - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private Long id; - - @Column(name = "name") - private String name; - - @Column(name = "icon") - private String icon; - - @Column(name = "updated") - private Date updated; - - @Column(name = "inserted") - private Date inserted; - - @Column(name = "comment") - private String comment; - - @Column(name = "naviorder", nullable = false) - private int naviorder; - - @Column(name = "level_id", nullable = false) - private int levelId; - - @Column(name = "deleted", nullable = false) - private boolean deleted; - - @Column(name = "label_id") - private String labelId; - - @Column(name = "tooltip_label_id") - private String tooltipLabelId; - - @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) - @JoinColumn(name = "global_id", nullable = false) - @ForeignKey(enabled = true) - @OrderBy("naviorder") - private List<Navimain> mainnavi = new ArrayList<>(); - - @Override - public Long getId() { - return id; - } - - @Override - public void setId(Long id) { - this.id = id; - } - - public String getComment() { - return comment; - } - - public void setComment(String comment) { - this.comment = comment; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - 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 boolean isDeleted() { - return deleted; - } - - public void setDeleted(boolean deleted) { - this.deleted = deleted; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getNaviorder() { - return naviorder; - } - - public void setNaviorder(int naviorder) { - this.naviorder = naviorder; - } - - public int getLevelId() { - return levelId; - } - - public void setLevelId(int levelId) { - this.levelId = levelId; - } - - public List<Navimain> getMainnavi() { - return mainnavi; - } - - public void setMainnavi(List<Navimain> mainnavi) { - this.mainnavi = mainnavi; - } - - public String getLabelId() { - return labelId; - } - - public void setLabelId(String labelId) { - this.labelId = labelId; - } - - public String getTooltipLabelId() { - return tooltipLabelId; - } - - public void setTooltipLabelId(String tooltipLabelId) { - this.tooltipLabelId = tooltipLabelId; - } - - @Override - public String toString() { - return "Naviglobal [id=" + id + ", name=" + name + ", naviorder=" + naviorder + ", deleted=" - + deleted + ", labelId=" + labelId + ", tooltipLabelId=" + tooltipLabelId + "]"; - } - -} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Navimain.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Navimain.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Navimain.java deleted file mode 100644 index 2561e3e..0000000 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Navimain.java +++ /dev/null @@ -1,201 +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.basic; - -import java.util.Date; - -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 = "navimain") -public class Navimain implements IDataProviderEntity { - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "id") - private Long id; - - @Column(name = "global_id") - private Long globalId; - - @Column(name = "name") - private String name; - - @Column(name = "icon") - private String icon; - - @Column(name = "action") - private String action; - - @Column(name = "params") - private String params; - - @Column(name = "updated") - private Date updated; - - @Column(name = "inserted") - private Date inserted; - - @Column(name = "comment") - private String comment; - - @Column(name = "naviorder", nullable = false) - private int naviorder; - - @Column(name = "level_id", nullable = false) - private int levelId; - - @Column(name = "label_id") - private String labelId; - - @Column(name = "deleted", nullable = false) - private boolean deleted; - - @Column(name = "tooltip_label_id") - private String tooltipLabelId; - - @Override - public Long getId() { - return id; - } - - @Override - public void setId(Long id) { - this.id = id; - } - - public String getAction() { - return action; - } - - public void setAction(String action) { - this.action = action; - } - - public int getLevelId() { - return levelId; - } - - public void setLevelId(int levelId) { - this.levelId = levelId; - } - - public Long getGlobalId() { - return globalId; - } - - public void setGlobalId(Long globalId) { - this.globalId = globalId; - } - - public String getComment() { - return comment; - } - - public void setComment(String comment) { - this.comment = comment; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - - 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 boolean isDeleted() { - return deleted; - } - - public void setDeleted(boolean deleted) { - this.deleted = deleted; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getNaviorder() { - return naviorder; - } - - public void setNaviorder(int naviorder) { - this.naviorder = naviorder; - } - - public String getLabelId() { - return labelId; - } - - public void setLabelId(String labelId) { - this.labelId = labelId; - } - - public String getTooltipLabelId() { - return tooltipLabelId; - } - - public void setTooltipLabelId(String tooltipLabelId) { - this.tooltipLabelId = tooltipLabelId; - } - - public String getParams() { - return params; - } - - public void setParams(String params) { - this.params = params; - } - - @Override - public String toString() { - return "Navimain [id=" + id + ", globalId=" + globalId + ", name=" + name + ", action=" + action + ", params=" + params - + ", naviorder=" + naviorder + ", labelId=" + labelId + ", deleted=" + deleted + ", tooltipLabelId=" - + tooltipLabelId + "]"; - } -} http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomGroup.java ---------------------------------------------------------------------- diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomGroup.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomGroup.java index f08670a..42bf899 100644 --- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomGroup.java +++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/RoomGroup.java @@ -70,25 +70,25 @@ public class RoomGroup implements IDataProviderEntity { @Column(name = "id") @Element(data = true, name = "rooms_organisation_id") private Long id; - + @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name="room_id", nullable=true) @ForeignKey(enabled = true) @Element(name="rooms_id", data=true, required=false) private Room room; - + @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name="group_id", nullable=true) @ForeignKey(enabled = true) @Element(name="organisation_id", data=true, required=false) private Group group; - + @Column(name = "inserted") private Date inserted; - + @Column(name = "updated") private Date updated; - + @Column(name = "deleted", nullable = false) @Element(data=true) private boolean deleted; @@ -107,7 +107,7 @@ public class RoomGroup implements IDataProviderEntity { public void setGroup(Group group) { this.group = group; } - + public Room getRoom() { return room; } @@ -123,21 +123,21 @@ public class RoomGroup implements IDataProviderEntity { public void setId(Long id) { this.id = id; } - + 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 boolean isDeleted() { return deleted; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 d2430b5..9dbd11b 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 @@ -68,6 +68,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_FFMPEG; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_IMAGEMAGIC; @@ -235,6 +236,7 @@ public class BackupImport { configTypes.put(CONFIG_REPLY_TO_ORGANIZER, Configuration.Type.bool); configTypes.put(CONFIG_IGNORE_BAD_SSL, Configuration.Type.bool); configTypes.put(CONFIG_FLASH_SECURE, Configuration.Type.bool); + configTypes.put(CONFIG_MYROOMS_ENABLED, Configuration.Type.bool); configTypes.put(CONFIG_DEFAULT_GROUP_ID, Configuration.Type.number); configTypes.put(CONFIG_SMTP_PORT, Configuration.Type.number); configTypes.put(CONFIG_SMTP_TIMEOUT_CON, Configuration.Type.number); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 88aee36..9580326 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 @@ -56,6 +56,7 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_KEYCODE_MUTE; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PASS_MIN_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_FFMPEG; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_PATH_IMAGEMAGIC; @@ -86,10 +87,6 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_MAX_UPL import static org.apache.openmeetings.util.OpenmeetingsVariables.EXT_PROCESS_TTL; import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_CSP_SELF; import static org.apache.openmeetings.util.OpenmeetingsVariables.HEADER_XFRAME_SAMEORIGIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_USER; -import static org.apache.openmeetings.util.OpenmeetingsVariables.MENU_ROOMS_NAME; import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; @@ -99,7 +96,6 @@ import java.util.Date; import java.util.List; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; -import org.apache.openmeetings.db.dao.basic.NavigationDao; import org.apache.openmeetings.db.dao.label.LabelDao; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.room.SipDao; @@ -107,7 +103,6 @@ import org.apache.openmeetings.db.dao.server.OAuth2Dao; import org.apache.openmeetings.db.dao.user.GroupDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.basic.Configuration; -import org.apache.openmeetings.db.entity.basic.Naviglobal; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.db.entity.room.Room.RoomElement; import org.apache.openmeetings.db.entity.room.Room.Type; @@ -131,8 +126,6 @@ public class ImportInitvalues { @Autowired private UserDao userDao; @Autowired - private NavigationDao navimanagement; - @Autowired private SipDao sipDao; @Autowired private OAuth2Dao oauthDao; @@ -147,45 +140,6 @@ public class ImportInitvalues { return progress; } - public void loadMainMenu() { - /* - * ######################## Dashboard Menu Points - */ - Naviglobal home = navimanagement.addGlobalStructure(1, "124", LEVEL_USER, "home", "582"); - navimanagement.addMainStructure("dashboardModuleStartScreen", null, 1, "290", LEVEL_USER, "Dashboard", home.getId(), "1450"); - navimanagement.addMainStructure("dashboardModuleCalendar", null, 2, "291", LEVEL_USER, "Calendar", home.getId(), "1451"); - - /* - * ######################## Conference Menu Points - */ - Naviglobal rooms = navimanagement.addGlobalStructure(2, "792", LEVEL_USER, MENU_ROOMS_NAME, "793"); - navimanagement.addMainStructure("conferenceModuleRoomList", "publicTabButton", 1, "777", LEVEL_USER, "Public Rooms", rooms.getId(), "1506"); - navimanagement.addMainStructure("conferenceModuleRoomList", "privateTabButton", 2, "779", LEVEL_USER, "Private Rooms", rooms.getId(), "1507"); - navimanagement.addMainStructure("conferenceModuleRoomList", "myTabButton", 3, "781", LEVEL_USER, "My Rooms", rooms.getId(), "1508"); - - /* - * ######################## Recording Menu Points - */ - Naviglobal rec = navimanagement.addGlobalStructure(3, "395", LEVEL_USER, "record", "583"); - navimanagement.addMainStructure("recordModule", null, 1, "395", LEVEL_USER, "Recordings", rec.getId(), "1452"); - - /* - * ######################## Administration Menu Points - */ - Naviglobal admin = navimanagement.addGlobalStructure(6, "6", LEVEL_GROUP_ADMIN, "Administration Menu", "586"); - navimanagement.addMainStructure("adminModuleUser", null, 14, "125", LEVEL_GROUP_ADMIN, "Administration of Users", admin.getId(), "1454"); - navimanagement.addMainStructure("adminModuleConnections", null, 15, "597", LEVEL_ADMIN, "Aministration of Connections", admin.getId(), "1455"); - navimanagement.addMainStructure("adminModuleOrg", null, 16, "126", LEVEL_GROUP_ADMIN, "Administration of Groups", admin.getId(), "1456"); - navimanagement.addMainStructure("adminModuleRoom", null, 17, "186", LEVEL_GROUP_ADMIN, "Administration of Rooms", admin.getId(), "1457"); - navimanagement.addMainStructure("adminModuleConfiguration", null, 18, "263", LEVEL_ADMIN, "Administration of Configuration", admin.getId(), "1458"); - navimanagement.addMainStructure("adminModuleLanguages", null, 19, "348", LEVEL_ADMIN, "Administration of Languages", admin.getId(), "1459"); - 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("adminModuleEmail", null, 23, "main.menu.admin.email", LEVEL_ADMIN, "Administration of Emails", admin.getId(), "main.menu.admin.email.desc"); - log.debug("MainMenu ADDED"); - } - private static void addCfg(List<Configuration> list, String key, String value, Configuration.Type type, String comment) { Configuration c = new Configuration(); c.setType(type); @@ -294,11 +248,11 @@ public class ImportInitvalues { addCfg(list, CONFIG_SCREENSHARING_ALLOW_REMOTE, "true", Configuration.Type.bool , "Is remote control will be enabled while screensharing. Allowing remote control will be not possible in case it is set to 'false'"); - addCfg(list, CONFIG_DASHBOARD_SHOW_MYROOMS, "true", Configuration.Type.bool, "Show My Rooms Tab"); + addCfg(list, CONFIG_DASHBOARD_SHOW_MYROOMS, "true", Configuration.Type.bool, "Show 'My Rooms' widget on dashboard"); - addCfg(list, CONFIG_DASHBOARD_SHOW_CHAT, "true", Configuration.Type.bool, "Show Chat Tab"); + addCfg(list, CONFIG_DASHBOARD_SHOW_CHAT, "true", Configuration.Type.bool, "Show 'Global Chat' outside the room"); - addCfg(list, CONFIG_DASHBOARD_SHOW_RSS, "false", Configuration.Type.bool, "Show RSS Tab"); + addCfg(list, CONFIG_DASHBOARD_SHOW_RSS, "false", Configuration.Type.bool, "Show RSS widget on dashboard"); addCfg(list, CONFIG_MAX_UPLOAD_SIZE, "" + DEFAULT_MAX_UPLOAD_SIZE, Configuration.Type.number, "Maximum size of upload file (bytes)"); // defaults to 100MB @@ -353,6 +307,7 @@ public class ImportInitvalues { addCfg(list, CONFIG_HEADER_XFRAME, HEADER_XFRAME_SAMEORIGIN, Configuration.Type.string, "Value for 'X-Frame-Options' header (default: DENY), more info: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options"); addCfg(list, CONFIG_HEADER_CSP, HEADER_CSP_SELF, Configuration.Type.string, "Value for 'Content-Security-Policy' header (default: default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';), have to be modified to enable Google analytics site: https://content-security-policy.com/"); addCfg(list, CONFIG_EXT_PROCESS_TTL, "" + EXT_PROCESS_TTL, Configuration.Type.number, String.format("Time to live in minutes for external processes such as conversion via ffmpeg (default %s minutes)", EXT_PROCESS_TTL)); + addCfg(list, CONFIG_MYROOMS_ENABLED, "" + true, Configuration.Type.bool, "Users are allowed to create personal rooms"); return list; } public void loadConfiguration(InstallationConfig cfg) { @@ -516,13 +471,11 @@ public class ImportInitvalues { log.debug("System contains users, no need to install data one more time."); } sipDao.delete(); - progress = 16; - loadMainMenu(); - progress = 32; + progress = 20; loadConfiguration(cfg); - progress = 48; + progress = 40; loadInitialOAuthServers(); - progress = 64; + progress = 60; } public void loadAll(InstallationConfig cfg, boolean force) throws Exception { @@ -535,7 +488,7 @@ public class ImportInitvalues { loadInitUserAndGroup(cfg); progress = 80; - loadDefaultRooms("1".equals(cfg.createDefaultRooms), StringValue.valueOf(cfg.defaultLangId).toLong(1L)); + loadDefaultRooms(cfg.createDefaultRooms, StringValue.valueOf(cfg.defaultLangId).toLong(1L)); progress = 100; } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java ---------------------------------------------------------------------- diff --git a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java index 3839f7c..1616180 100644 --- a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java +++ b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java @@ -18,23 +18,25 @@ */ package org.apache.openmeetings.screenshare.gui; -import javax.swing.*; -import java.awt.Dimension; import java.awt.Color; +import java.awt.Dimension; + +import javax.swing.BorderFactory; +import javax.swing.SwingConstants; public class BlankArea extends MouseListenerable { private static final long serialVersionUID = 1L; private Dimension minSize = new Dimension(100, 50); - public BlankArea(Color color) { - setBackground(color); - setOpaque(false); + public BlankArea(Color color) { + setBackground(color); + setOpaque(false); setHorizontalAlignment(SwingConstants.LEFT); setVerticalAlignment(SwingConstants.TOP); setHorizontalTextPosition(0); setVerticalTextPosition(0); - setBorder(BorderFactory.createLineBorder(Color.black)); - setMinimumSize(minSize); - setPreferredSize(minSize); - } + setBorder(BorderFactory.createLineBorder(Color.black)); + setMinimumSize(minSize); + setPreferredSize(minSize); + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java index 73c8e7a..56376ba 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java @@ -81,17 +81,14 @@ public class OpenmeetingsVariables { public static final String CONFIG_EMAIL_VERIFICATION = "send.email.with.verfication"; public static final String CONFIG_CALENDAR_ROOM_CAPACITY = "calendar.conference.rooms.default.size"; public static final String CONFIG_REPLY_TO_ORGANIZER = "inviter.email.as.replyto"; - - public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN"; - public static final String HEADER_CSP_SELF = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';"; - public static final String MENU_ROOMS_NAME = "Conference Rooms"; public static final String CONFIG_KEYCODE_ARRANGE = "video.arrange.keycode"; public static final String CONFIG_KEYCODE_EXCLUSIVE = "exclusive.audio.keycode"; public static final String CONFIG_KEYCODE_MUTE = "mute.keycode"; + public static final String CONFIG_MYROOMS_ENABLED = "personal.rooms.enabled"; + + public static final String HEADER_XFRAME_SAMEORIGIN = "SAMEORIGIN"; + public static final String HEADER_CSP_SELF = "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval';"; public static final int RECENT_ROOMS_COUNT = 5; - public static final int LEVEL_USER = 1; - public static final int LEVEL_GROUP_ADMIN = 2; - public static final int LEVEL_ADMIN = 3; public static final String WEB_DATE_PATTERN = "dd.MM.yyyy HH:mm:ss"; //FIXME need to be made locale based public static final int USER_LOGIN_MINIMUM_LENGTH = 4; public static final int USER_PASSWORD_MINIMUM_LENGTH = 8; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java ---------------------------------------------------------------------- diff --git a/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java b/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java index f03222b..74dd3b7 100644 --- a/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java +++ b/openmeetings-util/src/main/java/org/apache/openmeetings/util/geom/GeomPoint.java @@ -26,9 +26,9 @@ import org.red5.logging.Red5LoggerFactory; import org.slf4j.Logger; /** - * + * * Java Implementation of the Actionscript Class flash.geom.Point - * + * * @author swagner * */ @@ -43,22 +43,22 @@ public class GeomPoint extends Point { gPoint.setLocation(this.getX() + p.getX(),this.getY() + p.getY()); return gPoint; } - + public GeomPoint subtract(GeomPoint p) { GeomPoint gPoint = new GeomPoint(); gPoint.setLocation(this.getX() - p.getX(),this.getY() - p.getY()); return gPoint; } - + @Override public GeomPoint clone() { GeomPoint p = new GeomPoint(); p.setLocation(this.getX(), this.getY()); return p; } - + public static GeomPoint interpolate(GeomPoint p1, GeomPoint p2, float f) { - + if (f == 0) { GeomPoint p = new GeomPoint(); p.setLocation(p2.getX(), p2.getY()); @@ -68,31 +68,31 @@ public class GeomPoint extends Point { p.setLocation(p1.getX(), p1.getY()); return p; } - + double returnValueP1 = linearInterpolation(p1.getX(),p2.getX(),f); double returnValueP2 = linearInterpolation(p1.getY(),p2.getY(),f); - + GeomPoint p = new GeomPoint(); p.setLocation(returnValueP1, returnValueP2); return p; } - + public double length() { return Math.sqrt( this.getX()*this.getX() + this.getY()*this.getY() ); } - + @Override public String toString() { return getClass().getName() + "[x=" + this.getX() + ",y=" + this.getY() + "]"; - } - + } + public void normalize(double newLength) { - - //Function for Line y = mx + 0 + + //Function for Line y = mx + 0 //given points 0,0 and this.getX(),this.getY(); // 0 = m*0 + c // m = -c; - // + // // this.getY() = m*this.getX(); double m; @@ -109,36 +109,36 @@ public class GeomPoint extends Point { m = this.getY() / this.getX(); //log.debug("Case 2"); } - + //log.debug("m :"+m +" newLength "+newLength); - + //Circle (x-x0)^2 + (y-y0)^2 = r^2 // anyY = m * anyX; // newLength * newLength = anyY * anyY + anyX * anyX; - // + // // newLength * newLength = (m * anyX) * (m * anyX) + anyX * anyX; - // + // // newLength * newLength = m * m * anyX * anyX + anyX * anyX; // newLength * newLength = ( m*m + 1 ) * anyX * anyX; - // + // // newLength * newLength / ( m*m + 1 ) = anyX * anyX; - + double anyX = Math.sqrt( ( newLength * newLength ) / ( m*m + 1 ) ); double anyY = m * anyX; - + //log.debug("anyX :"+anyX + " anyY: " + anyY); - + //translate to Flash point of origin if (this.getX() < 0) { anyX *= -1; anyY *= -1; } - + //log.debug("anyX :"+anyX + " anyY: " + anyY); this.setLocation(anyX, anyY); - + } - + /** * Interpolate one number * @param a @@ -149,20 +149,20 @@ public class GeomPoint extends Point { public static double linearInterpolation(double a, double b, float t) { return a + t * (b - a); } - + public static GeomPoint getLineIntersection ( GeomPoint a1,GeomPoint a2, GeomPoint b1,GeomPoint b2) { - + //log.debug("b1: "+b1); //log.debug("b2: "+b2); - + double x,y,m1,m2; - + if ((a2.getX()-a1.getX()) == 0) { - + //log.debug("k1 ^ 0"); - + double k2 = (b2.getY()-b1.getY()) / (b2.getX()-b1.getX()); //log.debug("k2: "+k2); //log.debug("b1.getY(): "+b1.getY()); @@ -170,45 +170,45 @@ public class GeomPoint extends Point { // an infinite directional constant means the line is vertical // so the intersection must be at the x coordinate of the line x = a1.getX(); - m2 = b1.getY() - k2 * b1.getX(); - //log.debug("m2: "+m2); - y = k2 * x + m2; - //log.debug("y: "+y); - + m2 = b1.getY() - k2 * b1.getX(); + //log.debug("m2: "+m2); + y = k2 * x + m2; + //log.debug("y: "+y); + } else if((b2.getX()-b1.getX()) == 0) { - + //log.debug("k2 ^^ 0"); - + double k1 = (a2.getY()-a1.getY()) / (a2.getX()-a1.getX()); // same as above for line 2 m1 = a1.getY() - k1 * a1.getX(); x = b1.getX(); y = k1 * x + m1; - + } else { - + //calculate directional constants double k1 = (a2.getY()-a1.getY()) / (a2.getX()-a1.getX()); double k2 = (b2.getY()-b1.getY()) / (b2.getX()-b1.getX()); - + // if the directional constants are equal, the lines are parallel, // meaning there is no intersection point. if (java.lang.Double.compare(k1, k2) == 0) return null; - + //log.debug("neither"); // log.debug("k1: "+k1); // log.debug("k2: "+k2); - + m1 = a1.getY() - k1 * a1.getX(); - m2 = b1.getY() - k2 * b1.getX(); + m2 = b1.getY() - k2 * b1.getX(); x = (m1-m2) / (k2-k1); y = k1 * x + m1; } - - + + GeomPoint gPoint = new GeomPoint(); gPoint.setLocation(x, y); - + return gPoint; - } + } } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java index 4246adb..3c1aaf5 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java @@ -23,6 +23,7 @@ import static org.apache.openmeetings.util.CalendarPatterns.ISO8601_FULL_FORMAT_ import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_RSS; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANG; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.web.app.Application.getAuthenticationStrategy; import static org.apache.openmeetings.web.app.Application.getBean; @@ -490,7 +491,7 @@ public class WebSession extends AbstractAuthenticatedWebSession implements IWebS dashboard = (UserDashboard)dashboardContext.getDashboardPersister().load(); boolean existMyRoomWidget = false, existRssWidget = false, existAdminWidget = false; ConfigurationDao cfgDao = getBean(ConfigurationDao.class); - boolean showMyRoomConfValue = cfgDao.getBool(CONFIG_DASHBOARD_SHOW_MYROOMS, false); + boolean showMyRoomConfValue = cfgDao.getBool(CONFIG_MYROOMS_ENABLED, true) && cfgDao.getBool(CONFIG_DASHBOARD_SHOW_MYROOMS, false); boolean showRssConfValue = cfgDao.getBool(CONFIG_DASHBOARD_SHOW_RSS, false); boolean showAdminWidget = getRights().contains(User.Right.Admin); boolean save = false; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java index 7985bd2..5123df5 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java @@ -20,10 +20,7 @@ package org.apache.openmeetings.web.common; import static org.apache.openmeetings.db.util.AuthLevelUtil.hasAdminLevel; import static org.apache.openmeetings.db.util.AuthLevelUtil.hasGroupAdminLevel; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_USER; -import static org.apache.openmeetings.util.OpenmeetingsVariables.MENU_ROOMS_NAME; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.web.app.Application.addOnlineUser; import static org.apache.openmeetings.web.app.Application.getBean; @@ -42,12 +39,10 @@ import java.util.List; import java.util.Set; import org.apache.openmeetings.core.util.WebSocketHelper; -import org.apache.openmeetings.db.dao.basic.NavigationDao; +import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.basic.Client; -import org.apache.openmeetings.db.entity.basic.Naviglobal; -import org.apache.openmeetings.db.entity.basic.Navimain; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.db.entity.user.PrivateMessage; import org.apache.openmeetings.db.entity.user.User.Right; @@ -65,6 +60,8 @@ import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior; import org.apache.openmeetings.web.util.ContactsHelper; import org.apache.openmeetings.web.util.ExtendedClientProperties; import org.apache.openmeetings.web.util.OmUrlFragment; +import org.apache.openmeetings.web.util.OmUrlFragment.MenuActions; +import org.apache.openmeetings.web.util.OmUrlFragment.MenuParams; import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; @@ -288,43 +285,77 @@ public class MainPanel extends Panel { }); } - private static int getLevel() { - Set<Right> r = WebSession.getRights(); - return hasAdminLevel(r) ? LEVEL_ADMIN : (hasGroupAdminLevel(r) ? LEVEL_GROUP_ADMIN : LEVEL_USER); + private IMenuItem getSubItem(String lbl, String title, MenuActions action, MenuParams param) { + return new MainMenuItem(lbl, title, action, param) { + private static final long serialVersionUID = 1L; + + @Override + public void onClick(AjaxRequestTarget target) { + onClick(MainPanel.this, target); + } + }; } private List<IMenuItem> getMainMenu() { List<IMenuItem> menu = new ArrayList<>(); - for (Naviglobal gl : getBean(NavigationDao.class).getMainMenu(getLevel())) { + { + // Dashboard Menu Points + List<IMenuItem> l = new ArrayList<>(); + l.add(getSubItem("290", "1450", MenuActions.dashboardModuleStartScreen, null)); + l.add(getSubItem("291", "1451", MenuActions.dashboardModuleCalendar, null)); + menu.add(new MenuItem(Application.getString("124"), l)); + } + { + // Conference Menu Points List<IMenuItem> l = new ArrayList<>(); - for (Navimain nm : gl.getMainnavi()) { - l.add(new MainMenuItem(nm) { + l.add(getSubItem("777", "1506", MenuActions.conferenceModuleRoomList, MenuParams.publicTabButton)); + l.add(getSubItem("779", "1507", MenuActions.conferenceModuleRoomList, MenuParams.privateTabButton)); + if (getBean(ConfigurationDao.class).getBool(CONFIG_MYROOMS_ENABLED, true)) { + l.add(getSubItem("781", "1508", MenuActions.conferenceModuleRoomList, MenuParams.myTabButton)); + } + List<Room> recent = getBean(RoomDao.class).getRecent(getUserId()); + if (!recent.isEmpty()) { + l.add(new MenuItem(DELIMITER, (String)null)); + } + for (Room r : recent) { + final Long roomId = r.getId(); + l.add(new MenuItem(r.getName(), r.getName()) { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { - onClick(MainPanel.this, target); + RoomEnterBehavior.roomEnter((MainPage)getPage(), target, roomId); } }); } - if (MENU_ROOMS_NAME.equals(gl.getName())) { - List<Room> recent = getBean(RoomDao.class).getRecent(getUserId()); - if (!recent.isEmpty()) { - l.add(new MenuItem(DELIMITER, (String)null)); - } - for (Room r : recent) { - final Long roomId = r.getId(); - l.add(new MenuItem(r.getName(), r.getName()) { - private static final long serialVersionUID = 1L; - - @Override - public void onClick(AjaxRequestTarget target) { - RoomEnterBehavior.roomEnter((MainPage)getPage(), target, roomId); - } - }); - } + menu.add(new MenuItem(Application.getString("792"), l)); + } + { + // Recording Menu Points + List<IMenuItem> l = new ArrayList<>(); + l.add(getSubItem("395", "1452", MenuActions.recordModule, null)); + menu.add(new MenuItem(Application.getString("395"), l)); + } + Set<Right> r = WebSession.getRights(); + boolean isAdmin = hasAdminLevel(r); + if (isAdmin || hasGroupAdminLevel(r)) { + // Administration Menu Points + List<IMenuItem> l = new ArrayList<>(); + l.add(getSubItem("125", "1454", MenuActions.adminModuleUser, null)); + if (isAdmin) { + l.add(getSubItem("597", "1455", MenuActions.adminModuleConnections, null)); + } + l.add(getSubItem("127", "1456", MenuActions.adminModuleOrg, null)); + l.add(getSubItem("186", "1457", MenuActions.adminModuleRoom, null)); + if (isAdmin) { + l.add(getSubItem("263", "1458", MenuActions.adminModuleConfiguration, null)); + l.add(getSubItem("348", "1459", MenuActions.adminModuleLanguages, null)); + l.add(getSubItem("1103", "1454", MenuActions.adminModuleLDAP, null)); + l.add(getSubItem("1571", "1572", MenuActions.adminModuleOAuth, null)); + l.add(getSubItem("367", "1461", MenuActions.adminModuleBackup, null)); + l.add(getSubItem("main.menu.admin.email", "main.menu.admin.email.desc", MenuActions.adminModuleEmail, null)); } - menu.add(new MenuItem(Application.getString(gl.getLabelId()), l)); + menu.add(new MenuItem(Application.getString("6"), l)); } return menu; } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MainMenuItem.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MainMenuItem.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MainMenuItem.java index 099289a..630987d 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MainMenuItem.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/menu/MainMenuItem.java @@ -18,7 +18,6 @@ */ package org.apache.openmeetings.web.common.menu; -import org.apache.openmeetings.db.entity.basic.Navimain; import org.apache.openmeetings.web.app.Application; import org.apache.openmeetings.web.common.MainPanel; import org.apache.openmeetings.web.util.OmUrlFragment; @@ -30,13 +29,13 @@ public class MainMenuItem extends MenuItem { private static final long serialVersionUID = 1L; private MenuActions action; private MenuParams params; - - public MainMenuItem(Navimain m) { - super(Application.getString(m.getLabelId()), Application.getString(m.getTooltipLabelId())); - action = MenuActions.valueOf(m.getAction()); - params = m.getParams() != null ? MenuParams.valueOf(m.getParams()) : MenuParams.publicTabButton; + + public MainMenuItem(String lbl, String title, MenuActions action, MenuParams param) { + super(Application.getString(lbl), Application.getString(title)); + this.action = action; + this.params = param != null ? param : MenuParams.publicTabButton; } - + public void onClick(MainPanel main, AjaxRequestTarget target) { main.updateContents(new OmUrlFragment(action, params), target); } http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html index 2930c2d..3ede1a1 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.html @@ -46,7 +46,7 @@ <div wicket:id="message"></div> </td> </tr> - <tr> + <tr wicket:enclosure="bookedRoom"> <td colspan="2"><input type="checkbox" wicket:id="bookedRoom" /><label wicket:for="bookedRoom"><wicket:message key="1218"/></label></td> </tr> <tr wicket:id="roomParamsBlock"> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java index 9fd51c8..06c724e 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java @@ -20,6 +20,7 @@ package org.apache.openmeetings.web.user; import static org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID; import static org.apache.openmeetings.db.entity.user.PrivateMessage.SENT_FOLDER_ID; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.app.Application.getContactsLink; import static org.apache.openmeetings.web.app.Application.getInvitationLink; @@ -36,6 +37,7 @@ import java.util.Date; import java.util.List; import org.apache.openmeetings.core.mail.MailHandler; +import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.calendar.AppointmentDao; import org.apache.openmeetings.db.dao.room.IInvitationManager; import org.apache.openmeetings.db.dao.room.RoomDao; @@ -153,6 +155,7 @@ public class MessageDialog extends AbstractFormDialog<PrivateMessage> { target.add(bookedRoom, roomParamsBlock); } })); + bookedRoom.setVisible(getBean(ConfigurationDao.class).getBool(CONFIG_MYROOMS_ENABLED, true)); roomParamsBlock.add(roomParams); roomParams.add(new RoomTypeDropDown("room.type")); roomParams.add(start); @@ -202,17 +205,17 @@ public class MessageDialog extends AbstractFormDialog<PrivateMessage> { a.setEnd(CalendarWebHelper.getDate(end.getModelObject())); List<MeetingMember> attendees = new ArrayList<>(); for (User to : modelTo.getObject()) { - MeetingMember mm = new MeetingMember(); - mm.setUser(to); - mm.setDeleted(false); - mm.setInserted(a.getInserted()); - mm.setUpdated(a.getUpdated()); - mm.setAppointment(a); - attendees.add(mm); + MeetingMember mm = new MeetingMember(); + mm.setUser(to); + mm.setDeleted(false); + mm.setInserted(a.getInserted()); + mm.setUpdated(a.getUpdated()); + mm.setAppointment(a); + attendees.add(mm); } a.setOwner(owner); a.setMeetingMembers(attendees); - getBean(AppointmentDao.class).update(a, getUserId(), false); + getBean(AppointmentDao.class).update(a, getUserId(), false); m.setRoom(r); } else { m.setRoom(null); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html index 543b464..bc97ee6 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.html @@ -71,7 +71,7 @@ </div> <div id="tab2"> <div class="table"> - <div> + <div wicket:enclosure="createRoom"> <input type="checkbox" wicket:id="createRoom" /><label wicket:for="createRoom"><wicket:message key="1509" /></label> </div> <div wicket:id="create-room-block"> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java index 68e78d8..7836e9a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java @@ -18,6 +18,7 @@ */ package org.apache.openmeetings.web.user.calendar; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.app.WebSession.getRights; @@ -33,6 +34,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.calendar.AppointmentDao; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.user.GroupUserDao; @@ -283,6 +285,7 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> { private class AppointmentForm extends Form<Appointment> { private static final long serialVersionUID = 1L; + private final boolean myRoomsAllowed; private boolean createRoom = true; private Room appRoom = null; private final DateTimePicker start = new OmDateTimePicker("start", Model.of(LocalDateTime.now())); @@ -331,7 +334,7 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> { if (a.getRoom() == null) { a.setRoom(createAppRoom()); } - createRoom = a.getRoom().isAppointment(); + createRoom = myRoomsAllowed && a.getRoom().isAppointment(); if (createRoom) { appRoom = a.getRoom(); } else { @@ -372,6 +375,8 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> { super(id, model); setOutputMarkupId(true); + myRoomsAllowed = getBean(ConfigurationDao.class).getBool(CONFIG_MYROOMS_ENABLED, true); + createRoom = myRoomsAllowed; add(feedback.setOutputMarkupId(true)); //General add(new RequiredTextField<String>("title").setLabel(Model.of(Application.getString("572")))); @@ -426,8 +431,8 @@ public class AppointmentDialog extends AbstractFormDialog<Appointment> { createRoom = getConvertedInput(); target.add(createRoomBlock.setEnabled(createRoom), groom.setEnabled(!createRoom)); } - }); - add(createRoomBlock.add(roomType, new CheckBox("moderated")).setEnabled(createRoom).setOutputMarkupId(true)); + }.setVisible(myRoomsAllowed)); + add(createRoomBlock.add(roomType, new CheckBox("moderated")).setEnabled(createRoom).setVisible(myRoomsAllowed).setOutputMarkupId(true)); add(groom.setRequired(true).setLabel(Model.of(Application.getString("406"))).setEnabled(!createRoom).setOutputMarkupId(true)); add(sipContainer.setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true)); sipContainer.add(new Label("room.confno", "")).setVisible(false); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java index 076e4b2..29241ae 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java @@ -19,6 +19,7 @@ package org.apache.openmeetings.web.util; import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANDING_ZONE; +import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MYROOMS_ENABLED; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.user.profile.SettingsPanel.EDIT_PROFILE_TAB_ID; import static org.apache.openmeetings.web.user.profile.SettingsPanel.MESSAGES_TAB_ID; @@ -273,7 +274,7 @@ public class OmUrlFragment implements Serializable { MenuParams params = MenuParams.publicTabButton; if (TYPE_GROUP.equals(type)) { params = MenuParams.privateTabButton; - } else if (TYPE_MY.equals(type)) { + } else if (getBean(ConfigurationDao.class).getBool(CONFIG_MYROOMS_ENABLED, true) && TYPE_MY.equals(type)) { params = MenuParams.myTabButton; } basePanel = new RoomsSelectorPanel(CHILD_ID, params); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 6a637fa..7f71cbd 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 94ca434..604e9a9 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 f6fde61..e69bdc3 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 fdf141f..dc5ef55 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 b1827de..b746538 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/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 da5f588..f5facf3 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 @@ -27,8 +27,6 @@ <class>org.apache.openmeetings.db.entity.basic.Configuration</class> <class>org.apache.openmeetings.db.entity.server.LdapConfig</class> <class>org.apache.openmeetings.db.entity.basic.MailMessage</class> - <class>org.apache.openmeetings.db.entity.basic.Naviglobal</class> - <class>org.apache.openmeetings.db.entity.basic.Navimain</class> <class>org.apache.openmeetings.db.entity.server.Sessiondata</class> <class>org.apache.openmeetings.db.entity.server.SOAPLogin</class> <class>org.apache.openmeetings.db.entity.calendar.Appointment</class> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml index 4d4d750..25c0058 100644 --- a/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml +++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/applicationContext.xml @@ -145,7 +145,6 @@ <bean id="invitationDao" class="org.apache.openmeetings.db.dao.room.InvitationDao" /> <bean id="groupDao" class="org.apache.openmeetings.db.dao.user.GroupDao" /> <bean id="groupUserDao" class="org.apache.openmeetings.db.dao.user.GroupUserDao" /> - <bean id="navimanagement" class="org.apache.openmeetings.db.dao.basic.NavigationDao" /> <bean id="pollManagement" class="org.apache.openmeetings.db.dao.room.PollDao" /> <bean id="labelDao" class="org.apache.openmeetings.db.dao.label.LabelDao" /> <bean id="configurationDaoImpl" class="org.apache.openmeetings.db.dao.basic.ConfigurationDao" /> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbb096e9/openmeetings-web/src/test/java/org/apache/openmeetings/test/navi/TestNavi.java ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/test/navi/TestNavi.java b/openmeetings-web/src/test/java/org/apache/openmeetings/test/navi/TestNavi.java deleted file mode 100644 index c0d4165..0000000 --- a/openmeetings-web/src/test/java/org/apache/openmeetings/test/navi/TestNavi.java +++ /dev/null @@ -1,77 +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.test.navi; - -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN; -import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_USER; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import java.util.List; - -import org.apache.openmeetings.db.dao.basic.NavigationDao; -import org.apache.openmeetings.db.entity.basic.Naviglobal; -import org.apache.openmeetings.db.entity.basic.Navimain; -import org.apache.openmeetings.test.AbstractJUnitDefaults; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -public class TestNavi extends AbstractJUnitDefaults { - @Autowired - private NavigationDao navimanagement; - - private List<Naviglobal> testGetNavi(int level) { - List<Naviglobal> ll = navimanagement.getMainMenu(level); - - assertTrue("GlobalNavi size should be greater than zero: " + ll.size(), ll.size() > 0); - - for (Naviglobal navigl : ll) { - assertNotNull("Naviglobal retrieved should not be null", navigl); - assertTrue(String.format("Naviglobal retrieved should have level not greater than: %s, has: ", level, navigl.getLevelId()), navigl.getLevelId() <= level); - - assertNotNull("Naviglobal retrieved should have Navimain entries", navigl.getMainnavi()); - for (Navimain navim : navigl.getMainnavi()) { - assertNotNull("Navimain retrieved should not be null", navim); - assertTrue(String.format("Navimain retrieved should have level not greater than: %s, has: ", level, navim.getLevelId()), navim.getLevelId() <= level); - } - } - return ll; - } - - @Test - public void testGetUserNavi() { - testGetNavi(LEVEL_USER); - } - - @Test - public void testGetGroupAdminNavi() { - testGetNavi(LEVEL_GROUP_ADMIN); - } - - @Test - public void testGetAdminNavi() { - List<Naviglobal> menu = testGetNavi(LEVEL_ADMIN); - for (Naviglobal ng : menu) { - if (ng.getLevelId() == LEVEL_ADMIN) { - assertTrue("Admin menu should conatin more than 4 items: " + ng.getMainnavi().size(), ng.getMainnavi().size() > 4); - } - } - } -}
