Vojtech Szocs has uploaded a new change for review.

Change subject: webadmin,userportal: @NotableWorkaround annotation
......................................................................

webadmin,userportal: @NotableWorkaround annotation

This patch adds @NotableWorkaround source-level annotation
that indicates a notable workaround related to 3rd party code
or runtime environment.

For example, workarounds (typically Java methods) for known
GWT(P) or browser-specific issues can use @NotableWorkaround
so that these can be reviewed later when migrating to new
GWT(P) version. In other words, the purpose of this annotation
is to ease migration with regard to existing frontend code.

Change-Id: I336da10b2931825a7b44c24b663e18593f489979
Signed-off-by: Vojtech Szocs <vsz...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/DynamicTabContainerPresenter.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/NotableWorkaround.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/MenuBar.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/SearchPanelView.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
5 files changed, 21 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/24995/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/DynamicTabContainerPresenter.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/DynamicTabContainerPresenter.java
index 752fd8e..ea3bcb9 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/DynamicTabContainerPresenter.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/presenter/DynamicTabContainerPresenter.java
@@ -19,6 +19,7 @@
 import com.gwtplatform.mvp.client.proxy.Proxy;
 import com.gwtplatform.mvp.client.proxy.RevealContentHandler;
 import com.gwtplatform.mvp.client.proxy.TabContentProxy;
+import org.ovirt.engine.ui.common.system.NotableWorkaround;
 
 /**
  * A {@link TabContainerPresenter} that handles tabs added dynamically during 
runtime.
@@ -63,6 +64,7 @@
     }
 
     @Override
+    @NotableWorkaround // override setInSlot to get hold of TabContentProxy in 
case of Presenter
     public void setInSlot(Object slot, PresenterWidget<?> content) {
         super.setInSlot(slot, content);
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/NotableWorkaround.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/NotableWorkaround.java
new file mode 100644
index 0000000..f62b4e2
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/NotableWorkaround.java
@@ -0,0 +1,13 @@
+package org.ovirt.engine.ui.common.system;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Source-level annotation that indicates a notable workaround related to 3rd 
party code or runtime environment.
+ * <p>
+ * When migrating to new GWT(P) version, annotated elements should be checked 
if they're still valid.
+ */
+@Retention(RetentionPolicy.SOURCE)
+public @interface NotableWorkaround {
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/MenuBar.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/MenuBar.java
index b77e76c..4a364f9 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/MenuBar.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/MenuBar.java
@@ -1,5 +1,6 @@
 package org.ovirt.engine.ui.common.widget;
 
+import org.ovirt.engine.ui.common.system.NotableWorkaround;
 import org.ovirt.engine.ui.common.utils.PopupUtils;
 
 import com.google.gwt.user.client.DOM;
@@ -8,16 +9,14 @@
 import com.google.gwt.user.client.ui.MenuItem;
 import com.google.gwt.user.client.ui.PopupPanel;
 
-
 /**
- *
  * MenuBar that adjusts sub menu popup location to fit screen
  *
  * It is workaround to the problem described below-
  * http://code.google.com/p/google-web-toolkit/issues/detail?id=407
  * http://code.google.com/p/google-web-toolkit/issues/detail?id=3924
- *
  */
+@NotableWorkaround
 public class MenuBar extends com.google.gwt.user.client.ui.MenuBar {
     public MenuBar() {
         super();
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/SearchPanelView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/SearchPanelView.java
index f71d00f..b8124bd 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/SearchPanelView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/SearchPanelView.java
@@ -2,6 +2,7 @@
 
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.idhandler.WithElementId;
+import org.ovirt.engine.ui.common.system.NotableWorkaround;
 import org.ovirt.engine.ui.common.view.AbstractView;
 import org.ovirt.engine.ui.uicommonweb.models.CommonModel;
 import org.ovirt.engine.ui.webadmin.ApplicationConstants;
@@ -251,6 +252,7 @@
     }
 
     @Override
+    @NotableWorkaround
     public HasKeyDownHandlers getSearchInputHandlers() {
         // Workaround GWT bug 3533. SuggestBox mistakenly fires key-downs 
twice. The workaround is
         // to set the key-down handler on the SuggestBox's internal ValueBox.
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
index b69f6dd..8efcc13 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
@@ -6,6 +6,7 @@
 
 import org.ovirt.engine.core.compat.Guid;
 import 
org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
+import org.ovirt.engine.ui.common.system.NotableWorkaround;
 import org.ovirt.engine.ui.common.uicommon.model.DataBoundTabModelProvider;
 import org.ovirt.engine.ui.common.widget.tree.TreeModelWithElementId;
 import org.ovirt.engine.ui.uicommonweb.models.SystemTreeItemModel;
@@ -93,6 +94,7 @@
         return selectionModel;
     }
 
+    @NotableWorkaround
     public void setSelectedItem(Guid id) {
         display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED); 
// open small GWT workaround
         selectionModel.setSelected(getModel().getItemById(id), true);


-- 
To view, visit http://gerrit.ovirt.org/24995
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I336da10b2931825a7b44c24b663e18593f489979
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vojtech Szocs <vsz...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to