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