Allon Mureinik has uploaded a new change for review.

Change subject: engine: Removed ValueObjects
......................................................................

engine: Removed ValueObjects

The ValueObjects are a hierarchy of classes used a value containers.

Since no business logic that still requires them exists, they can safely
be removed along with the various utilities that make them usable (e.g.,
identity checking, custom [de]serialization, MixIn, etc.).

Change-Id: If803494f7c10646c106058bdbb77d104d7d106fc
Signed-off-by: Allon Mureinik <amure...@redhat.com>
---
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObject.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectList.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectPair.java
D 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectSingle.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ObjectIdentityChecker.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java
D 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonValueObjectMapMixIn.java
D 
frontend/webadmin/modules/gwt-extension/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap_CustomFieldSerializer.java
10 files changed, 1 insertion(+), 305 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/16820/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObject.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObject.java
deleted file mode 100644
index ce49a17..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObject.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.Map;
-
-public class ValueObject implements Serializable {
-    private static final long serialVersionUID = -405401713169411987L;
-
-    public List asList() {
-        throw new IllegalStateException("Object doesn't represent list");
-    }
-
-    public Object asValue() {
-        throw new IllegalStateException("Object doesn't represent single 
value");
-    }
-
-    public Map asMap() {
-        throw new IllegalStateException("Object doesn't represent map");
-    }
-
-    public static ValueObject createValueObject(Object value) {
-        if (value instanceof List)
-            return new ValueObjectList(((List) value));
-        if (value instanceof Map)
-            return new ValueObjectMap(((Map) value), false);
-        else
-            return new ValueObjectSingle(value);
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectList.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectList.java
deleted file mode 100644
index 1b79f3a..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectList.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import java.io.Serializable;
-import java.util.List;
-
-public class ValueObjectList extends ValueObject implements Serializable {
-    private static final long serialVersionUID = -5301189842358791641L;
-
-    private List list;
-
-    public ValueObjectList() {
-    }
-
-    public ValueObjectList(List list) {
-        this.list = list;
-    }
-
-    @Override
-    public List asList() {
-        return list;
-    }
-
-    public List getList() {
-        return list;
-    }
-
-    public void setList(List list) {
-        this.list = list;
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap.java
deleted file mode 100644
index 1c9373b..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-public class ValueObjectMap extends ValueObject implements Serializable {
-    private static final long serialVersionUID = -8970215546874151379L;
-
-    private ArrayList<ValueObjectPair> valuePairs = new 
ArrayList<ValueObjectPair>();
-
-    public ValueObjectMap() {
-    }
-
-    public ValueObjectMap(Map map, boolean mapOfMaps) {
-        valuePairs = new ArrayList<ValueObjectPair>(map.keySet().size());
-        int i = 0;
-        // if the value is also a map construct a ValueObjectMap from the value
-        // as well.
-        if (mapOfMaps) {
-            for (Object e : map.entrySet()) {
-                Map.Entry<Object, Map> entryMap = (Map.Entry<Object, Map>) e;
-                Map innerMap = entryMap.getValue();
-                boolean innerMapIsMapOfMaps = false;
-                // If map of maps, it is possible the inner map is also a map 
of maps
-                // So the inner ValueObjectMap should be constructed 
accordingly
-                // To determine if the inner map is also a map, the set of 
entries of the map is retrieved.
-                // If there is at least a single entry, it will be checked if 
this entry has a value which is a map
-                // itself
-                Set entries = innerMap.entrySet();
-                Iterator entriesIterator = entries.iterator();
-                if (entriesIterator.hasNext()) {
-                    Map.Entry entry = (Map.Entry) entriesIterator.next();
-                    if (entry.getValue() instanceof Map) {
-                        innerMapIsMapOfMaps = true;
-                    }
-                }
-
-                valuePairs.add(new ValueObjectPair(entryMap.getKey(), new 
ValueObjectMap(innerMap, innerMapIsMapOfMaps)));
-                ++i;
-            }
-        } else {
-            for (Object key : map.keySet()) {
-                valuePairs.add(new ValueObjectPair(key, map.get(key)));
-                ++i;
-            }
-        }
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + valuePairs.hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        ValueObjectMap other = (ValueObjectMap) obj;
-        if (!valuePairs.equals(other.valuePairs))
-            return false;
-        return true;
-    }
-
-    public ArrayList<ValueObjectPair> getValuePairs() {
-        return valuePairs;
-    }
-
-    public void setValuePairs(ArrayList<ValueObjectPair> valuePairs) {
-        if (valuePairs != null) {
-            this.valuePairs = valuePairs;
-        } else {
-            this.valuePairs = new ArrayList<ValueObjectPair>();
-        }
-    }
-
-    @Override
-    public Map asMap() {
-        HashMap hashMap = new HashMap();
-        for (ValueObjectPair valuePair : valuePairs) {
-            hashMap.put(valuePair.getKey(), valuePair.getValue());
-        }
-        return hashMap;
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectPair.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectPair.java
deleted file mode 100644
index 640280f..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectPair.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import java.io.Serializable;
-
-public class ValueObjectPair implements Serializable {
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((key == null) ? 0 : key.hashCode());
-        result = prime * result + ((value == null) ? 0 : value.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj)
-            return true;
-        if (obj == null)
-            return false;
-        if (getClass() != obj.getClass())
-            return false;
-        ValueObjectPair other = (ValueObjectPair) obj;
-        if (key == null) {
-            if (other.key != null)
-                return false;
-        } else if (!key.equals(other.key))
-            return false;
-        if (value == null) {
-            if (other.value != null)
-                return false;
-        } else if (!value.equals(other.value))
-            return false;
-        return true;
-    }
-
-    private static final long serialVersionUID = 5929476364021026257L;
-
-    private Object key;
-    private Object value;
-
-    public ValueObjectPair() {
-    }
-
-    public ValueObjectPair(Object key, Object value) {
-        this.key = key;
-        this.value = value;
-    }
-
-    public Object getKey() {
-        return key;
-    }
-
-    public void setKey(Object key) {
-        this.key = key;
-    }
-
-    public Object getValue() {
-        return value;
-    }
-
-    public void setValue(Object value) {
-        this.value = value;
-    }
-}
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectSingle.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectSingle.java
deleted file mode 100644
index ef9f580..0000000
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectSingle.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import java.io.Serializable;
-
-public class ValueObjectSingle extends ValueObject implements Serializable {
-    private static final long serialVersionUID = -7912651567888297194L;
-
-    private Object value;
-
-    public ValueObjectSingle() {
-    }
-
-    public ValueObjectSingle(Object value) {
-        this.value = value;
-    }
-
-    @Override
-    public Object asValue() {
-        return value;
-    }
-
-    public Object getValue() {
-        return value;
-    }
-
-    public void setValue(Object value) {
-        this.value = value;
-    }
-}
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ObjectIdentityChecker.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ObjectIdentityChecker.java
index 8a6178a..a009719 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ObjectIdentityChecker.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ObjectIdentityChecker.java
@@ -7,7 +7,6 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.ovirt.engine.core.common.queries.ValueObjectMap;
 import org.ovirt.engine.core.common.utils.EnumUtils;
 import org.ovirt.engine.core.common.utils.IObjectDescriptorContainer;
 import org.ovirt.engine.core.compat.backendcompat.PropertyInfo;
@@ -185,7 +184,7 @@
                 Object sourceValue = property.getValue(source, null);
                 Object destinationValue = property.getValue(destination, null);
 
-                if (!(property.isPropertyInstanceOf(ValueObjectMap.class)) && 
property.getCanWrite()
+                if (property.getCanWrite()
                         && sourceValue != null && 
!sourceValue.equals(destinationValue)
                         || ((sourceValue == null && destinationValue != 
null))) {
                     returnValue.add(property.getName());
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
index 574fbf1..e34d7fc 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
@@ -18,7 +18,6 @@
 import org.ovirt.engine.core.common.businessentities.VdsStatic;
 import org.ovirt.engine.core.common.businessentities.VmBase;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
-import org.ovirt.engine.core.common.queries.ValueObjectMap;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.utils.Deserializer;
 import org.ovirt.engine.core.utils.SerializationExeption;
@@ -38,8 +37,6 @@
         
formattedMapper.getDeserializationConfig().addMixInAnnotations(IVdcQueryable.class,
                 JsonIVdcQueryableMixIn.class);
         
formattedMapper.getDeserializationConfig().addMixInAnnotations(VM.class, 
JsonVmMixIn.class);
-        
formattedMapper.getDeserializationConfig().addMixInAnnotations(ValueObjectMap.class,
-                JsonValueObjectMapMixIn.class);
         
formattedMapper.getDeserializationConfig().addMixInAnnotations(VdsStatic.class, 
JsonVdsStaticMixIn.class);
         
formattedMapper.getDeserializationConfig().addMixInAnnotations(VDS.class, 
JsonVDSMixIn.class);
         
formattedMapper.getDeserializationConfig().addMixInAnnotations(AddVmTemplateParameters.class,
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java
index 2cfea02..ee96602 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectSerializer.java
@@ -20,7 +20,6 @@
 import org.ovirt.engine.core.common.businessentities.VdsStatic;
 import org.ovirt.engine.core.common.businessentities.VmBase;
 import org.ovirt.engine.core.common.businessentities.VmStatic;
-import org.ovirt.engine.core.common.queries.ValueObjectMap;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.utils.SerializationExeption;
 import org.ovirt.engine.core.utils.Serializer;
@@ -39,8 +38,6 @@
                 JsonVdcActionParametersBaseMixIn.class);
         
formattedMapper.getSerializationConfig().addMixInAnnotations(IVdcQueryable.class,
 JsonIVdcQueryableMixIn.class);
         formattedMapper.getSerializationConfig().addMixInAnnotations(VM.class, 
JsonVmMixIn.class);
-        
formattedMapper.getSerializationConfig().addMixInAnnotations(ValueObjectMap.class,
-                JsonValueObjectMapMixIn.class);
         
formattedMapper.getSerializationConfig().addMixInAnnotations(VdsStatic.class, 
JsonVdsStaticMixIn.class);
         
formattedMapper.getSerializationConfig().addMixInAnnotations(VDS.class, 
JsonVDSMixIn.class);
         
formattedMapper.getSerializationConfig().addMixInAnnotations(AddVmTemplateParameters.class,
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonValueObjectMapMixIn.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonValueObjectMapMixIn.java
deleted file mode 100644
index 30d71a2..0000000
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonValueObjectMapMixIn.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.ovirt.engine.core.utils.serialization.json;
-
-import java.util.ArrayList;
-
-import org.codehaus.jackson.annotate.JsonIgnore;
-import org.codehaus.jackson.annotate.JsonTypeInfo;
-import org.codehaus.jackson.annotate.JsonTypeInfo.As;
-import org.codehaus.jackson.annotate.JsonTypeInfo.Id;
-import org.ovirt.engine.core.common.queries.ValueObjectMap;
-import org.ovirt.engine.core.common.queries.ValueObjectPair;
-
-@SuppressWarnings("serial")
-@JsonTypeInfo(use = Id.CLASS, include = As.PROPERTY)
-public abstract class JsonValueObjectMapMixIn extends ValueObjectMap {
-    /**
-     * Ignore this method since Jackson will try to recursively dereference it 
and fail to serialize.
-     */
-    @JsonIgnore
-    @Override
-    public abstract ArrayList<ValueObjectPair> getValuePairs();
-}
diff --git 
a/frontend/webadmin/modules/gwt-extension/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap_CustomFieldSerializer.java
 
b/frontend/webadmin/modules/gwt-extension/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap_CustomFieldSerializer.java
deleted file mode 100644
index 570b993..0000000
--- 
a/frontend/webadmin/modules/gwt-extension/src/main/java/org/ovirt/engine/core/common/queries/ValueObjectMap_CustomFieldSerializer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.ovirt.engine.core.common.queries;
-
-import com.google.gwt.user.client.rpc.SerializationException;
-import com.google.gwt.user.client.rpc.SerializationStreamReader;
-import com.google.gwt.user.client.rpc.SerializationStreamWriter;
-import java.util.ArrayList;
-
-public class ValueObjectMap_CustomFieldSerializer {
-
-       public static void deserialize(SerializationStreamReader streamReader,
-                       ValueObjectMap instance) throws SerializationException {
-               
instance.setValuePairs((ArrayList<ValueObjectPair>)streamReader.readObject());
-       }
-
-       public static ValueObjectMap instantiate(
-                       SerializationStreamReader streamReader)
-                       throws SerializationException {
-               ValueObjectMap instance = new ValueObjectMap();
-               return instance;
-       }
-
-       public static void serialize(SerializationStreamWriter streamWriter,
-                       ValueObjectMap instance) throws SerializationException {
-               streamWriter.writeObject(instance.getValuePairs());
-       }
-
-}


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

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

Reply via email to