Modified: openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java (original) +++ openmeetings/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java Fri Nov 6 06:18:44 2015 @@ -153,9 +153,9 @@ public class UserManager implements IUse if (sessionData != null) { - User u = userDao.get(sessionData.getUser_id()); + User u = userDao.get(sessionData.getUserId()); - sessiondataDao.updateUserWithoutSession(SID, u.getUser_id()); + sessiondataDao.updateUserWithoutSession(SID, u.getId()); return u; } @@ -281,14 +281,14 @@ public class UserManager implements IUse * @param additionalname * @param fax * @param zip - * @param states_id + * @param stateId * @param town * @param language_id * @return */ public Long registerUser(String login, String Userpass, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long states_id, + String additionalname, String fax, String zip, long stateId, String town, long language_id, String phone, boolean sendSMS, boolean generateSipUserData, String jNameTimeZone) { String baseURL = cfgDao.getBaseUrl(); @@ -297,24 +297,24 @@ public class UserManager implements IUse && 1 == cfgDao.getConfValue("sendEmailWithVerficationCode", Integer.class, "0"); return registerUser(login, Userpass, lastname, firstname, email, age, - street, additionalname, fax, zip, states_id, town, language_id, + street, additionalname, fax, zip, stateId, town, language_id, phone, sendSMS, generateSipUserData, jNameTimeZone, sendConfirmation); } public Long registerUserNoEmail(String login, String Userpass, String lastname, String firstname, String email, Date age, String street, String additionalname, String fax, String zip, - long states_id, String town, long language_id, String phone, boolean sendSMS, + long stateId, String town, long language_id, String phone, boolean sendSMS, boolean generateSipUserData, String jNameTimeZone) { return registerUser(login, Userpass, lastname, firstname, email, age, - street, additionalname, fax, zip, states_id, town, language_id, + street, additionalname, fax, zip, stateId, town, language_id, phone, sendSMS, generateSipUserData, jNameTimeZone, false); } - private Long registerUser(String login, String Userpass, String lastname, + public Long registerUser(String login, String Userpass, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long states_id, + String additionalname, String fax, String zip, long stateId, String town, long language_id, String phone, boolean sendSMS, boolean generateSipUserData, String jNameTimeZone, Boolean sendConfirmation) { try { @@ -325,7 +325,7 @@ public class UserManager implements IUse Long user_id = registerUserInit(UserDao.getDefaultRights(), login, Userpass, lastname, firstname, email, age, street, - additionalname, fax, zip, states_id, town, language_id, + additionalname, fax, zip, stateId, town, language_id, true, Arrays.asList(cfgDao.getConfValue(CONFIG_DEFAULT_GROUP_ID, Long.class, null)), phone, sendSMS, sendConfirmation, timezoneUtil.getTimeZone(jNameTimeZone), false, "", "", false, true, null); @@ -355,7 +355,7 @@ public class UserManager implements IUse * @param additionalname * @param fax * @param zip - * @param states_id + * @param stateId * @param town * @param language_id * @param sendWelcomeMessage @@ -376,7 +376,7 @@ public class UserManager implements IUse */ public Long registerUserInit(Set<Right> rights, String login, String password, String lastname, String firstname, String email, Date age, String street, - String additionalname, String fax, String zip, long states_id, + String additionalname, String fax, String zip, long stateId, String town, long language_id, boolean sendWelcomeMessage, List<Long> organisations, String phone, boolean sendSMS, Boolean sendConfirmation, TimeZone timezone, Boolean forceTimeZoneCheck, @@ -404,7 +404,7 @@ public class UserManager implements IUse return -19L; } } - Address adr = userDao.getAddress(street, zip, town, states_id, additionalname, fax, phone, email); + Address adr = userDao.getAddress(street, zip, town, stateId, additionalname, fax, phone, email); // If this user needs first to click his E-Mail verification // code then set the status to 0 @@ -423,7 +423,7 @@ public class UserManager implements IUse if (u == null) { return -111L; } - log.debug("Added user-Id " + u.getUser_id()); + log.debug("Added user-Id " + u.getId()); /* * Long adress_emails_id = @@ -431,8 +431,8 @@ public class UserManager implements IUse * (adress_emails_id==null) { return new Long(-112); } */ - if (adr.getAdresses_id() > 0 && u.getUser_id() > 0) { - return u.getUser_id(); + if (adr.getId() > 0 && u.getId() > 0) { + return u.getId(); } else { return -16L; } @@ -535,7 +535,7 @@ public class UserManager implements IUse } public State getCountry(Locale loc) { - List<State> states = stateDao.getStates(); + List<State> states = stateDao.get(); if (loc != null) { String code = loc.getISO3Country().toUpperCase(); for (State s : states) { @@ -563,7 +563,7 @@ public class UserManager implements IUse return null; //TODO FIXME need to be checked } User u = userDao.getByLogin(login, Type.oauth, serverId); - if (!userDao.checkEmail(email, Type.oauth, serverId, u == null ? null : u.getUser_id())) { + if (!userDao.checkEmail(email, Type.oauth, serverId, u == null ? null : u.getId())) { log.error("Another user with the same email exists"); return null; //TODO FIXME need to be checked } @@ -585,7 +585,7 @@ public class UserManager implements IUse u.setShowContactDataToContacts(true); u.setLastname(lastname); u.setFirstname(firstname); - u.getAdresses().setEmail(email); + u.getAddress().setEmail(email); String picture = params.get("picture"); if (picture != null) { u.setPictureuri(picture); @@ -594,8 +594,8 @@ public class UserManager implements IUse if (locale != null) { Locale loc = Locale.forLanguageTag(locale); if (loc != null) { - u.setLanguage_id(getLanguage(loc)); - u.getAdresses().setStates(getCountry(loc)); + u.setLanguageId(getLanguage(loc)); + u.getAddress().setState(getCountry(loc)); } } }
Propchange: openmeetings/branches/3.1.x/openmeetings-web/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Fri Nov 6 06:18:44 2015 @@ -1,4 +1,5 @@ target +test-data .project .classpath .settings Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/AdminUserChoiceProvider.java Fri Nov 6 06:18:44 2015 @@ -35,7 +35,7 @@ public abstract class AdminUserChoicePro @Override protected Object getId(User choice) { - return choice.getUser_id(); + return choice.getId(); } @Override Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java Fri Nov 6 06:18:44 2015 @@ -65,7 +65,7 @@ public class ConfigForm extends AdminBas public void validate(IValidatable<String> validatable) { Configuration c = getBean(ConfigurationDao.class).forceGet(validatable.getValue()); - if (c != null && !c.isDeleted() && !c.getConfiguration_id().equals(ConfigForm.this.getModelObject().getConfiguration_id())) { + if (c != null && !c.isDeleted() && !c.getId().equals(ConfigForm.this.getModelObject().getId())) { error(Application.getString(1544L)); } } @@ -84,8 +84,8 @@ public class ConfigForm extends AdminBas protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) { ConfigurationDao cfgDao = getBean(ConfigurationDao.class); Configuration c = cfgDao.forceGet(getModelObject().getConf_key()); - if (c != null && c.isDeleted() && !c.getConfiguration_id().equals(getModelObject().getConfiguration_id())) { - getModelObject().setConfiguration_id(c.getConfiguration_id()); + if (c != null && c.isDeleted() && !c.getId().equals(getModelObject().getId())) { + getModelObject().setId(c.getId()); } setModelObject(getBean(ConfigurationDao.class).update(getModelObject(), WebSession.getUserId())); hideNewRecord(); @@ -102,8 +102,8 @@ public class ConfigForm extends AdminBas @Override protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) { Configuration conf = getModelObject(); - if (conf.getConfiguration_id() != null) { - conf = getBean(ConfigurationDao.class).get(conf.getConfiguration_id()); + if (conf.getId() != null) { + conf = getBean(ConfigurationDao.class).get(conf.getId()); } else { conf = new Configuration(); } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigsPanel.java Fri Nov 6 06:18:44 2015 @@ -61,7 +61,7 @@ public class ConfigsPanel extends AdminP @Override protected void populateItem(final Item<Configuration> item) { final Configuration c = item.getModelObject(); - item.add(new Label("configuration_id", c.getConfiguration_id())); + item.add(new Label("configuration_id", c.getId())); item.add(new Label("conf_key", c.getConf_key())); item.add(new Label("conf_value", c.getConf_value())); item.add(new AjaxEventBehavior("click") { @@ -75,7 +75,7 @@ public class ConfigsPanel extends AdminP } }); item.add(AttributeModifier.replace("class", "clickable ui-widget-content" - + (c.getConfiguration_id().equals(form.getModelObject().getConfiguration_id()) ? " ui-state-default" : ""))); + + (c.getId().equals(form.getModelObject().getId()) ? " ui-state-default" : ""))); } }; add(listContainer.add(dataView).setOutputMarkupId(true)); Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/connection/ConnectionsPanel.java Fri Nov 6 06:18:44 2015 @@ -18,7 +18,6 @@ */ package org.apache.openmeetings.web.admin.connection; -import static java.lang.Boolean.TRUE; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.app.WebSession.getSid; @@ -35,7 +34,6 @@ import org.apache.openmeetings.db.entity import org.apache.openmeetings.web.admin.AdminPanel; import org.apache.openmeetings.web.admin.SearchableDataView; import org.apache.openmeetings.web.app.Application; -import org.apache.openmeetings.web.app.WebClient; import org.apache.openmeetings.web.app.WebSession; import org.apache.openmeetings.web.common.ConfirmableAjaxBorder; import org.apache.openmeetings.web.common.PagedEntityListPanel; @@ -73,21 +71,6 @@ public class ConnectionsPanel extends Ad return getBean(ISessionManager.class).getClients().size(); } }; - - SearchableDataProvider<WebClient> sdpWeb = new SearchableDataProvider<WebClient>(null) { - private static final long serialVersionUID = 1L; - - @Override - public Iterator<? extends WebClient> iterator(long first, long count) { - List<WebClient> l = new ArrayList<WebClient>(Application.getClients()); - return l.subList((int)Math.max(0, first), (int)Math.min(first + count, l.size())).iterator(); - } - - @Override - public long size() { - return Application.getClientsSize(); - } - }; final WebMarkupContainer container = new WebMarkupContainer("container"); final WebMarkupContainer details = new WebMarkupContainer("details"); SearchableDataView<Client> dataView = new SearchableDataView<Client>("clientList", sdp) { @@ -111,7 +94,7 @@ public class ConnectionsPanel extends Ad , c.getServer() == null ? 0 : c.getServer().getId()); target.add(container, details.setVisible(false)); } - }.setEnabled(!TRUE.equals(c.getIsScreenClient()) && !TRUE.equals(c.getIsAVClient()))); + }.setEnabled(!c.isScreenClient() && !c.isAvClient())); item.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @@ -144,15 +127,30 @@ public class ConnectionsPanel extends Ad item.add(AttributeModifier.append("class", "clickable ui-widget-content")); } }; - add(container.add(dataView).setOutputMarkupId(true)); + add(container.add(dataView).setOutputMarkupId(true), details.setVisible(false).setOutputMarkupPlaceholderTag(true)); + + SearchableDataProvider<org.apache.openmeetings.web.app.Client> sdpWeb = new SearchableDataProvider<org.apache.openmeetings.web.app.Client>(null) { + private static final long serialVersionUID = 1L; + + @Override + public Iterator<? extends org.apache.openmeetings.web.app.Client> iterator(long first, long count) { + List<org.apache.openmeetings.web.app.Client> l = new ArrayList<org.apache.openmeetings.web.app.Client>(Application.getClients()); + return l.subList((int)Math.max(0, first), (int)Math.min(first + count, l.size())).iterator(); + } + + @Override + public long size() { + return Application.getClientsSize(); + } + }; final WebMarkupContainer containerWeb = new WebMarkupContainer("containerWeb"); - SearchableDataView<WebClient> dataViewWeb = new SearchableDataView<WebClient>("clientListWeb", sdpWeb) { + SearchableDataView<org.apache.openmeetings.web.app.Client> dataViewWeb = new SearchableDataView<org.apache.openmeetings.web.app.Client>("clientListWeb", sdpWeb) { private static final long serialVersionUID = 1L; @Override - protected void populateItem(final Item<WebClient> item) { - WebClient c = item.getModelObject(); + protected void populateItem(final Item<org.apache.openmeetings.web.app.Client> item) { + org.apache.openmeetings.web.app.Client c = item.getModelObject(); item.add(new Label("id", c.getUserId())); item.add(new Label("login", getBean(UserService.class).getUserById(getSid(), c.getUserId()).getLogin())); item.add(new Label("since", c.getConnectedSince())); @@ -162,7 +160,7 @@ public class ConnectionsPanel extends Ad @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - WebClient c = item.getModelObject(); + org.apache.openmeetings.web.app.Client c = item.getModelObject(); getBean(IUserService.class).kickUserBySessionId(getSid(), c.getUserId() , c.getSessionId()); target.add(containerWeb, details.setVisible(false)); @@ -173,9 +171,9 @@ public class ConnectionsPanel extends Ad @Override protected void onEvent(AjaxRequestTarget target) { - Field[] ff = WebClient.class.getDeclaredFields(); + Field[] ff = org.apache.openmeetings.web.app.Client.class.getDeclaredFields(); RepeatingView lines = new RepeatingView("line"); - WebClient c = item.getModelObject(); + org.apache.openmeetings.web.app.Client c = item.getModelObject(); for (Field f : ff) { int mod = f.getModifiers(); if (Modifier.isStatic(mod) || Modifier.isTransient(mod)) { @@ -199,8 +197,8 @@ public class ConnectionsPanel extends Ad item.add(AttributeModifier.append("class", "clickable ui-widget-content")); } }; - add(containerWeb.add(dataViewWeb).setOutputMarkupId(true), details.setVisible(false).setOutputMarkupPlaceholderTag(true)); + add(containerWeb.add(dataViewWeb).setOutputMarkupId(true), details.setVisible(false).setOutputMarkupPlaceholderTag(true)); add(new PagedEntityListPanel("navigator", dataView) { private static final long serialVersionUID = 1L; @@ -212,7 +210,7 @@ public class ConnectionsPanel extends Ad } @Override - public void onMenuPanelLoad(IPartialPageRequestHandler target) { - super.onMenuPanelLoad(target); + public void onMenuPanelLoad(IPartialPageRequestHandler handler) { + super.onMenuPanelLoad(handler); } } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java Fri Nov 6 06:18:44 2015 @@ -75,12 +75,12 @@ public class GroupForm extends AdminBase Organisation o = GroupForm.this.getModelObject(); User u = userToadd.getModelObject(); boolean found = false; - if (o.getOrganisation_id() != null) { - found = null != getBean(OrganisationUserDao.class).getByOrganizationAndUser(o.getOrganisation_id(), u.getUser_id()); + if (o.getId() != null) { + found = null != getBean(OrganisationUserDao.class).getByOrganizationAndUser(o.getId(), u.getId()); } if (!found && u != null) { for (Organisation_Users ou : usersPanel.getUsers2add()) { - if (ou.getUser().getUser_id().equals(u.getUser_id())) { + if (ou.getUser().getId().equals(u.getId())) { found = true; break; } @@ -109,7 +109,7 @@ public class GroupForm extends AdminBase } private long getOrgId() { - return getModelObject().getOrganisation_id() != null ? getModelObject().getOrganisation_id() : 0; + return getModelObject().getId() != null ? getModelObject().getId() : 0; } @Override @@ -121,8 +121,8 @@ public class GroupForm extends AdminBase @Override protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) { Organisation org = getModelObject(); - if (org.getOrganisation_id() != null) { - org = getBean(OrganisationDao.class).get(org.getOrganisation_id()); + if (org.getId() != null) { + org = getBean(OrganisationDao.class).get(org.getId()); } else { org = new Organisation(); } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupUsersPanel.java Fri Nov 6 06:18:44 2015 @@ -62,13 +62,13 @@ public class GroupUsersPanel extends Pan @Override protected void onUpdate(AjaxRequestTarget target) { - if (orgUser.getOrganisation_users_id() != null) { + if (orgUser.getId() != null) { getBean(OrganisationUserDao.class).update(orgUser, WebSession.getUserId()); } } })); Label label = new Label("label", u == null ? "" : GroupForm.formatUser(u)); - if (orgUser.getOrganisation_users_id() == null) { + if (orgUser.getId() == null) { label.add(AttributeAppender.append("class", "newItem")); } item.add(label); @@ -77,10 +77,10 @@ public class GroupUsersPanel extends Pan @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - if (orgUser.getOrganisation_users_id() == null) { + if (orgUser.getId() == null) { for (int i = 0; i < users2add.size(); ++i) { //FIXME ineffective - if (users2add.get(i).getUser().getUser_id().equals(orgUser.getUser().getUser_id())) { + if (users2add.get(i).getUser().getId().equals(orgUser.getUser().getId())) { users2add.remove(i); break; } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupsPanel.java Fri Nov 6 06:18:44 2015 @@ -67,7 +67,7 @@ public class GroupsPanel extends AdminPa @Override protected void populateItem(Item<Organisation> item) { final Organisation o = item.getModelObject(); - item.add(new Label("organisation_id", "" + o.getOrganisation_id())); + item.add(new Label("organisation_id", "" + o.getId())); item.add(new Label("name", "" + o.getName())); item.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @@ -81,7 +81,7 @@ public class GroupsPanel extends AdminPa } }); item.add(AttributeModifier.append("class", "clickable ui-widget-content" - + (o.getOrganisation_id().equals(form.getModelObject().getOrganisation_id()) ? " ui-state-active" : ""))); + + (o.getId().equals(form.getModelObject().getId()) ? " ui-state-active" : ""))); } }; Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapForm.java Fri Nov 6 06:18:44 2015 @@ -74,7 +74,7 @@ public class LdapForm extends AdminBaseF @Override protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) { Application.getBean(LdapConfigDao.class).update(getModelObject(), WebSession.getUserId()); - LdapConfig ldapConfig = Application.getBean(LdapConfigDao.class).get(getModelObject().getLdapConfigId()); + LdapConfig ldapConfig = Application.getBean(LdapConfigDao.class).get(getModelObject().getId()); this.setModelObject(ldapConfig); hideNewRecord(); target.add(this); @@ -92,9 +92,9 @@ public class LdapForm extends AdminBaseF @Override protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) { LdapConfig ldapConfig = this.getModelObject(); - if (ldapConfig.getLdapConfigId() <= 0) { + if (ldapConfig.getId() <= 0) { ldapConfig = Application.getBean(LdapConfigDao.class).get( - ldapConfig.getLdapConfigId()); + ldapConfig.getId()); } else { ldapConfig = new LdapConfig(); } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/ldaps/LdapsPanel.java Fri Nov 6 06:18:44 2015 @@ -60,7 +60,7 @@ public class LdapsPanel extends AdminPan @Override protected void populateItem(final Item<LdapConfig> item) { final LdapConfig lc = item.getModelObject(); - item.add(new Label("ldapConfigId", "" + lc.getLdapConfigId())); + item.add(new Label("ldapConfigId", "" + lc.getId())); item.add(new Label("name", "" + lc.getName())); item.add(new Label("configFileName", "" + lc.getConfigFileName())); item.add(new AjaxEventBehavior("click") { @@ -74,7 +74,7 @@ public class LdapsPanel extends AdminPan } }); item.add(AttributeModifier.replace("class", "clickable ui-widget-content" - + (lc.getLdapConfigId() == form.getModelObject().getLdapConfigId() ? " ui-state-active" : ""))); + + (lc.getId() == form.getModelObject().getId() ? " ui-state-active" : ""))); } }; add(listContainer.add(dataView).setOutputMarkupId(true)); Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomForm.java Fri Nov 6 06:18:44 2015 @@ -126,7 +126,7 @@ public class RoomForm extends AdminBaseF @Override protected Object getId(RoomOrganisation choice) { - return choice.getOrganisation().getOrganisation_id(); + return choice.getOrganisation().getId(); } @Override @@ -214,7 +214,7 @@ public class RoomForm extends AdminBaseF @Override protected String getDisplayText(User choice) { - Address a = choice.getAdresses(); + Address a = choice.getAddress(); return String.format("\"%s %s\" <%s>", choice.getFirstname(), choice.getLastname(), a == null ? "" : a.getEmail()); } }); @@ -231,14 +231,14 @@ public class RoomForm extends AdminBaseF r.setModerators(new ArrayList<RoomModerator>()); } for (RoomModerator rm : r.getModerators()) { - if (rm.getUser().getUser_id().equals(u.getUser_id())) { + if (rm.getUser().getId().equals(u.getId())) { found = true; break; } } if (!found) { RoomModerator rm = new RoomModerator(); - rm.setRoomId(r.getRooms_id()); + rm.setRoomId(r.getId()); rm.setUser(u); r.getModerators().add(0, rm); moderator2add.setObject(null); @@ -258,9 +258,9 @@ public class RoomForm extends AdminBaseF name.add(AttributeAppender.append("class", "newItem")); } item.add(new CheckBox("isSuperModerator", new PropertyModel<Boolean>(moderator, "isSuperModerator"))) - .add(new Label("userId", "" + moderator.getUser().getUser_id())) + .add(new Label("userId", "" + moderator.getUser().getId())) .add(name) - .add(new Label("email", moderator.getUser().getAdresses().getEmail())) + .add(new Label("email", moderator.getUser().getAddress().getEmail())) .add(new ConfirmableAjaxBorder("delete", getString("80"), getString("833")) { private static final long serialVersionUID = 1L; @@ -294,7 +294,7 @@ public class RoomForm extends AdminBaseF } void updateClients(AjaxRequestTarget target) { - long roomId = (getModelObject().getRooms_id() != null ? getModelObject().getRooms_id() : 0); + long roomId = (getModelObject().getId() != null ? getModelObject().getId() : 0); final List<Client> clientsInRoom = Application.getBean(ISessionManager.class).getClientListByRoom(roomId); clients.setDefaultModelObject(clientsInRoom); target.add(clientsContainer); @@ -303,11 +303,11 @@ public class RoomForm extends AdminBaseF @Override protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) { Room r = getModelObject(); - boolean newRoom = r.getRooms_id() == null; + boolean newRoom = r.getId() == null; r = getBean(RoomDao.class).update(r, getUserId()); if (newRoom) { for (RoomModerator rm : r.getModerators()) { - rm.setRoomId(r.getRooms_id()); + rm.setRoomId(r.getId()); } // FIXME double update getBean(RoomDao.class).update(getModelObject(), getUserId()); @@ -335,8 +335,8 @@ public class RoomForm extends AdminBaseF @Override protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) { Room r = getModelObject(); - if (r.getRooms_id() != null) { - r = getBean(RoomDao.class).get(r.getRooms_id()); + if (r.getId() != null) { + r = getBean(RoomDao.class).get(r.getId()); } else { r = new Room(); } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/rooms/RoomsPanel.java Fri Nov 6 06:18:44 2015 @@ -55,8 +55,8 @@ public class RoomsPanel extends AdminPan @Override protected void populateItem(final Item<Room> item) { Room room = item.getModelObject(); - final long roomId = room.getRooms_id(); - item.add(new Label("rooms_id", "" + room.getRooms_id())); + final long roomId = room.getId(); + item.add(new Label("rooms_id", "" + room.getId())); item.add(new Label("name", "" + room.getName())); item.add(new Label("ispublic", "" + room.getIspublic())); item.add(new AjaxEventBehavior("click") { @@ -71,7 +71,7 @@ public class RoomsPanel extends AdminPan } }); item.add(AttributeModifier.replace("class", "clickable ui-widget-content" - + (room.getRooms_id().equals(form.getModelObject().getRooms_id()) ? " ui-state-active" : ""))); + + (room.getId().equals(form.getModelObject().getId()) ? " ui-state-active" : ""))); } }; Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UserForm.java Fri Nov 6 06:18:44 2015 @@ -109,7 +109,7 @@ public class UserForm extends AdminBaseF protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) { User u = getModelObject(); try { - boolean isNew = (u.getUser_id() == null); + boolean isNew = (u.getId() == null); u = getBean(UserDao.class).update(u, generalForm.getPasswordField().getConvertedInput(), getUserId()); boolean sendEmailAtRegister = (1 == getBean(ConfigurationDao.class).getConfValue("sendEmailAtRegister", Integer.class, "0")); if (isNew && sendEmailAtRegister) { @@ -144,8 +144,8 @@ public class UserForm extends AdminBaseF @Override protected void onRefreshSubmit(AjaxRequestTarget target, Form<?> form) { User user = getModelObject(); - if (user.getUser_id() != null) { - user = getBean(UserDao.class).get(user.getUser_id()); + if (user.getId() != null) { + user = getBean(UserDao.class).get(user.getId()); } else { user = getBean(UserDao.class).getNewUserInstance(null); } @@ -227,8 +227,8 @@ public class UserForm extends AdminBaseF List<Long> ids = new ArrayList<Long>(); if (u.getType() == Type.ldap) { for (LdapConfig c : getBean(LdapConfigDao.class).getActive()) { - ids.add(c.getLdapConfigId()); - values.put(c.getLdapConfigId(), c.getName()); + ids.add(c.getId()); + values.put(c.getId(), c.getName()); } } if (u.getType() == Type.oauth) { @@ -266,7 +266,7 @@ public class UserForm extends AdminBaseF @Override protected void onValidate() { User u = getModelObject(); - if(!getBean(UserDao.class).checkLogin(login.getConvertedInput(), u.getType(), u.getDomainId(), u.getUser_id())) { + if(!getBean(UserDao.class).checkLogin(login.getConvertedInput(), u.getType(), u.getDomainId(), u.getId())) { error(Application.getString(105)); } } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/users/UsersPanel.java Fri Nov 6 06:18:44 2015 @@ -70,8 +70,8 @@ public class UsersPanel extends AdminPan @Override protected void populateItem(Item<User> item) { User u = item.getModelObject(); - final long userId = u.getUser_id(); - item.add(new Label("userId", "" + u.getUser_id())); + final long userId = u.getId(); + item.add(new Label("userId", "" + u.getId())); item.add(new Label("login", u.getLogin())); item.add(new Label("firstName", u.getFirstname())); item.add(new Label("lastName", u.getLastname())); @@ -85,7 +85,7 @@ public class UsersPanel extends AdminPan } }); item.add(AttributeModifier.append("class", "clickable ui-widget-content" - + (u.getUser_id().equals(form.getModelObject().getUser_id()) ? " ui-state-active" : ""))); + + (u.getId().equals(form.getModelObject().getId()) ? " ui-state-active" : ""))); } }; add(listContainer.add(dataView).setOutputMarkupId(true)); Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Fri Nov 6 06:18:44 2015 @@ -33,7 +33,9 @@ import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; +import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import javax.servlet.ServletContext; @@ -85,6 +87,7 @@ import org.apache.wicket.request.cycle.R import org.apache.wicket.request.mapper.info.PageComponentInfo; import org.apache.wicket.request.mapper.parameter.PageParameters; import org.apache.wicket.request.mapper.parameter.PageParametersEncoder; +import org.apache.wicket.util.collections.ConcurrentHashSet; import org.apache.wicket.util.tester.WicketTester; import org.slf4j.Logger; import org.springframework.web.context.WebApplicationContext; @@ -100,13 +103,15 @@ public class Application extends Authent private static final Logger log = getLogger(Application.class, webAppRootKey); private static boolean isInstalled; private static MultiKeyMap ONLINE_USERS = new MultiKeyMap(); - private static Map<String, WebClient> INVALID_SESSIONS = new ConcurrentHashMap<String, WebClient>(); + private static Map<String, org.apache.openmeetings.web.app.Client> INVALID_SESSIONS = new ConcurrentHashMap<String, org.apache.openmeetings.web.app.Client>(); + private static Map<Long, Set<Client>> ROOMS = new ConcurrentHashMap<Long, Set<Client>>(); + //additional maps for faster searching should be created private DashboardContext dashboardContext; - private static Set<Long> STRINGS_WITH_APP = new HashSet<Long>(); //FIXME need to be removed + private static Set<String> STRINGS_WITH_APP = new HashSet<>(); //FIXME need to be removed private static String appName; static { - STRINGS_WITH_APP.addAll(Arrays.asList(499L, 500L, 506L, 511L, 512L, 513L, 517L, 532L, 622L, 804L - , 909L, 952L, 978L, 981L, 984L, 989L, 990L, 999L, 1151L, 1155L, 1157L, 1158L, 1194L)); + STRINGS_WITH_APP.addAll(Arrays.asList("499", "500", "506", "511", "512", "513", "517", "532", "622", "804" + , "909", "952", "978", "981", "984", "989", "990", "999", "1151", "1155", "1157", "1158", "1194")); } @Override @@ -202,7 +207,7 @@ public class Application extends Authent return get().dashboardContext; } - public synchronized static void addOnlineUser(WebClient client) { + public synchronized static void addOnlineUser(org.apache.openmeetings.web.app.Client client) { try { ONLINE_USERS.put(client.getUserId(), client.getSessionId(), client); } catch (Exception err) { @@ -210,7 +215,7 @@ public class Application extends Authent } } - public synchronized static void removeOnlineUser(WebClient c) { + public synchronized static void removeOnlineUser(org.apache.openmeetings.web.app.Client c) { try { if (c != null) { ONLINE_USERS.remove(c.getUserId(), c.getSessionId()); @@ -234,21 +239,34 @@ public class Application extends Authent } @SuppressWarnings("unchecked") - public static List<WebClient> getClients() { - return new ArrayList<WebClient>(ONLINE_USERS.values()); + public static List<org.apache.openmeetings.web.app.Client> getClients() { + return new ArrayList<org.apache.openmeetings.web.app.Client>(ONLINE_USERS.values()); } + public static List<org.apache.openmeetings.web.app.Client> getClients(Long userId) { + List<org.apache.openmeetings.web.app.Client> result = new ArrayList<org.apache.openmeetings.web.app.Client>(); + MapIterator it = ONLINE_USERS.mapIterator(); + while (it.hasNext()) { + MultiKey multi = (MultiKey) it.next(); + if (multi.size() > 1 && userId.equals(multi.getKey(0))) { + result.add(getClientByKeys(userId, (String)(multi.getKey(1)))); + break; + } + } + return result; + } + public static int getClientsSize() { return ONLINE_USERS.size(); } - public static WebClient getClientByKeys(Long userId, String sessionId) { - return (WebClient) ONLINE_USERS.get(userId, sessionId); + public static org.apache.openmeetings.web.app.Client getClientByKeys(Long userId, String sessionId) { + return (org.apache.openmeetings.web.app.Client) ONLINE_USERS.get(userId, sessionId); } @Override public void invalidateClient(Long userId, String sessionId) { - WebClient client = getClientByKeys(userId, sessionId); + org.apache.openmeetings.web.app.Client client = getClientByKeys(userId, sessionId); if (client != null) { if (!INVALID_SESSIONS.containsKey(client.getSessionId())) { INVALID_SESSIONS.put(client.getSessionId(), client); @@ -267,6 +285,74 @@ public class Application extends Authent } } + public static Client addUserToRoom(long roomId, int pageId) { + if (!ROOMS.containsKey(roomId)) { + ROOMS.put(roomId, new ConcurrentHashSet<Client>()); + } + Client c = new Client(WebSession.get().getId(), pageId, WebSession.getUserId()); + c.setUid(UUID.randomUUID().toString()); + ROOMS.get(roomId).add(c); + return c; + } + + public static void removeUserFromRoom(long roomId, int pageId) { + removeUserFromRoom(roomId, new Client(WebSession.get().getId(), pageId, WebSession.getUserId())); + } + + public static Client removeUserFromRoom(long roomId, Client _c) { + if (ROOMS.containsKey(roomId)) { + Set<Client> clients = ROOMS.get(roomId); + for (Client c : clients) { + if (c.equals(_c)) { + clients.remove(c); + return c; + } + } + if (clients.isEmpty()) { + ROOMS.remove(roomId); + } + } + return _c; + } + + public static long getRoom(Client c) { + for (Entry<Long, Set<Client>> me : ROOMS.entrySet()) { + Set<Client> clients = me.getValue(); + if (clients.contains(c)) { + return me.getKey(); + } + } + return -1; + } + + public static Set<Client> getRoomUsers(long roomId) { + return ROOMS.containsKey(roomId) ? ROOMS.get(roomId) : new HashSet<Client>(); + } + + public static Set<Long> getUserRooms(long userId) { + Set<Long> result = new HashSet<Long>(); + for (Entry<Long, Set<Client>> me : ROOMS.entrySet()) { + for (Client c : me.getValue()) { + if (c.getUserId() == userId) { + result.add(me.getKey()); + } + } + } + return result; + } + + public static boolean isUserInRoom(long roomId, long userId) { + if (ROOMS.containsKey(roomId)) { + Set<Client> clients = ROOMS.get(roomId); + for (Client c : clients) { + if (c.getUserId() == userId) { + return true; + } + } + } + return false; + } + //TODO need more safe way FIXME public <T> T _getBean(Class<T> clazz) { WebApplicationContext wac = getWebApplicationContext(getServletContext()); @@ -389,11 +475,11 @@ public class Application extends Authent if (i.getInvitee().getType() == Type.contact) { link += "?invitationHash=" + i.getHash(); - if (i.getInvitee().getLanguage_id() > 0) { - link += "&language=" + i.getInvitee().getLanguage_id().toString(); + if (i.getInvitee().getLanguageId() > 0) { + link += "&language=" + i.getInvitee().getLanguageId().toString(); } } else { - link = getRoomUrlFragment(i.getRoom().getRooms_id()).getLink(); + link = getRoomUrlFragment(i.getRoom().getId()).getLink(); } } return link; Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml Fri Nov 6 06:18:44 2015 @@ -280,8 +280,6 @@ <entry key="258">Go to last page</entry> <entry key="259">Zoom --</entry> <entry key="260">Zoom ++</entry> - <entry key="261">Mr</entry> - <entry key="262">Ms</entry> <entry key="263">Configuration</entry> <entry key="264">ID</entry> <entry key="265">Key</entry> @@ -860,8 +858,6 @@ <entry key="838">This user is a super moderator. You cannot remove the moderation flag.</entry> <entry key="839">Do you really want to delete this file/folder?</entry> <entry key="840">Delete file/folder?</entry> - <entry key="841">Mrs</entry> - <entry key="842">Dr</entry> <entry key="843">Properties</entry> <entry key="844">Show mouse position to viewers</entry> <entry key="845">Share audio with SIP applet</entry> @@ -1483,7 +1479,6 @@ <entry key="1461">Export/Import System Backups</entry> <entry key="1462">You need to be a Moderator or have the 'draw on whiteboard' rights to upload, add, delete or load files and folders.</entry> <entry key="1463">Edit text</entry> - <entry key="1464">Prof</entry> <entry key="1465">Publish</entry> <entry key="1466">Start Publish</entry> <entry key="1467">Stop Publish</entry> @@ -1876,4 +1871,9 @@ <entry key="install.wizard.congrats.mail">Mailing list</entry> <entry key="install.wizard.congrats.commercial">There are some companies that also offer commercial support for Apache OpenMeetings:</entry> + <entry key="user.salutation.mr">Mr</entry> + <entry key="user.salutation.ms">Ms</entry> + <entry key="user.salutation.mrs">Mrs</entry> + <entry key="user.salutation.dr">Dr</entry> + <entry key="user.salutation.prof">Prof</entry> </properties> Copied: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java (from r1712910, openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebClient.java) URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java?p2=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java&p1=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebClient.java&r1=1712910&r2=1712911&rev=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebClient.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Client.java Fri Nov 6 06:18:44 2015 @@ -18,7 +18,6 @@ */ package org.apache.openmeetings.web.app; -import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; @@ -31,7 +30,7 @@ import org.apache.wicket.protocol.ws.api * @author solomax * */ -public class WebClient implements IDataProviderEntity, Serializable { +public class Client implements IDataProviderEntity { private static final long serialVersionUID = 1L; public enum Right { @@ -45,14 +44,15 @@ public class WebClient implements IData private Date connectedSince; private int serverId = 0; - public WebClient() { + public Client() { + this.connectedSince = new Date(); } - public WebClient(String sessionId, IKey key, long userId) { + public Client(String sessionId, IKey key, long userId) { this(sessionId, key.hashCode(), userId); } - public WebClient(String sessionId, int pageId, long userId) { + public Client(String sessionId, int pageId, long userId) { this.sessionId = sessionId; this.pageId = pageId; this.userId = userId; @@ -90,17 +90,6 @@ public class WebClient implements IData public void setUid(String uid) { this.uid = uid; } - public Date getConnectedSince() { - return connectedSince; - } - - public void setConnectedSince(Date connectedSince) { - this.connectedSince = connectedSince; - } - - public int getServerId() { - return this.serverId; - } @Override public int hashCode() { @@ -120,7 +109,7 @@ public class WebClient implements IData return false; if (getClass() != obj.getClass()) return false; - WebClient other = (WebClient) obj; + Client other = (Client) obj; if (pageId != other.pageId) return false; if (sessionId == null) { @@ -140,4 +129,21 @@ public class WebClient implements IData public boolean hasRight(Right right) { return rights.contains(Right.moderator) ? true : rights.contains(right); } + + public Date getConnectedSince() { + return connectedSince; + } + + public void setConnectedSince(Date connectedSince) { + this.connectedSince = connectedSince; + } + + @Override + public Long getId() { + return null; + } + + @Override + public void setId(Long id) { + } } Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java Fri Nov 6 06:18:44 2015 @@ -199,8 +199,8 @@ public class WebSession extends Abstract if (soapLogin != null && !soapLogin.getUsed()) { //add code for || (soapLogin.getAllowSameURLMultipleTimes()) SessiondataDao sessionDao = getBean(SessiondataDao.class); Sessiondata sd = sessionDao.getSessionByHash(soapLogin.getSessionHash()); - if (sd != null && sd.getSessionXml() != null) { - RemoteSessionObject remoteUser = RemoteSessionObject.fromXml(sd.getSessionXml()); + if (sd != null && sd.getXml() != null) { + RemoteSessionObject remoteUser = RemoteSessionObject.fromXml(sd.getXml()); if (remoteUser != null && !Strings.isEmpty(remoteUser.getExternalUserId())) { UserDao userDao = getBean(UserDao.class); User user = userDao.getExternalUser(remoteUser.getExternalUserId(), remoteUser.getExternalUserType()); @@ -209,10 +209,10 @@ public class WebSession extends Abstract user.setFirstname(remoteUser.getFirstname()); user.setLastname(remoteUser.getLastname()); user.setLogin(remoteUser.getUsername()); //FIXME check if login UNIQUE - user.setExternalUserId(remoteUser.getExternalUserId()); - user.setExternalUserType(remoteUser.getExternalUserType()); + user.setExternalId(remoteUser.getExternalUserId()); + user.setExternalType(remoteUser.getExternalUserType()); user.getRights().add(Right.Room); - user.getAdresses().setEmail(remoteUser.getEmail()); + user.getAddress().setEmail(remoteUser.getEmail()); user.setPictureuri(remoteUser.getPictureUrl()); } else { user.setFirstname(remoteUser.getFirstname()); @@ -226,7 +226,7 @@ public class WebSession extends Abstract //soapLogin.setClientURL(clientURL); //FIXME soapDao.update(soapLogin); - sessionDao.updateUser(SID, user.getUser_id()); + sessionDao.updateUser(SID, user.getId()); setUser(user); recordingId = soapLogin.getRoomRecordingId(); return true; @@ -237,10 +237,10 @@ public class WebSession extends Abstract } private void setUser(User u) { - userId = u.getUser_id(); + userId = u.getId(); rights = Collections.unmodifiableSet(u.getRights()); - languageId = u.getLanguage_id(); - externalType = u.getExternalUserType(); + languageId = u.getLanguageId(); + externalType = u.getExternalType(); tz = getBean(TimezoneUtil.class).getTimeZone(u); ISO8601FORMAT.setTimeZone(tz); setLocale(languageId == 3 ? Locale.GERMANY : LabelDao.languages.get(languageId)); //FIXME hack @@ -282,7 +282,7 @@ public class WebSession extends Abstract public boolean signIn(User u) { Sessiondata sessData = getBean(SessiondataDao.class).startsession(); - SID = sessData.getSession_id(); + SID = sessData.getSessionId(); if (u == null) { return false; } @@ -307,7 +307,7 @@ public class WebSession extends Abstract WebSession session = get(); if (session.languageId < 0) { if (session.isSignedIn()) { - session.languageId = getBean(UserDao.class).get(session.userId).getLanguage_id(); + session.languageId = getBean(UserDao.class).get(session.userId).getLanguageId(); } else { session.languageId = getBean(ConfigurationDao.class).getConfValue(CONFIG_DEFAULT_LANG_KEY, Long.class, "1"); } @@ -323,11 +323,11 @@ public class WebSession extends Abstract if (sessionData == null) { sessionData = sessionDao.startsession(); } - if (!sessionDao.updateUser(sessionData.getSession_id(), userId, false, languageId)) { + if (!sessionDao.updateUser(sessionData.getSessionId(), userId, false, languageId)) { //something bad, force user to re-login invalidate(); } else { - SID = sessionData.getSession_id(); + SID = sessionData.getSessionId(); } } return SID; Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.html Fri Nov 6 06:18:44 2015 @@ -39,10 +39,10 @@ <label><wicket:message key="111" /></label><select wicket:id="language_id" /> </div> <div class="formelement"> - <label><wicket:message key="137" /></label><input type="text" wicket:id="adresses.email" /> + <label><wicket:message key="137" /></label><input type="text" wicket:id="address.email" /> </div> <div class="formelement"> - <label><wicket:message key="607" /></label><input type="text" wicket:id="adresses.phone" /> + <label><wicket:message key="607" /></label><input type="text" wicket:id="address.phone" /> </div> <div class="formelement"> <label><wicket:message key="1503" /></label><input class="formcheckbox" type="checkbox" wicket:id="sendSMS" /> @@ -52,20 +52,20 @@ </div> <div class="formelement"> <label><wicket:message key="139" /></label><input type="text" - wicket:id="adresses.street" style="width: 244px;" /> <input - type="text" wicket:id="adresses.additionalname" style="width: 30px;" /> + wicket:id="address.street" style="width: 244px;" /> <input + type="text" wicket:id="address.additionalname" style="width: 30px;" /> </div> <div class="formelement"> <label><wicket:message key="140" /></label><input type="text" - wicket:id="adresses.zip" style="width: 60px;" /> <input type="text" - wicket:id="adresses.town" style="width: 214px;" /> + wicket:id="address.zip" style="width: 60px;" /> <input type="text" + wicket:id="address.town" style="width: 214px;" /> </div> <div class="formelement"> - <label><wicket:message key="141" /></label><select wicket:id="adresses.states" /> + <label><wicket:message key="141" /></label><select wicket:id="address.state" /> </div> <div class="formelement"> <label><wicket:message key="142" /></label> - <textarea wicket:id="adresses.comment" /> + <textarea wicket:id="address.comment" /> </div> <div class="formelement"> <label><wicket:message key="161" /></label><input type="hidden" class="input" wicket:id="organisation_users" style="max-height: 80px" /> Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GeneralUserForm.java Fri Nov 6 06:18:44 2015 @@ -21,28 +21,25 @@ package org.apache.openmeetings.web.comm import static org.apache.openmeetings.db.util.UserHelper.getMinPasswdLength; import static org.apache.openmeetings.web.app.Application.getBean; import static org.apache.openmeetings.web.app.WebSession.AVAILABLE_TIMEZONES; -import static org.apache.openmeetings.web.app.WebSession.getLanguage; import static org.apache.wicket.validation.validator.StringValidator.minimumLength; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; import org.apache.openmeetings.db.dao.basic.ConfigurationDao; import org.apache.openmeetings.db.dao.user.OrganisationDao; -import org.apache.openmeetings.db.dao.user.SalutationDao; import org.apache.openmeetings.db.dao.user.StateDao; import org.apache.openmeetings.db.dao.user.UserDao; import org.apache.openmeetings.db.entity.user.Organisation; import org.apache.openmeetings.db.entity.user.Organisation_Users; -import org.apache.openmeetings.db.entity.user.Salutation; import org.apache.openmeetings.db.entity.user.State; import org.apache.openmeetings.db.entity.user.User; +import org.apache.openmeetings.db.entity.user.User.Salutation; import org.apache.openmeetings.util.CalendarHelper; import org.apache.openmeetings.web.app.Application; import org.apache.openmeetings.web.app.WebSession; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator; import org.apache.wicket.markup.head.IHeaderResponse; @@ -71,7 +68,6 @@ import com.googlecode.wicket.kendo.ui.re public class GeneralUserForm extends Form<User> { private static final long serialVersionUID = 1L; - private Salutation salutation; private LocalDate age; private PasswordTextField passwordField; private RequiredTextField<String> email; @@ -85,31 +81,21 @@ public class GeneralUserForm extends For passwordField.setRequired(false).add(minimumLength(getMinPasswdLength(cfgDao))); updateModelObject(getModelObject()); - SalutationDao salutDao = getBean(SalutationDao.class); add(new DropDownChoice<Salutation>("salutation" - , new PropertyModel<Salutation>(this, "salutation") - , salutDao.getUserSalutations(getLanguage()) + , Arrays.asList(Salutation.values()) , new ChoiceRenderer<Salutation>() { private static final long serialVersionUID = 1L; @Override public Object getDisplayValue(Salutation object) { - return getString("" + object.getFieldvalues_id()); + return getString("user.salutation." + object.name()); } @Override public String getIdValue(Salutation object, int index) { - return "" + object.getSalutations_id(); + return object.name(); } - }) - .add(new AjaxFormComponentUpdatingBehavior("change") { - private static final long serialVersionUID = 1L; - - @Override - protected void onUpdate(AjaxRequestTarget target) { - GeneralUserForm.this.getModelObject().setSalutations_id(salutation.getSalutations_id()); - } - })); + })); add(new TextField<String>("firstname")); add(new TextField<String>("lastname")); @@ -117,10 +103,10 @@ public class GeneralUserForm extends For add(new LanguageDropDown("language_id")); - add(email = new RequiredTextField<String>("adresses.email")); + add(email = new RequiredTextField<String>("address.email")); email.setLabel(Model.of(Application.getString(137))); email.add(RfcCompliantEmailAddressValidator.getInstance()); - add(new TextField<String>("adresses.phone")); + add(new TextField<String>("address.phone")); add(new CheckBox("sendSMS")); add(new AjaxDatePicker("age", new PropertyModel<LocalDate>(this, "age"), WebSession.get().getLocale()) { private static final long serialVersionUID = 1L; @@ -131,12 +117,12 @@ public class GeneralUserForm extends For u.setAge(CalendarHelper.getDate(age, u.getTimeZoneId())); } }); - add(new TextField<String>("adresses.street")); - add(new TextField<String>("adresses.additionalname")); - add(new TextField<String>("adresses.zip")); - add(new TextField<String>("adresses.town")); - add(new DropDownChoice<State>("adresses.states", getBean(StateDao.class).getStates(), new ChoiceRenderer<State>("name", "state_id"))); - add(new TextArea<String>("adresses.comment")); + add(new TextField<String>("address.street")); + add(new TextField<String>("address.additionalname")); + add(new TextField<String>("address.zip")); + add(new TextField<String>("address.town")); + add(new DropDownChoice<State>("address.state", getBean(StateDao.class).get(), new ChoiceRenderer<State>("name", "state_id"))); + add(new TextArea<String>("address.comment")); final List<Organisation_Users> orgUsers; if (isAdminForm) { @@ -158,7 +144,7 @@ public class GeneralUserForm extends For @Override protected Object getId(Organisation_Users choice) { - return choice.getOrganisation().getOrganisation_id(); + return choice.getOrganisation().getId(); } @Override @@ -186,14 +172,13 @@ public class GeneralUserForm extends For } public void updateModelObject(User u) { - salutation = getBean(SalutationDao.class).get(u.getSalutations_id(), getLanguage()); age = CalendarHelper.getDate(u.getAge(), u.getTimeZoneId()); } @Override protected void onValidate() { User u = getModelObject(); - if(!getBean(UserDao.class).checkEmail(email.getConvertedInput(), u.getType(), u.getDomainId(), u.getUser_id())) { + if(!getBean(UserDao.class).checkEmail(email.getConvertedInput(), u.getType(), u.getDomainId(), u.getId())) { error(Application.getString(1000)); } super.onValidate(); @@ -202,12 +187,11 @@ public class GeneralUserForm extends For public PasswordTextField getPasswordField() { return passwordField; } - public String getEmail() { return email.getValue(); } - + @Override protected IMarkupSourcingStrategy newMarkupSourcingStrategy() { return new PanelMarkupSourcingStrategy(false); Modified: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UserPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UserPanel.java?rev=1712911&r1=1712910&r2=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UserPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/UserPanel.java Fri Nov 6 06:18:44 2015 @@ -24,9 +24,9 @@ import static org.apache.openmeetings.we import java.util.ArrayList; import java.util.List; -import org.apache.openmeetings.db.dao.room.IRoomManager; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.entity.room.Room; +import org.apache.openmeetings.db.entity.room.Room.Type; import org.apache.openmeetings.web.app.Application; import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation; import org.apache.wicket.model.IModel; @@ -45,8 +45,8 @@ public abstract class UserPanel extends public static List<Room> getMyRooms() { List<Room> result = new ArrayList<Room>(); - result.add(getBean(IRoomManager.class).getRoomByOwnerAndTypeId(getUserId(), 1L, Application.getString(1306L))); - result.add(getBean(IRoomManager.class).getRoomByOwnerAndTypeId(getUserId(), 3L, Application.getString(1307L))); + result.add(getBean(RoomDao.class).getUserRoom(getUserId(), Type.conference, Application.getString(1306L))); + result.add(getBean(RoomDao.class).getUserRoom(getUserId(), Type.conference, Application.getString(1307L))); result.addAll(getBean(RoomDao.class).getAppointedRoomsByUser(getUserId())); return result; } Copied: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html (from r1712910, openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.html) URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html?p2=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html&p1=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.html&r1=1712910&r2=1712911&rev=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.html (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.html Fri Nov 6 06:18:44 2015 @@ -20,7 +20,7 @@ --> <html xmlns:wicket="http://wicket.apache.org"> <wicket:panel> - <div wicket:id="container" class="recording dialog errors"> + <div wicket:id="container" class="dialog errors"> <h3 wicket:id="message"></h3> <table style="width: 100%"> <tr> Copied: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java (from r1712825, openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.java) URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java?p2=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java&p1=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.java&r1=1712825&r2=1712911&rev=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingErrorsDialog.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java Fri Nov 6 06:18:44 2015 @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.web.user.record; +package org.apache.openmeetings.web.common.tree; import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION; import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists; @@ -25,9 +25,9 @@ import static org.apache.openmeetings.we import java.util.ArrayList; import java.util.List; -import org.apache.openmeetings.db.dao.record.FlvRecordingLogDao; -import org.apache.openmeetings.db.entity.record.FlvRecording; -import org.apache.openmeetings.db.entity.record.FlvRecordingLog; +import org.apache.openmeetings.db.dao.record.RecordingLogDao; +import org.apache.openmeetings.db.entity.record.Recording; +import org.apache.openmeetings.db.entity.record.RecordingLog; import org.apache.openmeetings.web.app.Application; import org.apache.wicket.AttributeModifier; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; @@ -41,16 +41,16 @@ import org.apache.wicket.model.Model; import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog; import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton; -public class RecordingErrorsDialog extends AbstractDialog<FlvRecording> { +public class ConvertingErrorsDialog extends AbstractDialog<Recording> { private static final long serialVersionUID = 1L; private final WebMarkupContainer container = new WebMarkupContainer("container"); private final Label message = new Label("message", Model.of((String)null)); - private final ListView<FlvRecordingLog> logView = new ListView<FlvRecordingLog>("row") { + private final ListView<RecordingLog> logView = new ListView<RecordingLog>("row") { private static final long serialVersionUID = 1L; @Override - protected void populateItem(ListItem<FlvRecordingLog> item) { - FlvRecordingLog l = item.getModelObject(); + protected void populateItem(ListItem<RecordingLog> item) { + RecordingLog l = item.getModelObject(); item.add(new Label("exitCode", l.getExitValue())); item.add(new Label("message", l.getFullMessage())); if (!"0".equals(l.getExitValue())) { @@ -74,15 +74,15 @@ public class RecordingErrorsDialog exten return true; } - public RecordingErrorsDialog(String id, IModel<FlvRecording> model) { + public ConvertingErrorsDialog(String id, IModel<Recording> model) { super(id, Application.getString(887), model); add(container.add(message.setVisible(false), logView.setVisible(false)).setOutputMarkupId(true)); } @Override - protected void onOpen(IPartialPageRequestHandler target) { - FlvRecording f = getModelObject(); - List<FlvRecordingLog> logs = getBean(FlvRecordingLogDao.class).getByRecordingId(f.getFlvRecordingId()); + protected void onOpen(IPartialPageRequestHandler handler) { + Recording f = getModelObject(); + List<RecordingLog> logs = getBean(RecordingLogDao.class).getByRecordingId(f.getId()); if (f.getFileHash() == null) { message.setVisible(true); message.setDefaultModelObject(Application.getString(888)); @@ -96,12 +96,12 @@ public class RecordingErrorsDialog exten logView.setVisible(false); logView.setList(logs).setVisible(true); } - target.add(container); - super.onOpen(target); + handler.add(container); + super.onOpen(handler); } @Override - public void onClose(IPartialPageRequestHandler target, DialogButton button) { + public void onClose(IPartialPageRequestHandler handler, DialogButton button) { } @Override Copied: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java (from r1712825, openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingItemPanel.java) URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java?p2=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java&p1=openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingItemPanel.java&r1=1712825&r2=1712911&rev=1712911&view=diff ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/RecordingItemPanel.java (original) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemPanel.java Fri Nov 6 06:18:44 2015 @@ -16,36 +16,43 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.web.user.record; +package org.apache.openmeetings.web.common.tree; import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION; import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists; import static org.apache.openmeetings.web.app.Application.getBean; -import org.apache.openmeetings.db.dao.record.FlvRecordingLogDao; -import org.apache.openmeetings.db.entity.record.FlvRecording; -import org.apache.openmeetings.db.entity.record.FlvRecording.Status; +import org.apache.openmeetings.db.dao.record.RecordingLogDao; +import org.apache.openmeetings.db.entity.file.FileItem; +import org.apache.openmeetings.db.entity.record.Recording; +import org.apache.openmeetings.db.entity.record.Recording.Status; import org.apache.wicket.ajax.AjaxEventBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.WebMarkupContainer; import org.apache.wicket.model.IModel; -public class RecordingItemPanel extends RecordingPanel { +public class FileItemPanel extends FolderPanel { private static final long serialVersionUID = 1L; + private final WebMarkupContainer errors = new WebMarkupContainer("errors"); - public RecordingItemPanel(String id, final IModel<FlvRecording> model, final RecordingsPanel treePanel) { - super(id, model, treePanel); - FlvRecording r = model.getObject(); - long errorCount = getBean(FlvRecordingLogDao.class).countErrors(r.getFlvRecordingId()); - boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !isRecordingExists(r.getFileHash() + MP4_EXTENSION)); - drag.add(new WebMarkupContainer("errors").add(new AjaxEventBehavior("click") { - private static final long serialVersionUID = 1L; - - @Override - protected void onEvent(AjaxRequestTarget target) { - treePanel.errorsDialog.setDefaultModel(model); - treePanel.errorsDialog.open(target); - } - }).setVisible(visible)); + public FileItemPanel(String id, final IModel<? extends FileItem> model, final FileTreePanel fileTreePanel) { + super(id, model, fileTreePanel); + if (model.getObject() instanceof Recording) { + Recording r = (Recording)model.getObject(); + long errorCount = getBean(RecordingLogDao.class).countErrors(r.getId()); + boolean visible = errorCount != 0 || (Status.RECORDING != r.getStatus() && Status.CONVERTING != r.getStatus() && !isRecordingExists(r.getFileHash() + MP4_EXTENSION)); + errors.add(new AjaxEventBehavior("click") { + private static final long serialVersionUID = 1L; + + @Override + protected void onEvent(AjaxRequestTarget target) { + fileTreePanel.errorsDialog.setDefaultModel(model); + fileTreePanel.errorsDialog.open(target); + } + }).setVisible(visible); + } else { + errors.setVisible(false); + } + drag.add(errors); } } Added: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1712911&view=auto ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (added) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Fri Nov 6 06:18:44 2015 @@ -0,0 +1,175 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.web.common.tree; + +import static org.apache.openmeetings.util.OmFileHelper.MP4_EXTENSION; +import static org.apache.openmeetings.util.OmFileHelper.isRecordingExists; + +import org.apache.openmeetings.db.entity.file.FileItem; +import org.apache.openmeetings.db.entity.file.FileItem.Type; +import org.apache.openmeetings.db.entity.record.Recording; +import org.apache.openmeetings.db.entity.record.Recording.Status; +import org.apache.wicket.Component; +import org.apache.wicket.ajax.AjaxRequestTarget; +import org.apache.wicket.extensions.markup.html.repeater.tree.DefaultNestedTree; +import org.apache.wicket.extensions.markup.html.repeater.tree.ITreeProvider; +import org.apache.wicket.extensions.markup.html.repeater.tree.content.Folder; +import org.apache.wicket.markup.repeater.ReuseIfModelsEqualStrategy; +import org.apache.wicket.model.IModel; +import org.apache.wicket.model.Model; + +public class FileItemTree<T extends FileItem> extends DefaultNestedTree<T> { + private static final long serialVersionUID = 1L; + private final FileTreePanel treePanel; + private final IModel<T> selectedItem = Model.of((T)null); + + public FileItemTree(String id, FileTreePanel treePanel, ITreeProvider<T> tp) { + super(id, tp); + this.treePanel = treePanel; + setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); + } + + @Override + protected Component newContentComponent(String id, IModel<T> node) { + return new Folder<T>(id, this, node) { + private static final long serialVersionUID = 1L; + + @Override + protected Component newLabelComponent(String id, final IModel<T> lm) { + FileItem r = lm.getObject(); + return Type.Folder == r.getType() || r.getId() < 1 ? new FolderPanel(id, lm, treePanel) : new FileItemPanel(id, lm, treePanel); + } + + @Override + protected boolean isSelected() { + return getModelObject().getId().equals(treePanel.selectedFile.getObject().getId()); + } + + @Override + protected boolean isClickable() { + return true; + } + + @Override + protected void onClick(AjaxRequestTarget target) { + T r = getModelObject(); + treePanel.selected.resetSelected(target); + selectedItem.setObject(r); + treePanel.selectedFile.setObject(r); + treePanel.selected = FileItemTree.this; + if (Type.Folder == r.getType()) { + if (getState(r) == State.COLLAPSED) { + super.onClick(target); + } + updateBranch(r, target); + } else { + treePanel.update(target, r); + updateNode(r, target); + } + } + + private String getItemStyle(T f, String def) { + String style; + if (f.getId() == 0) { + style = "my file om-icon"; + } else if (f.getId() < 0) { + style = "public file om-icon"; + } else { + switch(f.getType()) { + case Folder: + style = def; + break; + case Image: + style = "image file om-icon"; + break; + case PollChart: + style = "chart file om-icon"; + break; + case WmlFile: + style = "wml file om-icon"; + break; + case Recording: + { + Recording r = (Recording)f; + if (isRecordingExists(r.getFileHash() + MP4_EXTENSION)) { + style = "recording om-icon"; + } else if (Status.RECORDING == r.getStatus() || Status.CONVERTING == r.getStatus()) { + style = "processing-recording om-icon"; + } else { + style = "broken-recording om-icon"; + } + } + break; + case Presentation: + style = "doc file om-icon"; + break; + case Video: + default: + style = "recording om-icon"; + break; + } + } + return style; + } + + @Override + protected String getOtherStyleClass(T r) { + return getItemStyle(r, super.getOtherStyleClass(r)); + } + + @Override + protected String getOpenStyleClass() { + return getItemStyle(getModelObject(), super.getOpenStyleClass()); + } + + @Override + protected String getClosedStyleClass() { + return getItemStyle(getModelObject(), super.getClosedStyleClass()); + } + + @Override + protected String getSelectedStyleClass() { + return "ui-state-active"; + } + + @Override + protected IModel<String> newLabelModel(IModel<T> model) { + return Model.of(model.getObject().getFileName()); + } + }; + } + + private void resetSelected(AjaxRequestTarget target) { + T _prev = selectedItem.getObject(); + if (_prev != null) { + if (Type.Folder == _prev.getType()) { + updateBranch(_prev, target); + } else { + updateNode(_prev, target); + } + selectedItem.setObject(null); + } + } + + @Override + protected void onDetach() { + selectedItem.detach(); + super.onDetach(); + } +} Added: openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html URL: http://svn.apache.org/viewvc/openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html?rev=1712911&view=auto ============================================================================== --- openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html (added) +++ openmeetings/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.html Fri Nov 6 06:18:44 2015 @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +--> +<html xmlns:wicket="http://wicket.apache.org"> +<wicket:panel> + <script type="text/javascript"> + function treeRevert(dropped) { + $('#tree-anchor').get(0).scrollIntoView(); + this.parent().parent().get(0).scrollIntoView(); + return !dropped; + } + </script> + <div class="file tree"> + <div class="icons clear trash-toolbar" wicket:id="trash-toolbar"> + <span wicket:id="create" class="folder-create om-icon align-left clickable" wicket:message="title:703"></span> + <span wicket:id="refresh" class="refresh om-icon align-left clickable" wicket:message="title:704"></span> + <span wicket:id="trash" class="trash om-icon align-right clickable"></span> + <span style="padding-left: 20px;" wicket:message="title:705"><wicket:message key="1224"/></span> + <div class="clear"></div> + </div> + <div wicket:id="tree-container" class="trees"> + <div id="tree-anchor" style="height: 2px; width: 2px;"></div> + <div wicket:id="tree"></div> + </div> + <div class="sizes" wicket:id="sizes"> + <table> + <tr> + <td><wicket:message key="923"/></td> + <td><span wicket:id="homeSize"></span></td> + </tr> + <tr> + <td><wicket:message key="924"/></td> + <td><span wicket:id="publicSize"></span></td> + </tr> + </table> + </div> + <div wicket:id="addFolder"></div> + <div wicket:id="errors"></div> + </div> +</wicket:panel> +</html> \ No newline at end of file
