Node node = stack.getNode();
if (node == null) {
stack = stack.push();
DocViewAdapter xform = stack.getAdapter();
if (xform != null) {
DocViewNode ni = new DocViewNode(name, label, attributes, npResolver);
xform.startNode(ni);
} else {
log.debug("Skipping ignored element {}", name);
}
} else {
if (attributes.getLength() == 0) {
// only ordering node. skip
log.debug("Skipping empty node {}", node.getPath() + "/" + name);
stack = stack.push();
} else if (snsNode) {
// skip SNS nodes with index > 1
log.warn("Skipping unsupported SNS node with index > 1. Some content will be missing after import: {}", node.getPath() + "/" + label);
stack = stack.push();
} else {
try {
DocViewNode ni = new DocViewNode(name, label, attributes, npResolver);
if (aclManagement.isACLNodeType(ni.primary)) {
if (aclHandling != AccessControlHandling.CLEAR && aclHandling != AccessControlHandling.IGNORE) {
log.debug("ACL element detected. starting special transformation {}/{}", node.getPath(), name);
if (aclManagement.ensureAccessControllable(node)) {
log.info("Adding ACL element to non ACL parent - adding mixin: {}", node.getPath());