All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.paymentgate.engine.webservices.merchant.OrderStatusResponse Maven / Gradle / Ivy

There is a newer version: 1.6
Show newest version
/**
 * OrderStatusResponse.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis2 version: 1.7.5  Built on : May 06, 2017 (03:45:50 BST)
 */
package ru.paymentgate.engine.webservices.merchant;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import javax.xml.namespace.NamespaceContext;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;

import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axis2.databinding.ADBBean;
import org.apache.axis2.databinding.ADBDataSource;
import org.apache.axis2.databinding.ADBException;
import org.apache.axis2.databinding.utils.BeanUtil;
import org.apache.axis2.databinding.utils.ConverterUtil;

import ru.abyss.acquiring.soap.MerchantService;

/**
 * Результат запроса состояния зарегистрированного заказа
 * 
 * @see {@link MerchantService#getOrderStatus(GetOrderStatus)}
 */
public class OrderStatusResponse extends AbstractResponse implements ADBBean {

	private static final long serialVersionUID = -2888428689739151085L;

	/**
	 * Дополнительные параметры заказа
	 */
	protected ServiceParam[] localParams;

	protected boolean localParamsTracker = false;

	/**
	 * field for OrderBundle
	 */
	protected OrderBundle localOrderBundle;

	protected boolean localOrderBundleTracker = false;

	/**
	 * По значению этого параметра определяется состояние заказа в платежной системе.
	 * Список возможных значений приведен в таблице ниже. Отсутствует, если заказ не был найден.
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
	 * 
Номер состоянияОписание
0Заказ зарегистрирован, но не оплачен
1Предавторизованная сумма захолдирована (для двухстадийных платежей)
2Проведена полная авторизация суммы заказа
3Авторизация отменена
4По транзакции была проведена операция возврата
5Инициирована авторизация через ACS банка-эмитента
6Авторизация отклонена
*/ protected int localOrderStatus; /** * Номер (идентификатор) заказа в системе магазина.
* Обязательное поле. Максимальная длина - 32 символа. */ protected String localOrderNumber; /** * Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
* Максимальная длина - 19 символа. */ protected String localPan; /** * field for Hpan This was an Attribute! */ protected String localHpan; /** * Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
* Максимальная длина - 6 цифр. */ protected String localExpiration; /** * Имя держателя карты. Указан только после оплаты заказа.
* Максимальная длина - 64 символа. */ protected String localCardholderName; /** * Сумма платежа в копейках (или центах).
* Максимальная длина - 20 цифр. */ protected long localAmount; /** * Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
* Обязательное поле. Максимальная длина - 3 символа. */ protected String localCurrency; /** * Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. */ protected String localApprovalCode; /** * Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы.
* Максимальная длина - 3 цифры. * * @deprecated Cтатус заказа необходимо определять по значению параметра {@link #getOrderStatus()}. */ @Deprecated protected int localAuthCode; /** * IP адрес пользователя, который оплачивал заказ.
* Максимальная длина - 15 символов. */ protected String localIp; /** * Дата регистрации заказа */ protected Calendar localDate; /** * Описание заказа, переданное при его регистрации.
* Обязательное поле. Максимальная длина - 512 символов. */ protected String localOrderDescription; /** * field for MerchantLogin This was an Attribute! */ protected String localMerchantLogin; /** * Расшифровка кода ответа на языке, переданном в параметре Language в запросе.
* Обязательное поле. Максимальная длина - 512 символов. */ protected String localActionCodeDescription; /** * Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ protected String localClientId; /** * Идентификатор связки созданной при оплате заказа или использованной для оплаты. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ protected String localBindingId; public boolean isParamsSpecified() { return localParamsTracker; } /** * Дополнительные параметры заказа */ public ServiceParam[] getParams() { return localParams; } /** * validate the array for Params */ protected void validateParams(ServiceParam[] param) { } /** * Дополнительные параметры заказа */ public void setParams(ServiceParam[] param) { validateParams(param); localParamsTracker = param != null; this.localParams = param; } /** * Добавить дополнительный параметр заказа */ public void addParams(ServiceParam param) { if (localParams == null) { localParams = new ServiceParam[] {}; } // update the setting tracker localParamsTracker = true; @SuppressWarnings("unchecked") List list = ConverterUtil.toList(localParams); list.add(param); this.localParams = list.toArray(new ServiceParam[list.size()]); } public boolean isOrderBundleSpecified() { return localOrderBundleTracker; } /** * Auto generated getter method * * @return OrderBundle */ public OrderBundle getOrderBundle() { return localOrderBundle; } /** * Auto generated setter method * * @param param * OrderBundle */ public void setOrderBundle(OrderBundle param) { localOrderBundleTracker = param != null; this.localOrderBundle = param; } /** * По значению этого параметра определяется состояние заказа в платежной системе. * Список возможных значений приведен в таблице ниже. Отсутствует, если заказ не был найден. * * * * * * * * * * * * * * * * * * *
Номер состоянияОписание
0Заказ зарегистрирован, но не оплачен
1Предавторизованная сумма захолдирована (для двухстадийных платежей)
2Проведена полная авторизация суммы заказа
3Авторизация отменена
4По транзакции была проведена операция возврата
5Инициирована авторизация через ACS банка-эмитента
6Авторизация отклонена
*/ public int getOrderStatus() { return localOrderStatus; } /** * По значению этого параметра определяется состояние заказа в платежной системе. * Список возможных значений приведен в таблице ниже. Отсутствует, если заказ не был найден. * * * * * * * * * * * * * * * * * * *
Номер состоянияОписание
0Заказ зарегистрирован, но не оплачен
1Предавторизованная сумма захолдирована (для двухстадийных платежей)
2Проведена полная авторизация суммы заказа
3Авторизация отменена
4По транзакции была проведена операция возврата
5Инициирована авторизация через ACS банка-эмитента
6Авторизация отклонена
*/ public void setOrderStatus(int param) { this.localOrderStatus = param; } /** * Номер (идентификатор) заказа в системе магазина.
* Обязательное поле. Максимальная длина - 32 символа. */ public String getOrderNumber() { return localOrderNumber; } /** * Номер (идентификатор) заказа в системе магазина.
* Обязательное поле. Максимальная длина - 32 символа. */ public void setOrderNumber(String param) { this.localOrderNumber = param; } /** * Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
* Максимальная длина - 19 символа. */ public String getPan() { return localPan; } /** * Маскированный номер карты, которая использовалась для оплаты. Указан только после оплаты заказа.
* Максимальная длина - 19 символа. */ public void setPan(String param) { this.localPan = param; } /** * Auto generated getter method * * @return String */ public String getHpan() { return localHpan; } /** * Auto generated setter method * * @param param * Hpan */ public void setHpan(String param) { this.localHpan = param; } /** * Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
* Максимальная длина - 6 цифр. */ public String getExpiration() { return localExpiration; } /** * Срок истечения действия карты в формате YYYYMM. Указан только после оплаты заказа.
* Максимальная длина - 6 цифр. */ public void setExpiration(String param) { this.localExpiration = param; } /** * Имя держателя карты. Указан только после оплаты заказа.
* Максимальная длина - 64 символа. */ public String getCardholderName() { return localCardholderName; } /** * Имя держателя карты. Указан только после оплаты заказа.
* Максимальная длина - 64 символа. */ public void setCardholderName(String param) { this.localCardholderName = param; } /** * Сумма платежа в копейках (или центах).
* Максимальная длина - 20 цифр. */ public long getAmount() { return localAmount; } /** * Сумма платежа в копейках (или центах).
* Максимальная длина - 20 цифр. */ public void setAmount(long param) { this.localAmount = param; } /** * Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
* Обязательное поле. Максимальная длина - 3 символа. */ public String getCurrency() { return localCurrency; } /** * Код валюты платежа ISO 4217. Если не указан, считается равным коду валюты по умолчанию.
* Обязательное поле. Максимальная длина - 3 символа. */ public void setCurrency(String param) { this.localCurrency = param; } /** * Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. */ public String getApprovalCode() { return localApprovalCode; } /** * Код авторизации МПС. Поле фиксированной длины (6 символов), может содержать цифры и латинские буквы. */ public void setApprovalCode(String param) { this.localApprovalCode = param; } /** * Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы.
* Максимальная длина - 3 цифры. * * @deprecated Cтатус заказа необходимо определять по значению параметра {@link #getOrderStatus()}. */ @Deprecated public int getAuthCode() { return localAuthCode; } /** * Это поле является устаревшим. Его значение всегда равно "2", независимо от состояния заказа и кода авторизации процессинговой системы.
* Максимальная длина - 3 цифры. * * @deprecated Cтатус заказа необходимо определять по значению параметра {@link #getOrderStatus()}. */ @Deprecated public void setAuthCode(int param) { this.localAuthCode = param; } /** * IP адрес пользователя, который оплачивал заказ.
* Максимальная длина - 15 символов. */ public String getIp() { return localIp; } /** * IP адрес пользователя, который оплачивал заказ.
* Максимальная длина - 15 символов. */ public void setIp(String param) { this.localIp = param; } /** * Дата регистрации заказа */ public Calendar getDate() { return localDate; } /** * Дата регистрации заказа */ public void setDate(Calendar param) { this.localDate = param; } /** * Описание заказа, переданное при его регистрации.
* Обязательное поле. Максимальная длина - 512 символов. */ public String getOrderDescription() { return localOrderDescription; } /** * Описание заказа, переданное при его регистрации.
* Обязательное поле. Максимальная длина - 512 символов. */ public void setOrderDescription(String param) { this.localOrderDescription = param; } /** * Auto generated getter method * * @return String */ public String getMerchantLogin() { return localMerchantLogin; } /** * Auto generated setter method * * @param param * MerchantLogin */ public void setMerchantLogin(String param) { this.localMerchantLogin = param; } /** * Расшифровка кода ответа на языке, переданном в параметре Language в запросе.
* Обязательное поле. Максимальная длина - 512 символов. */ public String getActionCodeDescription() { return localActionCodeDescription; } /** * Расшифровка кода ответа на языке, переданном в параметре Language в запросе.
* Обязательное поле. Максимальная длина - 512 символов. */ public void setActionCodeDescription(String param) { this.localActionCodeDescription = param; } /** * Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ public String getClientId() { return localClientId; } /** * Номер (идентификатор) клиента в системе магазина, переданный при регистрации заказа. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ public void setClientId(String param) { this.localClientId = param; } /** * Идентификатор связки созданной при оплате заказа или использованной для оплаты. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ public String getBindingId() { return localBindingId; } /** * Идентификатор связки созданной при оплате заказа или использованной для оплаты. * Присутствует только если магазину разрешено создание связок.
* Максимальная длина - 255 символов. */ public void setBindingId(String param) { this.localBindingId = param; } /** * Коды ошибок: * * * * * * * * * * * * * * * * * * *
ЗначениеОписание
0Обработка запроса прошла без системных ошибок
2Платёж отклонён
5Доступ запрещён
5Пользователь должен сменить свой пароль
5[orderId] не указан
6Неизвестный номер заказа
7Системная ошибка
*/ @Override public int getErrorCode() { return super.getErrorCode(); } /** * * @param parentQName * @param factory * @return OMElement */ public OMElement getOMElement(final QName parentQName, final OMFactory factory) throws ADBException { return factory.createOMElement(new ADBDataSource(this, parentQName)); } public void serialize(final QName parentQName, XMLStreamWriter xmlWriter) throws XMLStreamException, ADBException { serialize(parentQName, xmlWriter, false); } public void serialize(final QName parentQName, XMLStreamWriter xmlWriter, boolean serializeType) throws XMLStreamException, ADBException { String prefix = null; String namespace = null; prefix = parentQName.getPrefix(); namespace = parentQName.getNamespaceURI(); writeStartElement(prefix, namespace, parentQName.getLocalPart(), xmlWriter); String namespacePrefix = registerPrefix(xmlWriter, "http://engine.paymentgate.ru/webservices/merchant"); if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)) { writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type", namespacePrefix + ":orderStatusResponse", xmlWriter); } else { writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "type", "orderStatusResponse", xmlWriter); } if (localErrorCode != Integer.MIN_VALUE) { writeAttribute("", "errorCode", ConverterUtil.convertToString(localErrorCode), xmlWriter); } else { throw new ADBException("required attribute localErrorCode is null"); } if (localErrorMessage != null) { writeAttribute("", "errorMessage", ConverterUtil.convertToString(localErrorMessage), xmlWriter); } if (localOrderStatus != Integer.MIN_VALUE) { writeAttribute("", "orderStatus", ConverterUtil.convertToString(localOrderStatus), xmlWriter); } else { throw new ADBException("required attribute localOrderStatus is null"); } if (localOrderNumber != null) { writeAttribute("", "orderNumber", ConverterUtil.convertToString(localOrderNumber), xmlWriter); } if (localPan != null) { writeAttribute("", "pan", ConverterUtil.convertToString(localPan), xmlWriter); } if (localHpan != null) { writeAttribute("", "hpan", ConverterUtil.convertToString(localHpan), xmlWriter); } if (localExpiration != null) { writeAttribute("", "expiration", ConverterUtil.convertToString(localExpiration), xmlWriter); } if (localCardholderName != null) { writeAttribute("", "cardholderName", ConverterUtil.convertToString(localCardholderName), xmlWriter); } if (localAmount != Long.MIN_VALUE) { writeAttribute("", "amount", ConverterUtil.convertToString(localAmount), xmlWriter); } else { throw new ADBException("required attribute localAmount is null"); } if (localCurrency != null) { writeAttribute("", "currency", ConverterUtil.convertToString(localCurrency), xmlWriter); } if (localApprovalCode != null) { writeAttribute("", "approvalCode", ConverterUtil.convertToString(localApprovalCode), xmlWriter); } if (localAuthCode != Integer.MIN_VALUE) { writeAttribute("", "authCode", ConverterUtil.convertToString(localAuthCode), xmlWriter); } else { throw new ADBException("required attribute localAuthCode is null"); } if (localIp != null) { writeAttribute("", "ip", ConverterUtil.convertToString(localIp), xmlWriter); } if (localDate != null) { writeAttribute("", "date", ConverterUtil.convertToString(localDate), xmlWriter); } if (localOrderDescription != null) { writeAttribute("", "orderDescription", ConverterUtil.convertToString(localOrderDescription), xmlWriter); } if (localMerchantLogin != null) { writeAttribute("", "merchantLogin", ConverterUtil.convertToString(localMerchantLogin), xmlWriter); } if (localActionCodeDescription != null) { writeAttribute("", "actionCodeDescription", ConverterUtil.convertToString(localActionCodeDescription), xmlWriter); } if (localClientId != null) { writeAttribute("", "clientId", ConverterUtil.convertToString(localClientId), xmlWriter); } if (localBindingId != null) { writeAttribute("", "bindingId", ConverterUtil.convertToString(localBindingId), xmlWriter); } if (localOperationsTracker) { if (localOperations != null) { for (int i = 0; i < localOperations.length; i++) { if (localOperations[i] != null) { localOperations[i].serialize(new QName("", "operations"), xmlWriter); } else { writeStartElement(null, "", "operations", xmlWriter); // write the nil attribute writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "1", xmlWriter); xmlWriter.writeEndElement(); } } } else { writeStartElement(null, "", "operations", xmlWriter); // write the nil attribute writeAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance", "nil", "1", xmlWriter); xmlWriter.writeEndElement(); } } if (localParamsTracker) { if (localParams != null) { for (int i = 0; i < localParams.length; i++) { if (localParams[i] != null) { localParams[i].serialize(new QName("", "params"), xmlWriter); } else { // we don't have to do any thing since minOccures is // zero } } } else { throw new ADBException("params cannot be null!!"); } } if (localOrderBundleTracker) { if (localOrderBundle == null) { throw new ADBException("orderBundle cannot be null!!"); } localOrderBundle.serialize(new QName("", "orderBundle"), xmlWriter); } xmlWriter.writeEndElement(); } private static String generatePrefix(String namespace) { if (namespace.equals("http://engine.paymentgate.ru/webservices/merchant")) { return "ns1"; } return BeanUtil.getUniquePrefix(); } /** * Utility method to write an element start tag. */ private void writeStartElement(String prefix, String namespace, String localPart, XMLStreamWriter xmlWriter) throws XMLStreamException { String writerPrefix = xmlWriter.getPrefix(namespace); if (writerPrefix != null) { xmlWriter.writeStartElement(writerPrefix, localPart, namespace); } else { if (namespace.length() == 0) { prefix = ""; } else if (prefix == null) { prefix = generatePrefix(namespace); } xmlWriter.writeStartElement(prefix, localPart, namespace); xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); } } /** * Util method to write an attribute with the ns prefix */ private void writeAttribute(String prefix, String namespace, String attName, String attValue, XMLStreamWriter xmlWriter) throws XMLStreamException { String writerPrefix = xmlWriter.getPrefix(namespace); if (writerPrefix != null) { xmlWriter.writeAttribute(writerPrefix, namespace, attName, attValue); } else { xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); xmlWriter.writeAttribute(prefix, namespace, attName, attValue); } } /** * Util method to write an attribute without the ns prefix */ private void writeAttribute(String namespace, String attName, String attValue, XMLStreamWriter xmlWriter) throws XMLStreamException { if (namespace.equals("")) { xmlWriter.writeAttribute(attName, attValue); } else { xmlWriter.writeAttribute(registerPrefix(xmlWriter, namespace), namespace, attName, attValue); } } /** * Register a namespace prefix */ private String registerPrefix(XMLStreamWriter xmlWriter, String namespace) throws XMLStreamException { String prefix = xmlWriter.getPrefix(namespace); if (prefix == null) { prefix = generatePrefix(namespace); NamespaceContext nsContext = xmlWriter.getNamespaceContext(); while (true) { String uri = nsContext.getNamespaceURI(prefix); if ((uri == null) || (uri.length() == 0)) { break; } prefix = BeanUtil.getUniquePrefix(); } xmlWriter.writeNamespace(prefix, namespace); xmlWriter.setPrefix(prefix, namespace); } return prefix; } /** * Factory class that keeps the parse method */ public static class Factory { /** * static method to create the object Precondition: If this object is an * element, the current or next start element starts this object and any * intervening reader events are ignorable If this object is not an * element, it is a complex type and the reader is at the event just * after the outer start element Postcondition: If this object is an * element, the reader is positioned at its end element If this object * is a complex type, the reader is positioned at the end element of its * outer element */ public static OrderStatusResponse parse(XMLStreamReader reader) throws Exception { OrderStatusResponse object = new OrderStatusResponse(); String nillableValue = null; try { while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type") != null) { String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "type"); if (fullTypeName != null) { String nsPrefix = null; if (fullTypeName.indexOf(":") > -1) { nsPrefix = fullTypeName.substring(0, fullTypeName.indexOf(":")); } nsPrefix = (nsPrefix == null) ? "" : nsPrefix; String type = fullTypeName.substring(fullTypeName.indexOf(":") + 1); if (!"orderStatusResponse".equals(type)) { // find namespace for the prefix String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix); return (OrderStatusResponse) ExtensionMapper.getTypeObject(nsUri, type, reader); } } } // handle attribute "errorCode" String tempAttribErrorCode = reader.getAttributeValue(null, "errorCode"); if (tempAttribErrorCode != null) { object.setErrorCode(ConverterUtil.convertToInt(tempAttribErrorCode)); } else { throw new ADBException("Required attribute errorCode is missing"); } // handle attribute "errorMessage" String tempAttribErrorMessage = reader.getAttributeValue(null, "errorMessage"); if (tempAttribErrorMessage != null) { object.setErrorMessage(ConverterUtil.convertToString(tempAttribErrorMessage)); } // handle attribute "orderStatus" String tempAttribOrderStatus = reader.getAttributeValue(null, "orderStatus"); if (tempAttribOrderStatus != null) { object.setOrderStatus(ConverterUtil.convertToInt(tempAttribOrderStatus)); } else { throw new ADBException("Required attribute orderStatus is missing"); } // handle attribute "orderNumber" String tempAttribOrderNumber = reader.getAttributeValue(null, "orderNumber"); if (tempAttribOrderNumber != null) { object.setOrderNumber(ConverterUtil.convertToString(tempAttribOrderNumber)); } // handle attribute "pan" String tempAttribPan = reader.getAttributeValue(null, "pan"); if (tempAttribPan != null) { object.setPan(ConverterUtil.convertToString(tempAttribPan)); } // handle attribute "hpan" String tempAttribHpan = reader.getAttributeValue(null, "hpan"); if (tempAttribHpan != null) { object.setHpan(ConverterUtil.convertToString(tempAttribHpan)); } // handle attribute "expiration" String tempAttribExpiration = reader.getAttributeValue(null, "expiration"); if (tempAttribExpiration != null) { object.setExpiration(ConverterUtil.convertToString(tempAttribExpiration)); } // handle attribute "cardholderName" String tempAttribCardholderName = reader.getAttributeValue(null, "cardholderName"); if (tempAttribCardholderName != null) { object.setCardholderName(ConverterUtil.convertToString(tempAttribCardholderName)); } // handle attribute "amount" String tempAttribAmount = reader.getAttributeValue(null, "amount"); if (tempAttribAmount != null) { object.setAmount(ConverterUtil.convertToLong(tempAttribAmount)); } else { throw new ADBException("Required attribute amount is missing"); } // handle attribute "currency" String tempAttribCurrency = reader.getAttributeValue(null, "currency"); if (tempAttribCurrency != null) { object.setCurrency(ConverterUtil.convertToString(tempAttribCurrency)); } // handle attribute "approvalCode" String tempAttribApprovalCode = reader.getAttributeValue(null, "approvalCode"); if (tempAttribApprovalCode != null) { object.setApprovalCode(ConverterUtil.convertToString(tempAttribApprovalCode)); } // handle attribute "authCode" String tempAttribAuthCode = reader.getAttributeValue(null, "authCode"); if (tempAttribAuthCode != null) { object.setAuthCode(ConverterUtil.convertToInt(tempAttribAuthCode)); } else { throw new ADBException("Required attribute authCode is missing"); } // handle attribute "ip" String tempAttribIp = reader.getAttributeValue(null, "ip"); if (tempAttribIp != null) { object.setIp(ConverterUtil.convertToString(tempAttribIp)); } // handle attribute "date" String tempAttribDate = reader.getAttributeValue(null, "date"); if (tempAttribDate != null) { object.setDate(ConverterUtil.convertToDateTime(tempAttribDate)); } // handle attribute "orderDescription" String tempAttribOrderDescription = reader.getAttributeValue(null, "orderDescription"); if (tempAttribOrderDescription != null) { object.setOrderDescription(ConverterUtil.convertToString(tempAttribOrderDescription)); } // handle attribute "merchantLogin" String tempAttribMerchantLogin = reader.getAttributeValue(null, "merchantLogin"); if (tempAttribMerchantLogin != null) { object.setMerchantLogin(ConverterUtil.convertToString(tempAttribMerchantLogin)); } // handle attribute "actionCodeDescription" String tempAttribActionCodeDescription = reader.getAttributeValue(null, "actionCodeDescription"); if (tempAttribActionCodeDescription != null) { object.setActionCodeDescription(ConverterUtil.convertToString(tempAttribActionCodeDescription)); } // handle attribute "clientId" String tempAttribClientId = reader.getAttributeValue(null, "clientId"); if (tempAttribClientId != null) { object.setClientId(ConverterUtil.convertToString(tempAttribClientId)); } // handle attribute "bindingId" String tempAttribBindingId = reader.getAttributeValue(null, "bindingId"); if (tempAttribBindingId != null) { object.setBindingId(ConverterUtil.convertToString(tempAttribBindingId)); } reader.next(); ArrayList list1 = new ArrayList(); ArrayList list2 = new ArrayList(); while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if ((reader.isStartElement() && new QName("", "operations").equals(reader.getName())) || new QName("", "operations").equals(reader.getName())) { // Process the array and step past its final element's end. nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); if ("true".equals(nillableValue) || "1".equals(nillableValue)) { list1.add(null); reader.next(); } else { list1.add(LoyaltyOperation.Factory.parse(reader)); } // loop until we find a start element that is not part of // this array boolean loopDone1 = false; while (!loopDone1) { // We should be at the end element, but make sure while (!reader.isEndElement()) reader.next(); // Step out of this element reader.next(); // Step to next element event. while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isEndElement()) { // two continuous end elements means we are exiting // the xml structure loopDone1 = true; } else { if (new QName("", "operations").equals(reader.getName())) { nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance", "nil"); if ("true".equals(nillableValue) || "1".equals(nillableValue)) { list1.add(null); reader.next(); } else { list1.add(LoyaltyOperation.Factory.parse(reader)); } } else { loopDone1 = true; } } } // call the converter utility to convert and set the array object.setOperations( (LoyaltyOperation[]) ConverterUtil.convertToArray(LoyaltyOperation.class, list1)); } // End of if for expected property start element while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if ((reader.isStartElement() && new QName("", "params").equals(reader.getName())) || new QName("", "params").equals(reader.getName())) { // Process the array and step past its final element's end. list2.add(ServiceParam.Factory.parse(reader)); // loop until we find a start element that is not part of // this array boolean loopDone2 = false; while (!loopDone2) { // We should be at the end element, but make sure while (!reader.isEndElement()) reader.next(); // Step out of this element reader.next(); // Step to next element event. while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isEndElement()) { // two continuous end elements means we are exiting // the xml structure loopDone2 = true; } else { if (new QName("", "params").equals(reader.getName())) { list2.add(ServiceParam.Factory.parse(reader)); } else { loopDone2 = true; } } } // call the converter utility to convert and set the array object.setParams((ServiceParam[]) ConverterUtil.convertToArray(ServiceParam.class, list2)); } // End of if for expected property start element while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if ((reader.isStartElement() && new QName("", "orderBundle").equals(reader.getName())) || new QName("", "orderBundle").equals(reader.getName())) { object.setOrderBundle(OrderBundle.Factory.parse(reader)); reader.next(); } // End of if for expected property start element while (!reader.isStartElement() && !reader.isEndElement()) reader.next(); if (reader.isStartElement()) { // 2 - A start element we are not expecting indicates a // trailing invalid property throw new ADBException("Unexpected subelement " + reader.getName()); } } catch (XMLStreamException e) { throw new Exception(e); } return object; } } // end of factory class }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy