Package org.exist.memtree

Examples of org.exist.memtree.MemTreeBuilder


                return resultSequence;
            } else {
                return (DocumentImpl) adapter.getDocument();
            }
        } else {
            final MemTreeBuilder builder = theContext.getDocumentBuilder();
            final NodeImpl result = Shared.writeReport(report, builder);
            throw new XPathException(this, ErrorCodes.FODC0006, ErrorCodes.FODC0006.getDescription() + ": " + report.toString(), result);
        }
    }
View Full Code Here


     * @return  document builder
     */
    @Override
    public MemTreeBuilder getDocumentBuilder() {
        if(documentBuilder == null) {
            documentBuilder = new MemTreeBuilder(this);
            documentBuilder.startDocument();
        }
        return documentBuilder;
    }
View Full Code Here

    }

    @Override
    public MemTreeBuilder getDocumentBuilder(boolean explicitCreation) {
        if(documentBuilder == null) {
            documentBuilder = new MemTreeBuilder(this);
            documentBuilder.startDocument(explicitCreation);
        }
        return documentBuilder;
    }
View Full Code Here

   
    final String fname = getArgument(0).eval(contextSequence, contextItem).getStringValue();
    final QName qname = QName.parse(context, fname, context.getDefaultFunctionNamespace());
    final String uri = qname.getNamespaceURI();
   
    final MemTreeBuilder builder = context.getDocumentBuilder();
    final AttributesImpl attribs = new AttributesImpl();
    attribs.addAttribute("", "name", "name", "CDATA", qname.getStringValue());
    attribs.addAttribute("", "module", "module", "CDATA", uri);
    final int nodeNr = builder.startElement("", "function", "function", attribs);
   
    FunctionSignature signature;
    final Module module = context.getModule(uri);
    if(module != null) {
      final Iterator<FunctionSignature> i = module.getSignaturesForFunction(qname);
      while(i.hasNext()) {
        signature = i.next();
        writeSignature(signature, builder);
      }
    } else {
      final Iterator<FunctionSignature> i = context.getSignaturesForFunction(qname);
      while(i.hasNext()) {
        signature = i.next();
        writeSignature(signature, builder);
      }
    }
    builder.endElement();
    return ((DocumentImpl)builder.getDocument()).getNode(nodeNr);
  }
View Full Code Here

     * Returns a document describing the accounts of the executing process
     *
     * @return An in-memory document describing the accounts
     */
    private org.exist.memtree.DocumentImpl functionId() throws XPathException {
        final MemTreeBuilder builder = context.getDocumentBuilder();
        builder.startDocument();

        builder.startElement(new QName("id", SecurityManagerModule.NAMESPACE_URI, SecurityManagerModule.PREFIX), null);
       
        builder.startElement(new QName("real", SecurityManagerModule.NAMESPACE_URI, SecurityManagerModule.PREFIX), null);
        subjectToXml(builder, context.getRealUser());
        builder.endElement();

        if(context.getRealUser().getId() != context.getEffectiveUser().getId()) {
            builder.startElement(new QName("effective", SecurityManagerModule.NAMESPACE_URI, SecurityManagerModule.PREFIX), null);
            subjectToXml(builder, context.getEffectiveUser());
            builder.endElement();
        }

        builder.endElement();
       
        builder.endDocument();
       
        return builder.getDocument();
    }
View Full Code Here

     * @param errcode an optional error description
     * @param categories
     * @return xml report
     */
    public Element generateXMLReport(String errcode, String categories[]) {
        final MemTreeBuilder builder = new MemTreeBuilder();

        try {
            builder.startDocument();

            builder.startElement(JMX_ELEMENT, null);
            builder.addAttribute(VERSION_ATTR, Integer.toString(VERSION));
            if (url != null) {
                builder.addAttribute(JMX_CONNECTION_ATTR, url.toString());
            }

            if (errcode != null) {
                builder.startElement(JMX_ERROR, null);
                builder.characters(errcode);
                builder.endElement();
            }

            for (final String category : categories) {
                final ObjectName[] names = CATEGORIES.get(category);
                for (final ObjectName name : names) {
                    queryMBeans(builder, name);
                }
            }

            builder.endElement();

            builder.endDocument();

        } catch (final Exception e) {
            e.printStackTrace();
            LOG.warn("Could not generate XML report from JMX: " + e.getMessage());
        }
        return (Element) builder.getDocument().getNode(1);
    }
View Full Code Here

                    types[i] = type;
                    params[i] = mapParameter(type, args[i]);
                }
                Object result = conn.invoke(name, operation, params, types);

                final MemTreeBuilder builder = new MemTreeBuilder();

                try {
                    builder.startDocument();

                    builder.startElement(JMX_ELEMENT, null);
                    builder.addAttribute(VERSION_ATTR, Integer.toString(VERSION));
                    if (url != null) {
                        builder.addAttribute(JMX_CONNECTION_ATTR, url.toString());
                    }

                    builder.startElement(JMX_RESULT, null);
                    builder.addAttribute(JMX_RESULT_TYPE_ATTR, op.getReturnType());
                    serializeObject(builder, result);
                    builder.endElement();

                    builder.endElement();

                    builder.endDocument();

                } catch (final Exception e) {
                    e.printStackTrace();
                    LOG.warn("Could not generate XML report from JMX: " + e.getMessage());
                }
                return (Element) builder.getDocument().getNode(1);
            }
        }
        return null;
    }
View Full Code Here

        super(context, signature);
    }

    @Override
    public Sequence eval(final Sequence[] args, final Sequence contextSequence) throws XPathException {
        final MemTreeBuilder builder = new MemTreeBuilder(context);
        builder.startDocument();
        builder.startElement(new QName("analyze-string-result", Function.BUILTIN_FUNCTION_NS), null);
        String input = "";
        if (!args[0].isEmpty()) {
            input = args[0].itemAt(0).getStringValue();
        }
        if (!"".equals(input)) {
            final String pattern = args[1].itemAt(0).getStringValue();
            String flags = null;
            if(args.length == 3) {
                flags = args[2].itemAt(0).getStringValue();
            }
            analyzeString(builder, input, pattern, flags);
        }
        builder.endElement();
        builder.endDocument();
        return (NodeValue)builder.getDocument().getDocumentElement();
    }
View Full Code Here

       * @return  An in-memory document describing the webservice
       */
      private org.exist.memtree.DocumentImpl describeWebService(Module modXQWS, XmldbURI xqwsFileUri, HttpServletRequest request, String path, String functionName, Sequence functionResult) throws XPathException,SAXException
      {
        final FunctionSignature[] xqwsFunctions = modXQWS.listFunctions();
            final MemTreeBuilder builderWebserviceDoc = new MemTreeBuilder(broker.getXQueryService().newContext(AccessContext.REST));
        builderWebserviceDoc.startDocument();
        builderWebserviceDoc.startElement(new QName("webservice", null, null), null);
        builderWebserviceDoc.startElement(new QName("name", null, null), null);
        builderWebserviceDoc.characters(xqwsFileUri.toString().substring(0, xqwsFileUri.toString().indexOf(WEBSERVICE_MODULE_EXTENSION)));
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.startElement(new QName("description", null, null), null);
        builderWebserviceDoc.characters(modXQWS.getDescription());
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.startElement(new QName("host", null, null), null);
        builderWebserviceDoc.characters(request.getServerName() + ":" + request.getServerPort());
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.startElement(new QName("path", null, null), null);
        builderWebserviceDoc.characters(path);
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.startElement(new QName("URL", null, null), null);
        builderWebserviceDoc.characters(request.getRequestURL());
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.startElement(new QName("functions", null, null), null);
        for(int f = 0; f < xqwsFunctions.length; f++)
            {
          if(functionName == null)
          {
            //All Function Descriptions
            describeWebServiceFunction(xqwsFunctions[f], builderWebserviceDoc, null);
          }
          else
          {
            //Only a Single Function Description for showing function call results
            if(xqwsFunctions[f].getName().getLocalName().equals(functionName))
            {
              describeWebServiceFunction(xqwsFunctions[f], builderWebserviceDoc, functionResult);
              break;
            }
          }
            }
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.endElement();
        builderWebserviceDoc.endDocument();
       
        return builderWebserviceDoc.getDocument();
      }
View Full Code Here

            context.popDocumentContext();
            return seq;
          } else {
            final ValueSequence seq = new ValueSequence();
        context.pushDocumentContext();
        final MemTreeBuilder builder = context.getDocumentBuilder();
        final DocumentBuilderReceiver builderReceiver = new DocumentBuilderReceiver(builder, true);
        final SAXResult result = new SAXResult(builderReceiver);
        result.setLexicalHandler(builderReceiver);    //preserve comments etc... from xslt output
        handler.setResult(result);
            final Receiver receiver = new ReceiverToSAX(handler);
            final Serializer serializer = context.getBroker().getSerializer();
            serializer.reset();
            try {
                serializer.setProperties(serializationProps);
                serializer.setReceiver(receiver, true);
                if (expandXIncludes) {
                    String xipath = serializationProps.getProperty(EXistOutputKeys.XINCLUDE_PATH);
                    if (xipath != null) {
                        final File f = new File(xipath);
                        if (!f.isAbsolute())
                            {xipath = new File(context.getModuleLoadPath(), xipath).getAbsolutePath();}
                    } else
                        {xipath = context.getModuleLoadPath();}
                    serializer.getXIncludeFilter().setModuleLoadPath(xipath);
                }
          serializer.toSAX(inputNode, 1, inputNode.getItemCount(), false, false);
        } catch (final Exception e) {
          throw new XPathException(this, "Exception while transforming node: " + e.getMessage(), e);
        }
            errorListener.checkForErrors();
        Node next = builder.getDocument().getFirstChild();
            while (next != null) {
                seq.add((NodeValue) next);
                next = next.getNextSibling();
            }
        context.popDocumentContext();
View Full Code Here

TOP

Related Classes of org.exist.memtree.MemTreeBuilder

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.