This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 025f944  [OPENMEETINGS-2719] RTL re-worked, initial commit
025f944 is described below

commit 025f9445680b12c2ac216e194ac9459eab60d4d9
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Mon Jan 17 10:43:11 2022 +0700

    [OPENMEETINGS-2719] RTL re-worked, initial commit
---
 .../openmeetings/db/entity/label/OmLanguage.java   |  4 +--
 .../apache/openmeetings/db/util/FormatHelper.java  | 40 ----------------------
 .../service/calendar/caldav/IcalUtils.java         | 10 +++---
 .../mail/template/AbstractTemplatePanel.java       |  4 +--
 .../apache/openmeetings/util/mail/IcalHandler.java |  6 ++--
 .../apache/openmeetings/web/common/BasePanel.java  |  3 +-
 .../openmeetings/web/pages/BaseInitedPage.java     |  3 +-
 .../openmeetings/web/pages/BaseNotInitedPage.java  |  7 +---
 .../web/user/dashboard/OmDashboardPanel.java       |  4 +--
 pom.xml                                            | 16 ++++-----
 10 files changed, 23 insertions(+), 74 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/label/OmLanguage.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/label/OmLanguage.java
index b51db93..64cdc0b 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/label/OmLanguage.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/label/OmLanguage.java
@@ -21,7 +21,7 @@ package org.apache.openmeetings.db.entity.label;
 import java.io.Serializable;
 import java.util.Locale;
 
-import org.apache.openmeetings.db.util.FormatHelper;
+import org.apache.wicket.protocol.http.WebSession;
 
 public class OmLanguage implements Serializable {
        private static final long serialVersionUID = 1L;
@@ -35,7 +35,7 @@ public class OmLanguage implements Serializable {
        public OmLanguage(Long id, Locale locale) {
                this.id = id;
                this.locale = locale;
-               this.rtl = FormatHelper.isRtlLanguage(locale.toLanguageTag());
+               this.rtl = WebSession.isRtlLanguage(locale);
        }
 
        public long getId() {
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/FormatHelper.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/FormatHelper.java
index 2a84177..e2900cc 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/FormatHelper.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/FormatHelper.java
@@ -22,52 +22,12 @@ import static java.text.DateFormat.SHORT;
 import static org.apache.commons.text.StringEscapeUtils.escapeHtml4;
 import static org.apache.openmeetings.db.util.TimezoneUtil.getTimeZone;
 
-import java.util.regex.Pattern;
-
 import org.apache.commons.lang3.time.FastDateFormat;
 import org.apache.openmeetings.db.entity.user.User;
 
 public class FormatHelper {
-       /**
-        * taken from BidiUtils
-        *
-        * A regular expression for matching right-to-left language codes. See
-        * {@link #isRtlLanguage} for the design.
-        */
-       private static final Pattern RtlLocalesRe = 
Pattern.compile("^(ar|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))"
-                                       + 
"(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)");
-
        private FormatHelper() {}
 
-       /**
-        * Check if a BCP 47 / III language code indicates an RTL language, i.e.
-        * either: - a language code explicitly specifying one of the 
right-to-left
-        * scripts, e.g. "az-Arab", or
-        * <p>
-        * - a language code specifying one of the languages normally written 
in a
-        * right-to-left script, e.g. "fa" (Farsi), except ones explicitly
-        * specifying Latin or Cyrillic script (which are the usual LTR
-        * alternatives).
-        * <p>
-        * The list of right-to-left scripts appears in the 100-199 range in
-        * http://www.unicode.org/iso15924/iso15924-num.html, of which Arabic 
and
-        * Hebrew are by far the most widely used. We also recognize Thaana, 
N'Ko,
-        * and Tifinagh, which also have significant modern usage. The rest 
(Syriac,
-        * Samaritan, Mandaic, etc.) seem to have extremely limited or no modern
-        * usage and are not recognized. The languages usually written in a
-        * right-to-left script are taken as those with Suppress-Script:
-        * Hebr|Arab|Thaa|Nkoo|Tfng in
-        * http://www.iana.org/assignments/language-subtag-registry, as well as
-        * Sindhi (sd) and Uyghur (ug). The presence of other subtags of the
-        * language code, e.g. regions like EG (Egypt), is ignored.
-        *
-        * @param languageString - locale string
-        * @return <code>true</code> in case passed locale is right-to-left
-        */
-       public static boolean isRtlLanguage(String languageString) {
-               return languageString != null && 
RtlLocalesRe.matcher(languageString).find();
-       }
-
        public static String formatUser(User u) {
                return formatUser(u, false);
        }
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 5c57007..4d7333e 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
@@ -192,7 +192,7 @@ public class IcalUtils {
                event.getProperty(Property.LOCATION).ifPresent(location -> 
a.setLocation(location.getValue()));
 
                event.getProperty(Property.RRULE).ifPresent(recur -> {
-                       recur.getParameters().getFirst("FREQ").ifPresent(freq 
-> {
+                       recur.getParameter("FREQ").ifPresent(freq -> {
                                if 
(freq.getValue().equals(Frequency.DAILY.name())) {
                                        a.setIsDaily(true);
                                } else if 
(freq.getValue().equals(Frequency.WEEKLY.name())) {
@@ -236,7 +236,7 @@ public class IcalUtils {
                        if (SCHEME_MAILTO.equals(uri.getScheme())) {
                                String email = uri.getSchemeSpecificPart();
 
-                               Optional<Role> role = 
attendee.getParameters().getFirst(Role.CHAIR.getName());
+                               Optional<Role> role = 
attendee.getParameter(Role.CHAIR.getName());
                                if (role.isPresent() && 
role.get().getValue().equals(Role.CHAIR.getValue()) && 
email.equals(organizerEmail.get())) {
                                        return;
                                }
@@ -307,7 +307,7 @@ public class IcalUtils {
                        return null;
                }
 
-               return dt.getParameters().getFirst(Parameter.TZID)
+               return dt.getParameter(Parameter.TZID)
                                .map(tzid -> parseDate(dt.getValue(), 
getTimeZone(tzid.getValue())))
                                .orElse(parseDate(dt.getValue(), timeZone));
        }
@@ -377,7 +377,7 @@ public class IcalUtils {
                ZonedDateTime end = getZoneDateTime(appointment.getEnd(), 
timeZone.getID());
 
                VEvent meeting = new VEvent(start, end, appointment.getTitle());
-               List<Property> mProperties = new 
ArrayList<>(meeting.getProperties().getAll());
+               List<Property> mProperties = new 
ArrayList<>(meeting.getProperties());
                if (appointment.getLocation() != null) {
                        mProperties.add(new 
Location(appointment.getLocation()));
                }
@@ -411,7 +411,7 @@ public class IcalUtils {
 
                mProperties.add(new Organizer(new 
ParameterList(List.of(orgCn)), orgUri));
 
-               meeting.setProperties(new PropertyList(mProperties));
+               meeting.setPropertyList(new PropertyList(mProperties));
                return meeting;
        }
 
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 39c0d5f..ee4c982 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
@@ -18,8 +18,6 @@
  */
 package org.apache.openmeetings.service.mail.template;
 
-import static org.apache.openmeetings.db.util.FormatHelper.isRtlLanguage;
-
 import java.util.Locale;
 
 import org.apache.openmeetings.IApplication;
@@ -41,7 +39,7 @@ public abstract class AbstractTemplatePanel extends Panel {
        protected AbstractTemplatePanel(Locale locale) {
                super(COMP_ID);
                this.locale = locale;
-               add(new 
TransparentWebMarkupContainer("container").add(AttributeModifier.append("dir", 
isRtlLanguage(this.locale.toLanguageTag()) ? "rtl" : "ltr")));
+               add(new 
TransparentWebMarkupContainer("container").add(AttributeModifier.append("dir", 
WebSession.isRtlLanguage(this.locale) ? "rtl" : "ltr")));
        }
 
        public static IWebSession getOmSession() {
diff --git 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
index f324a1b..7a7b85e 100644
--- 
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
+++ 
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
@@ -112,7 +112,7 @@ public class IcalHandler {
                }
 
                meeting = new VEvent(start, end, name);
-               meetingProperties.addAll(meeting.getProperties().getAll());
+               meetingProperties.addAll(meeting.getProperties());
                meetingProperties.addAll(List.of(Transp.OPAQUE, 
Status.VEVENT_CONFIRMED));
                return this;
        }
@@ -173,8 +173,8 @@ public class IcalHandler {
        }
 
        public IcalHandler build() {
-               meeting.setProperties(new PropertyList(meetingProperties));
-               icsCalendar.setComponents(new 
ComponentList<>(List.of(timeZone.getVTimeZone(), meeting)));
+               meeting.setPropertyList(new PropertyList(meetingProperties));
+               icsCalendar.setComponentList(new 
ComponentList<>(List.of(timeZone.getVTimeZone(), meeting)));
                return this;
        }
 
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
index f9cd354..67a855e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/BasePanel.java
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.common;
 
 import java.io.IOException;
 
-import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.menu.MenuPanel;
 import org.apache.openmeetings.web.pages.BasePage;
@@ -55,7 +54,7 @@ public abstract class BasePanel extends Panel {
        }
 
        protected boolean isRtl() {
-               return 
FormatHelper.isRtlLanguage(WebSession.get().getLocale().toLanguageTag());
+               return WebSession.get().isRtlLocale();
        }
 
        /**
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
index 1886f25..3ac0b65 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.web.pages;
 
-import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.WebSession;
 
 public abstract class BaseInitedPage extends BasePage {
@@ -31,6 +30,6 @@ public abstract class BaseInitedPage extends BasePage {
 
        @Override
        public boolean isRtl() {
-               return FormatHelper.isRtlLanguage(getLanguageCode());
+               return WebSession.get().isRtlLocale();
        }
 }
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
index a3b3398..cc62fba 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.web.pages;
 
-import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -34,11 +33,7 @@ public abstract class BaseNotInitedPage extends BasePage {
 
        @Override
        public boolean isRtl() {
-               boolean rtl = false;
-               if (Application.isInstalled()) {
-                       rtl = 
FormatHelper.isRtlLanguage(WebSession.get().getLocale().toString());
-               }
-               return rtl;
+               return Application.isInstalled() ? 
WebSession.get().isRtlLocale() : false;
        }
 
        @Override
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
index 2274add..23c9c3d 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/OmDashboardPanel.java
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.web.user.dashboard;
 
-import org.apache.openmeetings.db.util.FormatHelper;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.UserBasePanel;
 import org.apache.wicket.model.Model;
@@ -30,7 +29,6 @@ public class OmDashboardPanel extends UserBasePanel {
        public OmDashboardPanel(String id) {
                super(id);
 
-               boolean isRtl = 
FormatHelper.isRtlLanguage(WebSession.get().getLocale().toLanguageTag());
-               add(new DashboardPanel("dashboard", 
Model.of(WebSession.getDashboard())).setRtlModel(Model.of(isRtl)));
+               add(new DashboardPanel("dashboard", 
Model.of(WebSession.getDashboard())));
        }
 }
diff --git a/pom.xml b/pom.xml
index ca387b8..c0cb06e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,12 +54,12 @@
                
<license-maven-plugin.version>2.0.0</license-maven-plugin.version>
                <reflow-maven-skin.version>2.3.0</reflow-maven-skin.version>
                <reflow-theme>cerulean</reflow-theme>
-               
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+               
<maven-compiler-plugin.version>3.9.0</maven-compiler-plugin.version>
                
<maven-project-info-reports-plugin.version>3.1.2</maven-project-info-reports-plugin.version>
-               <maven-jar-plugin.version>3.2.1</maven-jar-plugin.version>
+               <maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
                
<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
                
<maven-dependency-plugin.version>3.2.0</maven-dependency-plugin.version>
-               <maven-bundle-plugin.version>5.1.1</maven-bundle-plugin.version>
+               <maven-bundle-plugin.version>5.1.4</maven-bundle-plugin.version>
                <maven-war-plugin.version>3.3.2</maven-war-plugin.version>
                <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
                <wagon-maven-plugin.version>2.0.2</wagon-maven-plugin.version>
@@ -80,14 +80,14 @@
                <swagger-plugin.version>2.1.6</swagger-plugin.version>
                <!-- dependency versions -->
                <junit.version>5.8.2</junit.version>
-               <wicket.version>9.7.0</wicket.version>
+               <wicket.version>9.8.0-SNAPSHOT</wicket.version>
                <wicket-jquery-ui.version>9.7.0</wicket-jquery-ui.version>
-               <wicketstuff.version>9.7.0</wicketstuff.version>
+               <wicketstuff.version>9.8.0-SNAPSHOT</wicketstuff.version>
                
<wicket-bootstrap.version>6.0.0-M6-SNAPSHOT</wicket-bootstrap.version>
                <font-awesome.version>5.15.4</font-awesome.version>
-               <spring.version>5.3.14</spring.version>
+               <spring.version>5.3.15</spring.version>
                <tomcat.version>9.0.56</tomcat.version>
-               <ical4j.version>4.0.0-alpha10</ical4j.version>
+               <ical4j.version>4.0.0-alpha11</ical4j.version>
                <cxf.version>3.5.0</cxf.version>
                <io.prometheus.version>0.14.1</io.prometheus.version>
                <aspectjtools.version>1.9.7</aspectjtools.version>
@@ -113,7 +113,7 @@
                <commons-collections4.version>4.4</commons-collections4.version>
                <xstream.version>1.4.18</xstream.version>
                <api-all.version>2.1.0</api-all.version>
-               <caldav4j.version>1.0.3</caldav4j.version>
+               <caldav4j.version>1.0.5</caldav4j.version>
                <tika-parsers.version>2.2.1</tika-parsers.version>
                <commons-text.version>1.9</commons-text.version>
                <slf4j.version>1.7.32</slf4j.version>

Reply via email to