Emily Zhang has uploaded a new change for review. Change subject: engine:Trusted Compute Pools - Open Attestation integration with oVirt engine proposal ......................................................................
engine:Trusted Compute Pools - Open Attestation integration with oVirt engine proposal Detailed description: http://wiki.ovirt.org/Trusted_compute_pools Fix parser function to parse complex response string returned from OAT server in AttestationService. Change-Id: I2f541b004ba383a3098cf7fbfca7a000b11b750f Signed-off-by: Emily <lijuan.zh...@intel.com> Signed-off-by: Jimmy <gang....@intel.com> --- M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/attestation/AttestationService.java 1 file changed, 20 insertions(+), 17 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/81/26381/1 diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/attestation/AttestationService.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/attestation/AttestationService.java index bcaeba3..d1a1c95 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/attestation/AttestationService.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/attestation/AttestationService.java @@ -121,38 +121,41 @@ List<AttestationValue> values = new ArrayList<AttestationValue>(); JsonParser jParser = jfactory.createJsonParser(str); try { - jParser.nextToken(); + jParser.nextToken(); //START_OBJECT while (jParser.nextToken() != JsonToken.END_OBJECT) { if (jParser.getCurrentName().equalsIgnoreCase(HEADER_HOSTS)) { - while (jParser.nextToken() != JsonToken.END_ARRAY - && jParser.getCurrentToken() != JsonToken.END_OBJECT) { - AttestationValue value = new AttestationValue(); - if (jParser.getCurrentName().equalsIgnoreCase( - HEADER_HOST_NAME)) { + jParser.nextToken(); //START_ARRAY + jParser.nextToken(); //START_OBJECT + jParser.nextToken(); //FIELD_NAME + AttestationValue value = new AttestationValue(); + while (jParser.getCurrentToken() != JsonToken.END_ARRAY) { + String fieldname = jParser.getCurrentName(); + if (fieldname.equalsIgnoreCase(HEADER_HOST_NAME)) { jParser.nextToken(); value.setHostName(jParser.getText()); - jParser.nextToken(); - } - if (jParser.getCurrentName().equalsIgnoreCase( - HEADER_RESULT)) { + } else if (fieldname.equalsIgnoreCase(HEADER_RESULT)) { jParser.nextToken(); value.setTrustLevel(AttestationResultEnum .valueOf(jParser.getText().toUpperCase())); + } else if (fieldname.equalsIgnoreCase(HEADER_VTIME)) { jParser.nextToken(); + } else if (!jParser.nextToken().isScalarValue()) { + jParser.skipChildren(); } - if (jParser.getCurrentName().equalsIgnoreCase( - HEADER_VTIME)) { - jParser.nextToken(); - jParser.nextToken(); - } - if (value.getHostName() != null) { + + if (jParser.nextToken() == JsonToken.END_OBJECT) { log.debug("host_name:" + value.getHostName() + ", trustLevel:" + value.getTrustLevel()); values.add(value); + value = new AttestationValue(); + if (jParser.nextToken() == JsonToken.START_OBJECT) { + jParser.nextToken(); //FIELD_NAME + } } - jParser.nextToken(); } break; + } else if (!jParser.nextToken().isScalarValue()) { + jParser.skipChildren(); } } } finally { -- To view, visit http://gerrit.ovirt.org/26381 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2f541b004ba383a3098cf7fbfca7a000b11b750f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Emily Zhang <lijuan.zh...@intel.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches