Allon Mureinik has uploaded a new change for review.

Change subject: core: Remove member init in the common package
......................................................................

core: Remove member init in the common package

Since the upgrade to GWT 2.5.1, we've seen several cases of GWT pruning
member initialization.

To prevent these (and future) bugs, this series of patches removes all
such initializations from the packages that should be compiled by GWT.
These initialization are either moved to the appropriate
constructor(s), or removed them completely if they are redundant.
Constants with the wrong modifiers are amended to have static final, and
are allowed to be initialized directly.

As a side bonus, this patch offers a minor performance improvement, as
some of these members are now only initialized once instead of twice
(once in the member initialization and then again via a constructor
parameter).

This patch takes care of the class for the common package that were
not handled in previous patches in this series.

Change-Id: Iecdb2abfb2e0a85f0073b0424e7936ff566f770a
Signed-off-by: Allon Mureinik <[email protected]>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogSeverity.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VDSError.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/MapBackedPreferences.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SimpleDependecyInjector.java
M 
backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/I18NRegexpTest.java
M 
backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/IPAddressPatternTest.java
M 
backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/validation/NoRepetitiveStaticIpInListConstraintTest.java
12 files changed, 39 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/34/18134/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogSeverity.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogSeverity.java
index 9dcebfe..ca6b36f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogSeverity.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogSeverity.java
@@ -12,7 +12,7 @@
     ALERT(10);
 
     private int intValue;
-    private static java.util.HashMap<Integer, AuditLogSeverity> mappings = new 
HashMap<Integer, AuditLogSeverity>();
+    private static final java.util.HashMap<Integer, AuditLogSeverity> mappings 
= new HashMap<Integer, AuditLogSeverity>();
 
     static {
         for (AuditLogSeverity logSeverity : values()) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
index e03b7a4..99d1024 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/AuditLogType.java
@@ -811,7 +811,7 @@
     private int intValue;
     // indicates time interval in seconds on which identical events from same 
instance are supressed.
     private int duplicateEventsIntervalValue;
-    private static java.util.HashMap<Integer, AuditLogType> mappings = new 
HashMap<Integer, AuditLogType>();
+    private static final java.util.HashMap<Integer, AuditLogType> mappings = 
new HashMap<Integer, AuditLogType>();
 
     static {
         for (AuditLogType logType : values()) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
index 0f07537..8df9504 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/VdcActionUtils.java
@@ -18,7 +18,7 @@
 
 public final class VdcActionUtils {
 
-    private static java.util.Map<java.lang.Class<?>, java.util.Map<Enum<?>, 
java.util.HashSet<VdcActionType>>>
+    private static final java.util.Map<java.lang.Class<?>, 
java.util.Map<Enum<?>, java.util.HashSet<VdcActionType>>>
             _matrix =
             new java.util.HashMap<java.lang.Class<?>, java.util.Map<Enum<?>, 
java.util.HashSet<VdcActionType>>>();
 
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VDSError.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VDSError.java
index e78cf2c..d74b8e0 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VDSError.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VDSError.java
@@ -3,7 +3,7 @@
 public class VDSError {
 
     private String message;
-    private VdcBllErrors code = VdcBllErrors.forValue(0);
+    private VdcBllErrors code;
     private java.util.ArrayList<Object> args;
 
     public VDSError(VdcBllErrors code, String message) {
@@ -37,5 +37,6 @@
     }
 
     public VDSError() {
+        code = VdcBllErrors.forValue(0);
     }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
index 1a5f93c..f87e55a 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java
@@ -428,7 +428,7 @@
     SESSION_ERROR(9999), ;
 
     private int intValue;
-    private static java.util.HashMap<Integer, VdcBllErrors> mappings = new 
HashMap<Integer, VdcBllErrors>();
+    private static final java.util.HashMap<Integer, VdcBllErrors> mappings = 
new HashMap<Integer, VdcBllErrors>();
 
     static {
         for (VdcBllErrors error : values()) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/MapBackedPreferences.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/MapBackedPreferences.java
index f0b2a3b..e5fda5a 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/MapBackedPreferences.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/osinfo/MapBackedPreferences.java
@@ -8,8 +8,8 @@
 public class MapBackedPreferences extends AbstractPreferences implements 
Serializable {
 
     private static final long serialVersionUID = -6359144559146465048L;
-    HashMap<String, String> preferencesStore = new HashMap<String, String>();
-    ArrayList<String> childNodes = new ArrayList<String>();
+    HashMap<String, String> preferencesStore;
+    ArrayList<String> childNodes;
 
     /**
      * Creates a preference node with the specified parent and the specified
@@ -19,6 +19,8 @@
      */
     public MapBackedPreferences(AbstractPreferences parent, String name) {
         super(parent, name);
+        preferencesStore = new HashMap<String, String>();
+        childNodes = new ArrayList<String>();
     }
 
     @Override
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
index 0995675..1583ca6 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnit.java
@@ -28,7 +28,7 @@
     /**
      * policy unit that is implemented in the system, or loaded externally.
      */
-    private boolean internal = true;
+    private boolean internal;
     /**
      * specifies policy unit type (filter, weight or load balance)
      */
@@ -40,7 +40,12 @@
     /**
      * only for external units, marks if it exists on disk
      */
-    private boolean enabled = true;
+    private boolean enabled;
+
+    public PolicyUnit() {
+        internal = true;
+        enabled = true;
+    }
 
     @Override
     public Object getQueryableId() {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
index cef03cc..f8daf4f 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/scheduling/PolicyUnitType.java
@@ -10,7 +10,7 @@
     LoadBalancing(2);
 
     private int intValue;
-    private static java.util.HashMap<Integer, PolicyUnitType> mappings = new 
HashMap<Integer, PolicyUnitType>();
+    private static final java.util.HashMap<Integer, PolicyUnitType> mappings = 
new HashMap<Integer, PolicyUnitType>();
 
     static {
         for (PolicyUnitType vmType : values()) {
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SimpleDependecyInjector.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SimpleDependecyInjector.java
index ffd9ff0..03ba93c 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SimpleDependecyInjector.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/utils/SimpleDependecyInjector.java
@@ -21,14 +21,14 @@
 
     private static final SimpleDependecyInjector instance = new 
SimpleDependecyInjector();
 
-    private Map<String, Object> map = new ConcurrentHashMap<String, Object>();
+    private Map<String, Object> map;
 
     public static SimpleDependecyInjector getInstance() {
         return instance;
     }
 
     private SimpleDependecyInjector() {
-        // hide ctr
+        map = new ConcurrentHashMap<String, Object>();
     }
 
     /**
diff --git 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/I18NRegexpTest.java
 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/I18NRegexpTest.java
index 88eba98..20d765a 100644
--- 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/I18NRegexpTest.java
+++ 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/I18NRegexpTest.java
@@ -15,34 +15,34 @@
     private static final String REGEXP = 
ValidationUtils.NO_SPECIAL_CHARACTERS_I18N;
 
     @DataPoint
-    public static CorrectString englishText = new CorrectString("SomeText_-");
+    public static final CorrectString englishText = new 
CorrectString("SomeText_-");
 
     @DataPoint
-    public static CorrectString slovakText = new 
CorrectString("ňejakýReťazeč_-");
+    public static final CorrectString slovakText = new 
CorrectString("ňejakýReťazeč_-");
 
     @DataPoint
-    public static CorrectString hungarianText = new 
CorrectString("körülröföghetetlenség_-");
+    public static final CorrectString hungarianText = new 
CorrectString("körülröföghetetlenség_-");
 
     @DataPoint
-    public static CorrectString hebrewText = new CorrectString("שלוםעולם_-");
+    public static final CorrectString hebrewText = new 
CorrectString("שלוםעולם_-");
 
     @DataPoint
-    public static CorrectString chineseText = new CorrectString("你好世界_-");
+    public static final CorrectString chineseText = new 
CorrectString("你好世界_-");
 
     @DataPoint
-    public static CorrectString dotSign = new CorrectString(".");
+    public static final CorrectString dotSign = new CorrectString(".");
 
     @DataPoint
-    public static IncorrectString atSign = new IncorrectString("@");
+    public static final IncorrectString atSign = new IncorrectString("@");
 
     @DataPoint
-    public static IncorrectString spaceSign = new IncorrectString(" ");
+    public static final IncorrectString spaceSign = new IncorrectString(" ");
 
     @DataPoint
-    public static IncorrectString slashSign = new IncorrectString("\\");
+    public static final IncorrectString slashSign = new IncorrectString("\\");
 
     @DataPoint
-    public static IncorrectString apostropheSign = new IncorrectString("'");
+    public static final IncorrectString apostropheSign = new 
IncorrectString("'");
 
     @Theory
     public void allCharsetCanPass(CorrectString correct) {
diff --git 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/IPAddressPatternTest.java
 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/IPAddressPatternTest.java
index 4611a4c..0162aa3 100644
--- 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/IPAddressPatternTest.java
+++ 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/utils/IPAddressPatternTest.java
@@ -17,13 +17,14 @@
 @RunWith(Parameterized.class)
 public class IPAddressPatternTest {
 
-    private Validator validator = ValidationUtils.getValidator();
+    private Validator validator;
     private String address;
     private boolean expectedResult;
 
     public IPAddressPatternTest(String address, Boolean expectedResult) {
         this.address = address;
         this.expectedResult = expectedResult;
+        validator = ValidationUtils.getValidator();
     }
 
     @Test
diff --git 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/validation/NoRepetitiveStaticIpInListConstraintTest.java
 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/validation/NoRepetitiveStaticIpInListConstraintTest.java
index 7ffe00a..2672e7f 100644
--- 
a/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/validation/NoRepetitiveStaticIpInListConstraintTest.java
+++ 
b/backend/manager/modules/common/src/test/java/org/ovirt/engine/core/common/validation/NoRepetitiveStaticIpInListConstraintTest.java
@@ -9,6 +9,7 @@
 
 import junit.framework.Assert;
 
+import org.junit.Before;
 import org.junit.Test;
 import 
org.ovirt.engine.core.common.businessentities.network.NetworkBootProtocol;
 import 
org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface;
@@ -20,7 +21,12 @@
     private static final String IP_1 = "10.10.10.10";
     private static final String IP_2 = "11.11.11.11";
 
-    private Validator validator = ValidationUtils.getValidator();
+    private Validator validator;
+
+    @Before
+    public void initValidator() {
+        validator = ValidationUtils.getValidator();
+    }
 
     @Test
     public void twoNetworkInterfacesWithSameIp() {


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iecdb2abfb2e0a85f0073b0424e7936ff566f770a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Allon Mureinik <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to