use of com.axelor.apps.account.ebics.schema.h003.ParameterDocument.Parameter.Value in project axelor-open-suite by axelor.
the class DInitializationRequestElement method buildInitialization.
@Override
public void buildInitialization() throws AxelorException {
EbicsRequest request;
Header header;
Body body;
MutableHeaderType mutable;
StaticHeaderType xstatic;
Product product;
BankPubKeyDigests bankPubKeyDigests;
Authentication authentication;
Encryption encryption;
OrderType orderType;
StaticHeaderOrderDetailsType orderDetails;
mutable = EbicsXmlFactory.createMutableHeaderType("Initialisation", null);
product = EbicsXmlFactory.createProduct(session.getProduct().getLanguage(), session.getProduct().getName());
authentication = EbicsXmlFactory.createAuthentication("X002", "http://www.w3.org/2001/04/xmlenc#sha256", decodeHex(KeyUtil.getKeyDigest(session.getBankX002Key())));
encryption = EbicsXmlFactory.createEncryption("E002", "http://www.w3.org/2001/04/xmlenc#sha256", decodeHex(KeyUtil.getKeyDigest(session.getBankE002Key())));
bankPubKeyDigests = EbicsXmlFactory.createBankPubKeyDigests(authentication, encryption);
orderType = EbicsXmlFactory.createOrderType(type.getOrderType());
EbicsUser ebicsUser = session.getUser();
EbicsPartner ebicsPartner = ebicsUser.getEbicsPartner();
OrderAttribute orderAttribute = new OrderAttribute(type, ebicsPartner.getEbicsTypeSelect());
orderAttribute.build();
if (type.equals(com.axelor.apps.bankpayment.ebics.client.OrderType.FDL)) {
FDLOrderParamsType fDLOrderParamsType;
FileFormatType fileFormat;
fileFormat = EbicsXmlFactory.createFileFormatType(Locale.FRANCE.getCountry().toUpperCase(), session.getSessionParam("FORMAT"));
fDLOrderParamsType = EbicsXmlFactory.createFDLOrderParamsType(fileFormat);
if (startRange != null && endRange != null) {
DateRange range;
range = EbicsXmlFactory.createDateRange(startRange, endRange);
fDLOrderParamsType.setDateRange(range);
}
if (Boolean.getBoolean(session.getSessionParam("TEST"))) {
Parameter parameter;
Value value;
value = EbicsXmlFactory.createValue("String", "TRUE");
parameter = EbicsXmlFactory.createParameter("TEST", value);
fDLOrderParamsType.setParameterArray(new Parameter[] { parameter });
}
orderDetails = EbicsXmlFactory.createStaticHeaderOrderDetailsType(ebicsUser.getNextOrderId(), orderAttribute.getOrderAttributes(), orderType, fDLOrderParamsType);
} else {
StandardOrderParamsType standardOrderParamsType;
standardOrderParamsType = EbicsXmlFactory.createStandardOrderParamsType();
// FIXME Some banks cannot handle OrderID element in download process. Add parameter in
// configuration!!!
orderDetails = EbicsXmlFactory.createStaticHeaderOrderDetailsType(// session.getUser().getPartner().nextOrderId(),
ebicsUser.getNextOrderId(), orderAttribute.getOrderAttributes(), orderType, standardOrderParamsType);
}
xstatic = EbicsXmlFactory.createStaticHeaderType(session.getBankID(), nonce, ebicsPartner.getPartnerId(), product, ebicsUser.getSecurityMedium(), ebicsUser.getUserId(), Calendar.getInstance(), orderDetails, bankPubKeyDigests);
header = EbicsXmlFactory.createEbicsRequestHeader(true, mutable, xstatic);
body = EbicsXmlFactory.createEbicsRequestBody();
request = EbicsXmlFactory.createEbicsRequest(1, "H003", header, body);
document = EbicsXmlFactory.createEbicsRequestDocument(request);
}
use of com.axelor.apps.account.ebics.schema.h003.ParameterDocument.Parameter.Value in project axelor-open-suite by axelor.
the class EbicsXmlFactory method createEncryptionPubKeyDigest.
/**
* Create the <code>EncryptionPubKeyDigest</code> XML object
*
* @param version the encryption version
* @param algorithm the encryption algorithm
* @param value the encryption value
* @return the <code>EncryptionPubKeyDigest</code> XML object
*/
public static EncryptionPubKeyDigest createEncryptionPubKeyDigest(String version, String algorithm, byte[] value) {
EncryptionPubKeyDigest newEncryptionPubKeyDigest = EncryptionPubKeyDigest.Factory.newInstance();
newEncryptionPubKeyDigest.setVersion(version);
newEncryptionPubKeyDigest.setAlgorithm(algorithm);
newEncryptionPubKeyDigest.setByteArrayValue(value);
return newEncryptionPubKeyDigest;
}
use of com.axelor.apps.account.ebics.schema.h003.ParameterDocument.Parameter.Value in project axelor-open-suite by axelor.
the class EbicsXmlFactory method createParameter.
/**
* Creates a new <code>Parameter</code> XML object
*
* @param name the parameter name
* @param value the parameter value
* @return the <code>Parameter</code> XML object
*/
public static Parameter createParameter(String name, Value value) {
Parameter newParameter = Parameter.Factory.newInstance();
newParameter.setName(name);
newParameter.setValue(value);
return newParameter;
}
use of com.axelor.apps.account.ebics.schema.h003.ParameterDocument.Parameter.Value in project axelor-open-suite by axelor.
the class EbicsXmlFactory method createProduct.
/**
* Create the <code>Product</code> XML object
*
* @param language the product language
* @param value the product value
* @return the <code>Product</code> XML object
*/
public static Product createProduct(String language, String value) {
Product newProduct = Product.Factory.newInstance();
newProduct.setLanguage(language);
newProduct.setStringValue(value);
return newProduct;
}
use of com.axelor.apps.account.ebics.schema.h003.ParameterDocument.Parameter.Value in project axelor-open-suite by axelor.
the class EbicsXmlFactory method createFileFormatType.
/**
* Creates a new <code>FileFormatType</code> XML object
*
* @param countryCode the country code
* @param value the file format value
* @return the <code>FileFormatType</code> XML object
*/
public static FileFormatType createFileFormatType(String countryCode, String value) {
FileFormatType newFileFormatType = FileFormatType.Factory.newInstance();
newFileFormatType.setCountryCode(countryCode);
newFileFormatType.setStringValue(value);
return newFileFormatType;
}
Aggregations