protected void init()

in src/main/java/org/apache/sling/pipes/internal/PackagePipe.java [126:149]


    protected void init() throws IOException, RepositoryException {
        if (jcrPackage == null){
            String packagePath = getExpr();
            Session session = resolver.adaptTo(Session.class);
            if (StringUtils.isNotBlank(packagePath) && session != null) {
                JcrPackageManager mgr = PackagingService.getPackageManager(session);
                Node pkgNode = session.getNode(packagePath);
                if (pkgNode != null) {
                    jcrPackage = mgr.open(pkgNode);
                } else {
                    String parent = Text.getRelativeParent(packagePath, 1);
                    Resource folderResource = resolver.getResource(parent);
                    if (folderResource == null) {
                        LOGGER.error("folder of configured path should exists");
                    } else {
                        String name = Text.getName(packagePath);
                        jcrPackage = mgr.create(folderResource.adaptTo(Node.class), name);
                    }
                }
            } else {
                LOGGER.error("expression should not be blank as it's supposed to hold package path");
            }
        }
    }