Package org.apache.jackrabbit.vault.fs.config

Examples of org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter


* filter that is stored in the repository
*/
public class JcrWorkspaceFilter  {

    public static DefaultWorkspaceFilter loadFilter(Node defNode) throws RepositoryException {
        DefaultWorkspaceFilter wsp = new DefaultWorkspaceFilter();
        if (defNode.hasNode(JcrPackageDefinitionImpl.NN_FILTER)) {
            defNode = defNode.getNode(JcrPackageDefinitionImpl.NN_FILTER);
        }
        for (NodeIterator filters = defNode.getNodes(); filters.hasNext();) {
            Node filter = filters.nextNode();
            String root = filter.hasProperty(JcrPackageDefinitionImpl.PN_ROOT)
                    ? filter.getProperty(JcrPackageDefinitionImpl.PN_ROOT).getString()
                    : "";
            if (root.length() == 0) {
                continue;
            }
            String mode = filter.hasProperty(JcrPackageDefinitionImpl.PN_MODE)
                    ? filter.getProperty(JcrPackageDefinitionImpl.PN_MODE).getString()
                    : "";
            PathFilterSet set = new PathFilterSet(root);
            if (mode.length() > 0) {
                set.setImportMode(ImportMode.valueOf(mode.toUpperCase()));
            }
            if (filter.hasProperty(JcrPackageDefinitionImpl.PN_RULES)) {
                // new version with mv rules property
                Property p = filter.getProperty(JcrPackageDefinitionImpl.PN_RULES);
                Value[] values = p.getDefinition().isMultiple() ? p.getValues() : new Value[]{p.getValue()};
                for (Value value: values) {
                    String rule = value.getString();
                    int idx = rule.indexOf(':');
                    String type = idx > 0 ? rule.substring(0, idx) : "include";
                    String patt = idx > 0 ? rule.substring(idx + 1) : "";
                    DefaultPathFilter pf = new DefaultPathFilter(patt);
                    if (type.equals("include")) {
                        set.addInclude(pf);
                    } else {
                        set.addExclude(pf);
                    }
                }
            } else {
                for (NodeIterator rules = filter.getNodes(); rules.hasNext();) {
                    Node rule = rules.nextNode();
                    String type = rule.getProperty(JcrPackageDefinitionImpl.PN_TYPE).getString();
                    String pattern = rule.getProperty(JcrPackageDefinitionImpl.PN_PATTERN).getString();
                    DefaultPathFilter pf = new DefaultPathFilter(pattern);
                    if (type.equals("include")) {
                        set.addInclude(pf);
                    } else {
                        set.addExclude(pf);
                    }
                }
            }
            wsp.add(set);
        }
        return wsp;
    }
View Full Code Here


            }
            String path = (String) args.get(0);
            ConsoleFile wo = ctx.getFile(path, true);
            if (wo instanceof PlatformFile) {
                File file = (File) wo.unwrap();
                DefaultWorkspaceFilter r = new DefaultWorkspaceFilter();
                try {
                    r.load(file);
                    DumpContext dCtx = new DumpContext(new PrintWriter(System.out));
                    r.dump(dCtx, false);
                    dCtx.flush();
                   
                    IOUtils.copy(r.getSource(), System.out);
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new ExecutionException(e);
                }
View Full Code Here

        filter = opts.getFilter();
        if (filter == null) {
            filter = archive.getMetaInf().getFilter();
        }
        if (filter == null) {
            filter = new DefaultWorkspaceFilter();
        }

        // set import mode if possible
        if (opts.getImportMode() != null) {
            if (filter instanceof DefaultWorkspaceFilter) {
View Full Code Here

            // get workspace filter
            WorkspaceFilter wspFilter = null;
            if (filter != null) {
                File filterFile = new File(filter);
                if (filterFile.canRead()) {
                    wspFilter = new DefaultWorkspaceFilter();
                    ((DefaultWorkspaceFilter) wspFilter).load(filterFile);
                    log.info("using {}", filterFile.getCanonicalPath());
                }
            }
            if (wspFilter == null && inf != null) {
View Full Code Here

        }
        rcp.setUpdate(cl.hasOption(optUpdate));
        rcp.setOnlyNewer(cl.hasOption(optNewer));
        rcp.setNoOrdering(cl.hasOption(optNoOrdering));
        rcp.setCredentialsProvider(app.getCredentialsStore());
        DefaultWorkspaceFilter srcFilter = new DefaultWorkspaceFilter();
        PathFilterSet excludes = new PathFilterSet("/");
        for (Object e: cl.getValues(optExclude)) {
            excludes.addExclude(new DefaultPathFilter(e.toString()));
        }
        srcFilter.add(excludes);
        rcp.setSourceFilter(srcFilter);
        rcp.copy(src, dst, recursive);
    }
View Full Code Here

            InputStream in = AggregateManagerImpl.class.getClassLoader()
                    .getResourceAsStream(DEFAULT_WSP_FILTER);
            if (in == null) {
                throw new InternalError("Default filter not in classpath: " + DEFAULT_WSP_FILTER);
            }
            DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
            filter.load(in);
            return filter;
        } catch (ConfigurationException e) {
            throw new IllegalArgumentException("Internal error while parsing config.", e);
        } catch (IOException e) {
            throw new IllegalArgumentException("Internal error while parsing config.", e);
View Full Code Here

                        new JcrEntry(archiveRoot.getNode(Constants.META_DIR), Constants.META_DIR, true),
                        strict);
            } else {
                inf = new DefaultMetaInf();
                inf.setSettings(VaultSettings.createDefault());
                DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
                PathFilterSet filterSet = new PathFilterSet(rootPath);
                filter.add(filterSet);
                inf.setFilter(filter);

                // if archive is rooted, create intermediate entries
                if (chRoot != null && chRoot.length() > 0) {
                    String[] roots = Text.explode(rootPath, '/');
View Full Code Here

            lastUnpackedBy = defNode.getProperty(PN_LAST_UNPACKED_BY).getValue();
        }

        Session session = defNode.getSession();
        String rootPath = defNode.getPath();
        DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
        filter.add(new PathFilterSet(rootPath));

        try {
            Node rootNode = session.getNode(rootPath);
            String defPath = defNode.getPath().substring(1);
View Full Code Here

                if (defNode.hasProperty(PN_LAST_UNPACKED_BY)) {
                    defNode.getProperty(PN_LAST_UNPACKED_BY).remove();
                }

                String rootPath = defNode.getPath();
                DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
                filter.add(new PathFilterSet(rootPath));
                RepositoryAddress addr;
                try {
                    addr = new RepositoryAddress(
                            Text.escapePath("/" + defNode.getSession().getWorkspace().getName() + rootPath));
                } catch (URISyntaxException e) {
View Full Code Here

        filter = opts.getFilter();
        if (filter == null) {
            filter = archive.getMetaInf().getFilter();
        }
        if (filter == null) {
            filter = new DefaultWorkspaceFilter();
        }

        // set import mode if possible
        if (opts.getImportMode() != null) {
            if (filter instanceof DefaultWorkspaceFilter) {
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.