private static boolean needToSetProperty()

in src/main/java/org/apache/sling/jcr/repoinit/impl/NodePropertiesVisitor.java [176:195]


    private static boolean needToSetProperty(Session session, Authorizable a, String pRelPath, PropertyLine line)
            throws RepositoryException {
        if (!line.isDefault()) {
            // It's a "set" line -> overwrite existing value if any
            return true;
        }

        // Otherwise set the property only if not set yet
        boolean needToSet;
        Node n = null;
        if (session.nodeExists(a.getPath())) {
            n = session.getNode(a.getPath());
        }
        if (n != null && isUnchangedAutocreatedProperty(n, pRelPath)) { // SLING-11293
            needToSet = true;
        } else {
            needToSet = (!a.hasProperty(pRelPath) || a.getProperty(pRelPath) == null);
        }
        return needToSet;
    }