[OPENMEETINGS-551] merged changes to 3.2.x

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

Branch: refs/heads/3.2.x
Commit: 97f7b9a3695c650d6ea05af7e07c2ecc5bc8138a
Parents: b40d794
Author: Maxim Solodovnik <[email protected]>
Authored: Sat Apr 8 11:02:23 2017 +0000
Committer: Maxim Solodovnik <[email protected]>
Committed: Sat Apr 8 11:02:23 2017 +0000

----------------------------------------------------------------------
 .../core/converter/BaseConverter.java           |  5 ++-
 .../core/converter/GenerateSWF.java             | 20 ++++-----
 .../openmeetings/web/common/NameDialog.java     |  2 +-
 .../web/common/tree/FileTreePanel.java          |  4 +-
 .../web/pages/InvitationPasswordDialog.java     |  6 +--
 .../web/pages/auth/ForgetPasswordDialog.java    | 13 +-----
 .../web/pages/auth/KickMessageDialog.java       |  5 +--
 .../web/pages/auth/RegisterDialog.java          | 25 ++---------
 .../web/pages/auth/ResetPasswordDialog.java     | 19 ++------
 .../web/pages/auth/SignInDialog.java            |  6 +--
 .../web/pages/install/InstallWizard.java        | 20 ++++-----
 .../openmeetings/web/room/NicknameDialog.java   |  6 +--
 .../web/room/RedirectMessageDialog.java         | 25 +++++------
 .../web/room/RoomFileResourceReference.java     |  3 +-
 .../web/room/RoomPdfResourceReference.java      |  3 +-
 .../web/room/RoomResourceReference.java         |  2 +-
 .../web/room/sidebar/icon/SettingsIcon.java     |  2 +-
 .../web/user/calendar/AppointmentDialog.java    |  2 +-
 .../record/JpgRecordingResourceReference.java   |  3 +-
 .../record/Mp4RecordingResourceReference.java   |  3 +-
 .../web/util/FileItemResourceReference.java     | 10 ++---
 .../web/util/NonClosableDialog.java             | 39 +++++++++++++++++
 .../web/util/NonClosableMessageDialog.java      | 46 ++++++++++++++++++++
 23 files changed, 154 insertions(+), 115 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
index 7d72bf8..4d66de3 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
@@ -55,6 +55,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 public abstract class BaseConverter {
        private static final Logger log = 
Red5LoggerFactory.getLogger(BaseConverter.class, webAppRootKey);
        private static final Pattern p = Pattern.compile("\\d{2,5}(x)\\d{2,5}");
+       public final static String EXEC_EXT = 
System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") < 0 ? "" : 
".exe";
 
        @Autowired
        private ConfigurationDao configurationDao;
@@ -91,11 +92,11 @@ public abstract class BaseConverter {
        }
 
        protected String getPathToConvert() {
-               return getPath(CONFIG_IMAGEMAGIC_PATH, "convert") + 
GenerateSWF.execExt;
+               return getPath(CONFIG_IMAGEMAGIC_PATH, "convert") + EXEC_EXT;
        }
 
        protected String getPathToIdentify() {
-               return getPath(CONFIG_IMAGEMAGIC_PATH, "identify") + 
GenerateSWF.execExt;
+               return getPath(CONFIG_IMAGEMAGIC_PATH, "identify") + EXEC_EXT;
        }
 
        protected File getStreamFolder(Recording recording) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/GenerateSWF.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/GenerateSWF.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/GenerateSWF.java
index eecacad..b0f6d6d 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/GenerateSWF.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/GenerateSWF.java
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.core.converter;
 
+import static org.apache.openmeetings.core.converter.BaseConverter.EXEC_EXT;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.io.File;
@@ -33,16 +34,11 @@ import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class GenerateSWF {
-
        public static final Logger log = 
Red5LoggerFactory.getLogger(GenerateSWF.class, webAppRootKey);
 
        @Autowired
        private ConfigurationDao configurationDao;
 
-       public final static boolean isPosix = 
System.getProperty("os.name").toUpperCase().indexOf("WINDOWS") == -1;
-
-       public final static String execExt = isPosix ? "" : ".exe";
-
        private String getPathToSwfTools() {
                String pathToSWFTools = 
configurationDao.getConfValue("swftools_path", String.class, "");
                // If SWFTools Path is not blank a File.separator at the end of 
the path
@@ -72,16 +68,16 @@ public class GenerateSWF {
        }
 
        public ConverterProcessResult generateSwf(File in, File out) throws 
IOException {
-               
+
                // Create the Content of the Converter Script (.bat or .sh File)
                String[] argv = new String[] {
-                               getPathToSwfTools() + "pdf2swf" + execExt, "-s",
+                               getPathToSwfTools() + "pdf2swf" + EXEC_EXT, 
"-s",
                                "insertstop", // insert Stop command into every 
frame
                                "-s","poly2bitmap", 
//http://www.swftools.org/gfx_tutorial.html#Rendering_pages_to_SWF_files
                                "--flashversion=9", //option to generate as3 
compatible files
                                "-i", // change draw order to reduce pdf 
complexity
-                               "-j", "" + getSwfJpegQuality(), // JPEG Quality 
-                               "-s", "zoom=" + getSwfZoom(), // set zoom dpi 
+                               "-j", "" + getSwfJpegQuality(), // JPEG Quality
+                               "-s", "zoom=" + getSwfZoom(), // set zoom dpi
                                in.getCanonicalPath(),
                                out.getCanonicalPath() };
 
@@ -93,7 +89,7 @@ public class GenerateSWF {
         */
        public ConverterProcessResult generateSwfByImages(List<String> images, 
String outputfile, int fps) {
                List<String> argvList = Arrays.asList(new String[] {
-                               getPathToSwfTools() + "png2swf" + execExt, 
"-s", 
+                               getPathToSwfTools() + "png2swf" + EXEC_EXT, 
"-s",
                                "insertstop", // Insert Stop command into every 
frame
                                "-o", outputfile, "-r", Integer.toString(fps), 
"-z" });
 
@@ -106,7 +102,7 @@ public class GenerateSWF {
         */
        public ConverterProcessResult generateSWFByCombine(List<String> swfs, 
String outputswf, int fps) {
                List<String> argvList = Arrays.asList(new String[] {
-                               getPathToSwfTools() + "swfcombine" + execExt, 
"-s",
+                               getPathToSwfTools() + "swfcombine" + EXEC_EXT, 
"-s",
                                "insertstop", // Insert Stop command into every 
frame
                                "-o", outputswf, "-r", Integer.toString(fps), 
"-z", "-a" });
 
@@ -117,7 +113,7 @@ public class GenerateSWF {
        public ConverterProcessResult generateSWFByFFMpeg(String inputWildCard,
                        String outputswf, int fps, int width, int height) {
                // FIXME: ffmpeg should be on the system path
-               String[] argv = new String[] { "ffmpeg" + execExt, "-r",
+               String[] argv = new String[] { "ffmpeg" + EXEC_EXT, "-r",
                                Integer.toString(fps), "-i", inputWildCard, 
"-s",
                                width + "x" + height, "-b", "750k", "-ar", 
"44100", "-y",
                                outputswf };

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/NameDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/NameDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/NameDialog.java
index ab4c811..5a7992d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/NameDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/NameDialog.java
@@ -40,7 +40,7 @@ public abstract class NameDialog extends 
AbstractFormDialog<String> {
        private final DialogButton add;
        private final DialogButton cancel = new DialogButton("cancel", 
Application.getString(219));
        private final Form<String> form;
-       private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
+       protected final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        private final String name;
        private RequiredTextField<String> title;
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
index dff9122..37552d2 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
@@ -38,9 +38,9 @@ import 
org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.db.entity.record.Recording;
-import org.apache.openmeetings.web.common.NameDialog;
 import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
 import 
org.apache.openmeetings.web.common.ConfirmableAjaxBorder.ConfirmableBorderDialog;
+import org.apache.openmeetings.web.common.NameDialog;
 import org.apache.openmeetings.web.util.AjaxDownload;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
@@ -149,7 +149,7 @@ public abstract class FileTreePanel extends Panel {
                                                                String 
statement = "var $drop = $(this);";
                                                                statement += 
"$('body').append('<div id=" + dialogId + ">" + getString("713") + "</div>');";
                                                                statement += 
"$( '#" + dialogId
-                                                                               
+ "' ).dialog({ title: '" + escapeEcmaScript(getString("80")) + "', 
dialogClass: 'no-close', buttons: [";
+                                                                               
+ "' ).dialog({ title: '" + escapeEcmaScript(getString("80")) + "', classes: 
{'ui-dialog-titlebar': 'ui-corner-all no-close'}, buttons: [";
                                                                statement += "  
{ text: '" + escapeEcmaScript(getString("54")) + "', click: function() { 
$drop.append(ui.draggable); $(this).dialog('close'); " + 
super.getCallbackFunctionBody(parameters) + " } },";
                                                                statement += "  
{ text: '" + escapeEcmaScript(getString("25")) + "', click: function() { 
$(this).dialog('close'); } } ";
                                                                statement += 
"],";

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
index ef994a0..2dddfbb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
@@ -26,6 +26,7 @@ import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.IUpdatable;
+import org.apache.openmeetings.web.util.NonClosableDialog;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
@@ -38,11 +39,10 @@ import org.apache.wicket.validation.ValidationError;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
-public class InvitationPasswordDialog extends AbstractFormDialog<Invitation> {
+public class InvitationPasswordDialog extends NonClosableDialog<Invitation> {
        private static final long serialVersionUID = 1L;
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
        private final DialogButton check = new DialogButton("check", 
Application.getString(537));
@@ -87,8 +87,6 @@ public class InvitationPasswordDialog extends 
AbstractFormDialog<Invitation> {
                super.onConfigure(behavior);
                Invitation i = WebSession.get().getInvitation();
                behavior.setOption("autoOpen", i != null && 
i.isPasswordProtected());
-               behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/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 e89f9f7..0767e03 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
@@ -32,6 +32,7 @@ import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.service.mail.template.ResetPasswordTemplate;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.pages.ResetPage;
+import org.apache.openmeetings.web.util.NonClosableMessageDialog;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
@@ -48,12 +49,9 @@ import 
org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 
-import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
 import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
@@ -136,17 +134,10 @@ public class ForgetPasswordDialog extends 
AbstractFormDialog<String> {
                                super.onDetach();
                        }
                });
-               confirmDialog = new MessageDialog("confirmDialog", 
Application.getString(312), Application.getString(321), DialogButtons.OK, 
DialogIcon.INFO){
+               confirmDialog = new NonClosableMessageDialog("confirmDialog", 
Application.getString(312), Application.getString(321)){
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public void onConfigure(JQueryBehavior behavior) {
-                               super.onConfigure(behavior);
-                               behavior.setOption("dialogClass", 
Options.asString("no-close"));
-                               behavior.setOption("closeOnEscape", false);
-                       }
-
-                       @Override
                        public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
                                s.open(handler);
                        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
index 0bea145..b2f489f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/KickMessageDialog.java
@@ -24,7 +24,6 @@ import 
org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
 import org.apache.wicket.markup.html.basic.Label;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
-import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 
@@ -40,13 +39,13 @@ public class KickMessageDialog extends 
AbstractDialog<String> {
                super.onInitialize();
                add(new Label("message", getString("606")));
        };
-       
+
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("autoOpen", true);
                behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
+               behavior.setOption("classes", "{'ui-dialog-titlebar': 
'ui-corner-all no-close'}");
                behavior.setOption("resizable", false);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
index 9306db1..b2fc869 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
@@ -39,6 +39,8 @@ import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.LanguageDropDown;
 import org.apache.openmeetings.web.util.CountryDropDown;
+import org.apache.openmeetings.web.util.NonClosableDialog;
+import org.apache.openmeetings.web.util.NonClosableMessageDialog;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
@@ -55,16 +57,12 @@ import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 
-import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
 import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
-public class RegisterDialog extends AbstractFormDialog<String> {
+public class RegisterDialog extends NonClosableDialog<String> {
        private static final long serialVersionUID = 1L;
        private static final Logger log = 
Red5LoggerFactory.getLogger(RegisterDialog.class, webAppRootKey);
        private DialogButton cancelBtn = new DialogButton("cancel", 
Application.getString(122));
@@ -92,18 +90,10 @@ public class RegisterDialog extends 
AbstractFormDialog<String> {
                form.setOutputMarkupId(true);
                tzDropDown.setOutputMarkupId(true);
 
-               confirmRegistration = new MessageDialog("confirmRegistration", 
Application.getString(235),
-                               Application.getString(674), DialogButtons.OK, 
DialogIcon.INFO) {
+               confirmRegistration = new 
NonClosableMessageDialog("confirmRegistration", Application.getString(235), 
Application.getString(674)) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public void onConfigure(JQueryBehavior behavior) {
-                               super.onConfigure(behavior);
-                               behavior.setOption("dialogClass", 
Options.asString("no-close"));
-                               behavior.setOption("closeOnEscape", false);
-                       }
-
-                       @Override
                        public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
                                s.open(handler);
                        }
@@ -112,13 +102,6 @@ public class RegisterDialog extends 
AbstractFormDialog<String> {
                reset();
        }
 
-       @Override
-       public void onConfigure(JQueryBehavior behavior) {
-               super.onConfigure(behavior);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
-               behavior.setOption("closeOnEscape", false);
-       }
-
        public void setSignInDialog(SignInDialog s) {
                this.s = s;
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
index e0fefec..8346aa1 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/ResetPasswordDialog.java
@@ -29,6 +29,8 @@ import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.NonClosableDialog;
+import org.apache.openmeetings.web.util.NonClosableMessageDialog;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
@@ -39,14 +41,11 @@ import org.apache.wicket.model.Model;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
-import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
 import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
-public class ResetPasswordDialog extends AbstractFormDialog<String> {
+public class ResetPasswordDialog extends NonClosableDialog<String> {
        private static final long serialVersionUID = 1L;
        private DialogButton resetBtn = new DialogButton("reset", 
Application.getString(327));
        private Form<String> form;
@@ -101,18 +100,10 @@ public class ResetPasswordDialog extends 
AbstractFormDialog<String> {
                        }
 
                });
-               confirmReset = new MessageDialog("confirmReset", 
Application.getString(325), Application.getString(332),
-                               DialogButtons.OK, DialogIcon.INFO) {
+               confirmReset = new NonClosableMessageDialog("confirmReset", 
Application.getString(325), Application.getString(332)) {
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public void onConfigure(JQueryBehavior behavior) {
-                               super.onConfigure(behavior);
-                               behavior.setOption("dialogClass", 
Options.asString("no-close"));
-                               behavior.setOption("closeOnEscape", false);
-                       }
-
-                       @Override
                        public void onClose(IPartialPageRequestHandler handler, 
DialogButton button) {
                                
setResponsePage(Application.get().getSignInPageClass());
                        }
@@ -124,8 +115,6 @@ public class ResetPasswordDialog extends 
AbstractFormDialog<String> {
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("autoOpen", true);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
-               behavior.setOption("closeOnEscape", false);
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
index 186a72b..4349a8f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
@@ -42,6 +42,7 @@ import 
org.apache.openmeetings.web.app.OmAuthenticationStrategy;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.OmAjaxClientInfoBehavior;
 import org.apache.openmeetings.web.pages.HashPage;
+import org.apache.openmeetings.web.util.NonClosableDialog;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.ajax.AjaxEventBehavior;
@@ -72,11 +73,10 @@ import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.effect.JQueryEffectBehavior;
 import com.googlecode.wicket.jquery.ui.form.button.Button;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
-public class SignInDialog extends AbstractFormDialog<String> {
+public class SignInDialog extends NonClosableDialog<String> {
        private static final long serialVersionUID = 1L;
        private Form<String> form;
        private DialogButton loginBtn = new DialogButton("login", 
Application.getString(112));
@@ -107,8 +107,6 @@ public class SignInDialog extends 
AbstractFormDialog<String> {
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("autoOpen", true);
-               behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/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 f9196ae..fc006ba 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
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.pages.install;
 
+import static org.apache.openmeetings.core.converter.BaseConverter.EXEC_EXT;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -40,7 +41,6 @@ import java.util.Locale;
 import java.util.Map;
 
 import org.apache.openmeetings.cli.ConnectionPropertiesPatcher;
-import org.apache.openmeetings.core.converter.GenerateSWF;
 import org.apache.openmeetings.db.dao.label.LabelDao;
 import org.apache.openmeetings.installation.ImportInitvalues;
 import org.apache.openmeetings.installation.InstallationConfig;
@@ -135,7 +135,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
+               behavior.setOption("classes", "{'ui-dialog-titlebar': 
'ui-corner-all no-close'}");
                behavior.setOption("resizable", false);
        }
 
@@ -505,7 +505,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                                private static final long serialVersionUID = 1L;
                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target) {
-                                       checkToolPath(swfPath, new String[] 
{InstallWizard.getPath(swfPath.getValue(), "pdf2swf" + GenerateSWF.execExt), 
"--version"});
+                                       checkToolPath(swfPath, new String[] 
{InstallWizard.getPath(swfPath.getValue(), "pdf2swf" + EXEC_EXT), "--version"});
                                        target.add(getFeedbackPanel());
                                }
                        });
@@ -514,7 +514,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                                private static final long serialVersionUID = 1L;
                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target) {
-                                       checkToolPath(imageMagicPath, new 
String[] {InstallWizard.getPath(imageMagicPath.getValue(), "convert" + 
GenerateSWF.execExt), "-version"});
+                                       checkToolPath(imageMagicPath, new 
String[] {InstallWizard.getPath(imageMagicPath.getValue(), "convert" + 
EXEC_EXT), "-version"});
                                        target.add(getFeedbackPanel());
                                }
                        });
@@ -523,7 +523,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                                private static final long serialVersionUID = 1L;
                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target) {
-                                       checkToolPath(ffmpegPath, new String[] 
{InstallWizard.getPath(ffmpegPath.getValue(), "ffmpeg" + GenerateSWF.execExt), 
"-version"});
+                                       checkToolPath(ffmpegPath, new String[] 
{InstallWizard.getPath(ffmpegPath.getValue(), "ffmpeg" + EXEC_EXT), 
"-version"});
                                        target.add(getFeedbackPanel());
                                }
                        });
@@ -532,7 +532,7 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                                private static final long serialVersionUID = 1L;
                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target) {
-                                       checkToolPath(soxPath, new String[] 
{InstallWizard.getPath(soxPath.getValue(), "sox" + GenerateSWF.execExt), 
"--version"});
+                                       checkToolPath(soxPath, new String[] 
{InstallWizard.getPath(soxPath.getValue(), "sox" + EXEC_EXT), "--version"});
                                        target.add(getFeedbackPanel());
                                }
                        });
@@ -580,10 +580,10 @@ public class InstallWizard extends 
AbstractWizard<InstallationConfig> {
                }
 
                private boolean checkAllPath() {
-                       boolean result = checkToolPath(swfPath, new String[] 
{InstallWizard.getPath(swfPath.getValue(), "pdf2swf" + GenerateSWF.execExt), 
"--version"});
-                       result = checkToolPath(imageMagicPath, new String[] 
{InstallWizard.getPath(imageMagicPath.getValue(), "convert" + 
GenerateSWF.execExt), "-version"}) && result;
-                       result = checkToolPath(ffmpegPath, new String[] 
{InstallWizard.getPath(ffmpegPath.getValue(), "ffmpeg" + GenerateSWF.execExt), 
"-version"}) && result;
-                       result = checkToolPath(soxPath, new String[] 
{InstallWizard.getPath(soxPath.getValue(), "sox" + GenerateSWF.execExt), 
"--version"}) && result;
+                       boolean result = checkToolPath(swfPath, new String[] 
{InstallWizard.getPath(swfPath.getValue(), "pdf2swf" + EXEC_EXT), "--version"});
+                       result = checkToolPath(imageMagicPath, new String[] 
{InstallWizard.getPath(imageMagicPath.getValue(), "convert" + EXEC_EXT), 
"-version"}) && result;
+                       result = checkToolPath(ffmpegPath, new String[] 
{InstallWizard.getPath(ffmpegPath.getValue(), "ffmpeg" + EXEC_EXT), 
"-version"}) && result;
+                       result = checkToolPath(soxPath, new String[] 
{InstallWizard.getPath(soxPath.getValue(), "sox" + EXEC_EXT), "--version"}) && 
result;
                        result = checkOfficePath() && result;
                        isAllChecked = true;
                        return result;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
index 094e38b..76879e5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/NicknameDialog.java
@@ -27,6 +27,7 @@ import java.util.List;
 import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.NonClosableDialog;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import 
org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
 import org.apache.wicket.markup.html.form.Form;
@@ -37,11 +38,10 @@ import org.apache.wicket.util.string.Strings;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
-import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.kendo.ui.panel.KendoFeedbackPanel;
 
-public class NicknameDialog extends AbstractFormDialog<User> {
+public class NicknameDialog extends NonClosableDialog<User> {
        private static final long serialVersionUID = 1L;
        private static final FastDateFormat TIME_DF = 
FastDateFormat.getInstance("HH:mm:ss");
        private final KendoFeedbackPanel feedback = new 
KendoFeedbackPanel("feedback", new Options("button", true));
@@ -72,8 +72,6 @@ public class NicknameDialog extends AbstractFormDialog<User> {
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("autoOpen", 
isVisible(form.getModelObject()));
-               behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RedirectMessageDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RedirectMessageDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RedirectMessageDialog.java
index 9da7695..76bd5c5 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RedirectMessageDialog.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RedirectMessageDialog.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 
 import org.apache.directory.api.util.Strings;
 import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.util.NonClosableMessageDialog;
 import org.apache.wicket.Component;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -30,26 +31,24 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.request.flow.RedirectToUrlException;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
-import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
-import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;
 
-public class RedirectMessageDialog extends MessageDialog {
+public class RedirectMessageDialog extends NonClosableMessageDialog {
        private static final long serialVersionUID = 1L;
        private final String labelId;
        private final String url;
        private final int delay = 5;
        private final boolean autoOpen;
-       private Component label; 
-       
+       private Component label;
+
        public RedirectMessageDialog(String id, String labelId, boolean 
autoOpen, String url) {
                super(id, Application.getString(204), "", new 
ArrayList<DialogButton>(), DialogIcon.ERROR);
                this.labelId = labelId;
                this.url = url;
                this.autoOpen = autoOpen;
        }
-       
+
        @Override
        protected void onInitialize() {
                super.onInitialize();
@@ -75,36 +74,34 @@ public class RedirectMessageDialog extends MessageDialog {
                        handler.add(label);
                }
        }
-       
+
        @Override
        protected void onOpen(IPartialPageRequestHandler handler) {
                super.onOpen(handler);
                startTimer(handler);
        }
-       
+
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
                behavior.setOption("autoOpen", autoOpen);
-               behavior.setOption("closeOnEscape", false);
-               behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);
        }
-       
+
        @Override
        public boolean isModal() {
                return true;
        }
-       
+
        @Override
        public boolean isDefaultCloseEventEnabled() {
                return false;
        }
-       
+
        @Override
        public void onClose(IPartialPageRequestHandler handler, DialogButton 
button) {
        }
-       
+
        @Override
        protected Component newLabel(String id, IModel<String> model) {
                label = super.newLabel(id, model);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
index 91ea518..2d6831f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomFileResourceReference.java
@@ -23,6 +23,7 @@ import static 
org.apache.openmeetings.util.OmFileHelper.getFileExt;
 import java.io.File;
 
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.wicket.request.resource.IResource.Attributes;
 
 public class RoomFileResourceReference extends RoomResourceReference {
        private static final long serialVersionUID = 1L;
@@ -42,7 +43,7 @@ public class RoomFileResourceReference extends 
RoomResourceReference {
        }
 
        @Override
-       protected File getFile(FileExplorerItem r) {
+       protected File getFile(FileExplorerItem r, Attributes attr) {
                return getFile(r, getFileExt(r.getName()));
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
index 113c98a..36fba0f 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPdfResourceReference.java
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.room;
 import java.io.File;
 
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.wicket.request.resource.IResource.Attributes;
 
 public class RoomPdfResourceReference extends RoomResourceReference {
        private static final long serialVersionUID = 1L;
@@ -40,7 +41,7 @@ public class RoomPdfResourceReference extends 
RoomResourceReference {
        }
 
        @Override
-       protected File getFile(FileExplorerItem r) {
+       protected File getFile(FileExplorerItem r, Attributes attr) {
                return getFile(r, "pdf");
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
index 1b614d8..4df920d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomResourceReference.java
@@ -125,7 +125,7 @@ public class RoomResourceReference extends 
FileItemResourceReference<FileExplore
        }
 
        @Override
-       protected File getFile(FileExplorerItem f) {
+       protected File getFile(FileExplorerItem f, Attributes attr) {
                return getFile(f, Type.Video == f.getType() && preview ? 
EXTENSION_JPG : null);
        }
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
index 566dae5..2f0565b 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/SettingsIcon.java
@@ -24,7 +24,7 @@ import org.apache.openmeetings.web.room.RoomPanel;
 
 public class SettingsIcon extends ClientIcon {
        private static final long serialVersionUID = 1L;
-       
+
        public SettingsIcon(String id, Client client, RoomPanel room) {
                super(id, client, room);
                mainCssClass = "settings ";

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/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 bb7e55a..e468e36 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
@@ -129,7 +129,7 @@ public class AppointmentDialog extends 
AbstractFormDialog<Appointment> {
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
-               behavior.setOption("dialogClass", 
Options.asString("appointment"));
+               behavior.setOption("classes", "{'ui-dialog': 'ui-corner-all 
appointment'}");
        }
 
        public void setModelObjectWithAjaxTarget(Appointment a, 
AjaxRequestTarget target) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
index f854d5b..5eb2acb 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/JpgRecordingResourceReference.java
@@ -25,6 +25,7 @@ import static 
org.apache.openmeetings.util.OmFileHelper.recordingFileName;
 import java.io.File;
 
 import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.wicket.request.resource.IResource.Attributes;
 
 public class JpgRecordingResourceReference extends RecordingResourceReference {
        private static final long serialVersionUID = 1L;
@@ -44,7 +45,7 @@ public class JpgRecordingResourceReference extends 
RecordingResourceReference {
        }
 
        @Override
-       protected File getFile(Recording r) {
+       protected File getFile(Recording r, Attributes attr) {
                return r.getFile(EXTENSION_JPG);
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
index fa37bf9..3008d81 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/record/Mp4RecordingResourceReference.java
@@ -25,6 +25,7 @@ import static 
org.apache.openmeetings.util.OmFileHelper.recordingFileName;
 import java.io.File;
 
 import org.apache.openmeetings.db.entity.record.Recording;
+import org.apache.wicket.request.resource.IResource.Attributes;
 
 public class Mp4RecordingResourceReference extends RecordingResourceReference {
        private static final long serialVersionUID = 1L;
@@ -44,7 +45,7 @@ public class Mp4RecordingResourceReference extends 
RecordingResourceReference {
        }
 
        @Override
-       protected File getFile(Recording r) {
+       protected File getFile(Recording r, Attributes attr) {
                return r.getFile();
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
index c82f55a..d2f5ac0 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/FileItemResourceReference.java
@@ -54,10 +54,10 @@ public abstract class FileItemResourceReference<T extends 
FileItem> extends File
                        }
 
                        @Override
-                       protected ResourceResponse 
newResourceResponse(Attributes attributes) {
-                               r = getFileItem(attributes);
+                       protected ResourceResponse 
newResourceResponse(Attributes attr) {
+                               r = getFileItem(attr);
                                if (r != null) {
-                                       file = getFile(r);
+                                       file = getFile(r, attr);
                                        ResourceResponse rr = 
createResourceResponse(file.toPath());
                                        rr.setFileName(getFileName(r));
                                        return rr;
@@ -73,6 +73,6 @@ public abstract class FileItemResourceReference<T extends 
FileItem> extends File
 
        protected abstract String getMimeType(T r);
        protected abstract String getFileName(T r);
-       protected abstract File getFile(T r);
-       protected abstract T getFileItem(Attributes attributes);
+       protected abstract File getFile(T r, Attributes attr);
+       protected abstract T getFileItem(Attributes attr);
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableDialog.java
new file mode 100644
index 0000000..8f8a5ec
--- /dev/null
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableDialog.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import java.io.Serializable;
+
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+
+public abstract class NonClosableDialog<T extends Serializable> extends 
AbstractFormDialog<T> {
+       private static final long serialVersionUID = 1L;
+
+       public NonClosableDialog(String id, String title) {
+               super(id, title);
+       }
+
+       @Override
+       public void onConfigure(JQueryBehavior behavior) {
+               super.onConfigure(behavior);
+               behavior.setOption("closeOnEscape", false);
+               behavior.setOption("classes", "{'ui-dialog-titlebar': 
'ui-corner-all no-close'}");
+       }
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/97f7b9a3/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableMessageDialog.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableMessageDialog.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableMessageDialog.java
new file mode 100644
index 0000000..2778268
--- /dev/null
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/NonClosableMessageDialog.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import java.util.List;
+
+import com.googlecode.wicket.jquery.core.JQueryBehavior;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButtons;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogIcon;
+import com.googlecode.wicket.jquery.ui.widget.dialog.MessageDialog;;
+
+public abstract class NonClosableMessageDialog extends MessageDialog {
+       private static final long serialVersionUID = 1L;
+
+       public NonClosableMessageDialog(String id, String title, String 
message) {
+               super(id, title, message, DialogButtons.OK, DialogIcon.INFO);
+       }
+
+       public NonClosableMessageDialog(String id, String title, String 
message, List<DialogButton> buttons, DialogIcon icon) {
+               super(id, title, message, buttons, icon);
+       }
+
+       @Override
+       public void onConfigure(JQueryBehavior behavior) {
+               super.onConfigure(behavior);
+               behavior.setOption("classes", "{'ui-dialog-titlebar': 
'ui-corner-all no-close'}");
+               behavior.setOption("closeOnEscape", false);
+       }
+}

Reply via email to