Alexander Wels has uploaded a new change for review.
Change subject: userportal,webadmin: Customized parameterized messages
......................................................................
userportal,webadmin: Customized parameterized messages
- Implemented DynamicMessages to facilitate the use of
parameterized messages in branding packages.
- Renamed DynamicConstants to DynamicMessages.
- Added {0} to version about.
Change-Id: Iad253128d6bb48b0be93bb580803101b7e85bcea
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=816173
Signed-off-by: Alexander Wels <[email protected]>
---
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
D
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicConstants.java
A
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicMessages.java
D
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicConstants.java
A
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicMessages.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/gin/SystemModule.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginPopupView.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.ui.xml
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/HeaderView.ui.xml
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
D
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicConstants.java
A
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicMessages.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/SystemModule.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginPopupView.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/HeaderPresenterWidget.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.ui.xml
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/HeaderView.java
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
M packaging/branding/ovirt.brand/ovirt_messages.properties
21 files changed, 312 insertions(+), 186 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/38/15838/1
diff --git
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
index ef8fed2..85d3630 100644
---
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
+++
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
@@ -12,7 +12,7 @@
import org.ovirt.engine.ui.common.system.ErrorPopupManagerImpl;
import org.ovirt.engine.ui.common.system.LockInteractionManager;
import org.ovirt.engine.ui.common.uicommon.ClientAgentType;
-import org.ovirt.engine.ui.common.utils.DynamicConstants;
+import org.ovirt.engine.ui.common.utils.DynamicMessages;
import org.ovirt.engine.ui.uicommonweb.ErrorPopupManager;
import com.google.gwt.event.shared.EventBus;
@@ -47,12 +47,12 @@
Class<? extends CommonApplicationMessages> messages,
Class<? extends CommonApplicationResources> resources,
Class<? extends CommonApplicationTemplates> templates,
- Class<? extends DynamicConstants> dynamicConstants) {
+ Class<? extends DynamicMessages> dynamicConstants) {
bind(CommonApplicationConstants.class).to(constants).in(Singleton.class);
bind(CommonApplicationMessages.class).to(messages).in(Singleton.class);
bind(CommonApplicationResources.class).to(resources).in(Singleton.class);
bind(CommonApplicationTemplates.class).to(templates).in(Singleton.class);
- bind(DynamicConstants.class).to(dynamicConstants).in(Singleton.class);
+ bind(DynamicMessages.class).to(dynamicConstants).in(Singleton.class);
}
}
diff --git
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicConstants.java
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicConstants.java
deleted file mode 100644
index 96d6512..0000000
---
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicConstants.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package org.ovirt.engine.ui.common.utils;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.MissingResourceException;
-
-import com.google.gwt.i18n.client.Dictionary;
-
-/**
- * Contains dynamic constants available to the application.
- * <p>
- * This class defines all supported constant keys as well as corresponding
value accessor methods. Subclasses should
- * register sensible fallback values for supported constant keys.
- */
-public class DynamicConstants {
-
- public enum DynamicConstantKey {
-
- APPLICATION_TITLE("application_title"), //$NON-NLS-1$
- VERSION_ABOUT("version_about"), //$NON-NLS-1$
- LOGIN_HEADER_LABEL("login_header_label"), //$NON-NLS-1$
- MAIN_HEADER_LABEL("main_header_label"), //$NON-NLS-1$
- COPY_RIGHT_NOTICE("copy_right_notice"), //$NON-NLS-1$
- DOC("doc"); //$NON-NLS-1$
-
- private final String value;
-
- DynamicConstantKey(String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- }
-
- /**
- * The name under which the dictionary will appear in the host page.
- */
- private static final String MESSAGES_DICTIONARY_NAME = "messages";
//$NON-NLS-1$
-
- private Dictionary dictionary;
-
- private final Map<DynamicConstantKey, String> fallbackValues =
- new HashMap<DynamicConstants.DynamicConstantKey, String>();
-
- public DynamicConstants() {
- try {
- dictionary = Dictionary.getDictionary(MESSAGES_DICTIONARY_NAME);
- } catch (MissingResourceException mre) {
- // Do nothing, the dictionary doesn't exist.
- }
- }
-
- protected void addFallback(DynamicConstantKey key, String value) {
- fallbackValues.put(key, value);
- }
-
- protected String getString(DynamicConstantKey key) {
- String fallback = fallbackValues.get(key);
- if (fallback == null) {
- // Use empty string for missing fallback value.
- fallback = ""; //$NON-NLS-1$
- }
-
- String result = fallback;
-
- try {
- if (dictionary != null) {
- result = dictionary.get(key.getValue());
- }
- } catch (MissingResourceException mre) {
- // Do nothing, the key doesn't exist.
- }
-
- return result;
- }
-
- public final String applicationTitle() {
- return getString(DynamicConstantKey.APPLICATION_TITLE);
- }
-
- public final String ovirtVersionAbout() {
- return getString(DynamicConstantKey.VERSION_ABOUT);
- }
-
- public final String loginHeaderLabel() {
- return getString(DynamicConstantKey.LOGIN_HEADER_LABEL);
- }
-
- public final String mainHeaderLabel() {
- return getString(DynamicConstantKey.MAIN_HEADER_LABEL);
- }
-
- public final String copyRightNotice() {
- return getString(DynamicConstantKey.COPY_RIGHT_NOTICE);
- }
-
- public final String engineWebAdminDoc() {
- return getString(DynamicConstantKey.DOC);
- }
-
-}
diff --git
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicMessages.java
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicMessages.java
new file mode 100644
index 0000000..cbe991b
--- /dev/null
+++
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/DynamicMessages.java
@@ -0,0 +1,227 @@
+package org.ovirt.engine.ui.common.utils;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.MissingResourceException;
+import java.util.Set;
+
+import com.google.gwt.i18n.client.Dictionary;
+import com.google.gwt.regexp.shared.MatchResult;
+import com.google.gwt.regexp.shared.RegExp;
+
+/**
+ * Contains dynamic constants available to the application.
+ * <p>
+ * This class defines all supported constant keys as well as corresponding
value accessor methods. Subclasses should
+ * register sensible fallback values for supported constant keys.
+ */
+public class DynamicMessages {
+
+ /**
+ * This class defines the keys used to look up the messages from the
{@code Dictionary}.
+ */
+ public enum DynamicMessageKey {
+
+ APPLICATION_TITLE("application_title"), //$NON-NLS-1$
+ VERSION_ABOUT("version_about"), //$NON-NLS-1$
+ LOGIN_HEADER_LABEL("login_header_label"), //$NON-NLS-1$
+ MAIN_HEADER_LABEL("main_header_label"), //$NON-NLS-1$
+ COPY_RIGHT_NOTICE("copy_right_notice"), //$NON-NLS-1$
+ DOC("doc"); //$NON-NLS-1$
+
+ private final String value;
+
+ DynamicMessageKey(String value) {
+ this.value = value;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ }
+
+ /**
+ * The name under which the dictionary will appear in the host page.
+ */
+ private static final String MESSAGES_DICTIONARY_NAME = "messages";
//$NON-NLS-1$
+
+ /**
+ * The pattern to use to locate place holders.
+ */
+ private static final RegExp PLACE_HOLDER_PATTERN =
RegExp.compile("\\{(\\d+)\\}", "g"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ /**
+ * The {@code Dictionary} that contains the messages from the host page.
+ */
+ Dictionary dictionary;
+
+ /**
+ * The {@code Map} containing the fallback values in case the message is
not found in the dictionary.
+ */
+ private final Map<DynamicMessageKey, String> fallbackValues =
+ new HashMap<DynamicMessages.DynamicMessageKey, String>();
+
+ /**
+ * Default constructor.
+ */
+ public DynamicMessages() {
+ this(Dictionary.getDictionary(MESSAGES_DICTIONARY_NAME));
+ }
+
+ DynamicMessages(final Dictionary dictionary) {
+ this.dictionary = dictionary;
+ }
+ /**
+ * Add the fall back for a particular key to the fall back map.
+ * @param key The key for the fall back.
+ * @param value The fall back message.
+ */
+ protected void addFallback(final DynamicMessageKey key, final String
value) {
+ fallbackValues.put(key, value);
+ }
+
+ /**
+ * Get the string based on the key. If the {@code Dictionary} doesn't
contain the value associated with the
+ * key, then return the fall back value.
+ * @param key The key
+ * @return The message, either from the {@code Dictionary} or the fall
back value.
+ */
+ protected String getString(final DynamicMessageKey key) {
+ String fallback = fallbackValues.get(key);
+ if (fallback == null) {
+ // Use empty string for missing fallback value.
+ fallback = ""; //$NON-NLS-1$
+ }
+
+ String result = fallback;
+
+ try {
+ if (dictionary != null) {
+ result = dictionary.get(key.getValue());
+ }
+ } catch (MissingResourceException mre) {
+ // Do nothing, the key doesn't exist.
+ }
+
+ return result;
+ }
+
+ /**
+ * Format the message associated with the key using the passed in
parameters.
+ *
+ * The body format must conform to the following standard:
+ * <ol>
+ * <li>The place holders must follow the following format regex \{\d\}
for instance {0}</li>
+ * <li>The place holder sequence must start at 0 and be continuous so
{0}, {1}, {2} is valid but {0}, {2}
+ * is not</li>
+ * <li>One can have the same place holder more than once, so {0}, {0}
valid</li>
+ * <li>The order is not important, so {2},{0},{1} is valid</li>
+ * </ol>
+ * One can pass more parameters than place holders in the message body,
any extra parameters will simply be
+ * ignored.
+ * @param key The key to use to lookup the message body.
+ * @param args 0 or more arguments to replace in the message body.
+ * @return The formatted string.
+ * throws IllegalArgumentException if the message body does not conform to
the above standard, or if there are
+ * less arguments than place holders in the body.
+ */
+ protected String formatString(final DynamicMessageKey key, final String
...args) {
+ String message = getString(key);
+ if (args != null) {
+ List<Integer> placeHolderList = getPlaceHolderList(message);
+ if (placeHolderList.size() > args.length) {
+ throw new IllegalArgumentException("Number of place holders
does " //$NON-NLS-1$
+ + "not match number of arguments"); //$NON-NLS-1$
+ }
+ for (int i = 0; i < args.length; i++) {
+ message = message.replaceAll("\\{" + i + "\\}", args[i]);
//$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+ return message;
+ }
+
+ /**
+ * Parse a message body and return a list of integers, one for each place
holder number in the body. For instance
+ * if the message is 'One {0} over the {1} nest {0}' then the list will be
[0,1]. Duplicates are turned into a
+ * single element in the resulting list.
+ * @param message The message body to parse.
+ * @return A list of integers matching the numbers of the place holders.
+ */
+ protected List<Integer> getPlaceHolderList(final String message) {
+ MatchResult matcher;
+ Set<Integer> matchedPlaceHolders = new HashSet<Integer>();
+ for (matcher = PLACE_HOLDER_PATTERN.exec(message); matcher != null;
+ matcher = PLACE_HOLDER_PATTERN.exec(message)) {
+ matchedPlaceHolders.add(Integer.valueOf(matcher.getGroup(1)));
+ }
+ List<Integer> result = new ArrayList<Integer>(matchedPlaceHolders);
+ Collections.sort(result);
+ for (int i = 0; i < result.size(); i++) {
+ if (i != result.get(i)) {
+ throw new IllegalArgumentException("Invalid index of place
holder found"); //$NON-NLS-1$
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Get the application title using the {@code Dictionary} in the host
page. With a fall back to the standard
+ * GWT Constant.
+ * @return The application title string.
+ */
+ public final String applicationTitle() {
+ return getString(DynamicMessageKey.APPLICATION_TITLE);
+ }
+
+ /**
+ * Get the application version message using the {@code Dictionary} in the
host page. With a fall back to
+ * the standard GWT Message.
+ * @param version The version string to use to replace the place holder in
the message.
+ * @return The version about message
+ */
+ public final String ovirtVersionAbout(final String version) {
+ return formatString(DynamicMessageKey.VERSION_ABOUT, version);
+ }
+
+ /**
+ * Get the login header label using the {@code Dictionary} in the host
page. With a fall back to the standard
+ * GWT Constant.
+ * @return The login header label.
+ */
+ public final String loginHeaderLabel() {
+ return getString(DynamicMessageKey.LOGIN_HEADER_LABEL);
+ }
+
+ /**
+ * Get the main header label using the {@code Dictionary} in the host
page. With a fall back to the standard
+ * GWT Constant.
+ * @return The main header label.
+ */
+ public final String mainHeaderLabel() {
+ return getString(DynamicMessageKey.MAIN_HEADER_LABEL);
+ }
+
+ /**
+ * Get the copy right notice using the {@code Dictionary} in the host
page. With a fall back to the standard
+ * GWT Constant.
+ * @return The copy right notice string.
+ */
+ public final String copyRightNotice() {
+ return getString(DynamicMessageKey.COPY_RIGHT_NOTICE);
+ }
+
+ /**
+ * Get the web admin doc message using the {@code Dictionary} in the host
page. With a fall back to the standard
+ * GWT Constant.
+ * @return The web admin documentation message.
+ */
+ public final String engineWebAdminDoc() {
+ return getString(DynamicMessageKey.DOC);
+ }
+
+}
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicConstants.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicConstants.java
deleted file mode 100644
index e8c5ff7..0000000
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicConstants.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.ovirt.engine.ui.userportal;
-
-import org.ovirt.engine.ui.common.utils.DynamicConstants;
-
-import com.google.gwt.core.client.GWT;
-
-public class ApplicationDynamicConstants extends DynamicConstants {
-
- private static final ApplicationConstants constants =
GWT.create(ApplicationConstants.class);
-
- public ApplicationDynamicConstants() {
- super();
- addFallback(DynamicConstantKey.APPLICATION_TITLE,
constants.applicationTitle());
- addFallback(DynamicConstantKey.VERSION_ABOUT,
constants.ovirtVersionAbout());
- addFallback(DynamicConstantKey.LOGIN_HEADER_LABEL,
constants.loginHeaderLabel());
- addFallback(DynamicConstantKey.MAIN_HEADER_LABEL,
constants.mainHeaderLabel());
- addFallback(DynamicConstantKey.COPY_RIGHT_NOTICE,
constants.copyRightNotice());
- }
-
-}
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicMessages.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicMessages.java
new file mode 100644
index 0000000..063b33c
--- /dev/null
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/ApplicationDynamicMessages.java
@@ -0,0 +1,20 @@
+package org.ovirt.engine.ui.userportal;
+
+import org.ovirt.engine.ui.common.utils.DynamicMessages;
+
+import com.google.gwt.core.client.GWT;
+
+public class ApplicationDynamicMessages extends DynamicMessages {
+
+ private static final ApplicationConstants constants =
GWT.create(ApplicationConstants.class);
+
+ public ApplicationDynamicMessages() {
+ super();
+ addFallback(DynamicMessageKey.APPLICATION_TITLE,
constants.applicationTitle());
+ addFallback(DynamicMessageKey.VERSION_ABOUT,
constants.ovirtVersionAbout());
+ addFallback(DynamicMessageKey.LOGIN_HEADER_LABEL,
constants.loginHeaderLabel());
+ addFallback(DynamicMessageKey.MAIN_HEADER_LABEL,
constants.mainHeaderLabel());
+ addFallback(DynamicMessageKey.COPY_RIGHT_NOTICE,
constants.copyRightNotice());
+ }
+
+}
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/gin/SystemModule.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/gin/SystemModule.java
index 71582cce..a801278 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/gin/SystemModule.java
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/gin/SystemModule.java
@@ -4,7 +4,7 @@
import org.ovirt.engine.ui.common.section.DefaultLoginSectionPlace;
import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace;
import org.ovirt.engine.ui.userportal.ApplicationConstants;
-import org.ovirt.engine.ui.userportal.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.userportal.ApplicationDynamicMessages;
import org.ovirt.engine.ui.userportal.ApplicationMessages;
import org.ovirt.engine.ui.userportal.ApplicationResources;
import org.ovirt.engine.ui.userportal.ApplicationResourcesWithLookup;
@@ -45,7 +45,7 @@
.to(ApplicationPlaces.DEFAULT_MAIN_SECTION_EXTENDED_PLACE);
bindResourceConfiguration(ApplicationConstants.class,
ApplicationMessages.class,
- ApplicationResources.class, ApplicationTemplates.class,
ApplicationDynamicConstants.class);
+ ApplicationResources.class, ApplicationTemplates.class,
ApplicationDynamicMessages.class);
bind(ApplicationResourcesWithLookup.class).in(Singleton.class);
}
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginPopupView.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginPopupView.java
index 31e7600..7406d34 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginPopupView.java
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/login/view/LoginPopupView.java
@@ -15,7 +15,7 @@
import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor;
import org.ovirt.engine.ui.uicommonweb.models.userportal.UserPortalLoginModel;
import org.ovirt.engine.ui.userportal.ApplicationConstants;
-import org.ovirt.engine.ui.userportal.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.userportal.ApplicationDynamicMessages;
import org.ovirt.engine.ui.userportal.ApplicationMessages;
import org.ovirt.engine.ui.userportal.ApplicationResources;
import
org.ovirt.engine.ui.userportal.section.login.presenter.LoginPopupPresenterWidget;
@@ -101,7 +101,7 @@
ApplicationResources resources,
ApplicationConstants constants,
ApplicationMessages messages,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicConstants) {
super(eventBus, resources, clientAgentType);
// We need this code because resetAndFocus is called when
userNameEditor is Disabled
@@ -130,7 +130,7 @@
}
void localize(ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicConstants) {
headerLabel.setText(dynamicConstants.loginHeaderLabel());
userNameLabel.setText(constants.loginFormUserNameLabel());
passwordLabel.setText(constants.loginFormPasswordLabel());
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.java
index 6b27600..d5fd75d 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.java
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.java
@@ -5,7 +5,7 @@
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogButton;
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
import org.ovirt.engine.ui.userportal.ApplicationConstants;
-import org.ovirt.engine.ui.userportal.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.userportal.ApplicationDynamicMessages;
import org.ovirt.engine.ui.userportal.ApplicationResources;
import
org.ovirt.engine.ui.userportal.section.main.presenter.AboutPopupPresenterWidget;
@@ -24,6 +24,8 @@
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
+ private final ApplicationDynamicMessages messages;
+
@UiField
Label titleLabel;
@@ -39,22 +41,23 @@
@Inject
public AboutPopupView(EventBus eventBus, ApplicationResources resources,
ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicMessages) {
super(eventBus, resources);
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
- localize(constants, dynamicConstants);
+ messages = dynamicMessages;
+ localize(constants, dynamicMessages);
}
void localize(ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicMessages) {
titleLabel.setText(constants.aboutPopupCaption());
closeButton.setText(constants.closeButtonLabel());
- copyrightNotice.setText(dynamicConstants.copyRightNotice());
+ copyrightNotice.setText(dynamicMessages.copyRightNotice());
}
@Override
public void setVersion(String text) {
- versionLabel.setText(text);
+ versionLabel.setText(messages.ovirtVersionAbout(text));
}
@Override
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.ui.xml
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.ui.xml
index cc01338..3014214 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.ui.xml
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/AboutPopupView.ui.xml
@@ -3,7 +3,7 @@
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog">
- <ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.userportal.ApplicationDynamicConstants' />
+ <ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.userportal.ApplicationDynamicMessages' />
<ui:style>
.content {
@@ -24,7 +24,6 @@
<g:HorizontalPanel
horizontalAlignment="ALIGN_CENTER" width="100%">
<g:HTMLPanel>
<div>
- <g:InlineLabel
text="{dynamicConstants.ovirtVersionAbout}"/>
<g:InlineLabel
ui:field="versionLabel" />
</div>
<div>
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/HeaderView.ui.xml
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/HeaderView.ui.xml
index eec964c..ea76e0b 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/HeaderView.ui.xml
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/HeaderView.ui.xml
@@ -3,7 +3,7 @@
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:with field='constants'
type='org.ovirt.engine.ui.userportal.ApplicationConstants' />
-<ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.userportal.ApplicationDynamicConstants' />
+<ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.userportal.ApplicationDynamicMessages' />
<ui:style>
@external obrand_wrapper;
diff --git
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
index f040cc4..9edf472 100644
---
a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
+++
b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
@@ -15,7 +15,7 @@
import org.ovirt.engine.ui.uicompat.Event;
import org.ovirt.engine.ui.uicompat.EventArgs;
import org.ovirt.engine.ui.uicompat.IEventListener;
-import org.ovirt.engine.ui.userportal.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.userportal.ApplicationDynamicMessages;
import org.ovirt.engine.ui.userportal.auth.CurrentUserRole;
import org.ovirt.engine.ui.userportal.uicommon.model.UserPortalModelInitEvent;
import org.ovirt.engine.ui.userportal.utils.ConnectAutomaticallyManager;
@@ -40,7 +40,7 @@
LockInteractionManager lockInteractionManager,
ConnectAutomaticallyManager connectAutomaticallyManager,
CurrentUserRole userRole,
- ApplicationDynamicConstants constants,
+ ApplicationDynamicMessages constants,
ClientAgentType clientAgentType) {
super(typeResolver, frontendEventsHandler,
frontendFailureEventListener,
user, eventBus, loginModelProvider, lockInteractionManager);
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicConstants.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicConstants.java
deleted file mode 100644
index b2b0295..0000000
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicConstants.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.ovirt.engine.ui.webadmin;
-
-import org.ovirt.engine.ui.common.utils.DynamicConstants;
-
-import com.google.gwt.core.client.GWT;
-
-public class ApplicationDynamicConstants extends DynamicConstants {
-
- private static final ApplicationConstants constants =
GWT.create(ApplicationConstants.class);
-
- public ApplicationDynamicConstants() {
- super();
- addFallback(DynamicConstantKey.APPLICATION_TITLE,
constants.applicationTitle());
- addFallback(DynamicConstantKey.VERSION_ABOUT,
constants.ovirtVersionAbout());
- addFallback(DynamicConstantKey.LOGIN_HEADER_LABEL,
constants.loginHeaderLabel());
- addFallback(DynamicConstantKey.MAIN_HEADER_LABEL,
constants.mainHeaderLabel());
- addFallback(DynamicConstantKey.COPY_RIGHT_NOTICE,
constants.copyRightNotice());
- addFallback(DynamicConstantKey.DOC, constants.engineWebAdminDoc());
- }
-
-}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicMessages.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicMessages.java
new file mode 100644
index 0000000..7fbd445
--- /dev/null
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationDynamicMessages.java
@@ -0,0 +1,21 @@
+package org.ovirt.engine.ui.webadmin;
+
+import org.ovirt.engine.ui.common.utils.DynamicMessages;
+
+import com.google.gwt.core.client.GWT;
+
+public class ApplicationDynamicMessages extends DynamicMessages {
+
+ private static final ApplicationConstants constants =
GWT.create(ApplicationConstants.class);
+
+ public ApplicationDynamicMessages() {
+ super();
+ addFallback(DynamicMessageKey.APPLICATION_TITLE,
constants.applicationTitle());
+ addFallback(DynamicMessageKey.VERSION_ABOUT,
constants.ovirtVersionAbout());
+ addFallback(DynamicMessageKey.LOGIN_HEADER_LABEL,
constants.loginHeaderLabel());
+ addFallback(DynamicMessageKey.MAIN_HEADER_LABEL,
constants.mainHeaderLabel());
+ addFallback(DynamicMessageKey.COPY_RIGHT_NOTICE,
constants.copyRightNotice());
+ addFallback(DynamicMessageKey.DOC, constants.engineWebAdminDoc());
+ }
+
+}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/SystemModule.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/SystemModule.java
index 1f87d7d..a5d890a 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/SystemModule.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/gin/SystemModule.java
@@ -4,7 +4,7 @@
import org.ovirt.engine.ui.common.section.DefaultLoginSectionPlace;
import org.ovirt.engine.ui.common.section.DefaultMainSectionPlace;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import org.ovirt.engine.ui.webadmin.ApplicationMessages;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import org.ovirt.engine.ui.webadmin.ApplicationTemplates;
@@ -43,7 +43,7 @@
.to(ApplicationPlaces.DEFAULT_MAIN_SECTION_PLACE);
bindResourceConfiguration(ApplicationConstants.class,
ApplicationMessages.class,
- ApplicationResources.class, ApplicationTemplates.class,
ApplicationDynamicConstants.class);
+ ApplicationResources.class, ApplicationTemplates.class,
ApplicationDynamicMessages.class);
}
}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginPopupView.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginPopupView.java
index 3b79a3f..5165a73 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginPopupView.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/login/view/LoginPopupView.java
@@ -13,7 +13,7 @@
import org.ovirt.engine.ui.common.widget.editor.ListModelListBoxEditor;
import org.ovirt.engine.ui.uicommonweb.models.LoginModel;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import
org.ovirt.engine.ui.webadmin.section.login.presenter.LoginPopupPresenterWidget;
import org.ovirt.engine.ui.webadmin.system.InternalConfiguration;
@@ -97,7 +97,7 @@
ClientAgentType clientAgentType,
ApplicationResources resources,
ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants,
+ ApplicationDynamicMessages dynamicConstants,
InternalConfiguration intConf) {
super(eventBus, resources, clientAgentType);
@@ -131,7 +131,7 @@
}
private void localize(ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicConstants) {
headerLabel.setText(dynamicConstants.loginHeaderLabel());
userNameLabel.setText(constants.loginFormUserNameLabel());
passwordLabel.setText(constants.loginFormPasswordLabel());
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/HeaderPresenterWidget.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/HeaderPresenterWidget.java
index 5e01157..4d2cd46 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/HeaderPresenterWidget.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/presenter/HeaderPresenterWidget.java
@@ -3,7 +3,7 @@
import org.ovirt.engine.ui.common.auth.CurrentUser;
import org.ovirt.engine.ui.common.presenter.main.AbstractHeaderPresenterWidget;
import
org.ovirt.engine.ui.common.widget.tab.AbstractHeadlessTabPanel.TabWidgetHandler;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import
org.ovirt.engine.ui.webadmin.section.main.presenter.popup.configure.ConfigurePopupPresenterWidget;
import org.ovirt.engine.ui.webadmin.uicommon.WebAdminConfigurator;
@@ -39,7 +39,7 @@
SearchPanelPresenterWidget searchPanel,
AboutPopupPresenterWidget aboutPopup,
ConfigurePopupPresenterWidget configurePopup,
- ApplicationDynamicConstants constants) {
+ ApplicationDynamicMessages constants) {
super(eventBus, view, user,
WebAdminConfigurator.DOCUMENTATION_GUIDE_PATH,
constants.engineWebAdminDoc());
this.searchPanel = searchPanel;
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.java
index f5a0b7b..fbc25d6 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.java
@@ -5,7 +5,7 @@
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogButton;
import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import org.ovirt.engine.ui.webadmin.ApplicationResources;
import
org.ovirt.engine.ui.webadmin.section.main.presenter.AboutPopupPresenterWidget;
@@ -24,6 +24,8 @@
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
+ private final ApplicationDynamicMessages messages;
+
@UiField
Label titleLabel;
@@ -39,22 +41,22 @@
@Inject
public AboutPopupView(EventBus eventBus, ApplicationResources resources,
ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicMessages) {
super(eventBus, resources);
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
- localize(constants, dynamicConstants);
+ messages = dynamicMessages;
+ localize(constants, dynamicMessages);
}
void localize(ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
- titleLabel.setText(constants.aboutPopupCaption());
+ ApplicationDynamicMessages dynamicMessages) {
closeButton.setText(constants.closeButtonLabel());
- copyrightNotice.setText(dynamicConstants.copyRightNotice());
+ copyrightNotice.setText(dynamicMessages.copyRightNotice());
}
@Override
public void setVersion(String text) {
- versionLabel.setText(text);
+ versionLabel.setText(messages.ovirtVersionAbout(text));
}
@Override
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.ui.xml
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.ui.xml
index d6ce251..7b9e109 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.ui.xml
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/AboutPopupView.ui.xml
@@ -3,7 +3,7 @@
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog">
- <ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants' />
+ <ui:with field='dynamicConstants'
type='org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages' />
<ui:style>
.content {
@@ -24,7 +24,6 @@
<g:HorizontalPanel
horizontalAlignment="ALIGN_CENTER" width="100%">
<g:HTMLPanel>
<div>
- <g:InlineLabel
text="{dynamicConstants.ovirtVersionAbout}"/>
<g:InlineLabel
ui:field="versionLabel" />
</div>
<div>
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/HeaderView.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/HeaderView.java
index 14ef057..959c630 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/HeaderView.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/HeaderView.java
@@ -4,7 +4,7 @@
import org.ovirt.engine.ui.common.idhandler.WithElementId;
import org.ovirt.engine.ui.common.view.AbstractSingleSlotView;
import org.ovirt.engine.ui.webadmin.ApplicationConstants;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import
org.ovirt.engine.ui.webadmin.section.main.presenter.HeaderPresenterWidget;
import com.google.gwt.core.client.GWT;
@@ -71,7 +71,7 @@
@Inject
public HeaderView(ApplicationConstants constants,
- ApplicationDynamicConstants dynamicConstants) {
+ ApplicationDynamicMessages dynamicConstants) {
this.configureLink = new Anchor(constants.configureLinkLabel());
this.logoutLink = new Anchor(constants.logoutLinkLabel());
this.aboutLink = new Anchor(constants.aboutLinkLabel());
@@ -85,7 +85,7 @@
localize(dynamicConstants);
}
- private void localize(ApplicationDynamicConstants constants) {
+ private void localize(ApplicationDynamicMessages constants) {
headerLabel.setText(constants.mainHeaderLabel());
}
diff --git
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
index c36d051..44c4ea2 100644
---
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
+++
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
@@ -18,7 +18,7 @@
import org.ovirt.engine.ui.uicompat.Event;
import org.ovirt.engine.ui.uicompat.EventArgs;
import org.ovirt.engine.ui.uicompat.IEventListener;
-import org.ovirt.engine.ui.webadmin.ApplicationDynamicConstants;
+import org.ovirt.engine.ui.webadmin.ApplicationDynamicMessages;
import org.ovirt.engine.ui.webadmin.plugin.restapi.RestApiSessionManager;
import org.ovirt.engine.ui.webadmin.uimode.UiModeData;
@@ -40,7 +40,7 @@
CurrentUser user, EventBus eventBus,
Provider<LoginModel> loginModelProvider,
LockInteractionManager lockInteractionManager,
- ApplicationDynamicConstants constants,
+ ApplicationDynamicMessages constants,
RestApiSessionManager restApiSessionManager) {
super(typeResolver, frontendEventsHandler,
frontendFailureEventListener,
user, eventBus, loginModelProvider, lockInteractionManager);
diff --git a/packaging/branding/ovirt.brand/ovirt_messages.properties
b/packaging/branding/ovirt.brand/ovirt_messages.properties
index 0d111f6..b163b25 100644
--- a/packaging/branding/ovirt.brand/ovirt_messages.properties
+++ b/packaging/branding/ovirt.brand/ovirt_messages.properties
@@ -8,7 +8,7 @@
# The copy right notice.
obrand.common.copy_right_notice=
# The text above the version in the about box.
-obrand.common.version_about=oVirt Engine Version:
+obrand.common.version_about=oVirt Engine Version: {0}
# User portal specific messages that can be over written.
--
To view, visit http://gerrit.ovirt.org/15838
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iad253128d6bb48b0be93bb580803101b7e85bcea
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alexander Wels <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches