Repository: openmeetings
Updated Branches:
  refs/heads/master 440e0f08b -> 337acf951


[OPENMEETINGS-1714] more issues are fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/9fc045e5
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/9fc045e5
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/9fc045e5

Branch: refs/heads/master
Commit: 9fc045e50babb58bd6de342209d1ac1861a9fe61
Parents: 440e0f0
Author: Maxim Solodovnik <[email protected]>
Authored: Wed Oct 4 14:42:44 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Wed Oct 4 14:42:44 2017 +0700

----------------------------------------------------------------------
 .../openmeetings/db/dao/label/LabelDao.java     |   3 +-
 .../org/apache/openmeetings/cli/OmOption.java   |   8 +-
 .../apache/openmeetings/screenshare/Core.java   |  24 +-
 .../screenshare/RTMPClientPublish.java          |   8 +-
 .../screenshare/ScreenV1Encoder.java            |   4 +-
 .../screenshare/gui/ScreenSharerFrame.java      |   8 +-
 .../service/calendar/caldav/iCalUtils.java      |   4 +-
 .../mail/template/AbstractTemplatePanel.java    |  12 +-
 .../apache/openmeetings/util/StoredFile.java    |   5 +-
 .../web/admin/configurations/ConfigForm.java    |  10 +-
 .../web/admin/groups/GroupForm.java             |   8 +-
 .../openmeetings/web/admin/labels/LangForm.java |  26 +--
 .../web/common/tree/ConvertingErrorsDialog.java |  10 +-
 .../apache/openmeetings/web/pages/BasePage.java |   8 +-
 .../web/pages/auth/ForgetPasswordDialog.java    | 130 ++++++-----
 .../openmeetings/web/pages/auth/SignInPage.java |  20 +-
 .../web/pages/install/InstallWizard.java        |  52 ++---
 .../apache/openmeetings/web/room/RoomPanel.java |  46 ++--
 .../web/room/activities/ActivitiesPanel.java    |  20 +-
 .../web/room/menu/RoomMenuPanel.java            |  14 +-
 .../openmeetings/web/user/MessageDialog.java    |  20 +-
 .../web/user/calendar/AppointmentDialog.java    | 154 ++++++-------
 .../web/user/calendar/CalendarPanel.java        |  80 +++----
 .../apache/openmeetings/web/user/chat/Chat.java |  18 +-
 .../web/user/profile/MessagesContactsPanel.java | 220 +++++++++----------
 .../web/user/profile/UserSearchPanel.java       |   8 +-
 .../web/user/profile/WidgetsPanel.java          |  18 +-
 .../openmeetings/web/util/OmUrlFragment.java    |  24 +-
 .../web/util/UserChoiceProvider.java            |   3 +-
 .../openmeetings/AbstractWicketTester.java      |   1 +
 .../util/AppointmentListMessageBodyWriter.java  |   3 +-
 .../util/AppointmentMessageBodyReader.java      |   3 +-
 .../util/AppointmentMessageBodyWriter.java      |   3 +-
 .../webservice/util/UserMessageBodyWriter.java  |   3 +-
 34 files changed, 493 insertions(+), 485 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
index 1e26f1c..edb3377 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
@@ -30,7 +30,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashSet;
-import java.util.InvalidPropertiesFormatException;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -169,7 +168,7 @@ public class LabelDao implements 
IDataProviderDao<StringLabel>{
                return labels;
        }
 
-       private static List<StringLabel> getLabels(InputStream is) throws 
InvalidPropertiesFormatException, IOException {
+       private static List<StringLabel> getLabels(InputStream is) throws 
IOException {
                final List<StringLabel> labels = new ArrayList<>();
                Properties props = new Properties();
                props.loadFromXML(is);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-install/src/main/java/org/apache/openmeetings/cli/OmOption.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/OmOption.java 
b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/OmOption.java
index e256532..4262cf1 100644
--- 
a/openmeetings-install/src/main/java/org/apache/openmeetings/cli/OmOption.java
+++ 
b/openmeetings-install/src/main/java/org/apache/openmeetings/cli/OmOption.java
@@ -30,26 +30,26 @@ public class OmOption extends Option {
        private String helpPrefix = "";
 
        public OmOption(String group, String opt, String longOpt, boolean 
hasArg,
-                       String description, boolean optional) throws 
IllegalArgumentException {
+                       String description, boolean optional) {
                this(group, 0, opt, longOpt, hasArg, description);
                setOptional(optional);
        }
 
        public OmOption(String group, String opt, String longOpt, boolean 
hasArg,
-                       String description, String optional) throws 
IllegalArgumentException {
+                       String description, String optional) {
                this(group, 0, opt, longOpt, hasArg, description);
                setOptional(optional, true);
        }
 
        public OmOption(String group, int order, String opt, String longOpt, 
boolean hasArg,
-                       String description) throws IllegalArgumentException {
+                       String description) {
                super(opt, longOpt, hasArg, description);
                this.group = group;
                this.setOrder(order);
        }
 
        public OmOption(String group, String opt, String longOpt, boolean 
hasArg,
-                       String description) throws IllegalArgumentException {
+                       String description) {
                this(group, 0, opt, longOpt, hasArg, description);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
index 2f7da62..fa17aff 100644
--- 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
+++ 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java
@@ -103,18 +103,6 @@ public class Core implements IPendingServiceCallback, 
INetStreamEventHandler {
        private LinkedBlockingQueue<Map<String, Object>> remoteEvents = new 
LinkedBlockingQueue<>();
        private final ScreenDimensions dim;
 
-       private CaptureScreen getCapture() {
-               if (_capture == null) {
-                       _capture = new CaptureScreen(this, instance, host, app, 
port);
-               }
-               return _capture;
-       }
-       // 
------------------------------------------------------------------------
-       //
-       // Main
-       //
-       // 
------------------------------------------------------------------------
-
        public Core(String[] args) {
                dim = new ScreenDimensions();
                try {
@@ -164,6 +152,13 @@ public class Core implements IPendingServiceCallback, 
INetStreamEventHandler {
                }
        }
 
+       private CaptureScreen getCapture() {
+               if (_capture == null) {
+                       _capture = new CaptureScreen(this, instance, host, app, 
port);
+               }
+               return _capture;
+       }
+
        private void setInstance(URI uri) {
                Protocol protocol = Protocol.valueOf(uri.getScheme());
                host = uri.getHost();
@@ -193,6 +188,11 @@ public class Core implements IPendingServiceCallback, 
INetStreamEventHandler {
                log.debug(String.format("host: %s, port: %s, app: %s, publish: 
%s", host, port, app, sid));
        }
 
+       // 
------------------------------------------------------------------------
+       //
+       // Main
+       //
+       // 
------------------------------------------------------------------------
        public static void main(String[] args) {
                new Core(args);
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java
 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java
index dbec35f..35df2fe 100644
--- 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java
+++ 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java
@@ -36,16 +36,16 @@ class RTMPClientPublish extends RTMPClient implements 
IPendingServiceCallback, I
        private String id;
        private Core core;
 
-       public void setCore(Core core) {
-               this.core = core;
-       }
-
        RTMPClientPublish(Core core, String host, String app, String id) {
                this.id = id;
                this.core = core;
                publishScreen = new CaptureScreen(core, this, host, app, 1935);
        }
 
+       public void setCore(Core core) {
+               this.core = core;
+       }
+
        public void connect() {
                super.connect(publishScreen.getHost(), 1935, 
publishScreen.getApp(), this);
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java
 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java
index a36faba..58f91da 100644
--- 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java
+++ 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java
@@ -131,7 +131,9 @@ public class ScreenV1Encoder extends BaseScreenEncoder {
                } else {
                        prev = new Rectangle(_prev);
                        if (Double.compare(0. + prev.x + prev.width, 
img.getWidth()) == 0) {
-                               if (prev.y == 0) return new Rectangle(); //the 
end of the image
+                               if (prev.y == 0) {
+                                       return new Rectangle(); //the end of 
the image
+                               }
                                //next row
                                prev.x = 0; //reset position
                                prev.width = blockSize; //reset width

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java
 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java
index 5572fcb..a7457b3 100644
--- 
a/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java
+++ 
b/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java
@@ -217,10 +217,6 @@ public class ScreenSharerFrame extends JFrame {
                }
        }
 
-       private static String getTextLabel(String[] textLabels, int idx) {
-               return textLabels != null && idx < textLabels.length ? 
textLabels[idx] : "#STAB#";
-       }
-
        /**
         * Create the frame.
         * @throws AWTException
@@ -598,6 +594,10 @@ public class ScreenSharerFrame extends JFrame {
                //We have no logo, that is why we need no background, 
sebawagner 29.04.2012
        }
 
+       private static String getTextLabel(String[] textLabels, int idx) {
+               return textLabels != null && idx < textLabels.length ? 
textLabels[idx] : "#STAB#";
+       }
+
        public void setSharingStatus(boolean status, boolean unlockScreen) {
                panelScreen.setEnabled(unlockScreen);
                if (status != sharingStarted) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java
 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java
index 1570b81..1ed42c9 100644
--- 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java
+++ 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/calendar/caldav/iCalUtils.java
@@ -144,7 +144,9 @@ public class iCalUtils {
         * @return Updated Appointment.
         */
        public Appointment parseCalendartoAppointment(Appointment a, Calendar 
calendar, String etag) {
-               if (calendar == null) return a;
+               if (calendar == null) {
+                       return a;
+               }
                CalendarComponent event = 
calendar.getComponent(Component.VEVENT);
                if (event != null) {
                        TimeZone tz = parseTimeZone(calendar, a.getOwner());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
index 25a0d57..f0ed23d 100644
--- 
a/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
+++ 
b/openmeetings-service/src/main/java/org/apache/openmeetings/service/mail/template/AbstractTemplatePanel.java
@@ -37,6 +37,12 @@ public abstract class AbstractTemplatePanel extends Panel {
        public static final String COMP_ID = "template";
        protected final Locale locale;
 
+       public AbstractTemplatePanel(Locale locale) {
+               super(COMP_ID);
+               this.locale = locale == null ? getDefault() : locale;
+               add(new 
TransparentWebMarkupContainer("container").add(AttributeModifier.append("dir", 
FormatHelper.isRtlLanguage(this.locale.toLanguageTag()) ? "rtl" : "ltr")));
+       }
+
        public static <T> T getBean(Class<T> clazz) {
                return ensureApplication().getOmBean(clazz);
        }
@@ -50,12 +56,6 @@ public abstract class AbstractTemplatePanel extends Panel {
                return LabelDao.getLocale(langId);
        }
 
-       public AbstractTemplatePanel(Locale locale) {
-               super(COMP_ID);
-               this.locale = locale == null ? getDefault() : locale;
-               add(new 
TransparentWebMarkupContainer("container").add(AttributeModifier.append("dir", 
FormatHelper.isRtlLanguage(this.locale.toLanguageTag()) ? "rtl" : "ltr")));
-       }
-
        public static String getString(String id, Locale locale, String... 
params) {
                return ensureApplication().getOmString(id, locale, params);
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
index 67d6de3..0b01a0a 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/StoredFile.java
@@ -26,7 +26,6 @@ import static org.apache.tika.mime.MediaType.application;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
@@ -85,11 +84,11 @@ public class StoredFile {
                init(name, ext, is);
        }
 
-       public StoredFile(String fullname, File f) throws 
FileNotFoundException, IOException {
+       public StoredFile(String fullname, File f) throws IOException {
                this(fullname, null, f);
        }
 
-       public StoredFile(String name, String ext, File f) throws 
FileNotFoundException, IOException {
+       public StoredFile(String name, String ext, File f) throws IOException {
                try (InputStream fis = new FileInputStream(f)) {
                        init(name, ext, fis);
                }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
index 42089d0..6ca57a4 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/configurations/ConfigForm.java
@@ -64,11 +64,6 @@ public class ConfigForm extends AdminBaseForm<Configuration> 
{
        private final TextField<Long> valueN;
        private final CheckBox valueB;
 
-       private void refresh(AjaxRequestTarget target) {
-               target.add(this);
-               target.appendJavaScript("adminPanelInit();");
-       }
-
        public ConfigForm(String id, WebMarkupContainer listContainer, 
Configuration configuration) {
                super(id, new CompoundPropertyModel<>(configuration));
                setOutputMarkupId(true);
@@ -134,6 +129,11 @@ public class ConfigForm extends 
AdminBaseForm<Configuration> {
                add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
+       private void refresh(AjaxRequestTarget target) {
+               target.add(this);
+               target.appendJavaScript("adminPanelInit();");
+       }
+
        private void update(AjaxRequestTarget target) {
                Configuration c = getModelObject();
                valueS.setVisible(Type.string == c.getType());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
index e07780d..e8b510b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/groups/GroupForm.java
@@ -81,10 +81,6 @@ public class GroupForm extends AdminBaseForm<Group> {
                }
        };
 
-       static String formatUser(User choice) {
-               return String.format("%s [%s %s]", choice.getLogin(), 
choice.getFirstname(), choice.getLastname());
-       }
-
        public GroupForm(String id, WebMarkupContainer groupList, Group group) {
                super(id, new CompoundPropertyModel<>(group));
                this.groupList = groupList;
@@ -134,6 +130,10 @@ public class GroupForm extends AdminBaseForm<Group> {
                add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
 
+       static String formatUser(User choice) {
+               return String.format("%s [%s %s]", choice.getLogin(), 
choice.getFirstname(), choice.getLastname());
+       }
+
        @Override
        protected boolean isNewBtnVisible() {
                return !hasGroupAdminLevel(getRights());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
index ebe6697..0ecb3a5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/admin/labels/LangForm.java
@@ -45,19 +45,6 @@ public class LangForm extends Form<Void> {
        private static final long serialVersionUID = 1L;
        private DropDownChoice<Map.Entry<Long, Locale>> languages;
 
-       static List<Map.Entry<Long, Locale>> getLanguages() {
-               List<Map.Entry<Long, Locale>> list = new ArrayList<>();
-               for (Map.Entry<Long, Locale> e : LabelDao.getLanguages()) {
-                       list.add(new AbstractMap.SimpleEntry<>(e.getKey(), 
e.getValue()));
-               }
-               return list;
-       }
-
-       public void updateLanguages(AjaxRequestTarget target) {
-               languages.setChoices(getLanguages());
-               target.add(languages);
-       }
-
        /**
         * Render Main
         *
@@ -100,4 +87,17 @@ public class LangForm extends Form<Void> {
                // event and throttle it down to once per second
                add(new AjaxFormValidatingBehavior("keydown", 
Duration.ONE_SECOND));
        }
+
+       static List<Map.Entry<Long, Locale>> getLanguages() {
+               List<Map.Entry<Long, Locale>> list = new ArrayList<>();
+               for (Map.Entry<Long, Locale> e : LabelDao.getLanguages()) {
+                       list.add(new AbstractMap.SimpleEntry<>(e.getKey(), 
e.getValue()));
+               }
+               return list;
+       }
+
+       public void updateLanguages(AjaxRequestTarget target) {
+               languages.setChoices(getLanguages());
+               target.add(languages);
+       }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
index c63e3f1..801a924 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/ConvertingErrorsDialog.java
@@ -57,6 +57,11 @@ public class ConvertingErrorsDialog extends 
AbstractDialog<BaseFileItem> {
                }
        };
 
+       public ConvertingErrorsDialog(String id, IModel<BaseFileItem> model) {
+               super(id, Application.getString("887"), model);
+               add(container.add(message.setVisible(false), 
logView.setVisible(false)).setOutputMarkupId(true));
+       }
+
        @Override
        public int getWidth() {
                return 600;
@@ -72,11 +77,6 @@ public class ConvertingErrorsDialog extends 
AbstractDialog<BaseFileItem> {
                return true;
        }
 
-       public ConvertingErrorsDialog(String id, IModel<BaseFileItem> model) {
-               super(id, Application.getString("887"), model);
-               add(container.add(message.setVisible(false), 
logView.setVisible(false)).setOutputMarkupId(true));
-       }
-
        @Override
        protected void onOpen(IPartialPageRequestHandler handler) {
                BaseFileItem f = getModelObject();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
index 952c42d..1990470 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
@@ -51,10 +51,6 @@ public abstract class BasePage extends 
AsyncUrlFragmentAwarePage {
        private final HeaderPanel header;
        private final WebMarkupContainer loader = new 
WebMarkupContainer("main-loader");
 
-       protected abstract boolean isRtl();
-       protected abstract String getLanguageCode();
-       protected abstract String getApplicationName();
-
        public BasePage() {
                options = new HashMap<>();
                options.put("fragmentIdentifierSuffix", "");
@@ -71,6 +67,10 @@ public abstract class BasePage extends 
AsyncUrlFragmentAwarePage {
                
add(loader.setVisible(isMainPage()).setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
        }
 
+       protected abstract boolean isRtl();
+       protected abstract String getLanguageCode();
+       protected abstract String getApplicationName();
+
        protected OmUrlFragment getUrlFragment(IRequestParameters params) {
                for (AreaKeys key : AreaKeys.values()) {
                        StringValue type = params.getParameterValue(key.name());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
index ef6abfe..1557d85 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
@@ -70,11 +70,65 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
        private final IValidator<String> emailValidator = 
RfcCompliantEmailAddressValidator.getInstance();
        private final RequiredTextField<String> name = new 
RequiredTextField<>("name", Model.of((String)null));
        private final RadioGroup<Type> rg = new RadioGroup<>("type", 
Model.of(Type.email));
-       private final Label label = new Label("label", 
Model.of(Application.getString("315")));
+       private final Label label = new Label("label", Model.of(""));
        private final Captcha captcha = new Captcha("captcha");
-       private Form<String> form;
+       private Form<String> form = new Form<String>("form") {
+               private static final long serialVersionUID = 1L;
+
+               @Override
+               protected void onInitialize() {
+                       super.onInitialize();
+                       add(feedback.setOutputMarkupId(true));
+                       
add(label.setDefaultModelObject(getString("315")).setOutputMarkupId(true));
+                       add(name.setOutputMarkupId(true));
+                       add(captcha);
+                       add(rg.add(new Radio<>("email", Model.of(Type.email)))
+                                       .add(new Radio<>("login", 
Model.of(Type.login)))
+                                       .setOutputMarkupId(true));
+                       rg.add(new AjaxFormChoiceComponentUpdatingBehavior() {
+                               private static final long serialVersionUID = 1L;
+
+                               @Override
+                               protected void onUpdate(AjaxRequestTarget 
target) {
+                                       updateLabel(target);
+                               }
+                       });
+                       add(new AjaxButton("submit") { //FAKE button so 
"submit-on-enter" works as expected
+                               private static final long serialVersionUID = 1L;
+
+                               @Override
+                               protected void onSubmit(AjaxRequestTarget 
target) {
+                                       
ForgetPasswordDialog.this.onSubmit(target);
+                               }
+
+                               @Override
+                               protected void onError(AjaxRequestTarget 
target) {
+                                       
ForgetPasswordDialog.this.onError(target);
+                               }
+                       });
+                       updateLabel(null);
+               }
+
+               @Override
+               protected void onValidate() {
+                       String n = name.getConvertedInput();
+                       if (n != null) {
+                               IValidatable<String> val = new Validatable<>(n);
+                               Type type = rg.getConvertedInput();
+                               if (type == Type.email) {
+                                       emailValidator.validate(val);
+                                       if (!val.isValid()) {
+                                               error(getString("234"));
+                                       }
+                               }
+                               if (type == Type.login && n.length() < 
UserHelper.getMinLoginLength(getBean(ConfigurationDao.class))) {
+                                       error(getString("104"));
+                               }
+                       }
+               }
+       };
        private SignInDialog s;
-       final MessageDialog confirmDialog;
+       MessageDialog confirmDialog;
 
        enum Type {
                email
@@ -82,61 +136,15 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
        }
 
        public ForgetPasswordDialog(String id) {
-               super(id, Application.getString("312"));
-               add(form = new Form<String>("form") {
-                       private static final long serialVersionUID = 1L;
-
-                       {
-                               add(feedback.setOutputMarkupId(true));
-                               add(label.setOutputMarkupId(true));
-                               add(name.setOutputMarkupId(true));
-                               add(captcha);
-                               add(rg.add(new Radio<>("email", 
Model.of(Type.email)))
-                                               .add(new Radio<>("login", 
Model.of(Type.login)))
-                                               .setOutputMarkupId(true));
-                               rg.add(new 
AjaxFormChoiceComponentUpdatingBehavior() {
-                                       private static final long 
serialVersionUID = 1L;
-
-                                       @Override
-                                       protected void 
onUpdate(AjaxRequestTarget target) {
-                                               updateLabel(target);
-                                       }
-                               });
-                               add(new AjaxButton("submit") { //FAKE button so 
"submit-on-enter" works as expected
-                                       private static final long 
serialVersionUID = 1L;
-
-                                       @Override
-                                       protected void 
onSubmit(AjaxRequestTarget target) {
-                                               
ForgetPasswordDialog.this.onSubmit(target);
-                                       }
-
-                                       @Override
-                                       protected void 
onError(AjaxRequestTarget target) {
-                                               
ForgetPasswordDialog.this.onError(target);
-                                       }
-                               });
-                               updateLabel(null);
-                       }
+               super(id, "");
+       }
 
-                       @Override
-                       protected void onValidate() {
-                               String n = name.getConvertedInput();
-                               if (n != null) {
-                                       IValidatable<String> val = new 
Validatable<>(n);
-                                       Type type = rg.getConvertedInput();
-                                       if (type == Type.email) {
-                                               emailValidator.validate(val);
-                                               if (!val.isValid()) {
-                                                       error(getString("234"));
-                                               }
-                                       }
-                                       if (type == Type.login && n.length() < 
UserHelper.getMinLoginLength(getBean(ConfigurationDao.class))) {
-                                               error(getString("104"));
-                                       }
-                               }
-                       }
-               });
-               confirmDialog = new NonClosableMessageDialog("confirmDialog", 
Application.getString("312"), Application.getString("321")){
+       @Override
+       protected void onInitialize() {
+               super.onInitialize();
+               setTitle(Model.of(getString("312")));
+               add(form);
+               confirmDialog = new NonClosableMessageDialog("confirmDialog", 
getString("312"), getString("321")) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
@@ -148,7 +156,7 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
        }
 
        private void updateLabel(IPartialPageRequestHandler handler) {
-               String lbl = Application.getString(rg.getModelObject() == 
Type.email ? "315" : "316");
+               String lbl = getString(rg.getModelObject() == Type.email ? 
"315" : "316");
                name.setLabel(Model.of(lbl));
                label.setDefaultModelObject(lbl);
                if (handler != null) {
@@ -221,7 +229,7 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
         * @param appLink
         * @return <code>true</code> in case reset was successful, 
<code>false</code> otherwise
         */
-       private static boolean resetUser(String email, String username, String 
appLink) {
+       private boolean resetUser(String email, String username, String 
appLink) {
                try {
                        UserDao userDao = getBean(UserDao.class);
                        log.debug("resetUser " + email);
@@ -246,7 +254,7 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
                return false;
        }
 
-       private static void sendHashByUser(User us, String appLink, UserDao 
userDao) {
+       private void sendHashByUser(User us, String appLink, UserDao userDao) {
                log.debug("User: " + us.getLogin());
                us.setResethash(UUID.randomUUID().toString());
                us.setResetDate(new Date());
@@ -257,7 +265,7 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
 
                String template = ResetPasswordTemplate.getEmail(reset_link);
 
-               getBean(MailHandler.class).send(email, 
Application.getString("517"), template);
+               getBean(MailHandler.class).send(email, getString("517"), 
template);
        }
 
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
index d345a12..e22d969 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInPage.java
@@ -74,14 +74,6 @@ public class SignInPage extends BaseInitedPage {
        private SignInDialog d;
        private KickMessageDialog m;
 
-       static boolean allowRegister() {
-               return 
getBean(ConfigurationDao.class).getBool(CONFIG_REGISTER_FRONTEND, false);
-       }
-
-       static boolean allowOAuthLogin() {
-               return !getBean(OAuth2Dao.class).getActive().isEmpty();
-       }
-
        public SignInPage() {
                this(new PageParameters());
        }
@@ -103,7 +95,9 @@ public class SignInPage extends BaseInitedPage {
                                        String code = p.get("code").toString();
                                        log.debug("OAuth response code=" + 
code);
                                        AuthInfo authInfo = getToken(code, 
server);
-                                       if (authInfo == null) return;
+                                       if (authInfo == null) {
+                                               return;
+                                       }
                                        log.debug("OAuthInfo=" + authInfo);
                                        Map<String, String> authParams = 
getAuthParams(authInfo.accessToken, code, server);
                                        loginViaOAuth2(authParams, serverId);
@@ -144,6 +138,14 @@ public class SignInPage extends BaseInitedPage {
                                r.setVisible(allowRegister()), f, 
m.setVisible(WebSession.get().isKickedByAdmin()));
        }
 
+       static boolean allowRegister() {
+               return 
getBean(ConfigurationDao.class).getBool(CONFIG_REGISTER_FRONTEND, false);
+       }
+
+       static boolean allowOAuthLogin() {
+               return !getBean(OAuth2Dao.class).getActive().isEmpty();
+       }
+
        @Override
        protected void onParameterArrival(IRequestParameters params, 
AjaxRequestTarget arg1) {
                WebSession.get().setArea(getUrlFragment(params));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
index 1730457..bf07390 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/install/InstallWizard.java
@@ -110,10 +110,6 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
        private DbType initDbType = null;
        private DbType dbType = null;
 
-       public void initTzDropDown() {
-               paramsStep1.tzDropDown.setOption();
-       }
-
        //onInit, applyState
        public InstallWizard(String id, String title) {
                super(id, title, new CompoundPropertyModel<>(new 
InstallationConfig()), true);
@@ -132,6 +128,10 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                init(wmodel);
        }
 
+       public void initTzDropDown() {
+               paramsStep1.tzDropDown.setOption();
+       }
+
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
@@ -321,6 +321,13 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                        }
                };
 
+               public DbStep() {
+                       super(welcomeStep);
+                       add(form.setOutputMarkupId(true));
+                       initDbType = form.getModelObject().getDbType();
+                       initForm(false, null);
+               }
+
                private ConnectionProperties getProps(DbType type) {
                        ConnectionProperties props = new ConnectionProperties();
                        try {
@@ -385,13 +392,6 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                        }
                }
 
-               public DbStep() {
-                       super(welcomeStep);
-                       add(form.setOutputMarkupId(true));
-                       initDbType = form.getModelObject().getDbType();
-                       initForm(false, null);
-               }
-
                @Override
                protected void onInitialize() {
                        super.onInitialize();
@@ -654,16 +654,6 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                private final Label desc = new Label("desc", "");
                private boolean started = false;
 
-               public void startInstallation(AjaxRequestTarget target) {
-                       started = true;
-                       timer.restart(target);
-                       new Thread(new 
InstallProcess(Application.get()._getBean(ImportInitvalues.class))
-                               , "Openmeetings - Installation").start();
-                       //progressBar.setVisible(true);
-                       
desc.setDefaultModelObject(getString("install.wizard.install.started"));
-                       target.add(desc, container);
-               }
-
                public InstallStep() {
                        super(paramsStep4);
 
@@ -713,6 +703,16 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                        add(container.setOutputMarkupId(true));
                }
 
+               public void startInstallation(AjaxRequestTarget target) {
+                       started = true;
+                       timer.restart(target);
+                       new Thread(new 
InstallProcess(Application.get()._getBean(ImportInitvalues.class))
+                               , "Openmeetings - Installation").start();
+                       //progressBar.setVisible(true);
+                       
desc.setDefaultModelObject(getString("install.wizard.install.started"));
+                       target.add(desc, container);
+               }
+
                @Override
                protected void onInitialize() {
                        super.onInitialize();
@@ -782,11 +782,6 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
        private final class TzDropDown extends WizardDropDown<String> {
                private static final long serialVersionUID = 1L;
 
-               public void setOption() {
-                       String tzId = WebSession.get().getClientTZCode();
-                       option = AVAILABLE_TIMEZONE_SET.contains(tzId) ? tzId : 
AVAILABLE_TIMEZONES.get(0);
-               }
-
                public TzDropDown(String id) {
                        super(id);
                        setChoices(AVAILABLE_TIMEZONES);
@@ -805,6 +800,11 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                        });
                }
 
+               public void setOption() {
+                       String tzId = WebSession.get().getClientTZCode();
+                       option = AVAILABLE_TIMEZONE_SET.contains(tzId) ? tzId : 
AVAILABLE_TIMEZONES.get(0);
+               }
+
                @Override
                protected void onModelChanged() {
                        if (propModel != null && option != null) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index cd6a2f3..c78b6cd 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -159,6 +159,26 @@ public class RoomPanel extends BasePanel {
                        }
                        wb.update(target);
                }
+
+               private void initVideos(AjaxRequestTarget target) {
+                       StringBuilder sb = new StringBuilder();
+                       boolean hasStreams = false;
+                       Client _c = getClient();
+                       for (Client c: getRoomClients(getRoom().getId()) ) {
+                               boolean self = _c.getUid().equals(c.getUid());
+                               for (String uid : c.getStreams()) {
+                                       JSONObject jo = videoJson(c, self, 
c.getSid(), getBean(ISessionManager.class), uid);
+                                       
sb.append(String.format("VideoManager.play(%s);", jo));
+                                       hasStreams = true;
+                               }
+                       }
+                       if (isInterview && recordingUser == null && hasStreams 
&& _c.hasRight(Right.moderator)) {
+                               sb.append("WbArea.setRecStartEnabled(true);");
+                       }
+                       if (!Strings.isEmpty(sb)) {
+                               target.appendJavaScript(sb);
+                       }
+               }
        };
        private RedirectMessageDialog roomClosed;
        private MessageDialog clientKicked, waitForModerator, 
waitApplyModeration;
@@ -204,11 +224,6 @@ public class RoomPanel extends BasePanel {
                }
        };
 
-       public void startDownload(AjaxRequestTarget target, byte[] bb) {
-               pdfWb = bb;
-               download.initiate(target);
-       }
-
        public RoomPanel(String id, Room r) {
                super(id);
                this.r = r;
@@ -216,24 +231,9 @@ public class RoomPanel extends BasePanel {
                this.wb = isInterview ? new InterviewWbPanel("whiteboard", 
this) : new WbPanel("whiteboard", this);
        }
 
-       private void initVideos(AjaxRequestTarget target) {
-               StringBuilder sb = new StringBuilder();
-               boolean hasStreams = false;
-               Client _c = getClient();
-               for (Client c: getRoomClients(getRoom().getId()) ) {
-                       boolean self = _c.getUid().equals(c.getUid());
-                       for (String uid : c.getStreams()) {
-                               JSONObject jo = videoJson(c, self, c.getSid(), 
getBean(ISessionManager.class), uid);
-                               
sb.append(String.format("VideoManager.play(%s);", jo));
-                               hasStreams = true;
-                       }
-               }
-               if (isInterview && recordingUser == null && hasStreams && 
_c.hasRight(Right.moderator)) {
-                       sb.append("WbArea.setRecStartEnabled(true);");
-               }
-               if (!Strings.isEmpty(sb)) {
-                       target.appendJavaScript(sb);
-               }
+       public void startDownload(AjaxRequestTarget target, byte[] bb) {
+               pdfWb = bb;
+               download.initiate(target);
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
index 9fddc22..edaed8a 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
@@ -258,6 +258,16 @@ public class ActivitiesPanel extends Panel {
                }
        };
 
+       public ActivitiesPanel(String id, RoomPanel room) {
+               super(id);
+               this.room = room;
+               setVisible(!room.getRoom().isHidden(RoomElement.Activities));
+               setOutputMarkupPlaceholderTag(true);
+               setMarkupId(id);
+               add(container.add(lv).setOutputMarkupPlaceholderTag(true));
+               add(action);
+       }
+
        public void add(Activity a, IPartialPageRequestHandler handler) {
                activities.put(a.getId(), a);
                update(handler);
@@ -278,16 +288,6 @@ public class ActivitiesPanel extends Panel {
                }
        }
 
-       public ActivitiesPanel(String id, RoomPanel room) {
-               super(id);
-               this.room = room;
-               setVisible(!room.getRoom().isHidden(RoomElement.Activities));
-               setOutputMarkupPlaceholderTag(true);
-               setMarkupId(id);
-               add(container.add(lv).setOutputMarkupPlaceholderTag(true));
-               add(action);
-       }
-
        @Override
        public void renderHead(IHeaderResponse response) {
                super.renderHead(response);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index cbe44c7..b8c6e02 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -215,13 +215,6 @@ public class RoomMenuPanel extends Panel {
                }
        };
 
-       private Group getGroup() {
-               Room r = room.getRoom();
-               return r.getGroups() == null || r.getGroups().isEmpty()
-                               ? new Group()
-                               : r.getGroups().get(0).getGroup();
-       }
-
        public RoomMenuPanel(String id, final RoomPanel room) {
                super(id);
                setOutputMarkupPlaceholderTag(true);
@@ -243,6 +236,13 @@ public class RoomMenuPanel extends Panel {
                add(sipDialer = new SipDialerDialog("sipDialer", room));
        }
 
+       private Group getGroup() {
+               Room r = room.getRoom();
+               return r.getGroups() == null || r.getGroups().isEmpty()
+                               ? new Group()
+                               : r.getGroups().get(0).getGroup();
+       }
+
        @Override
        protected void onInitialize() {
                super.onInitialize();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
index a12ddee..425b33e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/MessageDialog.java
@@ -91,16 +91,6 @@ public class MessageDialog extends 
AbstractFormDialog<PrivateMessage> {
        private boolean isPrivate = false;
        private final IModel<Collection<User>> modelTo = new 
CollectionModel<>(new ArrayList<User>());
 
-       @Override
-       public int getWidth() {
-               return 650;
-       }
-
-       public void open(IPartialPageRequestHandler handler, Long userId) {
-               getModelObject().setTo(getBean(UserDao.class).get(userId));
-               open(handler);
-       }
-
        public MessageDialog reset(boolean isPrivate) {
                //TODO should be 'in sync' with appointment
                LocalDateTime now = 
ZonedDateTime.now(getZoneId()).toLocalDateTime();
@@ -124,6 +114,16 @@ public class MessageDialog extends 
AbstractFormDialog<PrivateMessage> {
        }
 
        @Override
+       public int getWidth() {
+               return 650;
+       }
+
+       public void open(IPartialPageRequestHandler handler, Long userId) {
+               getModelObject().setTo(getBean(UserDao.class).get(userId));
+               open(handler);
+       }
+
+       @Override
        protected void onOpen(IPartialPageRequestHandler handler) {
                if (getModel().getObject().getTo() != null) {
                        modelTo.getObject().add(getModel().getObject().getTo());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
index a1eaa78..a831db2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/AppointmentDialog.java
@@ -123,6 +123,26 @@ public class AppointmentDialog extends 
AbstractFormDialog<Appointment> {
                , group
        }
 
+       public AppointmentDialog(String id, String title, CalendarPanel 
calendarPanel, CompoundPropertyModel<Appointment> model) {
+               super(id, title, model, true);
+               log.debug(" -- AppointmentDialog -- Current model " + 
getModel().getObject());
+               this.calendarPanel = calendarPanel;
+               setOutputMarkupId(true);
+               form = new AppointmentForm("appForm", model);
+               add(form);
+               confirmDelete = new MessageDialog("confirmDelete", 
Application.getString("80"), Application.getString("833"), 
DialogButtons.OK_CANCEL, DialogIcon.WARN){
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
+                               if (button != null && 
button.match(AbstractDialog.OK)){
+                                       deleteAppointment(handler);
+                               }
+                       }
+               };
+               add(confirmDelete);
+       }
+
        @Override
        public int getWidth() {
                return 650;
@@ -154,26 +174,6 @@ public class AppointmentDialog extends 
AbstractFormDialog<Appointment> {
                super.setModelObject(a);
        }
 
-       public AppointmentDialog(String id, String title, CalendarPanel 
calendarPanel, CompoundPropertyModel<Appointment> model) {
-               super(id, title, model, true);
-               log.debug(" -- AppointmentDialog -- Current model " + 
getModel().getObject());
-               this.calendarPanel = calendarPanel;
-               setOutputMarkupId(true);
-               form = new AppointmentForm("appForm", model);
-               add(form);
-               confirmDelete = new MessageDialog("confirmDelete", 
Application.getString("80"), Application.getString("833"), 
DialogButtons.OK_CANCEL, DialogIcon.WARN){
-                       private static final long serialVersionUID = 1L;
-
-                       @Override
-                       public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
-                               if (button != null && 
button.match(AbstractDialog.OK)){
-                                       deleteAppointment(handler);
-                               }
-                       }
-               };
-               add(confirmDelete);
-       }
-
        protected void deleteAppointment(IPartialPageRequestHandler handler) {
                Appointment a = getModelObject();
                getBean(AppointmentDao.class).delete(a, getUserId());
@@ -314,63 +314,6 @@ public class AppointmentDialog extends 
AbstractFormDialog<Appointment> {
                );
                private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
 
-               private Room createAppRoom() {
-                       Room r = new Room();
-                       r.setAppointment(true);
-                       if (r.getType() == null) {
-                               r.setType(Room.Type.conference);
-                       }
-                       return r;
-               }
-
-               @Override
-               protected void onModelChanged() {
-                       super.onModelChanged();
-
-                       Appointment a = getModelObject();
-                       if (a.getReminder() == null) {
-                               a.setReminder(Reminder.none);
-                       }
-                       if (a.getRoom() == null) {
-                               a.setRoom(createAppRoom());
-                       }
-                       createRoom = myRoomsAllowed && 
a.getRoom().isAppointment();
-                       if (createRoom) {
-                               appRoom = a.getRoom();
-                       } else {
-                               groom.setModelObject(a.getRoom());
-                               appRoom = createAppRoom();
-                       }
-                       createRoomBlock.setDefaultModelObject(appRoom);
-                       createRoomBlock.setEnabled(createRoom);
-                       groom.setEnabled(!createRoom);
-                       if (a.getId() == null) {
-                               java.util.Calendar from = 
WebSession.getCalendar();
-                               from.setTime(a.getStart());
-                               java.util.Calendar to = 
WebSession.getCalendar();
-                               to.setTime(a.getEnd());
-
-                               if (from.equals(to)) {
-                                       to.add(java.util.Calendar.HOUR_OF_DAY, 
1);
-                                       a.setEnd(to.getTime());
-                               }
-                               cals.setEnabled(true);
-                       } else {
-                               cals.setEnabled(false);
-                       }
-
-                       rdi.setModelObject(InviteeType.user);
-                       attendees.setModelObject(new ArrayList<>());
-                       if (a.getMeetingMembers() != null) {
-                               for (MeetingMember mm : a.getMeetingMembers()) {
-                                       
attendees.getModelObject().add(mm.getUser());
-                               }
-                       }
-                       pwd.setEnabled(a.isPasswordProtected());
-                       
owner.setDefaultModel(Model.of(FormatHelper.formatUser(a.getOwner())));
-                       ownerPanel.setVisible(!isOwner(a));
-               }
-
                public AppointmentForm(String id, 
CompoundPropertyModel<Appointment> model) {
                        super(id, model);
                        setOutputMarkupId(true);
@@ -480,6 +423,63 @@ public class AppointmentDialog extends 
AbstractFormDialog<Appointment> {
                        
add(cals.setNullValid(true).setLabel(Model.of("calendar")).setOutputMarkupId(true));
                }
 
+               private Room createAppRoom() {
+                       Room r = new Room();
+                       r.setAppointment(true);
+                       if (r.getType() == null) {
+                               r.setType(Room.Type.conference);
+                       }
+                       return r;
+               }
+
+               @Override
+               protected void onModelChanged() {
+                       super.onModelChanged();
+
+                       Appointment a = getModelObject();
+                       if (a.getReminder() == null) {
+                               a.setReminder(Reminder.none);
+                       }
+                       if (a.getRoom() == null) {
+                               a.setRoom(createAppRoom());
+                       }
+                       createRoom = myRoomsAllowed && 
a.getRoom().isAppointment();
+                       if (createRoom) {
+                               appRoom = a.getRoom();
+                       } else {
+                               groom.setModelObject(a.getRoom());
+                               appRoom = createAppRoom();
+                       }
+                       createRoomBlock.setDefaultModelObject(appRoom);
+                       createRoomBlock.setEnabled(createRoom);
+                       groom.setEnabled(!createRoom);
+                       if (a.getId() == null) {
+                               java.util.Calendar from = 
WebSession.getCalendar();
+                               from.setTime(a.getStart());
+                               java.util.Calendar to = 
WebSession.getCalendar();
+                               to.setTime(a.getEnd());
+
+                               if (from.equals(to)) {
+                                       to.add(java.util.Calendar.HOUR_OF_DAY, 
1);
+                                       a.setEnd(to.getTime());
+                               }
+                               cals.setEnabled(true);
+                       } else {
+                               cals.setEnabled(false);
+                       }
+
+                       rdi.setModelObject(InviteeType.user);
+                       attendees.setModelObject(new ArrayList<>());
+                       if (a.getMeetingMembers() != null) {
+                               for (MeetingMember mm : a.getMeetingMembers()) {
+                                       
attendees.getModelObject().add(mm.getUser());
+                               }
+                       }
+                       pwd.setEnabled(a.isPasswordProtected());
+                       
owner.setDefaultModel(Model.of(FormatHelper.formatUser(a.getOwner())));
+                       ownerPanel.setVisible(!isOwner(a));
+               }
+
                @Override
                protected void onInitialize() {
                        super.onInitialize();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
index 0fe6b24..b776adf 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java
@@ -98,46 +98,6 @@ public class CalendarPanel extends UserBasePanel {
        private final WebMarkupContainer calendarListContainer;
        private transient HttpClient client = null; // Non-Serializable 
HttpClient.
 
-       @Override
-       public void cleanup(IPartialPageRequestHandler handler) {
-               refreshTimer.stop(handler);
-               syncTimer.stop(handler);
-               if (client != null) {
-                       getAppointmentManager().cleanupIdleConnections();
-                       client.getState().clear();
-               }
-       }
-
-       private static AppointmentDao getDao() {
-               return getBean(AppointmentDao.class);
-       }
-
-       public void refresh(IPartialPageRequestHandler handler) {
-               calendar.refresh(handler);
-       }
-
-       //Reloads the Calendar List on Appointment Dialog and the list of 
Calendars
-       public void refreshCalendars(IPartialPageRequestHandler handler) {
-               handler.add(dialog, calendarListContainer);
-       }
-
-       Calendar getCalendar() {
-               return calendar;
-       }
-
-       @Override
-       public void renderHead(IHeaderResponse response) {
-               super.renderHead(response);
-
-               Optional<AjaxRequestTarget> target = 
getRequestCycle().find(AjaxRequestTarget.class);
-               if (target.isPresent()) {
-                       target.get().appendJavaScript(javaScriptMarkup);
-                       target.get().appendJavaScript(javaScriptAddDatepicker);
-               } else {
-                       
response.render(JavaScriptHeaderItem.forScript(javaScriptMarkup, this.getId()));
-               }
-       }
-
        public CalendarPanel(String id) {
                super(id);
 
@@ -357,6 +317,46 @@ public class CalendarPanel extends UserBasePanel {
                add(calendarListContainer);
        }
 
+       @Override
+       public void cleanup(IPartialPageRequestHandler handler) {
+               refreshTimer.stop(handler);
+               syncTimer.stop(handler);
+               if (client != null) {
+                       getAppointmentManager().cleanupIdleConnections();
+                       client.getState().clear();
+               }
+       }
+
+       private static AppointmentDao getDao() {
+               return getBean(AppointmentDao.class);
+       }
+
+       public void refresh(IPartialPageRequestHandler handler) {
+               calendar.refresh(handler);
+       }
+
+       //Reloads the Calendar List on Appointment Dialog and the list of 
Calendars
+       public void refreshCalendars(IPartialPageRequestHandler handler) {
+               handler.add(dialog, calendarListContainer);
+       }
+
+       Calendar getCalendar() {
+               return calendar;
+       }
+
+       @Override
+       public void renderHead(IHeaderResponse response) {
+               super.renderHead(response);
+
+               Optional<AjaxRequestTarget> target = 
getRequestCycle().find(AjaxRequestTarget.class);
+               if (target.isPresent()) {
+                       target.get().appendJavaScript(javaScriptMarkup);
+                       target.get().appendJavaScript(javaScriptAddDatepicker);
+               } else {
+                       
response.render(JavaScriptHeaderItem.forScript(javaScriptMarkup, this.getId()));
+               }
+       }
+
        // Client creation here, because the client is not created until 
necessary
        public HttpClient getHttpClient() {
                if (client == null) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
index 148dea2..5280be3 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/chat/Chat.java
@@ -115,6 +115,15 @@ public class Chat extends Panel {
                }
        };
 
+       public Chat(String id) {
+               super(id);
+               setOutputMarkupPlaceholderTag(true);
+               setMarkupId(id);
+
+               add(chatActivity);
+               add(new ChatForm("sendForm"));
+       }
+
        private String getUid() {
                return findParent(MainPanel.class).getClient().getUid(); //TODO 
HACK
        }
@@ -127,15 +136,6 @@ public class Chat extends Panel {
                return WebSocketHelper.getMessage(userId, list, 
getDateFormat(), (o, u) -> o.put("img", getUrl(getRequestCycle(), u)));
        }
 
-       public Chat(String id) {
-               super(id);
-               setOutputMarkupPlaceholderTag(true);
-               setMarkupId(id);
-
-               add(chatActivity);
-               add(new ChatForm("sendForm"));
-       }
-
        public static CharSequence getReinit() {
                StringBuilder sb = new StringBuilder("Chat.reinit(");
                
sb.append('\'').append(Application.getString("1494")).append('\'')

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
index 4bd760d..bea15d1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
@@ -148,116 +148,6 @@ public class MessagesContactsPanel extends UserBasePanel {
                });
        private WebMarkupContainer selectedFolder;
 
-       private void setDefaultFolderClass() {
-               inbox.add(AttributeModifier.replace("class", "email inbox 
clickable"));
-               sent.add(AttributeModifier.replace("class", "email sent 
clickable"));
-               trash.add(AttributeModifier.replace("class", "email trash 
clickable"));
-       }
-
-       private static void selectFolder(WebMarkupContainer folder) {
-               folder.add(AttributeModifier.append("class", "ui-widget-header 
ui-corner-all"));
-       }
-
-       private void setFolderClass(ListItem<PrivateMessageFolder> folder) {
-               folder.add(AttributeModifier.replace("class", "email folder 
clickable"));
-               if 
(folder.getModelObject().getId().equals(selectedFolderModel.getObject())) {
-                       selectFolder(folder);
-               }
-       }
-
-       private void updateControls(AjaxRequestTarget target) {
-               deleteBtn.setEnabled(!selectedMessages.isEmpty());
-               Long selFldr = selectedFolderModel.getObject();
-               readBtn.setEnabled(!TRASH_FOLDER_ID.equals(selFldr) && 
!selectedMessages.isEmpty());
-               unreadBtn.setEnabled(!TRASH_FOLDER_ID.equals(selFldr) && 
!selectedMessages.isEmpty());
-               toInboxBtn.setVisible(!INBOX_FOLDER_ID.equals(selFldr) && 
!SENT_FOLDER_ID.equals(selFldr) && !selectedMessages.isEmpty());
-               target.add(buttons);
-       }
-
-       private static String getEmail(User u) {
-               return u == null || u.getAddress() == null ? "" : 
u.getAddress().getEmail();
-       }
-
-       private void selectMessage(long id, AjaxRequestTarget target) {
-               PrivateMessage msg = getBean(PrivateMessageDao.class).get(id);
-               selectedMessage.addOrReplace(new Label("from", msg == null ? "" 
: getEmail(msg.getFrom())));
-               selectedMessage.addOrReplace(new Label("to", msg == null ? "" : 
getEmail(msg.getTo())));
-               selectedMessage.addOrReplace(new Label("subj", msg == null ? "" 
: msg.getSubject()));
-               selectedMessage.addOrReplace(new Label("body", msg == null ? "" 
: msg.getMessage()).setEscapeModelStrings(false));
-               if (msg != null) {
-                       Room r = msg.getRoom();
-                       if (r != null) {
-                               //TODO add time check
-                               Appointment a = 
getBean(AppointmentDao.class).getByRoom(r.getId());
-                               roomContainer.addOrReplace(new Label("start", a 
== null ? "" : getDateFormat().format(a.getStart())));
-                               roomContainer.addOrReplace(new Label("end", a 
== null ? "" : getDateFormat().format(a.getEnd())));
-                               roomContainer.addOrReplace(new 
Button("enter").add(new RoomEnterBehavior(r.getId())));
-                       }
-                       roomContainer.setVisible(r != null);
-               }
-               if (target != null) {
-                       target.add(selectedMessage);
-                       updateControls(target);
-               }
-       }
-
-       void updateTable(AjaxRequestTarget target) {
-               container.add(fixedTable);
-               if (target != null) {
-                       target.add(container);
-               }
-       }
-
-       private void selectFolder(WebMarkupContainer folder, Long id, 
AjaxRequestTarget target) {
-               selectedFolder = folder;
-               selectedFolderModel.setObject(id);
-               setDefaultFolderClass();
-               selectFolder(folder);
-               emptySelection(target);
-               selectDropDown.setModelObject(SELECT_CHOOSE);
-               moveDropDown.setModelObject(NOT_MOVE_FOLDER);
-               deleteBtn.add(AttributeModifier.replace("value", 
Application.getString(TRASH_FOLDER_ID.equals(id) ? "1256" : "80")));
-               readBtn.setEnabled(false);
-               unreadBtn.setEnabled(false);
-               if (target != null) {
-                       updateTable(target);
-                       target.add(folders, unread, selectDropDown, 
moveDropDown);
-                       target.add(dataContainer.getContainer(), 
dataContainer.getNavigator());
-                       target.add(dataContainer.getLinks());
-               }
-       }
-
-       private void emptySelection(AjaxRequestTarget target) {
-               selectedMessages.clear();
-               selectMessage(-1, target);
-               
unread.setDefaultModelObject(getBean(PrivateMessageDao.class).count(getUserId(),
 selectedFolderModel.getObject(), null));
-               if (target != null) {
-                       target.add(unread);
-               }
-       }
-
-       private static String getDisplayName(User u) {
-               return new StringBuilder().append(u.getFirstname()).append(" ")
-                               .append(u.getLastname()).append(" ")
-                               .append("<").append(getEmail(u)).append(">")
-                               .toString();
-       }
-
-       private void updateMoveModel() {
-               List<PrivateMessageFolder> list = new ArrayList<>();
-               list.add(NOT_MOVE_FOLDER);
-               list.addAll(foldersModel.getObject());
-               moveDropDown.setChoices(list);
-       }
-
-       private void updateContacts(AjaxRequestTarget target) {
-               
pendingContacts.setDefaultModelObject(getBean(UserContactDao.class).getContactRequestsByUserAndStatus(getUserId(),
 true).size());
-               
allContacts.setDefaultModelObject(getBean(UserContactDao.class).getContactsByUserAndStatus(getUserId(),
 false).size());
-               if (target != null) {
-                       target.add(contacts);
-               }
-       }
-
        public MessagesContactsPanel(String id) {
                super(id);
                NOT_MOVE_FOLDER.setId(MOVE_CHOOSE);
@@ -612,6 +502,116 @@ public class MessagesContactsPanel extends UserBasePanel {
                });
        }
 
+       private void setDefaultFolderClass() {
+               inbox.add(AttributeModifier.replace("class", "email inbox 
clickable"));
+               sent.add(AttributeModifier.replace("class", "email sent 
clickable"));
+               trash.add(AttributeModifier.replace("class", "email trash 
clickable"));
+       }
+
+       private static void selectFolder(WebMarkupContainer folder) {
+               folder.add(AttributeModifier.append("class", "ui-widget-header 
ui-corner-all"));
+       }
+
+       private void setFolderClass(ListItem<PrivateMessageFolder> folder) {
+               folder.add(AttributeModifier.replace("class", "email folder 
clickable"));
+               if 
(folder.getModelObject().getId().equals(selectedFolderModel.getObject())) {
+                       selectFolder(folder);
+               }
+       }
+
+       private void updateControls(AjaxRequestTarget target) {
+               deleteBtn.setEnabled(!selectedMessages.isEmpty());
+               Long selFldr = selectedFolderModel.getObject();
+               readBtn.setEnabled(!TRASH_FOLDER_ID.equals(selFldr) && 
!selectedMessages.isEmpty());
+               unreadBtn.setEnabled(!TRASH_FOLDER_ID.equals(selFldr) && 
!selectedMessages.isEmpty());
+               toInboxBtn.setVisible(!INBOX_FOLDER_ID.equals(selFldr) && 
!SENT_FOLDER_ID.equals(selFldr) && !selectedMessages.isEmpty());
+               target.add(buttons);
+       }
+
+       private static String getEmail(User u) {
+               return u == null || u.getAddress() == null ? "" : 
u.getAddress().getEmail();
+       }
+
+       private void selectMessage(long id, AjaxRequestTarget target) {
+               PrivateMessage msg = getBean(PrivateMessageDao.class).get(id);
+               selectedMessage.addOrReplace(new Label("from", msg == null ? "" 
: getEmail(msg.getFrom())));
+               selectedMessage.addOrReplace(new Label("to", msg == null ? "" : 
getEmail(msg.getTo())));
+               selectedMessage.addOrReplace(new Label("subj", msg == null ? "" 
: msg.getSubject()));
+               selectedMessage.addOrReplace(new Label("body", msg == null ? "" 
: msg.getMessage()).setEscapeModelStrings(false));
+               if (msg != null) {
+                       Room r = msg.getRoom();
+                       if (r != null) {
+                               //TODO add time check
+                               Appointment a = 
getBean(AppointmentDao.class).getByRoom(r.getId());
+                               roomContainer.addOrReplace(new Label("start", a 
== null ? "" : getDateFormat().format(a.getStart())));
+                               roomContainer.addOrReplace(new Label("end", a 
== null ? "" : getDateFormat().format(a.getEnd())));
+                               roomContainer.addOrReplace(new 
Button("enter").add(new RoomEnterBehavior(r.getId())));
+                       }
+                       roomContainer.setVisible(r != null);
+               }
+               if (target != null) {
+                       target.add(selectedMessage);
+                       updateControls(target);
+               }
+       }
+
+       void updateTable(AjaxRequestTarget target) {
+               container.add(fixedTable);
+               if (target != null) {
+                       target.add(container);
+               }
+       }
+
+       private void selectFolder(WebMarkupContainer folder, Long id, 
AjaxRequestTarget target) {
+               selectedFolder = folder;
+               selectedFolderModel.setObject(id);
+               setDefaultFolderClass();
+               selectFolder(folder);
+               emptySelection(target);
+               selectDropDown.setModelObject(SELECT_CHOOSE);
+               moveDropDown.setModelObject(NOT_MOVE_FOLDER);
+               deleteBtn.add(AttributeModifier.replace("value", 
Application.getString(TRASH_FOLDER_ID.equals(id) ? "1256" : "80")));
+               readBtn.setEnabled(false);
+               unreadBtn.setEnabled(false);
+               if (target != null) {
+                       updateTable(target);
+                       target.add(folders, unread, selectDropDown, 
moveDropDown);
+                       target.add(dataContainer.getContainer(), 
dataContainer.getNavigator());
+                       target.add(dataContainer.getLinks());
+               }
+       }
+
+       private void emptySelection(AjaxRequestTarget target) {
+               selectedMessages.clear();
+               selectMessage(-1, target);
+               
unread.setDefaultModelObject(getBean(PrivateMessageDao.class).count(getUserId(),
 selectedFolderModel.getObject(), null));
+               if (target != null) {
+                       target.add(unread);
+               }
+       }
+
+       private static String getDisplayName(User u) {
+               return new StringBuilder().append(u.getFirstname()).append(" ")
+                               .append(u.getLastname()).append(" ")
+                               .append("<").append(getEmail(u)).append(">")
+                               .toString();
+       }
+
+       private void updateMoveModel() {
+               List<PrivateMessageFolder> list = new ArrayList<>();
+               list.add(NOT_MOVE_FOLDER);
+               list.addAll(foldersModel.getObject());
+               moveDropDown.setChoices(list);
+       }
+
+       private void updateContacts(AjaxRequestTarget target) {
+               
pendingContacts.setDefaultModelObject(getBean(UserContactDao.class).getContactRequestsByUserAndStatus(getUserId(),
 true).size());
+               
allContacts.setDefaultModelObject(getBean(UserContactDao.class).getContactsByUserAndStatus(getUserId(),
 false).size());
+               if (target != null) {
+                       target.add(contacts);
+               }
+       }
+
        @Override
        public void onNewMessageClose(IPartialPageRequestHandler handler) {
                handler.add(container);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
index f458a70..3a2e19b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/UserSearchPanel.java
@@ -63,10 +63,6 @@ public class UserSearchPanel extends UserBasePanel {
        private final WebMarkupContainer container = new 
WebMarkupContainer("container");
        private final FixedHeaderTableBehavior fixedHeader = new 
FixedHeaderTableBehavior("#searchUsersTable", new Options("height", 400));
 
-       private void refresh(IPartialPageRequestHandler handler) {
-               handler.add(container.add(fixedHeader));
-       }
-
        public UserSearchPanel(String id) {
                super(id);
 
@@ -139,6 +135,10 @@ public class UserSearchPanel extends UserBasePanel {
                }).setOutputMarkupId(true));
        }
 
+       private void refresh(IPartialPageRequestHandler handler) {
+               handler.add(container.add(fixedHeader));
+       }
+
        private static String getName(User u) {
                return "" + u.getFirstname() + " " + u.getLastname() + " [" + 
u.getLogin() + "]"; //FIXME salutation
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
index 7bef570..a8a1235 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/profile/WidgetsPanel.java
@@ -49,14 +49,6 @@ import org.wicketstuff.dashboard.web.DashboardContext;
 public class WidgetsPanel extends Panel {
        private static final long serialVersionUID = 1L;
 
-       private static Widget isDisplayed(WidgetDescriptor wd) {
-               for (Widget w : getDashboard().getWidgets()) {
-                       if 
(w.getClass().getName().equals(wd.getWidgetClassName())) {
-                               return w;
-                       }
-               }
-               return null;
-       }
        public WidgetsPanel(String id) {
                super(id);
 
@@ -108,5 +100,13 @@ public class WidgetsPanel extends Panel {
                        }
                });
        }
-}
 
+       private static Widget isDisplayed(WidgetDescriptor wd) {
+               for (Widget w : getDashboard().getWidgets()) {
+                       if 
(w.getClass().getName().equals(wd.getWidgetClassName())) {
+                               return w;
+                       }
+               }
+               return null;
+       }
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
index 29241ae..8e38b74 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
@@ -109,18 +109,6 @@ public class OmUrlFragment implements Serializable {
                , myTabButton
        }
 
-       public static OmUrlFragment get() {
-               String[] arr = 
getBean(ConfigurationDao.class).getString(CONFIG_DEFAULT_LANDING_ZONE, 
"").split("/");
-               if (arr != null && arr.length == 2) {
-                       try {
-                               return new 
OmUrlFragment(AreaKeys.valueOf(arr[0]), arr[1]);
-                       } catch (Exception e) {
-                               // no-op
-                       }
-               }
-               return DASHBOARD;
-       }
-
        public OmUrlFragment(AreaKeys area, String type) {
                this.setArea(area);
                this.setType(type);
@@ -207,6 +195,18 @@ public class OmUrlFragment implements Serializable {
                }
        }
 
+       public static OmUrlFragment get() {
+               String[] arr = 
getBean(ConfigurationDao.class).getString(CONFIG_DEFAULT_LANDING_ZONE, 
"").split("/");
+               if (arr != null && arr.length == 2) {
+                       try {
+                               return new 
OmUrlFragment(AreaKeys.valueOf(arr[0]), arr[1]);
+                       } catch (Exception e) {
+                               // no-op
+                       }
+               }
+               return DASHBOARD;
+       }
+
        public AreaKeys getArea() {
                return area;
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
index 1dc6e0f..59cdc3f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/UserChoiceProvider.java
@@ -33,7 +33,6 @@ import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.validation.Validatable;
 import org.wicketstuff.select2.Response;
 
-import com.github.openjson.JSONException;
 import com.github.openjson.JSONStringer;
 
 public class UserChoiceProvider extends RestrictiveChoiceProvider<User> {
@@ -118,7 +117,7 @@ public class UserChoiceProvider extends 
RestrictiveChoiceProvider<User> {
        }
 
        @Override
-       public void toJson(User choice, JSONStringer stringer) throws 
JSONException {
+       public void toJson(User choice, JSONStringer stringer) {
                super.toJson(choice, stringer);
                stringer.key("contact").value(choice.getType() == Type.contact);
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
index 15c46a3..46cb29d 100644
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
+++ 
b/openmeetings-web/src/test/java/org/apache/openmeetings/AbstractWicketTester.java
@@ -92,6 +92,7 @@ public class AbstractWicketTester extends 
AbstractJUnitDefaults {
                assertNotNull("Web session should not be null", 
WebSession.get());
                Locale[] locales = Locale.getAvailableLocales();
                
tester.getSession().setLocale(locales[rnd.nextInt(locales.length)]);
+               tester.getSession().setLocale(Locale.forLanguageTag("ru"));
        }
 
        public void login(String login, String password) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.java
index d20b2eb..8fa2d0e 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.java
@@ -31,7 +31,6 @@ import java.lang.reflect.Type;
 import java.util.List;
 
 import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.MessageBodyWriter;
@@ -65,7 +64,7 @@ public class AppointmentListMessageBodyWriter implements 
MessageBodyWriter<List<
        @Override
        public void writeTo(List<AppointmentDTO> t, Class<?> type, Type 
genericType, Annotation[] annotations,
                        MediaType mediaType, MultivaluedMap<String, Object> 
httpHeaders, OutputStream out)
-                       throws IOException, WebApplicationException
+                       throws IOException
        {
                Writer writer = new OutputStreamWriter(out, UTF_8);
                JSONArray rr = new JSONArray();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.java
index 76128ab..812fb0f 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.java
@@ -28,7 +28,6 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
 import javax.ws.rs.Consumes;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.MessageBodyReader;
@@ -47,7 +46,7 @@ public class AppointmentMessageBodyReader implements 
MessageBodyReader<Appointme
        @Override
        public AppointmentDTO readFrom(Class<AppointmentDTO> clazz, Type type, 
Annotation[] annotations,
                        MediaType mediaType, MultivaluedMap<String, String> 
httpHeaders, InputStream entityStream)
-                       throws IOException, WebApplicationException
+                       throws IOException
        {
                BufferedReader br = new BufferedReader(new 
InputStreamReader(entityStream, UTF_8));
                String line;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.java
index 563b937..736c2a9 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.java
@@ -29,7 +29,6 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
 import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.MessageBodyWriter;
@@ -55,7 +54,7 @@ public class AppointmentMessageBodyWriter implements 
MessageBodyWriter<Appointme
        @Override
        public void writeTo(AppointmentDTO t, Class<?> type, Type genericType, 
Annotation[] annotations,
                        MediaType mediaType, MultivaluedMap<String, Object> 
httpHeaders, OutputStream out)
-                       throws IOException, WebApplicationException
+                       throws IOException
        {
                Writer writer = new OutputStreamWriter(out, UTF_8);
                writer.write(new JSONObject().put(ROOT, 
AppointmentParamConverter.json(t)).toString());

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/9fc045e5/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/UserMessageBodyWriter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/UserMessageBodyWriter.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/UserMessageBodyWriter.java
index 1254941..b97b173 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/UserMessageBodyWriter.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/util/UserMessageBodyWriter.java
@@ -29,7 +29,6 @@ import java.lang.annotation.Annotation;
 import java.lang.reflect.Type;
 
 import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.MessageBodyWriter;
@@ -55,7 +54,7 @@ public class UserMessageBodyWriter implements 
MessageBodyWriter<UserDTO> {
        @Override
        public void writeTo(UserDTO t, Class<?> type, Type genericType, 
Annotation[] annotations,
                        MediaType mediaType, MultivaluedMap<String, Object> 
httpHeaders, OutputStream out)
-                       throws IOException, WebApplicationException
+                       throws IOException
        {
                Writer writer = new OutputStreamWriter(out, UTF_8);
                writer.write(new JSONObject().put(ROOT, 
UserParamConverter.json(t)).toString());

Reply via email to