Skip navigation links

Package com.orchestranetworks.addon.dataexchange.validator

Classes and interfaces to call {addon.label} import Excel, CSV, XML and transfer data service using validators.

See: Description

Package com.orchestranetworks.addon.dataexchange.validator Description

Classes and interfaces to call {addon.label} import Excel, CSV, XML and transfer data service using validators.


Example of creating validator in the import Excel, CSV, XML and data transfer

Create the definition to add a validator.

For example:

        public final class SalaryValidatorDefinition implements ValidatorDefinition
        {
                public UserMessage getLabel()
                {
                        return UserMessage.createInfo("Validator for 'Salary' field of 'Employee' table");
                }

                public UserMessage getDescription()
                {
                        return UserMessage.createInfo("Allow import record with unempty 'Salary' field value");
                }

                public Validator getValidator(Operation operation)
                {
                        switch (operation)
                        {
                        case IMPORT_EXCEL_FOR_SINGLE_TABLE:
                        case IMPORT_EXCEL_FOR_MULTIPLE_TABLES:
                                return new SalaryValidatorForExcelFile();
                        case IMPORT_CSV:
                                return new SalaryValidatorForCSVFile();
                        case IMPORT_XML:
                                return new SalaryValidatorForXMLFile();
                        case TRANSFER_DATA:
                                return new SalaryValidatorForTransferData();
                        default:
                                return null;
                        }
                }
        }

Next, create the definition of the implementation.

Example of import Excel

        public final class SalaryValidatorForExcelFile implements Validator<ExcelValidatorContext>
        {
                public ValidatorStatus preTransform(ExcelValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        String sheetName = validatorContext.getSheetName();
                        if (sheetName.equals("Employee"))
                        {
                                ColumnHeaderSpec headerSpec = new ColumnHeaderSpec("Salary", 3);// 'Salary' index is 3
                                Object salary = validatorContext.getSourceRow().get(headerSpec);

                                if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                                {
                                        return ValidatorStatus.IGNORE;
                                }
                        }
                        return ValidatorStatus.CONTINUE;
                }
                public ValidatorStatus postTransform(ExcelValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        String sheetName = validatorContext.getSheetName();
                        if (sheetName.equals("Employee"))
                        {
                                ColumnHeaderSpec headerSpec = new ColumnHeaderSpec("Salary", 3);// 'Salary' index is 3
                                Object salary = validatorContext.getSourceRow().get(headerSpec);
                                if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                                {
                                        return ValidatorStatus.IGNORE;
                                }
                        }
                        return ValidatorStatus.CONTINUE;
                }
        }

Example of import CSV

        public final class SalaryValidatorForCSVFile implements Validator<CSVValidatorContext>
        {
                public ValidatorStatus preTransform(CSVValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        // 'Salary' index is 3
                        ColumnHeaderSpec headerSpec = new ColumnHeaderSpec("Salary", 3);
                        Object salary = validatorContext.getSourceValues().get(headerSpec);
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }

                public ValidatorStatus postTransform(CSVValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        // 'Salary' index is 3
                        ColumnHeaderSpec headerSpec = new ColumnHeaderSpec("Salary", 3);
                        Object salary = validatorContext.getSourceValues().get(headerSpec);
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }
        }

Example of import XML

        public final class SalaryValidatorForXMLFile implements Validator<XMLValidatorContext>
        {
                // Validator is located on "Employee" table mapping of {addon.label} configuration
                public ValidatorStatus preTransform(XMLValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        Object salary = validatorContext.getSourceXML().get("/root/Employee/salary");
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }

                public ValidatorStatus postTransform(XMLValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }

                        Object salary = validatorContext.getSourceXML().get("/root/Employee/salary");
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }
        }

Example of transfer data

        public final class SalaryValidatorForTransferData implements Validator<EBXValidatorContext>
        {
                // Validator is located on "Employee" table mapping of {addon.label} configuration
                public ValidatorStatus preTransform(EBXValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }
                        Object salary = validatorContext.getSourceRecord().get(Path.parse("/root/Employee/salary"));
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }

                public ValidatorStatus postTransform(EBXValidatorContext validatorContext)
                {
                        if (validatorContext == null)
                        {
                                return ValidatorStatus.FAIL;
                        }

                        Object salary = validatorContext.getSourceRecord().get(Path.parse("/root/Employee/salary"));
                        if (AddonStringUtils.isEmpty(String.valueOf(salary)))
                        {
                                return ValidatorStatus.IGNORE;
                        }
                        return ValidatorStatus.CONTINUE;
                }
        }

Finally, the validator definition must be registered in the add-on in order to be available in the configuration:

        ValidatorCatalog.add(new SalaryValidatorDefinition());

In another way, with the import Excel and CSV, the validator can be declared on Extension table.

Skip navigation links

Add-ons Version 4.5.22.

Copyright 2001-2025. Cloud Software Group, Inc. All rights reserved.
All third party product and company names and third party marks mentioned in this document are the property of their respective owners and are mentioned for identification.