Package xbird.storage

Examples of xbird.storage.DbCollection


        }
        CommandRequest command = (CommandRequest) request;
        String[] cmdArg = command.getArgs();
        String baseCol = command.getBaseCollection();

        DbCollection contextCol = DbCollection.getCollection(baseCol);
        Session session = new Session(contextCol);
        CommandInvoker invoker = new CommandInvoker(session);

        _runningThreads.put(rc, Thread.currentThread());
        try {
View Full Code Here


        final List<Pair<DbCollection, String>> lst = new ArrayList<Pair<DbCollection, String>>(files.size());
        for(File f : files) {
            String fname = FileUtils.getFileName(f);
            String dname = fname.substring(0, fname.lastIndexOf('.'));
            String parentDirPath = f.getParent();
            final DbCollection col;
            if(parentDirPath.length() == colDirPathLength) {
                col = collection;
            } else {
                String relative = parentDirPath.substring(colDirPathLength);
                col = DbCollection.getCollection(relative);
View Full Code Here

        String colPath = arg2.stringValue();
        File docFile = new File(docPath);
        if(!docFile.exists()) {
            return ValueSequence.EMPTY_SEQUENCE;
        }
        DbCollection col = DbCollection.getCollection(colPath);
        if(col == null) {
            return ValueSequence.EMPTY_SEQUENCE;
        }
        final IDocumentTable doc;
        try {
View Full Code Here

            final Map<String, DTMDocument> defaultCol = statEnv.getDefaultCollection();
            if(defaultCol != null) {
                catalog = defaultCol;
            } else {
                try {
                    DbCollection rootColl = DbCollection.getRootCollection();
                    catalog = rootColl.listDocuments(dynEnv);
                } catch (DbException e) {
                    throw new XQueryException("failed loading default collection", e);
                }
            }
        } else {
            Item arg = argv.getItem(0);
            String argStr = arg.stringValue();
            final String unescapedArg = XMLUtils.unescapeXML(argStr);
            if(unescapedArg.endsWith(".catalog")) {
                URI baseUri = dynEnv.getStaticContext().getBaseURI();
                if(baseUri == null) { // TODO REVIEWME workaround
                    baseUri = dynEnv.getStaticContext().getSystemBaseURI();
                }
                URI resolved = baseUri.resolve(unescapedArg);
                final URL colurl;
                try {
                    colurl = resolved.toURL();
                } catch (MalformedURLException e) {
                    throw new DynamicError("Invalid uri: " + argStr);
                }
                DocumentManager docmgr = dynEnv.getDocumentManager();
                DTMDocument doc = docmgr.loadDocument(colurl, dynEnv);
                catalog = resolveCatalog(doc, dynEnv);
            } else if(unescapedArg.startsWith("/")) {
                DbCollection coll = DbCollection.getCollection(unescapedArg);
                if(coll == null) {
                    catalog = Collections.emptyMap();
                } else {
                    final String filter = DbCollection.getDocumentFilterExp(unescapedArg);
                    try {
                        catalog = coll.listDocuments(filter, true, dynEnv);
                    } catch (DbException e) {
                        throw new XQueryException("failed loading collection: " + unescapedArg, e);
                    }
                }
            } else {
View Full Code Here

                    return false;
                }
            } else {
                throw new IllegalStateException("Unexpected parameters: " + _params);
            }
            DbCollection col = DbCollection.getCollection(colpath);
            if(col == null) {
                this.indexAccessable = ThreeLogic.FALSE;
                return false;
            }
            File idxDir = new File(col.getDirectory(), LabelingHandler.INDEX_DIR_NAME);
            if(!idxDir.exists()) {
                this.indexAccessable = ThreeLogic.FALSE;
                return false;
            }
            info.setCollection(col, colpath);
View Full Code Here

            }
            final Profiler profiler = _dynEnv.getProfiler();
            final Iterator<Pair<DbCollection, String>> itor = ffcous.eachDocument();
            while(itor.hasNext()) {
                final Pair<DbCollection, String> pair = itor.next();
                final DbCollection col = pair.getFirst();
                final String docName = pair.getSecond();
                final File idxFile = getIndexFile(col, docName);
                BTreeIndexer indexer = new BTreeIndexer(idxFile);
                final IndexMatch matched;
                try {
                    matched = indexer.find(idxCond);
                } catch (DbException e) {
                    throw new XQRTException("failed to query index: " + idxFile.getAbsolutePath(), e);
                }
                // TODO REVIEWME sort really required?
                final long[] ptrs = filter(matched.getMatchedUnsorted(), docName, idxFile);
                final int matchCounts = ptrs.length;
                if(LOG.isInfoEnabled()) {
                    LOG.info("Index scan done. matched: " + matched.countMatched() + ", filtered: "
                            + matchCounts);
                }
                if(matchCounts > 0) {
                    final IDocumentTable doctbl;
                    try {
                        doctbl = DocumentTableLoader.load(col, docName, _dynEnv);
                    } catch (IOException e) {
                        throw new XQRTException("failed to load document '" + docName
                                + "' is the collection '" + col.getAbsolutePath() + '\'', e);
                    }
                    final PagingProfile profile = doctbl.getPagingProfile();
                    Strategy origStrategy = null;
                    if(profile != null) {
                        profile.setProfiler(profiler);
View Full Code Here

            return false;
        }

        public final int totalCount() throws XQueryException {
            for(Pair<DbCollection, String> pair : lst) {
                final DbCollection col = pair.getFirst();
                final String docName = pair.getSecond();
                final File idxFile = getIndexFile(col, docName);
                BTreeIndexer indexer = new BTreeIndexer(idxFile);
                final IndexMatch matched;
                try {
View Full Code Here

        }
        return true;
    }

    public boolean process(String[] args) throws CommandFailedException {
        final DbCollection col = session.getContextCollection();
        if(col == null) {
            throwException("Context collection is not set");
        }
        final int type = ArrayUtils.indexOf(IDXTYPE, args[1]);
        assert (type != ArrayUtils.INDEX_NOT_FOUND);
View Full Code Here

                return false;
        }
    }

    public boolean process(String[] args) throws CommandFailedException {
        DbCollection col = session.getContextCollection();
        if(col == null) {
            throwException("Context collection is not set");
        }
        String docpath = args[2];
        File docFile = new File(docpath);
View Full Code Here

                    return false;
                }
            } else {
                throw new IllegalStateException("Unexpected parameters: " + _params);
            }
            DbCollection col = DbCollection.getCollection(colpath);
            if(col == null) {
                this.indexAccessable = ThreeLogic.FALSE;
                return false;
            }
            File idxDir = new File(col.getDirectory(), LabelingHandler.INDEX_DIR_NAME);
            if(!idxDir.exists()) {
                this.indexAccessable = ThreeLogic.FALSE;
                return false;
            }
            info.setCollection(col, colpath);
View Full Code Here

TOP

Related Classes of xbird.storage.DbCollection

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.