You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/06/10 17:46:41 UTC
svn commit: r1601669 [4/7] - in /openmeetings:
branches/3.0.x/WebContent/src/modules/invitation/ branches/3.0.x/docs/
branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/
branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/basic/ b...
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Tue Jun 10 15:46:38 2014
@@ -151,8 +151,7 @@ public class RegisterDialog extends Abst
public void onOpen(AjaxRequestTarget target) {
String baseURL = getBean(ConfigurationDao.class).getBaseUrl();
- sendEmailAtRegister = 1 == getBean(ConfigurationDao.class).getConfValue("sendEmailAtRegister", Integer.class,
- "0");
+ sendEmailAtRegister = 1 == getBean(ConfigurationDao.class).getConfValue("sendEmailAtRegister", Integer.class, "0");
sendConfirmation = baseURL != null
&& !baseURL.isEmpty()
&& 1 == getBean(ConfigurationDao.class)
@@ -197,10 +196,11 @@ public class RegisterDialog extends Abst
login + CalendarPatterns.getDateWithTimeByMiliSeconds(new Date()));
try {
- getBean(IUserManager.class).registerUserInit(3, 1, 0, 1, login, password, lastName, firstName, email,
- null /* age/birthday */, "" /* street */, "" /* additionalname */, "" /* fax */, "" /* zip */, state.getState_id(),
- "" /* town */, lang.getLanguage_id(), true /* sendWelcomeMessage */,
- Arrays.asList(getBean(ConfigurationDao.class).getConfValue("default_domain_id", Long.class, null)),
+ getBean(IUserManager.class).registerUserInit(UserDao.getDefaultRights(), login, password, lastName
+ , firstName, email, null /* age/birthday */, "" /* street */
+ , "" /* additionalname */, "" /* fax */, "" /* zip */, state.getState_id()
+ , "" /* town */, lang.getLanguage_id(), true /* sendWelcomeMessage */
+ , Arrays.asList(getBean(ConfigurationDao.class).getConfValue("default_domain_id", Long.class, null)),
"" /* phone */, false, sendConfirmation, TimeZone.getTimeZone(tzModel.getObject()),
false /* forceTimeZoneCheck */, "" /* userOffers */, "" /* userSearchs */, false /* showContactData */,
true /* showContactDataToContacts */, hash);
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java Tue Jun 10 15:46:38 2014
@@ -34,6 +34,7 @@ import org.apache.openmeetings.db.dao.se
import org.apache.openmeetings.db.entity.basic.ErrorValue;
import org.apache.openmeetings.db.entity.server.LdapConfig;
import org.apache.openmeetings.db.entity.server.OAuthServer;
+import org.apache.openmeetings.db.entity.user.User.Type;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
import org.apache.openmeetings.web.app.WebSession;
@@ -63,7 +64,6 @@ import org.apache.wicket.model.AbstractR
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.util.string.Strings;
import com.googlecode.wicket.jquery.core.JQueryBehavior;
import com.googlecode.wicket.jquery.core.Options;
@@ -84,7 +84,6 @@ public class SignInDialog extends Abstra
private RegisterDialog r;
private ForgetPasswordDialog f;
private LdapConfig domain;
- private String ldapConfigFileName;
private FeedbackPanel feedback = new FeedbackPanel("feedback");
public SignInDialog(String id) {
@@ -182,16 +181,16 @@ public class SignInDialog extends Abstra
@Override
protected void onSubmit(AjaxRequestTarget target) {
- ldapConfigFileName = domain.getConfigFileName() == null ? "" : domain.getConfigFileName();
if (domain.getAddDomainToUserName()) {
login = login + "@" + domain.getDomain();
}
OmAuthenticationStrategy strategy = getAuthenticationStrategy();
WebSession ws = WebSession.get();
- if (ws.signIn(login, password, ldapConfigFileName)) {
+ Type type = domain.getLdapConfigId() > 0 ? Type.ldap : Type.user;
+ if (ws.signIn(login, password, type, domain.getLdapConfigId())) {
setResponsePage(Application.get().getHomePage());
if (rememberMe) {
- strategy.save(login, password, ldapConfigFileName);
+ strategy.save(login, password, type, domain.getLdapConfigId());
} else {
strategy.remove();
}
@@ -285,16 +284,16 @@ public class SignInDialog extends Abstra
}));
btn.add(icon);
btn.add(new Label("label", item.getModelObject().getName()))
- .add(new AjaxEventBehavior("click") {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void onEvent(AjaxRequestTarget target) {
- PageParameters parameters = new PageParameters();
- parameters.add("oauthid", item.getModelObject().getId());
- setResponsePage(SignInPage.class, parameters);
- }
- });
+ .add(new AjaxEventBehavior("click") {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ PageParameters parameters = new PageParameters();
+ parameters.add("oauthid", item.getModelObject().getId());
+ setResponsePage(SignInPage.class, parameters);
+ }
+ });
item.add(btn);
}
}).setVisible(allowOAuthLogin()));
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/auth/SignInPage.java Tue Jun 10 15:46:38 2014
@@ -33,6 +33,7 @@ import java.net.URLEncoder;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
@@ -172,8 +173,7 @@ public class SignInPage extends BaseInit
}
public static String getRedirectUri(OAuthServer server, Component component) {
- String baseUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(
- Url.parse(component.urlFor(SignInPage.class,null).toString()));
+ String baseUrl = RequestCycle.get().getUrlRenderer().renderFullUrl(Url.parse(component.urlFor(SignInPage.class,null).toString()));
return baseUrl + "?oauthid=" + server.getId();
}
@@ -326,7 +326,7 @@ public class SignInPage extends BaseInit
String firstname = params.get("firstname");
if (firstname == null) firstname = "";
if (lastname == null) lastname = "";
- User user = userDao.getUserByName(login, Type.oauth);
+ User user = userDao.getByName(login, Type.oauth);
// generate random password
byte[] rawPass = new byte[16];
Random rnd = new Random();
@@ -345,18 +345,19 @@ public class SignInPage extends BaseInit
}
user = userDao.get(res);
user.setType(Type.oauth);
- user.setExternalUserType("oauth2." + serverId);
+ user.setDomainId(serverId);
userDao.update(user, null);
} else { // just change password
// check user type before changing password, it must be match oauthServerId
- if (!("oauth2." + serverId).equals(user.getExternalUserType())) {
+ if (user.getDomainId() == null || serverId != user.getDomainId()) {
log.error("User already registered! with different OAuth server");
return;
}
+ user.setLastlogin(new Date());
user = userDao.update(user, pass, -1);
}
- if (WebSession.get().signIn(login, pass, null)) {
+ if (WebSession.get().signIn(login, pass, Type.oauth, serverId)) {
setResponsePage(Application.get().getHomePage());
} else {
log.error("Failed to login via OAuth2!");
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/ChatPanel.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/ChatPanel.java Tue Jun 10 15:46:38 2014
@@ -29,11 +29,12 @@ import java.util.Date;
import org.apache.openmeetings.db.dao.basic.ChatDao;
import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.entity.basic.ChatMessage;
-import org.apache.openmeetings.web.common.UserPanel;
+import org.apache.openmeetings.web.common.BasePanel;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.json.JSONException;
import org.apache.wicket.ajax.json.JSONObject;
+import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
@@ -50,7 +51,8 @@ import com.googlecode.wicket.jquery.ui.f
import com.googlecode.wicket.jquery.ui.plugins.emoticons.EmoticonsBehavior;
import com.googlecode.wicket.jquery.ui.plugins.wysiwyg.WysiwygEditor;
-public class ChatPanel extends UserPanel {
+@AuthorizeInstantiation({"Dashboard", "Room"})
+public class ChatPanel extends BasePanel {
private static final Logger log = Red5LoggerFactory.getLogger(ChatPanel.class, webAppRootKey);
private static final long serialVersionUID = -9144707674886211557L;
private static final String MESSAGE_AREA_ID = "messageArea";
Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java (original)
+++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java Tue Jun 10 15:46:38 2014
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.user
import org.apache.openmeetings.web.common.BasePanel;
import org.apache.wicket.RuntimeConfigurationType;
+import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -32,6 +33,7 @@ import org.apache.wicket.request.resourc
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.util.string.StringValue;
+@AuthorizeInstantiation("Room")
public class RoomPanel extends BasePanel {
private static final long serialVersionUID = 2308988314987829510L;
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/data/conference/RoomManager.java Tue Jun 10 15:46:38 2014
@@ -48,9 +48,6 @@ import org.apache.openmeetings.db.dto.ba
import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.room.RoomModerator;
import org.apache.openmeetings.db.entity.room.RoomOrganisation;
-import org.apache.openmeetings.db.entity.user.Organisation_Users;
-import org.apache.openmeetings.db.entity.user.User;
-import org.apache.openmeetings.util.AuthLevelUtil;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -86,43 +83,6 @@ public class RoomManager implements IRoo
private RoomTypeDao roomTypeDao;
/**
- * get a room object if user level
- *
- * @param user_level
- * @param rooms_id
- * @return
- */
- public Room getRoomById(long user_level, long rooms_id) {
- try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- return roomDao.get(rooms_id);
- } else
- log.error("getRoombyId : Userlevel" + user_level
- + " not allowed");
- } catch (Exception ex2) {
- log.error("[getRoomById] ", ex2);
- }
- return null;
- }
-
- public Room getRoomWithCurrentUsersById(long user_level, long rooms_id) {
- try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- Room room = roomDao.get(rooms_id);
-
- if (room != null) {
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
-
- return room;
- }
- }
- } catch (Exception ex2) {
- log.error("[getRoomWithCurrentUsersById] ", ex2);
- }
- return null;
- }
-
- /**
* Get a Rooms-Object or NULL
*
* @param externalRoomId
@@ -150,99 +110,67 @@ public class RoomManager implements IRoo
return null;
}
- public Room getRoomByExternalId(long user_level, Long externalRoomId,
- String externalRoomType, long roomtypes_id) {
+ public SearchResult<Room> getRooms(int start, int max, String orderby, boolean asc, String search) {
try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- return this.getRoomByExternalId(externalRoomId,
- externalRoomType, roomtypes_id);
- } else
- log.error("getRoombyExternalId : Userlevel" + user_level
- + " not allowed");
- } catch (Exception ex2) {
- log.error("[getRoomByExternalId] ", ex2);
- }
- return null;
- }
-
- public SearchResult<Room> getRooms(long user_level, int start, int max,
- String orderby, boolean asc, String search) {
- try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
- SearchResult<Room> sResult = new SearchResult<Room>();
- sResult.setRecords(this.selectMaxFromRooms(search));
- sResult.setObjectName(Room.class.getName());
- sResult.setResult(this.getRoomsInternatlByHQL(start, max,
- orderby, asc, search));
- return sResult;
- }
+ SearchResult<Room> sResult = new SearchResult<Room>();
+ sResult.setRecords(this.selectMaxFromRooms(search));
+ sResult.setObjectName(Room.class.getName());
+ sResult.setResult(this.getRoomsInternatlByHQL(start, max,
+ orderby, asc, search));
+ return sResult;
} catch (Exception ex2) {
log.error("[getRooms] ", ex2);
}
return null;
}
- public SearchResult<Room> getRoomsWithCurrentUsers(long user_level, int start,
- int max, String orderby, boolean asc) {
+ public SearchResult<Room> getRoomsWithCurrentUsers(int start, int max, String orderby, boolean asc) {
try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
- SearchResult<Room> sResult = new SearchResult<Room>();
- sResult.setRecords(this.selectMaxFromRooms(""));
- sResult.setObjectName(Room.class.getName());
+ SearchResult<Room> sResult = new SearchResult<Room>();
+ sResult.setRecords(this.selectMaxFromRooms(""));
+ sResult.setObjectName(Room.class.getName());
- List<Room> rooms = this.getRoomsInternatl(start, max, orderby,
- asc);
-
- for (Room room : rooms) {
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
- }
+ List<Room> rooms = this.getRoomsInternatl(start, max, orderby,
+ asc);
- sResult.setResult(rooms);
- return sResult;
+ for (Room room : rooms) {
+ room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
}
+
+ sResult.setResult(rooms);
+ return sResult;
} catch (Exception ex2) {
log.error("[getRooms] ", ex2);
}
return null;
}
- public List<Room> getRoomsWithCurrentUsersByList(long user_level,
- int start, int max, String orderby, boolean asc) {
+ public List<Room> getRoomsWithCurrentUsersByList(int start, int max, String orderby, boolean asc) {
try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
-
- List<Room> rooms = this.getRoomsInternatl(start, max, orderby,
- asc);
-
- for (Room room : rooms) {
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
- }
-
- return rooms;
+ List<Room> rooms = this.getRoomsInternatl(start, max, orderby,
+ asc);
+ for (Room room : rooms) {
+ room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
}
+
+ return rooms;
} catch (Exception ex2) {
log.error("[getRooms] ", ex2);
}
return null;
}
- public List<Room> getRoomsWithCurrentUsersByListAndType(long user_level,
- int start, int max, String orderby, boolean asc,
- String externalRoomType) {
+ public List<Room> getRoomsWithCurrentUsersByListAndType(int start, int max, String orderby, boolean asc, String externalRoomType) {
try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
-
- List<Room> rooms = this.getRoomsInternatlbyType(start, max,
- orderby, asc, externalRoomType);
-
- for (Room room : rooms) {
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
- }
-
- return rooms;
+ List<Room> rooms = this.getRoomsInternatlbyType(start, max,
+ orderby, asc, externalRoomType);
+ for (Room room : rooms) {
+ room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
}
+
+ return rooms;
} catch (Exception ex2) {
log.error("[getRooms] ", ex2);
}
@@ -390,45 +318,19 @@ public class RoomManager implements IRoo
return null;
}
- public List<RoomOrganisation> getOrganisationsByRoom(long user_level,
- long rooms_id) {
+ public List<RoomOrganisation> getOrganisationsByRoom(long rooms_id) {
try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- String hql = "select c from RoomOrganisation as c "
- + "where c.room.rooms_id = :rooms_id "
- + "AND c.deleted <> :deleted";
- TypedQuery<RoomOrganisation> q = em.createQuery(hql, RoomOrganisation.class);
-
- q.setParameter("rooms_id", rooms_id);
- q.setParameter("deleted", true);
- List<RoomOrganisation> ll = q.getResultList();
- return ll;
- }
- } catch (Exception ex2) {
- log.error("[getOrganisationsByRoom] ", ex2);
- }
- return null;
- }
+ String hql = "select c from RoomOrganisation as c "
+ + "where c.room.rooms_id = :rooms_id "
+ + "AND c.deleted <> :deleted";
+ TypedQuery<RoomOrganisation> q = em.createQuery(hql, RoomOrganisation.class);
- /**
- * get all rooms which are availible for public
- *
- * @param user_level
- * @param roomtypes_id
- * @return
- */
- public List<Room> getPublicRooms(long user_level, long roomtypes_id) {
- try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- TypedQuery<Room> q = em.createNamedQuery("getPublicRooms", Room.class);
- q.setParameter("ispublic", true);
- q.setParameter("deleted", false);
- q.setParameter("roomtypes_id", new Long(roomtypes_id));
- List<Room> ll = q.getResultList();
- return ll;
- }
+ q.setParameter("rooms_id", rooms_id);
+ q.setParameter("deleted", true);
+ List<RoomOrganisation> ll = q.getResultList();
+ return ll;
} catch (Exception ex2) {
- log.error("[getRoomsByOrganisation] ", ex2);
+ log.error("[getOrganisationsByRoom] ", ex2);
}
return null;
}
@@ -466,43 +368,6 @@ public class RoomManager implements IRoo
return null;
}
- public List<Room> getPublicRoomsWithoutType(long user_level) {
- try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- TypedQuery<Room> q = em.createNamedQuery("getPublicRoomsWithoutType", Room.class);
- q.setParameter("ispublic", true);
- q.setParameter("deleted", true);
- List<Room> ll = q.getResultList();
- return ll;
- }
- } catch (Exception ex2) {
- log.error("[getPublicRoomsWithoutType] ", ex2);
- ex2.printStackTrace();
- }
- return null;
- }
-
- /**
- * Get Appointed Meetings
- */
- // ---------------------------------------------------------------------------------------------
- public List<Room> getAppointedMeetings(Long userid, Long user_level) {
- log.debug("Roommanagement.getAppointedMeetings");
-
- try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- TypedQuery<Room> q = em.createNamedQuery("getAppointedMeetings", Room.class);
- q.setParameter("appointed", true);
- q.setParameter("deleted", false);
- return q.getResultList();
- }
- } catch (Exception ex2) {
- log.error("[getAppointedMeetings] ", ex2);
- }
- return null;
-
- }
-
// ---------------------------------------------------------------------------------------------
/**
@@ -546,7 +411,7 @@ public class RoomManager implements IRoo
* @param hideWhiteboard TODO
* @return id of the newly created room or NULL
*/
- public Long addRoom(long user_level, String name, long roomtypes_id,
+ public Long addRoom(String name, long roomtypes_id,
String comment, Long numberOfPartizipants, boolean ispublic,
List<Integer> organisations, Boolean appointment, Boolean isDemoRoom,
Integer demoTime, Boolean isModeratedRoom,
@@ -560,112 +425,64 @@ public class RoomManager implements IRoo
, boolean filesOpened, boolean autoVideoSelect, boolean sipEnabled) {
try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
-
- Room r = new Room();
- r.setName(name);
- r.setComment(comment);
- r.setStarttime(new Date());
- r.setNumberOfPartizipants(numberOfPartizipants);
- r.setRoomtype(roomTypeDao.get(roomtypes_id));
- r.setIspublic(ispublic);
- r.setAllowUserQuestions(allowUserQuestions);
- r.setIsAudioOnly(isAudioOnly);
- r.setAllowFontStyles(allowFontStyles);
-
- r.setAppointment(appointment);
+ Room r = new Room();
+ r.setName(name);
+ r.setComment(comment);
+ r.setStarttime(new Date());
+ r.setNumberOfPartizipants(numberOfPartizipants);
+ r.setRoomtype(roomTypeDao.get(roomtypes_id));
+ r.setIspublic(ispublic);
+ r.setAllowUserQuestions(allowUserQuestions);
+ r.setIsAudioOnly(isAudioOnly);
+ r.setAllowFontStyles(allowFontStyles);
- r.setIsDemoRoom(isDemoRoom);
- r.setDemoTime(demoTime);
+ r.setAppointment(appointment);
- r.setIsModeratedRoom(isModeratedRoom);
- r.setHideTopBar(hideTopBar);
+ r.setIsDemoRoom(isDemoRoom);
+ r.setDemoTime(demoTime);
- r.setDeleted(false);
+ r.setIsModeratedRoom(isModeratedRoom);
+ r.setHideTopBar(hideTopBar);
- r.setIsClosed(isClosed);
- r.setRedirectURL(redirectURL);
+ r.setDeleted(false);
- r.setOwnerId(ownerId);
+ r.setIsClosed(isClosed);
+ r.setRedirectURL(redirectURL);
- r.setWaitForRecording(waitForRecording);
- r.setAllowRecording(allowRecording);
-
- r.setHideChat(hideChat);
- r.setHideActivitiesAndActions(hideActivitiesAndActions);
- r.setHideActionsMenu(hideActionsMenu);
- r.setHideFilesExplorer(hideFilesExplorer);
- r.setHideScreenSharing(hideScreenSharing);
- r.setHideWhiteboard(hideWhiteboard);
- r.setShowMicrophoneStatus(showMicrophoneStatus);
- r.setChatModerated(chatModerated);
- r.setChatOpened(chatOpened);
- r.setFilesOpened(filesOpened);
- r.setAutoVideoSelect(autoVideoSelect);
- r.setSipEnabled(sipEnabled);
- r.setPin(conferencePin);
-
- r = roomDao.update(r, ownerId);
+ r.setOwnerId(ownerId);
- if (organisations != null) {
- Long t = this.updateRoomOrganisations(organisations, r);
- if (t == null) {
- return null;
- }
- }
+ r.setWaitForRecording(waitForRecording);
+ r.setAllowRecording(allowRecording);
+
+ r.setHideChat(hideChat);
+ r.setHideActivitiesAndActions(hideActivitiesAndActions);
+ r.setHideActionsMenu(hideActionsMenu);
+ r.setHideFilesExplorer(hideFilesExplorer);
+ r.setHideScreenSharing(hideScreenSharing);
+ r.setHideWhiteboard(hideWhiteboard);
+ r.setShowMicrophoneStatus(showMicrophoneStatus);
+ r.setChatModerated(chatModerated);
+ r.setChatOpened(chatOpened);
+ r.setFilesOpened(filesOpened);
+ r.setAutoVideoSelect(autoVideoSelect);
+ r.setSipEnabled(sipEnabled);
+ r.setPin(conferencePin);
+
+ r = roomDao.update(r, ownerId);
- if (roomModerators != null) {
- r.setModerators(getModerators(roomModerators, r.getRooms_id()));
- r = roomDao.update(r, ownerId);
+ if (organisations != null) {
+ Long t = this.updateRoomOrganisations(organisations, r);
+ if (t == null) {
+ return null;
}
-
- return r.getRooms_id();
}
- } catch (Exception ex2) {
- log.error("[addRoom] ", ex2);
- }
- return null;
- }
-
- public Long addRoomByMod(long user_level, String name, long roomtypes_id,
- String comment, Long numberOfPartizipants, boolean ispublic,
- Long organisation_id, Boolean appointment, Boolean isDemoRoom,
- Integer demoTime, Boolean isModeratedRoom,
- List<Map<String, Object>> roomModerators, Boolean allowUserQuestions) {
-
- log.debug("addRoom");
-
- try {
- if (AuthLevelUtil.checkModLevel(user_level)) {
- Room r = new Room();
- r.setName(name);
- r.setComment(comment);
- r.setStarttime(new Date());
- r.setNumberOfPartizipants(numberOfPartizipants);
- r.setRoomtype(roomTypeDao.get(roomtypes_id));
- r.setIspublic(ispublic);
-
- r.setAllowUserQuestions(allowUserQuestions);
- r.setAppointment(appointment);
- r.setIsDemoRoom(isDemoRoom);
- r.setDemoTime(demoTime);
-
- r.setIsModeratedRoom(isModeratedRoom);
-
- r.setDeleted(false);
- r = em.merge(r);
- long returnId = r.getRooms_id();
-
- this.addRoomToOrganisation(3, returnId, organisation_id);
-
- if (roomModerators != null) {
- r.setModerators(getModerators(roomModerators, r.getRooms_id()));
- r = roomDao.update(r, null);
- }
-
- return returnId;
+ if (roomModerators != null) {
+ r.setModerators(getModerators(roomModerators, r.getRooms_id()));
+ r = roomDao.update(r, ownerId);
}
+
+ return r.getRooms_id();
} catch (Exception ex2) {
log.error("[addRoom] ", ex2);
}
@@ -754,22 +571,20 @@ public class RoomManager implements IRoo
* @param organisation_id
* @return the id of the newly created Rooms_Organisation or NULL
*/
- public Long addRoomToOrganisation(long user_level, long rooms_id,
+ public Long addRoomToOrganisation(long rooms_id,
long organisation_id) {
try {
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
- RoomOrganisation rOrganisation = new RoomOrganisation();
- rOrganisation.setRoom(roomDao.get(rooms_id));
- log.debug("addRoomToOrganisation rooms '"
- + rOrganisation.getRoom().getName() + "'");
- rOrganisation.setStarttime(new Date());
- rOrganisation.setOrganisation(orgDao.get(organisation_id));
- rOrganisation.setDeleted(false);
-
- rOrganisation = em.merge(rOrganisation);
- long returnId = rOrganisation.getRooms_organisation_id();
- return returnId;
- }
+ RoomOrganisation rOrganisation = new RoomOrganisation();
+ rOrganisation.setRoom(roomDao.get(rooms_id));
+ log.debug("addRoomToOrganisation rooms '"
+ + rOrganisation.getRoom().getName() + "'");
+ rOrganisation.setStarttime(new Date());
+ rOrganisation.setOrganisation(orgDao.get(organisation_id));
+ rOrganisation.setDeleted(false);
+
+ rOrganisation = em.merge(rOrganisation);
+ long returnId = rOrganisation.getRooms_organisation_id();
+ return returnId;
} catch (Exception ex2) {
log.error("[addRoomToOrganisation] ", ex2);
}
@@ -811,19 +626,14 @@ public class RoomManager implements IRoo
* @param roomtypes_id
* @return
*/
- public List<RoomOrganisation> getRoomsOrganisationByOrganisationIdAndRoomType(
- long user_level, long organisation_id, long roomtypes_id) {
+ public List<RoomOrganisation> getRoomsOrganisationByOrganisationIdAndRoomType(long organisation_id, long roomtypes_id) {
try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
- TypedQuery<RoomOrganisation> q = em.
- createNamedQuery("getRoomsOrganisationByOrganisationIdAndRoomType", RoomOrganisation.class);
- q.setParameter("roomtypes_id", roomtypes_id);
- q.setParameter("organisation_id", organisation_id);
- q.setParameter("deleted", true);
- return q.getResultList();
- } else {
- log.error("[notauthentificated] " + user_level);
- }
+ TypedQuery<RoomOrganisation> q = em.
+ createNamedQuery("getRoomsOrganisationByOrganisationIdAndRoomType", RoomOrganisation.class);
+ q.setParameter("roomtypes_id", roomtypes_id);
+ q.setParameter("organisation_id", organisation_id);
+ q.setParameter("deleted", true);
+ return q.getResultList();
} catch (Exception ex2) {
log.error("[getRoomsByOrganisation] ", ex2);
}
@@ -836,23 +646,17 @@ public class RoomManager implements IRoo
* @param organisation_id
* @return list of Rooms_Organisation with Rooms as Sub-Objects or null
*/
- public List<RoomOrganisation> getRoomsOrganisationByOrganisationId(
- long user_level, long organisation_id) {
+ public List<RoomOrganisation> getRoomsOrganisationByOrganisationId(long organisation_id) {
try {
- if (AuthLevelUtil.checkUserLevel(user_level)) {
-
- TypedQuery<RoomOrganisation> query = em.
- createNamedQuery("getRoomsOrganisationByOrganisationId", RoomOrganisation.class);
+ TypedQuery<RoomOrganisation> query = em.
+ createNamedQuery("getRoomsOrganisationByOrganisationId", RoomOrganisation.class);
- query.setParameter("organisation_id", organisation_id);
- query.setParameter("deleted", true);
+ query.setParameter("organisation_id", organisation_id);
+ query.setParameter("deleted", true);
- List<RoomOrganisation> ll = query.getResultList();
+ List<RoomOrganisation> ll = query.getResultList();
- return ll;
- } else {
- log.error("[notauthentificated] " + user_level);
- }
+ return ll;
} catch (Exception ex2) {
log.error("[getPublicRoomsWithoutType] ", ex2);
ex2.printStackTrace();
@@ -860,20 +664,15 @@ public class RoomManager implements IRoo
return null;
}
- public SearchResult<RoomOrganisation> getRoomsOrganisationByOrganisationId(long user_level,
- long organisation_id, int start, int max, String orderby,
+ public SearchResult<RoomOrganisation> getRoomsOrganisationsByOrganisationId(long organisation_id, int start, int max, String orderby,
boolean asc) {
try {
- if (AuthLevelUtil.checkModLevel(user_level)) {
-
- SearchResult<RoomOrganisation> sResult = new SearchResult<RoomOrganisation>();
- sResult.setObjectName(RoomOrganisation.class.getName());
- sResult.setRecords(this.selectMaxFromRoomsByOrganisation(
- organisation_id).longValue());
- sResult.setResult(this.getRoomsOrganisationByOrganisationId(
- organisation_id, start, max, orderby, asc));
- return sResult;
- }
+ SearchResult<RoomOrganisation> sResult = new SearchResult<RoomOrganisation>();
+ sResult.setObjectName(RoomOrganisation.class.getName());
+ sResult.setRecords(this.selectMaxFromRoomsByOrganisation(
+ organisation_id).longValue());
+ sResult.setResult(getRoomsOrganisationByOrganisationId(organisation_id, start, max, orderby, asc));
+ return sResult;
} catch (Exception ex2) {
log.error("[getRoomsByOrganisation] ", ex2);
}
@@ -975,80 +774,6 @@ public class RoomManager implements IRoo
return null;
}
- /**
- *
- * @param user_id
- * @param rooms_id
- * @return
- */
- private boolean checkUserOrgRoom(long user_id, long rooms_id) {
- try {
-
- User us = usersDao.get(user_id);
- List<Organisation_Users> s = us.getOrganisation_users();
-
- for (Iterator<Organisation_Users> it = s.iterator(); it.hasNext();) {
- Organisation_Users orgUsers = it.next();
- long organisation_id = orgUsers.getOrganisation()
- .getOrganisation_id();
- List<RoomOrganisation> ll = this
- .getRoomsOrganisationByOrganisationId(3,
- organisation_id);
- for (Iterator<RoomOrganisation> it2 = ll.iterator(); it2
- .hasNext();) {
- RoomOrganisation roomOrg = it2.next();
- if (roomOrg.getRoom().getRooms_id() == rooms_id) {
- return true;
- }
- }
- }
-
- } catch (Exception ex2) {
- log.error("[checkUserOrgRoom] ", ex2);
- }
- return false;
- }
-
- /**
- *
- * @param user_id
- * @param user_level
- * @param rooms_id
- * @param roomtypes_id
- * @param name
- * @param ispublic
- * @param comment
- * @return
- */
- public Room updateRoomsSelf(long user_id, long user_level, long rooms_id,
- long roomtypes_id, String name, boolean ispublic, String comment) {
- try {
- if (AuthLevelUtil.checkModLevel(user_level)) {
-
- if (this.checkUserOrgRoom(user_id, rooms_id)) {
-
- Room r = roomDao.get(rooms_id);
- r.setComment(comment);
- r.setIspublic(ispublic);
- r.setName(name);
- r.setRoomtype(roomTypeDao.get(roomtypes_id));
- r.setUpdatetime(new Date());
-
- if (r.getRooms_id() == null) {
- em.persist(r);
- } else {
- if (!em.contains(r)) {
- em.merge(r);
- }
- }
- }
- }
- } catch (Exception ex2) {
- log.error("[updateRoom] ", ex2);
- }
- return null;
- }
-
public Long updateRoomInternal(long rooms_id, long roomtypes_id,
String name, boolean ispublic, String comment,
Long numberOfPartizipants, List<Integer> organisations,
@@ -1123,56 +848,6 @@ public class RoomManager implements IRoo
return null;
}
- public Long updateRoomByMod(long user_level, long rooms_id,
- long roomtypes_id, String name, boolean ispublic, String comment,
- Long numberOfPartizipants, Long organisations, Boolean appointment,
- Boolean isDemoRoom, Integer demoTime, Boolean isModeratedRoom,
- List<Map<String, Object>> roomModerators, Boolean allowUserQuestions) {
- try {
- log.debug("*** updateRoom numberOfPartizipants: "
- + numberOfPartizipants);
- if (AuthLevelUtil.checkModLevel(user_level)) {
- Room r = roomDao.get(rooms_id);
- r.setComment(comment);
-
- r.setIspublic(ispublic);
- r.setNumberOfPartizipants(numberOfPartizipants);
- r.setName(name);
- r.setRoomtype(roomTypeDao.get(roomtypes_id));
- r.setUpdatetime(new Date());
- r.setAllowUserQuestions(allowUserQuestions);
-
- r.setIsDemoRoom(isDemoRoom);
- r.setDemoTime(demoTime);
-
- r.setAppointment(appointment);
-
- r.setIsModeratedRoom(isModeratedRoom);
-
- if (r.getRooms_id() == null) {
- em.persist(r);
- } else {
- if (!em.contains(r)) {
- r = em.merge(r);
- }
- }
-
- // FIXME: Organizations will not be changed when you do an
- // update as Moderator
-
- if (roomModerators != null) {
- r.setModerators(getModerators(roomModerators, r.getRooms_id()));
- r = roomDao.update(r, null);
- }
-
- return r.getRooms_id();
- }
- } catch (Exception ex2) {
- log.error("[updateRoom] ", ex2);
- }
- return null;
- }
-
@SuppressWarnings("rawtypes")
private boolean checkRoomAlreadyInOrg(Long orgid, List organisations)
throws Exception {
@@ -1195,10 +870,8 @@ public class RoomManager implements IRoo
return false;
}
- private Long updateRoomOrganisations(List<Integer> organisations, Room room)
- throws Exception {
- List<RoomOrganisation> roomOrganisations = this.getOrganisationsByRoom(3,
- room.getRooms_id());
+ private Long updateRoomOrganisations(List<Integer> organisations, Room room) throws Exception {
+ List<RoomOrganisation> roomOrganisations = getOrganisationsByRoom(room.getRooms_id());
List<Long> roomsToAdd = new LinkedList<Long>();
List<Long> roomsToDel = new LinkedList<Long>();
@@ -1223,12 +896,11 @@ public class RoomManager implements IRoo
for (Iterator<Long> it = roomsToAdd.iterator(); it.hasNext();) {
Long orgIdToAdd = it.next();
- this.addRoomToOrganisation(3, room.getRooms_id(), orgIdToAdd);
+ addRoomToOrganisation(room.getRooms_id(), orgIdToAdd);
}
for (Iterator<Long> it = roomsToDel.iterator(); it.hasNext();) {
Long orgToDel = it.next();
- this.deleteRoomFromOrganisationByRoomAndOrganisation(
- room.getRooms_id(), orgToDel);
+ deleteRoomFromOrganisationByRoomAndOrganisation(room.getRooms_id(), orgToDel);
}
return new Long(1);
@@ -1239,13 +911,11 @@ public class RoomManager implements IRoo
*
* @param rooms_id
*/
- public Long deleteRoomById(long user_level, long rooms_id) {
+ public Long deleteRoomById(long rooms_id) {
try {
- if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
- this.deleteAllRoomsOrganisationOfRoom(rooms_id);
- roomDao.delete(roomDao.get(rooms_id), -1L);
- return rooms_id;
- }
+ deleteAllRoomsOrganisationOfRoom(rooms_id);
+ roomDao.delete(roomDao.get(rooms_id), -1L);
+ return rooms_id;
} catch (Exception ex2) {
log.error("[deleteRoomById] ", ex2);
}
@@ -1275,13 +945,9 @@ public class RoomManager implements IRoo
*
* @param organisation_id
*/
- @SuppressWarnings("rawtypes")
public void deleteAllRoomsOrganisationOfOrganisation(long organisation_id) {
try {
- List ll = this.getRoomsOrganisationByOrganisationId(3,
- organisation_id);
- for (Iterator it = ll.iterator(); it.hasNext();) {
- RoomOrganisation rOrg = (RoomOrganisation) it.next();
+ for (RoomOrganisation rOrg : getRoomsOrganisationByOrganisationId(organisation_id)) {
this.deleteRoomsOrganisation(rOrg);
}
} catch (Exception ex2) {
@@ -1385,7 +1051,7 @@ public class RoomManager implements IRoo
} else {
log.debug("Could not find room " + ownerId + " || " + roomtypesId);
- Long rooms_id = this.addRoom(3L, roomName, roomtypesId,
+ Long rooms_id = addRoom(roomName, roomtypesId,
"My Rooms of ownerId " + ownerId,
(roomtypesId == 1) ? 25L : 150L, // numberOfPartizipants
false, // ispublic
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/ldap/LdapLoginManagement.java Tue Jun 10 15:46:38 2014
@@ -45,6 +45,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.User.Type;
import org.apache.openmeetings.db.util.TimezoneUtil;
+import org.apache.openmeetings.util.OmException;
import org.apache.openmeetings.util.OmFileHelper;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IClient;
@@ -229,15 +230,14 @@ public class LdapLoginManagement impleme
*
*/
// ----------------------------------------------------------------------------------------
- public Object doLdapLogin(String user, String passwd,
- Client currentClient, IClient client, String SID, String domain) {
+ public User login(String user, String passwd, Long domainId) throws OmException {
log.debug("LdapLoginmanagement.doLdapLogin");
// Retrieve Configuration Data
HashMap<String, String> configData;
try {
- configData = getLdapConfigData(domain);
+ configData = getLdapConfigData(ldapConfigDao.get(domainId).getConfigFileName());
} catch (Exception e) {
log.error("Error on LdapAuth : " + e.getMessage());
return null;
@@ -394,8 +394,10 @@ public class LdapLoginManagement impleme
try {
if (!lAuth.authenticateUser(ldapUserDN, passwd)) {
log.error(ldapUserDN + " not authenticated.");
- return new Long(-11);
+ throw new OmException(-11L);
}
+ } catch (OmException oe) {
+ throw oe;
} catch (Exception e) {
log.error("Error on LdapAuth : " + e.getMessage());
return null;
@@ -403,8 +405,10 @@ public class LdapLoginManagement impleme
} else {
try {
if (!lAuth.authenticateUser(user, passwd)) {
- return new Long(-11);
+ throw new OmException(-11L);
}
+ } catch (OmException oe) {
+ throw oe;
} catch (Exception e) {
log.error("Error on LdapAuth : " + e.getMessage());
return null;
@@ -416,7 +420,7 @@ public class LdapLoginManagement impleme
User u = null;
try {
- u = usersDao.getUserByName(user, User.Type.ldap);
+ u = usersDao.getByName(user, User.Type.ldap);
} catch (Exception e) {
log.error("Error retrieving Userdata : " + e.getMessage());
}
@@ -459,7 +463,7 @@ public class LdapLoginManagement impleme
if (result == null || result.size() < 1) {
log.error("Error on Ldap request - no result for user " + user);
- return new Long(-10);
+ throw new OmException(-10L);
}
if (result.size() > 1) {
@@ -489,30 +493,11 @@ public class LdapLoginManagement impleme
}
log.debug("New User ID : " + userid);
- // If invoked via SOAP this is NULL
- if (currentClient != null) {
- currentClient.setUser_id(userid);
- SessionVariablesUtil.setUserId(client, userid);
- }
-
- // Update Session
- Boolean bool = sessiondataDao.updateUser(SID, userid);
-
- if (bool == null) {
- // Exception
- log.error("Error on Updating Session");
- return new Long(-1);
- } else if (!bool) {
- // invalid Session-Object
- log.error("Invalid Session Object");
- return new Long(-35);
- }
-
// Return UserObject
User u2 = usersDao.get(userid);
if (u2 == null) {
- return new Long(-1);
+ throw new OmException(-1L);
}
u2.setType(Type.ldap);
@@ -525,30 +510,12 @@ public class LdapLoginManagement impleme
return u2;
} catch (Exception e) {
log.error("Error on Working Userdata : ", e);
- return new Long(-1);
+ throw new OmException(-1L);
}
} else {
// User exists, just update necessary values
log.debug("User already exists -> Update of current passwd");
- // If invoked via SOAP this is NULL
- if (currentClient != null) {
- currentClient.setUser_id(u.getUser_id());
- }
-
- // Update Session
- Boolean bool = sessiondataDao.updateUser(SID, u.getUser_id());
-
- if (bool == null) {
- // Exception
- log.error("Error on Updating Session");
- return new Long(-1);
- } else if (!bool) {
- // invalid Session-Object
- log.error("Invalid Session Object");
- return new Long(-35);
- }
-
try {
// Update password (could have changed in LDAP)
if (ldap_sync_passwd_to_om) {
@@ -561,7 +528,7 @@ public class LdapLoginManagement impleme
usersDao.update(u, null);
} catch (Exception e) {
log.error("Error updating user : " + e.getMessage());
- return new Long(-1);
+ throw new OmException(-1L);
}
return u;
@@ -656,8 +623,6 @@ public class LdapLoginManagement impleme
iCalTz = userdata.get(ldapAttrs.get("timezoneAttr"));
}
- iCalTz = timezoneUtil.getTimeZone(iCalTz).getID();
-
String town = "town";
if (userdata.containsKey(ldapAttrs.get("townAttr"))
&& userdata.get(ldapAttrs.get("townAttr")) != null)
@@ -670,11 +635,7 @@ public class LdapLoginManagement impleme
// Check if LDAP Users get a SIP Account Issue 1099
newUserId = userManager.registerUserInit(
- 2,// user_level
- 1,// level_id
- 1,// available
- 1,// status
- login,// loginname
+ UserDao.getDefaultRights(), login,// loginname
passwd,// passwd
lastname, firstname, email,
new java.util.Date(), //age
@@ -682,18 +643,17 @@ public class LdapLoginManagement impleme
additionalname, fax, zip, state_id, town,
configurationDao.getConfValue(CONFIG_DEFAUT_LANG_KEY, Long.class, "1"), // language_id
false, // sendWelcomeMessage
- Arrays.asList(configurationDao.getConfValue(
- "default_domain_id", Long.class, null)), // organozation
- // Ids
+ Arrays.asList(configurationDao.getConfValue("default_domain_id", Long.class, null)), // organozation Ids
phone,
false,
false,// send verification code
- iCalTz,
+ timezoneUtil.getTimeZone(iCalTz),
false, // forceTimeZoneCheck
"", //userOffers
"", //userSearchs
false, //showContactData
- true //showContactDataToContacts
+ true, //showContactDataToContacts
+ null
);
User user = usersDao.get(newUserId);
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java Tue Jun 10 15:46:38 2014
@@ -23,6 +23,7 @@ import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
import org.apache.commons.transaction.util.FileHelper;
import org.apache.openmeetings.core.data.whiteboard.WhiteboardManager;
@@ -33,11 +34,11 @@ import org.apache.openmeetings.core.docu
import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.IUserManager;
+import org.apache.openmeetings.db.dao.user.UserDao;
import org.apache.openmeetings.db.dto.file.LibraryPresentation;
import org.apache.openmeetings.db.entity.file.FileExplorerItem;
import org.apache.openmeetings.db.entity.room.Client;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.OmFileHelper;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.crypt.MD5;
@@ -65,7 +66,7 @@ public class ConferenceLibrary implement
@Autowired
private SessiondataDao sessiondataDao;
@Autowired
- private IUserManager userManager;
+ private UserDao userDao;
@Autowired
private FileExplorerItemDao fileExplorerItemDao;
@Autowired
@@ -79,12 +80,10 @@ public class ConferenceLibrary implement
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
log.debug("#############users_id : " + users_id);
- log.debug("#############user_level : " + user_level);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
File working_dir = new File(OmFileHelper.getUploadFilesDir(), parentFolder);
log.debug("############# working_dir : " + working_dir);
@@ -122,8 +121,7 @@ public class ConferenceLibrary implement
Object tObjectRef) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
// LinkedHashMap tObject = (LinkedHashMap)t;
// ArrayList tObject = (ArrayList)t;
@@ -173,9 +171,8 @@ public class ConferenceLibrary implement
Long fileExplorerItemId, Long whiteboardId) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
IConnection current = Red5.getConnectionLocal();
Client currentClient = this.sessionManager
@@ -252,8 +249,7 @@ public class ConferenceLibrary implement
public ArrayList loadChartObject(String SID, Long room_id, String fileName) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
return LibraryChartLoader.getInstance().loadChart(OmFileHelper.getUploadRoomDir(room_id.toString()),
fileName);
}
@@ -272,9 +268,8 @@ public class ConferenceLibrary implement
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
IConnection current = Red5.getConnectionLocal();
String streamid = current.getClient().getId();
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java Tue Jun 10 15:46:38 2014
@@ -49,8 +49,8 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.RoomType;
import org.apache.openmeetings.db.entity.server.Server;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.db.util.TimezoneUtil;
-import org.apache.openmeetings.util.AuthLevelUtil;
import org.apache.openmeetings.util.CalendarPatterns;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
@@ -106,31 +106,25 @@ public class ConferenceService {
long organisation_id, long roomtypes_id) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
-
- log.debug("getRoomsByOrganisationAndType");
-
- if (user_level == null) {
- return null;
- }
- List<RoomOrganisation> roomOrgsList = roomManager
- .getRoomsOrganisationByOrganisationIdAndRoomType(
- user_level, organisation_id, roomtypes_id);
-
- List<RoomOrganisation> filtered = new ArrayList<RoomOrganisation>();
-
- for (Iterator<RoomOrganisation> iter = roomOrgsList.iterator(); iter
- .hasNext();) {
- RoomOrganisation orgRoom = iter.next();
-
- if (!orgRoom.getRoom().getAppointment()) {
- orgRoom.getRoom().setCurrentusers(
- this.getRoomClientsListByRoomId(orgRoom.getRoom()
- .getRooms_id()));
- filtered.add(orgRoom);
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+ log.debug("getRoomsByOrganisationAndType");
+ List<RoomOrganisation> roomOrgsList = roomManager.getRoomsOrganisationByOrganisationIdAndRoomType(organisation_id, roomtypes_id);
+
+ List<RoomOrganisation> filtered = new ArrayList<RoomOrganisation>();
+
+ for (Iterator<RoomOrganisation> iter = roomOrgsList.iterator(); iter
+ .hasNext();) {
+ RoomOrganisation orgRoom = iter.next();
+
+ if (!orgRoom.getRoom().getAppointment()) {
+ orgRoom.getRoom().setCurrentusers(
+ this.getRoomClientsListByRoomId(orgRoom.getRoom()
+ .getRooms_id()));
+ filtered.add(orgRoom);
+ }
}
+ return filtered;
}
- return filtered;
} catch (Exception err) {
log.error("[getRoomsByOrganisationAndType]", err);
}
@@ -141,22 +135,16 @@ public class ConferenceService {
String SID, long organisation_id) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
-
- log.debug("getRoomsByOrganisationAndType");
-
- if (user_level == null) {
- return null;
- }
- List<RoomOrganisation> roomOrgsList = roomManager
- .getRoomsOrganisationByOrganisationId(user_level,
- organisation_id);
-
- for (RoomOrganisation roomOrg : roomOrgsList) {
- roomOrg.getRoom().setCurrentusers(sessionManager.getClientListByRoom(roomOrg.getRoom().getRooms_id()));
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+ log.debug("getRoomsByOrganisationAndType");
+ List<RoomOrganisation> roomOrgsList = roomManager.getRoomsOrganisationByOrganisationId(organisation_id);
+
+ for (RoomOrganisation roomOrg : roomOrgsList) {
+ roomOrg.getRoom().setCurrentusers(sessionManager.getClientListByRoom(roomOrg.getRoom().getRooms_id()));
+ }
+
+ return roomOrgsList;
}
-
- return roomOrgsList;
} catch (Exception err) {
log.error("[getRoomsByOrganisationAndType]", err);
}
@@ -178,11 +166,10 @@ public class ConferenceService {
log.debug("getRoomsByOrganisation");
Long user_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByIdAndOrg(user_id,
- organisation_id);
-
- return roomManager.getRoomsOrganisationByOrganisationId(user_level,
- organisation_id, start, max, orderby, asc);
+ if (AuthLevelUtil.hasModLevel(userDao.get(user_id), organisation_id)) {
+ return roomManager.getRoomsOrganisationsByOrganisationId(organisation_id, start, max, orderby, asc);
+ }
+ return null;
}
/**
@@ -197,26 +184,25 @@ public class ConferenceService {
log.debug("getRoomsPublic");
Long users_id = sessiondataDao.checkSession(SID);
- Long User_level = userManager.getUserLevelByID(users_id);
- log.error("getRoomsPublic user_level: " + User_level);
-
- List<Room> roomList = roomManager.getPublicRooms(User_level,
- roomtypes_id);
-
- // Filter : no appointed meetings
- List<Room> filtered = new ArrayList<Room>();
-
- for (Iterator<Room> iter = roomList.iterator(); iter.hasNext();) {
- Room rooms = iter.next();
-
- if (!rooms.getAppointment()) {
- rooms.setCurrentusers(this.getRoomClientsListByRoomId(rooms
- .getRooms_id()));
- filtered.add(rooms);
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+
+ List<Room> roomList = roomDao.getPublicRooms(roomtypes_id);
+
+ // Filter : no appointed meetings
+ List<Room> filtered = new ArrayList<Room>();
+
+ for (Iterator<Room> iter = roomList.iterator(); iter.hasNext();) {
+ Room rooms = iter.next();
+
+ if (!rooms.getAppointment()) {
+ rooms.setCurrentusers(this.getRoomClientsListByRoomId(rooms
+ .getRooms_id()));
+ filtered.add(rooms);
+ }
}
+
+ return filtered;
}
-
- return filtered;
} catch (Exception err) {
log.error("[getRoomsByOrganisationAndType]", err);
}
@@ -227,16 +213,16 @@ public class ConferenceService {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- log.debug("getRoomsPublic user_level: " + user_level);
-
- List<Room> roomList = roomDao.getPublicRooms();
-
- for (Room room : roomList) {
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+
+ List<Room> roomList = roomDao.getPublicRooms();
+
+ for (Room room : roomList) {
+ room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
+ }
+
+ return roomList;
}
-
- return roomList;
} catch (Exception err) {
log.error("[getRoomsPublicWithoutType]", err);
}
@@ -342,9 +328,8 @@ public class ConferenceService {
log.debug("ConferenceService.getAppointedMeetings");
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<Appointment> points = appointmentLogic
.getTodaysAppointmentsForUser(users_id);
@@ -382,9 +367,8 @@ public class ConferenceService {
log.debug("ConferenceService.getAppointedMeetings");
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<Appointment> appointments = appointmentLogic
.getTodaysAppointmentsForUser(users_id);
List<Room> result = new ArrayList<Room>();
@@ -418,8 +402,7 @@ public class ConferenceService {
*/
public List<RoomType> getRoomTypes(String SID) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
User user = userDao.get(users_id);
return roomTypeDao.getAll(user == null
? cfgDao.getConfValue(CONFIG_DEFAUT_LANG_KEY, Long.class, "1") : user.getLanguage_id());
@@ -435,15 +418,19 @@ public class ConferenceService {
*/
public Room getRoomById(String SID, long rooms_id) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRoomById(user_level, rooms_id);
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+ return roomDao.get(rooms_id);
+ }
+ return null;
}
public Room getRoomWithCurrentUsersById(String SID, long rooms_id) {
+ Room room = null;
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- Room room = roomManager.getRoomById(user_level, rooms_id);
- room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+ room = roomDao.get(rooms_id);
+ room.setCurrentusers(sessionManager.getClientListByRoom(room.getRooms_id()));
+ }
return room;
}
@@ -455,12 +442,12 @@ public class ConferenceService {
* @param roomtypes_id
* @return - room with the given external id
*/
- public Room getRoomByExternalId(String SID, Long externalUserId,
- String externalUserType, long roomtypes_id) {
+ public Room getRoomByExternalId(String SID, Long externalUserId, String externalUserType, long roomtypes_id) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRoomByExternalId(user_level, externalUserId,
- externalUserType, roomtypes_id);
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+ return roomManager.getRoomByExternalId(externalUserId, externalUserType, roomtypes_id);
+ }
+ return null;
}
/**
@@ -478,9 +465,10 @@ public class ConferenceService {
log.debug("getRooms");
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRooms(user_level, start, max, orderby, asc,
- search);
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+ return roomManager.getRooms(start, max, orderby, asc, search);
+ }
+ return null;
}
public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int start,
@@ -488,9 +476,10 @@ public class ConferenceService {
log.debug("getRooms");
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRoomsWithCurrentUsers(user_level, start, max,
- orderby, asc);
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+ return roomManager.getRoomsWithCurrentUsers(start, max, orderby, asc);
+ }
+ return null;
}
public List<RoomModerator> getRoomModeratorsByRoomId(String SID,
@@ -498,9 +487,8 @@ public class ConferenceService {
try {
Long users_id = sessiondataDao.checkSession(SID);
- long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
return roomModeratorsDao.getByRoomId(roomId);
@@ -522,8 +510,10 @@ public class ConferenceService {
*/
public Long deleteRoom(String SID, long rooms_id) {
Long users_id = sessiondataDao.checkSession(SID);
- long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.deleteRoomById(user_level, rooms_id);
+ if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
+ return roomManager.deleteRoomById(rooms_id);
+ }
+ return null;
}
/**
@@ -558,32 +548,29 @@ public class ConferenceService {
return sessionManager.getClientListByRoom(room_id);
}
- public List<Room> getRoomsWithCurrentUsersByList(String SID, int start,
- int max, String orderby, boolean asc) {
- log.debug("getRooms");
+ public List<Room> getRoomsWithCurrentUsersByList(String SID, int start, int max, String orderby, boolean asc) {
+ log.debug("getRoomsWithCurrentUsersByList");
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRoomsWithCurrentUsersByList(user_level, start,
- max, orderby, asc);
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+ return roomManager.getRoomsWithCurrentUsersByList(start, max, orderby, asc);
+ }
+ return null;
}
- public List<Room> getRoomsWithCurrentUsersByListAndType(String SID,
- int start, int max, String orderby, boolean asc,
- String externalRoomType) {
- log.debug("getRooms");
+ public List<Room> getRoomsWithCurrentUsersByListAndType(String SID, int start, int max, String orderby, boolean asc, String externalRoomType) {
+ log.debug("getRoomsWithCurrentUsersByListAndType");
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- return roomManager.getRoomsWithCurrentUsersByListAndType(user_level,
- start, max, orderby, asc, externalRoomType);
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+ return roomManager.getRoomsWithCurrentUsersByListAndType(start, max, orderby, asc, externalRoomType);
+ }
+ return null;
}
- public Room getRoomByOwnerAndType(String SID, Long roomtypesId,
- String roomName) {
+ public Room getRoomByOwnerAndType(String SID, Long roomtypesId, String roomName) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
return roomManager.getRoomByOwnerAndTypeId(users_id,
roomtypesId, roomName);
}
@@ -600,8 +587,7 @@ public class ConferenceService {
*/
public ServerDTO getServerForSession(String SID, long roomId) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<Server> serverList = serverDao.getActiveServers();
long minimum = -1;
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java Tue Jun 10 15:46:38 2014
@@ -22,6 +22,7 @@ import static org.apache.openmeetings.ut
import java.util.Date;
import java.util.Map;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.openmeetings.core.converter.BaseConverter;
@@ -43,7 +44,7 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.record.FlvRecordingMetaData;
import org.apache.openmeetings.db.entity.record.FlvRecordingMetaData.Status;
import org.apache.openmeetings.db.entity.room.Client;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.CalendarPatterns;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.IConnection;
@@ -73,7 +74,7 @@ public class FLVRecorderService implemen
@Autowired
private FlvRecordingDao flvRecordingDaoImpl;
@Autowired
- private UserDao usersDaoImpl;
+ private UserDao userDao;
@Autowired
private RoomDao roomDao;
@Autowired
@@ -532,8 +533,7 @@ public class FLVRecorderService implemen
Integer rightSideTime) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
log.debug("updateFileOrFolderName " + flvRecordingId);
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java Tue Jun 10 15:46:38 2014
@@ -35,8 +35,8 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.db.util.TimezoneUtil;
-import org.apache.openmeetings.util.AuthLevelUtil;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
@@ -66,11 +66,25 @@ public class InvitationService implement
log.debug("InvitationService resultReceived" + arg0);
}
+ private Calendar getDate(String date, String time, String tzId) {
+ Calendar c = Calendar.getInstance(timezoneUtil.getTimeZone(tzId));
+ c.set(Calendar.YEAR, Integer.parseInt(date.substring(6)));
+ c.set(Calendar.MONTH, Integer.parseInt(date.substring(3, 5)) - 1);
+ c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date.substring(0, 2)));
+ c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.substring(0, 2)));
+ c.set(Calendar.MINUTE, Integer.parseInt(time.substring(3, 5)));
+ c.set(Calendar.SECOND, 0);
+ c.set(Calendar.MILLISECOND, 0);
+
+ return c;
+ }
+
/**
* send an invitation to another user by Mail
*
* @param SID
- * @param username
+ * @param firstname
+ * @param lastname
* @param message
* @param email
* @param subject
@@ -87,62 +101,27 @@ public class InvitationService implement
* @param iCalTz
* @return - invitation object in case of success, "Sys - Error" string or null in case of error
*/
- public Object sendInvitationHash(String SID, String username,
+ public Object sendInvitationHash(String SID, String firstname, String lastname,
String message, String email, String subject,
Long room_id, String conferencedomain, Boolean isPasswordProtected,
- String invitationpass, Integer valid, Date validFromDate,
- String validFromTime, Date validToDate, String validToTime,
+ String invitationpass, Integer valid, String validFromDate,
+ String validFromTime, String validToDate, String validToTime,
Long language_id, String iCalTz, boolean sendMail) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
log.debug("sendInvitationHash: ");
- Integer validFromHour = Integer.valueOf(
- validFromTime.substring(0, 2)).intValue();
- Integer validFromMinute = Integer.valueOf(
- validFromTime.substring(3, 5)).intValue();
-
- Integer validToHour = Integer.valueOf(validToTime.substring(0, 2))
- .intValue();
- Integer validToMinute = Integer
- .valueOf(validToTime.substring(3, 5)).intValue();
-
- log.info("validFromHour: " + validFromHour);
- log.info("validFromMinute: " + validFromMinute);
-
- Calendar date = Calendar.getInstance();
- date.setTime(validFromDate);
-
- TimeZone timeZone = timezoneUtil.getTimeZone(iCalTz);
-
- Calendar calFrom = Calendar.getInstance(timeZone);
- calFrom.set(Calendar.YEAR, date.get(Calendar.YEAR));
- calFrom.set(Calendar.MONTH, date.get(Calendar.MONTH));
- calFrom.set(Calendar.DAY_OF_MONTH, date.get(Calendar.DAY_OF_MONTH));
- calFrom.set(Calendar.HOUR_OF_DAY, validFromHour);
- calFrom.set(Calendar.MINUTE, validFromMinute);
- calFrom.set(Calendar.SECOND, 0);
-
- date.setTime(validToDate);
- Calendar calTo = Calendar.getInstance(timeZone);
- calTo.set(Calendar.YEAR, date.get(Calendar.YEAR));
- calTo.set(Calendar.MONTH, date.get(Calendar.MONTH));
- calTo.set(Calendar.DAY_OF_MONTH, date.get(Calendar.DAY_OF_MONTH));
- calTo.set(Calendar.HOUR_OF_DAY, validToHour);
- calTo.set(Calendar.MINUTE, validToMinute);
- calTo.set(Calendar.SECOND, 0);
-
- Date dFrom = calFrom.getTime();
- Date dTo = calTo.getTime();
+ Calendar calFrom = getDate(validFromDate, validFromTime, iCalTz);
+ Calendar calTo = getDate(validToDate, validToTime, iCalTz);
- User invitee = userDao.getContact(email, users_id);
+ User invitee = userDao.getContact(email, firstname, lastname, users_id);
Invitation invitation = invitationManager.getInvitation(invitee, roomDao.get(room_id),
isPasswordProtected, invitationpass, Valid.fromInt(valid)
- , userDao.get(users_id), language_id, dFrom, dTo, null);
+ , userDao.get(users_id), language_id,
+ calFrom.getTime(), calTo.getTime(), null);
if (invitation != null) {
if (sendMail) {
@@ -167,9 +146,8 @@ public class InvitationService implement
public String sendInvitationByHash(String SID, String invitationHash, String message, String subject
, Long language_id) throws Exception {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
Invitation inv = (Invitation)invitationManager.getInvitationByHashCode(invitationHash, true);
inv.getInvitee().setLanguage_id(language_id);
invitationManager.sendInvitionLink(inv, MessageType.Create, subject, message, false);
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java Tue Jun 10 15:46:38 2014
@@ -27,6 +27,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.TimeZone;
import org.apache.openmeetings.core.data.conference.RoomManager;
@@ -48,9 +49,12 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
import org.apache.openmeetings.db.entity.server.SOAPLogin;
import org.apache.openmeetings.db.entity.server.Sessiondata;
+import org.apache.openmeetings.db.entity.user.Address;
import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.entity.user.Userdata;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
+import org.apache.openmeetings.db.util.TimezoneUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
@@ -87,7 +91,7 @@ public class MainService implements IPen
@Autowired
private ConferenceLogDao conferenceLogDao;
@Autowired
- private UserDao usersDao;
+ private UserDao userDao;
@Autowired
private LdapConfigDao ldapConfigDao;
@Autowired
@@ -96,6 +100,8 @@ public class MainService implements IPen
private LdapLoginManagement ldapLoginManagement;
@Autowired
private MailHandler mailHandler;
+ @Autowired
+ private TimezoneUtil timezoneUtil;
// External User Types
public static final String EXTERNAL_USER_TYPE_LDAP = "LDAP";
@@ -111,9 +117,9 @@ public class MainService implements IPen
public User getUser(String SID, int USER_ID) {
User users = new User();
Long users_id = sessiondataDao.checkSession(SID);
- long user_level = userManager.getUserLevelByID(users_id);
- if (user_level > 2) {
- users = usersDao.get(new Long(USER_ID));
+ Set<Right> rights = userDao.getRights(users_id);
+ if (AuthLevelUtil.hasAdminLevel(rights) || AuthLevelUtil.hasWebServiceLevel(rights)) {
+ users = userDao.get(new Long(USER_ID));
} else {
users.setFirstname("No rights to do this");
}
@@ -158,7 +164,7 @@ public class MainService implements IPen
public User loginWicket(String SID, String wicketSID, Long wicketroomid) {
Long userId = sessiondataDao.checkSession(wicketSID);
- User u = userId == null ? null : usersDao.get(userId);
+ User u = userId == null ? null : userDao.get(userId);
if (u != null) {
IConnection current = Red5.getConnectionLocal();
String streamId = current.getClient().getId();
@@ -315,8 +321,7 @@ public class MainService implements IPen
public Long loginUserByRemote(String SID) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
+ if (AuthLevelUtil.hasWebServiceLevel(userDao.getRights(users_id))) {
Sessiondata sd = sessiondataDao.getSessionByHash(SID);
if (sd == null || sd.getSessionXml() == null) {
return new Long(-37);
@@ -336,31 +341,26 @@ public class MainService implements IPen
// If so we need to check that we create this user in
// OpenMeetings and update its record
- User user = usersDao.getExternalUser(userObject.getExternalUserId(),
- userObject.getExternalUserType());
+ User user = userDao.getExternalUser(userObject.getExternalUserId(), userObject.getExternalUserType());
if (user == null) {
String iCalTz = configurationDao.getConfValue("default.timezone", String.class, "");
- long userId = userManager
- .addUserWithExternalKey(1, 0, 0,
- userObject.getFirstname(),
- userObject.getUsername(),
- userObject.getLastname(), 1L,
- true, "", // password is empty by default
- null, null, "",
- userObject.getExternalUserId(),
- userObject.getExternalUserType(),
- true, userObject.getEmail(),
- iCalTz,
- userObject.getPictureUrl());
+ Address a = userDao.getAddress(null, null, null, 1L, null, null, null, userObject.getEmail());
+
+ User u = userDao.addUser(UserDao.getDefaultRights(), userObject.getFirstname(), userObject.getUsername(),
+ userObject.getLastname(), 1L, "" // password is empty by default
+ , a, false, null, null, timezoneUtil.getTimeZone(iCalTz), false
+ , null, null, false, false, userObject.getExternalUserId()
+ , userObject.getExternalUserType(), null, userObject.getPictureUrl());
+ long userId = u.getUser_id();
currentClient.setUser_id(userId);
SessionVariablesUtil.setUserId(current.getClient(), userId);
} else {
user.setPictureuri(userObject.getPictureUrl());
- usersDao.update(user, users_id);
+ userDao.update(user, users_id);
currentClient.setUser_id(user.getUser_id());
SessionVariablesUtil.setUserId(current.getClient(), user.getUser_id());
@@ -404,7 +404,7 @@ public class MainService implements IPen
Long defaultRpcUserid = configurationDao.getConfValue(
"default.rpc.userid", Long.class, "-1");
- User defaultRpcUser = usersDao.get(defaultRpcUserid);
+ User defaultRpcUser = userDao.get(defaultRpcUserid);
User user = new User();
user.setOrganisation_users(defaultRpcUser.getOrganisation_users());
@@ -455,27 +455,9 @@ public class MainService implements IPen
return null;
}
- /**
- * logs a user out and deletes his account
- *
- * @param SID
- * @return - id of user being deleted, or error code
- */
- public Long deleteUserIDSelf(String SID) {
- Long users_id = sessiondataDao.checkSession(SID);
- long user_level = userManager.getUserLevelByID(users_id);
- if (user_level >= 1) {
- userManager.logout(SID, users_id);
- return usersDao.deleteUserID(users_id);
- } else {
- return new Long(-10);
- }
- }
-
public List<Userdata> getUserdata(String SID) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
return userManager.getUserdataDashBoard(users_id);
}
return null;
@@ -493,8 +475,7 @@ public class MainService implements IPen
public LinkedHashMap<Integer, Client> getUsersByDomain(String SID,
String domain) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
LinkedHashMap<Integer, Client> lMap = new LinkedHashMap<Integer, Client>();
// Integer counter = 0;
// for (Iterator<String> it =
@@ -514,8 +495,7 @@ public class MainService implements IPen
public int closeRoom(String SID, Long room_id, Boolean status) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
roomManager.closeRoom(room_id, status);
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/PrintService.java Tue Jun 10 15:46:38 2014
@@ -24,8 +24,8 @@ import java.util.List;
import org.apache.openmeetings.core.batik.beans.PrintBean;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.IUserManager;
-import org.apache.openmeetings.util.AuthLevelUtil;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.util.crypt.MD5;
import org.red5.logging.Red5LoggerFactory;
@@ -41,7 +41,7 @@ public class PrintService {
@Autowired
private SessiondataDao sessiondataDao;
@Autowired
- private IUserManager userManager;
+ private UserDao userDao;
/*
* Export List
@@ -51,8 +51,7 @@ public class PrintService {
public String addPrintList(String SID, @SuppressWarnings("rawtypes") List map, int width, int height) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
String hashRaw = ""+new Date();
String hash = MD5.do_checksum(hashRaw);
PrintService.addPrintItembyMap(hash, map, width, height);
Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java?rev=1601669&r1=1601668&r2=1601669&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java Tue Jun 10 15:46:38 2014
@@ -48,8 +48,8 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.Salutation;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.entity.user.UserContact;
+import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.db.util.TimezoneUtil;
-import org.apache.openmeetings.util.AuthLevelUtil;
import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.scope.IScope;
@@ -121,8 +121,7 @@ public class UserService implements IUse
*/
public User getUserById(String SID, long user_id) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
return userDao.get(user_id);
}
return null;
@@ -165,8 +164,7 @@ public class UserService implements IUse
*/
public List<User> getUserList(String SID, int start, int max, String orderby, boolean asc) {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
return userDao.get("", start, max, orderby + (asc ? " ASC" : " DESC"));
}
return null;
@@ -186,9 +184,8 @@ public class UserService implements IUse
public Boolean kickUserByStreamId(String SID, String streamid, long serverId) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// admins only
- if (AuthLevelUtil.checkAdminLevel(user_level)) {
+ if (AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
if (serverId == 0) {
@@ -237,9 +234,8 @@ public class UserService implements IUse
public User updateUserSelfTimeZone(String SID, String jname) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
User us = userDao.get(users_id);
@@ -261,9 +257,8 @@ public class UserService implements IUse
public List<UserContact> getPendingUserContacts(String SID) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<UserContact> uList = userContactsDao
.getContactRequestsByUserAndStatus(users_id, true);
@@ -280,9 +275,8 @@ public class UserService implements IUse
public List<UserContact> getUserContacts(String SID) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<UserContact> uList = userContactsDao
.getContactsByUserAndStatus(users_id, false);
@@ -299,9 +293,8 @@ public class UserService implements IUse
public Integer removeContactUser(String SID, Long userContactId) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
UserContact userContacts = userContactsDao
.get(userContactId);
@@ -322,9 +315,8 @@ public class UserService implements IUse
public Boolean checkUserIsInContactList(String SID, Long user_id) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
List<UserContact> uList = userContactsDao
.getContactsByUserAndStatus(users_id, false);
@@ -351,10 +343,9 @@ public class UserService implements IUse
Boolean shareCalendar) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
UserContact userContacts = userContactsDao
.get(userContactId);
@@ -385,9 +376,8 @@ public class UserService implements IUse
public Boolean kickUserByPublicSID(String SID, String publicSID) {
try {
Long users_id = sessiondataDao.checkSession(SID);
- Long user_level = userManager.getUserLevelByID(users_id);
// users only
- if (AuthLevelUtil.checkUserLevel(user_level)) {
+ if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
Client rcl = this.sessionManager.getClientByPublicSID(
publicSID, false, null);