use of com.helger.json.IJsonValue in project phive by phax.
the class PhiveJsonHelper method getAsIError.
@Nonnull
public static IError getAsIError(@Nonnull final IJsonObject aObj) {
final IErrorLevel aErrorLevel = getAsErrorLevel(aObj.getAsString(JSON_ERROR_LEVEL));
final String sErrorID = aObj.getAsString(JSON_ERROR_ID);
final String sErrorFieldName = aObj.getAsString(JSON_ERROR_FIELD_NAME);
// Try new structured version
ILocation aErrorLocation = getAsErrorLocation(aObj.getAsObject(JSON_ERROR_LOCATION_OBJ));
if (aErrorLocation == null) {
final IJsonValue aErrorLocationValue = aObj.getAsValue(JSON_ERROR_LOCATION_STR);
if (aErrorLocationValue != null) {
// It's a string - old version
aErrorLocation = new SimpleLocation(aErrorLocationValue.getAsString());
}
}
final String sErrorText = aObj.getAsString(JSON_ERROR_TEXT);
final String sTest = aObj.getAsString(JSON_TEST);
final PhiveRestoredException aLinkedException = PhiveRestoredException.createFromJson(aObj.getAsObject(JSON_EXCEPTION));
if (sTest != null)
return new SVRLResourceError(aErrorLevel, sErrorID, sErrorFieldName, aErrorLocation, new ConstantHasErrorText(sErrorText), aLinkedException, sTest);
return new SingleError(aErrorLevel, sErrorID, sErrorFieldName, aErrorLocation, new ConstantHasErrorText(sErrorText), aLinkedException);
}
use of com.helger.json.IJsonValue in project phase4 by phax.
the class PModeLegSecurityJsonConverter method convertToNative.
/**
* Convert the provided JSON to a {@link PModeLegSecurity} object.
*
* @param aElement
* The JSON object to be converted. May not be <code>null</code>.
* @return A non-<code>null</code> {@link PModeLegSecurity}
* @throws IllegalStateException
* In case of an unsupported value
*/
@Nonnull
public static PModeLegSecurity convertToNative(@Nonnull final IJsonObject aElement) {
final String sWSSVersion = aElement.getAsString(ATTR_WSS_VERSION);
final EWSSVersion eWSSVersion = EWSSVersion.getFromVersionOrNull(sWSSVersion);
if (eWSSVersion == null && sWSSVersion != null)
throw new IllegalStateException("Invalid WSS version '" + sWSSVersion + "'");
final ICommonsList<String> aX509SignElements = new CommonsArrayList<>();
final IJsonArray aSignElement = aElement.getAsArray(ELEMENT_X509_SIGN_ELEMENT);
if (aSignElement != null)
for (final IJsonValue aItem : aSignElement.iteratorValues()) aX509SignElements.add(aItem.getAsString());
final ICommonsList<String> aX509SignAttachments = new CommonsArrayList<>();
final IJsonArray aSignAttachment = aElement.getAsArray(ELEMENT_X509_SIGN_ATTACHMENT);
if (aSignAttachment != null)
for (final IJsonValue aItem : aSignAttachment.iteratorValues()) aX509SignAttachments.add(aItem.getAsString());
final String sX509SignatureCertificate = aElement.getAsString(ELEMENT_X509_SIGNATURE_CERTIFICATE);
final String sX509SignatureHashFunction = aElement.getAsString(ATTR_X509_SIGNATURE_HASH_FUNCTION);
final ECryptoAlgorithmSignDigest eX509SignatureHashFunction = ECryptoAlgorithmSignDigest.getFromIDOrNull(sX509SignatureHashFunction);
if (eX509SignatureHashFunction == null && sX509SignatureHashFunction != null)
throw new IllegalStateException("Invalid signature hash function '" + sX509SignatureHashFunction + "'");
final String sX509SignatureAlgorithm = aElement.getAsString(ATTR_X509_SIGNATURE_ALGORITHM);
final ECryptoAlgorithmSign eX509SignatureAlgorithm = ECryptoAlgorithmSign.getFromIDOrNull(sX509SignatureAlgorithm);
if (eX509SignatureAlgorithm == null && sX509SignatureAlgorithm != null)
throw new IllegalStateException("Invalid signature algorithm '" + sX509SignatureAlgorithm + "'");
final ICommonsList<String> aX509EncryptionElements = new CommonsArrayList<>();
final IJsonArray aEncryptElement = aElement.getAsArray(ELEMENT_X509_ENCRYPTION_ENCRYPT_ELEMENT);
if (aEncryptElement != null)
for (final IJsonValue aItem : aEncryptElement.iteratorValues()) aX509EncryptionElements.add(aItem.getAsString());
final ICommonsList<String> aX509EncryptionAttachments = new CommonsArrayList<>();
final IJsonArray aEncryptAttachment = aElement.getAsArray(ELEMENT_X509_ENCRYPTION_ENCRYPT_ATTACHMENT);
if (aEncryptAttachment != null)
for (final IJsonValue aItem : aEncryptAttachment.iteratorValues()) aX509EncryptionAttachments.add(aItem.getAsString());
final String sX509EncryptionCertificate = aElement.getAsString(ELEMENT_X509_ENCRYPTION_CERTIFICATE);
final String sX509EncryptionAlgorithm = aElement.getAsString(ATTR_X509_ENCRYPTION_ALGORITHM);
final ECryptoAlgorithmCrypt eX509EncryptionAlgorithm = ECryptoAlgorithmCrypt.getFromIDOrNull(sX509EncryptionAlgorithm);
if (eX509EncryptionAlgorithm == null && sX509EncryptionAlgorithm != null)
throw new IllegalStateException("Invalid encrypt algorithm '" + sX509EncryptionAlgorithm + "'");
final Integer aX509EncryptionMinimumStrength = aElement.getAsIntObj(ATTR_X509_ENCRYPTION_MINIMUM_STRENGTH);
final String sUsernameTokenUsername = aElement.getAsString(ATTR_USERNAME_TOKEN_USERNAME);
final String sUsernameTokenPassword = aElement.getAsString(ATTR_USERNAME_TOKEN_PASSWORD);
final ETriState eUsernameTokenDigest = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_USERNAME_TOKEN_DIGEST), PModeLegSecurity.DEFAULT_USERNAME_TOKEN_DIGEST);
final ETriState eUsernameTokenNonce = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_USERNAME_TOKEN_NONCE), PModeLegSecurity.DEFAULT_USERNAME_TOKEN_NONCE);
final ETriState eUsernameTokenCreated = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_USERNAME_TOKEN_CREATED), PModeLegSecurity.DEFAULT_USERNAME_TOKEN_CREATED);
final ETriState ePModeAuthorize = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_PMODE_AUTHORIZE), PModeLegSecurity.DEFAULT_PMODE_AUTHORIZE);
final ETriState eSendReceipt = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_SEND_RECEIPT), PModeLegSecurity.DEFAULT_SEND_RECEIPT);
final String sSendReceiptReplyPattern = aElement.getAsString(ATTR_SEND_RECEIPT_REPLY_PATTERN);
final EPModeSendReceiptReplyPattern eSendReceiptReplyPattern = EPModeSendReceiptReplyPattern.getFromIDOrNull(sSendReceiptReplyPattern);
if (eSendReceiptReplyPattern == null && sSendReceiptReplyPattern != null)
throw new IllegalStateException("Invalid SendReceipt ReplyPattern version '" + sSendReceiptReplyPattern + "'");
final ETriState eSendReceiptNonRepudiation = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(ATTR_SEND_RECEIPT_NON_REPUDIATION), PModeLegSecurity.DEFAULT_SEND_RECEIPT_NON_REPUDIATION);
return new PModeLegSecurity(eWSSVersion, aX509SignElements, aX509SignAttachments, sX509SignatureCertificate, eX509SignatureHashFunction, eX509SignatureAlgorithm, aX509EncryptionElements, aX509EncryptionAttachments, sX509EncryptionCertificate, eX509EncryptionAlgorithm, aX509EncryptionMinimumStrength, sUsernameTokenUsername, sUsernameTokenPassword, eUsernameTokenDigest, eUsernameTokenNonce, eUsernameTokenCreated, ePModeAuthorize, eSendReceipt, eSendReceiptReplyPattern, eSendReceiptNonRepudiation);
}
use of com.helger.json.IJsonValue in project phase4 by phax.
the class PModeLegReliabilityJsonConverter method convertToNative.
@Nonnull
public static PModeLegReliability convertToNative(@Nonnull final IJsonObject aElement) {
final ETriState eAtLeastOnceContract = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(AT_LEAST_ONCE_CONTRACT), PModeLegReliability.DEFAULT_AT_LEAST_ONCE_CONTRACT);
final ETriState eAtLeastOnceAckOnDelivery = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(AT_LEAST_ONCE_ACK_ON_DELIVERY), PModeLegReliability.DEFAULT_AT_LEAST_ONCE_ACK_ON_DELIVERY);
final String sAtLeastOnceContractAcksTo = aElement.getAsString(AT_LEAST_ONCE_CONTRACT_ACK_TO);
final ETriState eAtLeastOnceContractAckResponse = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(AT_LEAST_ONCE_CONTRACT_ACK_RESPONSE), PModeLegReliability.DEFAULT_AT_LEAST_ONCE_CONTRACT_ACK_RESPONSE);
final String sAtLeastOnceReplyPattern = aElement.getAsString(AT_LEAST_ONCE_REPLY_PATTERN);
final ETriState eAtMostOnceContract = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(AT_MOST_ONCE_CONTRACT), PModeLegReliability.DEFAULT_AT_MOST_ONCE_CONTRACT);
final ETriState eInOrderContract = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(IN_ORDER_CONTRACT), PModeLegReliability.DEFAULT_IN_ORDER_CONTACT);
final ETriState eStartGroup = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(START_GROUP), PModeLegReliability.DEFAULT_START_GROUP);
final ICommonsList<String> aCorrelationStrings = new CommonsArrayList<>();
final IJsonArray aCorrelation = aElement.getAsArray(CORRELATION);
if (aCorrelation != null)
for (final IJsonValue aCorrelationElement : aCorrelation.iteratorValues()) aCorrelationStrings.add(aCorrelationElement.getAsString());
final ETriState eTerminateGroup = AbstractPModeMicroTypeConverter.getTriState(aElement.getAsString(TERMINATE_GROUP), PModeLegReliability.DEFAULT_TERMINATE_GROUP);
return new PModeLegReliability(eAtLeastOnceContract, eAtLeastOnceAckOnDelivery, sAtLeastOnceContractAcksTo, eAtLeastOnceContractAckResponse, sAtLeastOnceReplyPattern, eAtMostOnceContract, eInOrderContract, eStartGroup, aCorrelationStrings, eTerminateGroup);
}
Aggregations