Juan Hernandez has posted comments on this change.

Change subject: REST API: Adding external status to API
......................................................................


Patch Set 9:

(3 comments)

https://gerrit.ovirt.org/#/c/40997/9/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
File 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml:

Line 1588:     body:
Line 1589:       parameterType: Event
Line 1590:       signatures:
Line 1591:       - mandatoryArguments: {event.description: 'xs:string', 
event.severity: 'xs:string', event.origin: 'xs:string', event.custom_id: 
'xs:int'}
Line 1592:         optionalArguments:  {event.flood_rate: 'xs:int', 
event.host.id: 'xs:string',event.host.external_status: 
'xs:string',event.user.id: 'xs:string',
This should be "event.host.external_status.state".
Line 1593:                            event.vm.id: 
'xs:string',event.storage_domain.id: 'xs:string',event.template.id: 'xs:string',
Line 1594:                            event.cluster.id: 
'xs:string',event.data_center.id: 'xs:string'}
Line 1595:         description: add a new event to the system
Line 1596: - name: /groups/{group:id}|rel=get


https://gerrit.ovirt.org/#/c/40997/9/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java
File 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendEventsResource.java:

Line 86:                     new AddExternalEventParameters(map(event),
Line 87:                             HostMapper.map(entityExternalStatus, 
null)),
Line 88:                     new 
QueryIdResolver<Long>(VdcQueryType.GetAuditLogById, 
GetAuditLogByIdParameters.class));
Line 89: 
Line 90:         }
Isn't this previous "if" block duplicated?
Line 91:         AddExternalEventParameters parameters = new 
AddExternalEventParameters(map(event), null);
Line 92:         if (event.isSetHost() && 
event.getHost().isSetExternalStatus()) {
Line 93:             
parameters.setExternalStatus(ExternalStatus.valueOf(event.getHost().getExternalStatus().getState()));
Line 94:         }


Line 88:                     new 
QueryIdResolver<Long>(VdcQueryType.GetAuditLogById, 
GetAuditLogByIdParameters.class));
Line 89: 
Line 90:         }
Line 91:         AddExternalEventParameters parameters = new 
AddExternalEventParameters(map(event), null);
Line 92:         if (event.isSetHost() && 
event.getHost().isSetExternalStatus()) {
The user may send something like this:

  <event>
    <host>
      <external_status/>
    </host>
  </event>

This is meaningless, but possible, and in this case the call to "getState()" 
will return null. This won't probably cause a NPE, but you will probably be 
overwriting the default value of the "externalStatus" field of the parameter 
class. I think it is better if you explicitly check for the presence of the 
"state":

  if (event.isSetHost() &&
      event.getHost().isSetExternalStatus() &&
      event.getHost().getExternalStatus().isSetState()) {
    ...
  }
Line 93:             
parameters.setExternalStatus(ExternalStatus.valueOf(event.getHost().getExternalStatus().getState()));
Line 94:         }
Line 95:         return performCreate(VdcActionType.AddExternalEvent,
Line 96:                 parameters,


-- 
To view, visit https://gerrit.ovirt.org/40997
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I833f8e607fac7107e9352a547b3e36cbf9000f01
Gerrit-PatchSet: 9
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emes...@redhat.com>
Gerrit-Reviewer: Eli Mesika <emes...@redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Juan Hernandez <juan.hernan...@redhat.com>
Gerrit-Reviewer: Ori Liel <ol...@redhat.com>
Gerrit-Reviewer: Oved Ourfali <oourf...@redhat.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to