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