plugins/tech/neo4j/src/main/java/org/apache/hop/neo4j/model/validation/ModelValidator.java
private int validateMandatoryFields(ILogChannel log) {
    int nrErrors = 0;
    Set<String> nodeNames = new HashSet<>();
    for (NodeProperty nodeProperty : usedNodeProperties) {
      nodeNames.add(nodeProperty.getNodeName());
    }

    // For every used node, see if the mandatory properties are present
    //
    for (String nodeName : nodeNames) {
      GraphNode node = graphModel.findNode(nodeName);
      if (node != null) {
        for (GraphProperty nodeProperty : node.getProperties()) {
          if (nodeProperty.isMandatory()) {
            NodeProperty usedProperty = findUsedProperty(node.getName(), nodeProperty.getName());
            if (usedProperty == null) {
              log.logError(
                  "Node property "
                      + node.getName()
                      + "."
                      + nodeProperty.getName()
                      + " is mandatory but not used.");
              nrErrors++;
            }
          }
        }
      }
    }

    return nrErrors;
  }
/**
   * See if all the used node and relationship properties are used
   *
   * @param log
   * @return the number of validation errors.
   */
See if all the used node and relationship properties are used
@param log
@return the number of validation errors.
See if all the used node and relationship properties are used @param log @return the number of validation errors .
private int validateMandatoryFields(ILogChannel log) {
    int nrErrors = 0;
    Set<String> nodeNames = new HashSet<>();
    for (NodeProperty nodeProperty : usedNodeProperties) {
      nodeNames.add(nodeProperty.getNodeName());
    }
    for (String nodeName : nodeNames) {
      GraphNode node = graphModel.findNode(nodeName);
      if (node != null) {
        for (GraphProperty nodeProperty : node.getProperties()) {
          if (nodeProperty.isMandatory()) {
            NodeProperty usedProperty = findUsedProperty(node.getName(), nodeProperty.getName());
            if (usedProperty == null) {
              log.logError(
                  "Node property "
                      + node.getName()
                      + "."
                      + nodeProperty.getName()
                      + " is mandatory but not used.");
              nrErrors++;
            }
          }
        }
      }
    }
    return nrErrors;
  }
private int validateMandatoryFields ( ILogChannel log ) { int nrErrors = 0 ; Set < String > nodeNames = new HashSet < > ( ) ; for ( NodeProperty nodeProperty : usedNodeProperties ) { nodeNames . add ( nodeProperty . getNodeName ( ) ) ; } for ( String nodeName : nodeNames ) { GraphNode node = graphModel . findNode ( nodeName ) ; if ( node != null ) { for ( GraphProperty nodeProperty : node . getProperties ( ) ) { if ( nodeProperty . isMandatory ( ) ) { NodeProperty usedProperty = findUsedProperty ( node . getName ( ) , nodeProperty . getName ( ) ) ; if ( usedProperty == null ) { log . logError ( "Node property " + node . getName ( ) + "." + nodeProperty . getName ( ) + " is mandatory but not used." ) ; nrErrors ++ ; } } } } } return nrErrors ; }
See if all the used node and relationship properties are used
 @param log
 @return the number of validation errors.
See if all the used node and relationship properties are used @param log @return the number of validation errors .
// For every used node, see if the mandatory properties are present //