public InstallerConfig()

in src/main/java/org/apache/sling/installer/provider/jcr/impl/InstallerConfig.java [63:97]


    public InstallerConfig(
            final Logger logger,
            final JcrInstaller.Configuration configuration,
            final SlingSettingsService settings) {
        this.logger = logger;
        this.writeBack = configuration.sling_jcrinstall_enable_writeback();

        // Setup converters
        converters.add(new FileNodeConverter());
        converters.add(new ConfigNodeConverter());

        maxWatchedFolderDepth = configuration.sling_jcrinstall_folder_max_depth();

        // Configurable folder regexp, system property overrides default value
        String folderNameRegexp = configuration.sling_jcrinstall_folder_name_regexp().trim();
       
        // Setup folder filtering and watching
        this.folderNameFilter = new FolderNameFilter(configuration.sling_jcrinstall_search_path(),
                folderNameRegexp, settings);
        this.roots = folderNameFilter.getRootPaths();

        // setup default path for new configurations
        String newCfgPath = configuration.sling_jcrinstall_new_config_path();
        final boolean postSlash = newCfgPath.endsWith("/");
        if ( !postSlash ) {
            newCfgPath = newCfgPath.concat("/");
        }
        final boolean preSlash = newCfgPath.startsWith("/");
        if ( !preSlash ) {
            newCfgPath = this.folderNameFilter.getRootPaths()[0] + '/' + newCfgPath;
        }
        this.newConfigPath = newCfgPath;

        this.pauseScanNodePath = configuration.sling_jcrinstall_signal_path();
    }