Skip navigation links

Package com.orchestranetworks.addon.dex.validator

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

See: Description

Package com.orchestranetworks.addon.dex.validator Description

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


Creating a validator in the import Excel, CSV, XML and transfer data services

To create a validator:

  1. Create the definition to add a validator.

    public final class TestValidatorDefinition 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(ServiceType serviceType)
            {
                    switch (serviceType)
                    {
                    case SPREADSHEET_IMPORT:
                            return new TestValidatorForSpreadsheetImport();
                    case CSV_IMPORT:
                            return new TestValidatorForCSVImport();
                    case XML_IMPORT:
                            return new TestValidatorForXMLImport();
                    case TRANSFER:
                            return new TestValidatorForTransfer();
                    default:
                            return null;
                    }
            }
    }
    
  2. Create the implementation definition.

    • Example of Excel import:

      public final class TestValidatorForSpreadsheetImport implements Validator
      {
              public ValidatorStatus preTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      Record<SpreadsheetField> spreadsheetRecord = validatorContext.getSourceRecord();
                      SpreadsheetTable spreadsheetTable = (SpreadsheetTable) spreadsheetRecord.getTable();
                      String sheetName = spreadsheetTable.getSheetName();
                      if (sheetName.equals("Libraries"))
                      {
                              Iterator<SpreadsheetField> iterator = spreadsheetTable.getFields().iterator();
                              while (iterator.hasNext())
                              {
                                      SpreadsheetField spreadsheetField = iterator.next();
                                      if (spreadsheetRecord.getValue(spreadsheetField) == null)
                                      {
                                              return ValidatorStatus.IGNORE;
                                      }
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
              
              public ValidatorStatus postTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      EBXTable targetTable = validatorContext.getTargetTable();
                      for (EBXField targetField : targetTable.getFields())
                      {
                              if (validatorContext.getValue(targetField) == null)
                              {
                                      return ValidatorStatus.IGNORE;
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
      }
      
    • Example of CSV import:

      public final class TestValidatorForCSVImport implements Validator
      {
              public ValidatorStatus preTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      Record<CSVField> csvRecord = validatorContext.getSourceRecord();
                      CSVTable csvTable = (CSVTable) csvRecord.getTable();
                      String csvTableName = csvTable.getName();
                      if (csvTableName.equals("Libraries"))
                      {
                              Iterator<CSVField> iterator = csvTable.getFields().iterator();
                              while (iterator.hasNext())
                              {
                                      CSVField csvField = iterator.next();
                                      if (csvRecord.getValue(csvField) == null)
                                      {
                                              return ValidatorStatus.IGNORE;
                                      }
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
              
              public ValidatorStatus postTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      EBXTable targetTable = validatorContext.getTargetTable();
                      for (EBXField targetField : targetTable.getFields())
                      {
                              if (validatorContext.getValue(targetField) == null)
                              {
                                      return ValidatorStatus.IGNORE;
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
      }
      
    • Example of XML import:

      public final class TestValidatorForXMLImport implements Validator
      {
              public ValidatorStatus preTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      Record<XMLField> xmlRecord = validatorContext.getSourceRecord();
                      XMLTable xmlTable = (XMLTable) xmlRecord.getTable();
                      String xmlTablePath = xmlTable.getXMLPath();
                      if (xmlTablePath.equals("/root/Libraries"))
                      {
                              Iterator<XMLField> iterator = xmlTable.getFields().iterator();
                              while (iterator.hasNext())
                              {
                                      XMLField xmlField = iterator.next();
                                      if (xmlRecord.getValue(xmlField) == null)
                                      {
                                              return ValidatorStatus.IGNORE;
                                      }
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
              
              public ValidatorStatus postTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      EBXTable targetTable = validatorContext.getTargetTable();
                      for (EBXField targetField : targetTable.getFields())
                      {
                              if (validatorContext.getValue(targetField) == null)
                              {
                                      return ValidatorStatus.IGNORE;
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
      }
      
    • Example of data transfer:

      public final class TestValidatorForTransfer implements Validator
      {
              public ValidatorStatus preTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      Record<EBXField> ebxSourceRecords = validatorContext.getSourceRecord();
                      EBXTable ebxSourceTable = (EBXTable) ebxSourceRecords.getTable();
                      String ebxSourceTablePath = ebxSourceTable.getTableNode().getPathInSchema().format();
                      if (ebxSourceTablePath.equals("/root/Libraries"))
                      {
                              Iterator<EBXField> iterator = ebxSourceTable.getFields().iterator();
                              while (iterator.hasNext())
                              {
                                      EBXField ebxField = iterator.next();
                                      if (ebxSourceRecords.getValue(ebxField) == null)
                                      {
                                              return ValidatorStatus.IGNORE;
                                      }
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
              
              public ValidatorStatus postTransform(ValidatorContext validatorContext)
              {
                      if (validatorContext == null)
                      {
                              return ValidatorStatus.FAIL;
                      }
                      EBXTable targetTable = validatorContext.getTargetTable();
                      for (EBXField targetField : targetTable.getFields())
                      {
                              if (validatorContext.getValue(targetField) == null)
                              {
                                      return ValidatorStatus.IGNORE;
                              }
                      }
                      return ValidatorStatus.CONTINUE;
              }
      }
      
  3. Register the validator with the add-on via the catalog so that it can be used in the configuration:

            ValidatorCatalog.add(new TestValidatorDefinition());
    
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.