Gilad Chaplik has posted comments on this change.

Change subject: common: introduce qos package, and storage qos
......................................................................


Patch Set 5:

(9 comments)

thanks for the review Yevgeny :-) !

http://gerrit.ovirt.org/#/c/27093/5/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/qos/BaseQos.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/qos/BaseQos.java:

Line 17:  */
Line 18: public abstract class BaseQos extends IVdcQueryable implements 
BusinessEntity<Guid>, Serializable {
Line 19:     private static final long serialVersionUID = 1122772549710787678L;
Line 20:     private Guid id = Guid.Empty;
Line 21:     private QosType qoSType;
> 1. changing of the type isn't allowed, so make it final and remove the defa
about final, will get back to you.

for others I think it is okay (c'tor see line 31, S capital because it's QoS).
Line 22: 
Line 23:     @NotNull(message = "ACTION_TYPE_FAILED_NETWORK_QOS_INVALID_DC_ID")
Line 24:     private Guid storagePoolId;
Line 25: 


Line 27:     @Size(min = 1, max = 
BusinessEntitiesDefinitions.GENERAL_NAME_SIZE, message = "QOS_NAME_TOO_LONG")
Line 28:     @ValidI18NName(message = "QOS_NAME_INVALID")
Line 29:     private String name;
Line 30: 
Line 31:     private BaseQos() {
> Is this needed?
yes. for GWT.
Line 32:     }
Line 33: 
Line 34:     public BaseQos(QosType qoSType) {
Line 35:         this();


Line 32:     }
Line 33: 
Line 34:     public BaseQos(QosType qoSType) {
Line 35:         this();
Line 36:         this.qoSType = qoSType;
> is null type allowed? if not i'd add a validation here
validation in ctor.... don't like it.
Line 37:     }
Line 38:     /**
Line 39:      * @return object's type
Line 40:      */


Line 42:         return qoSType;
Line 43:     }
Line 44: 
Line 45:     /**
Line 46:      * Shows object'ss limits according to type
> Is this javadoc block relevant here?
javadoc is always good. you didn't understand why I added getString(), will fix 
it to be more readable/understandable.
Line 47:      *
Line 48:      * @return
Line 49:      */
Line 50:     public abstract String getString();


Line 46:      * Shows object'ss limits according to type
Line 47:      *
Line 48:      * @return
Line 49:      */
Line 50:     public abstract String getString();
> 1. Should this be public?
getString() will be used later on for view and aggregation; I'd rather save 
toString()

and of-course it should be public, like toString().
Line 51: 
Line 52:     /**
Line 53:      * Check whether specific derived values are equal.
Line 54:      *


Line 54:      *
Line 55:      * @param other
Line 56:      * @return are equals
Line 57:      */
Line 58:     public abstract boolean equalValues(BaseQos other);
> Should this be public?
yes. we check for equal values in other places, that's why it's separated (see 
vnic)
Line 59: 
Line 60:     /**
Line 61:      * @return derived values hash code
Line 62:      */


Line 112:             return false;
Line 113:         if (getClass() != obj.getClass())
Line 114:             return false;
Line 115:         BaseQos other = (BaseQos) obj;
Line 116:         if (id == null) {
> This block is quite repetitive. Looks like someone though about that before
I reject any use of un-generated equals method.
eclipse does it good enough
Line 117:             if (other.id != null)
Line 118:                 return false;
Line 119:         } else if (!id.equals(other.id))
Line 120:             return false;


http://gerrit.ovirt.org/#/c/27093/5/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/qos/QosType.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/qos/QosType.java:

Line 6: 
Line 7: public enum QosType implements Identifiable {
Line 8:     STORAGE(1);
Line 9: 
Line 10:     private int value;
> I'd call that id
that's how enums is implemented in ovirt.
Line 11:     private static final HashMap<Integer, QosType> valueToStatus = new 
HashMap<Integer, QosType>();
Line 12: 
Line 13:     static {
Line 14:         for (QosType status : values()) {


Line 9: 
Line 10:     private int value;
Line 11:     private static final HashMap<Integer, QosType> valueToStatus = new 
HashMap<Integer, QosType>();
Line 12: 
Line 13:     static {
> IMHO the following is more elegant way:
same.

if you still disagree please ask devel list for global refactoring
Line 14:         for (QosType status : values()) {
Line 15:             valueToStatus.put(status.getValue(), status);
Line 16:         }
Line 17:     }


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I1a9af59277b5055453159f002f19046c0051d8ff
Gerrit-PatchSet: 5
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <[email protected]>
Gerrit-Reviewer: Allon Mureinik <[email protected]>
Gerrit-Reviewer: Doron Fediuck <[email protected]>
Gerrit-Reviewer: Gilad Chaplik <[email protected]>
Gerrit-Reviewer: Kobi Ianko <[email protected]>
Gerrit-Reviewer: Lior Vernia <[email protected]>
Gerrit-Reviewer: Liron Ar <[email protected]>
Gerrit-Reviewer: Moti Asayag <[email protected]>
Gerrit-Reviewer: Yevgeny Zaspitsky <[email protected]>
Gerrit-Reviewer: [email protected]
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to