in src/main/java/org/openvasp/client/model/VaspMessage.java [206:237]
public static VaspMessage fromJson(@NonNull final String str) {
val rootNode = Json.readTree(str);
val messageTypeStr = extractMessageTypeStr(rootNode);
val messageType = TypeDescriptor.fromIdStr(messageTypeStr);
final VaspMessage result;
switch (messageType) {
case SESSION_REQUEST:
result = Json.convertValue(SessionRequest.class, rootNode);
break;
case SESSION_REPLY:
result = Json.convertValue(SessionReply.class, rootNode);
break;
case TRANSFER_REQUEST:
result = Json.convertValue(TransferRequest.class, rootNode);
break;
case TRANSFER_REPLY:
result = Json.convertValue(TransferReply.class, rootNode);
break;
case TRANSFER_DISPATCH:
result = Json.convertValue(TransferDispatch.class, rootNode);
break;
case TRANSFER_CONFIRMATION:
result = Json.convertValue(TransferConfirmation.class, rootNode);
break;
case TERMINATION:
result = Json.convertValue(TerminationMessage.class, rootNode);
break;
default:
throw new VaspException("An unknown message type " + messageTypeStr);
}
return result;
}