Package net.sf.saxon.trace

Examples of net.sf.saxon.trace.TraceListener


        c2.setCurrentIterator(groupIterator);
        c2.setCurrentGroupIterator(groupIterator);
        c2.setCurrentTemplateRule(null);

        if (controller.isTracing()) {
            TraceListener listener = controller.getTraceListener();
            while (true) {
                Item item = groupIterator.next();
                if (item == null) {
                    break;
                }
                listener.startCurrentItem(item);
                action.process(c2);
                listener.endCurrentItem(item);
            }
        } else {
            while (true) {
                Item item = groupIterator.next();
                if (item == null) {
View Full Code Here


     * @return either null, or a tail call that the caller must invoke on return
     * @throws net.sf.saxon.trans.XPathException
     */
    public TailCall processLeavingTail(XPathContext context) throws XPathException {
        Controller controller = context.getController();
        TraceListener listener = controller.getTraceListener();
      if (controller.isTracing()) {
             listener.enter(getInstructionInfo(), context);
        }
        // Don't attempt tail call optimization when tracing, the results are too confusing
        child.process(context);
         if (controller.isTracing()) {
             listener.leave(getInstructionInfo());
        }
        return null;
    }
View Full Code Here

        c2.setCurrentIterator(iter);
        c2.setCurrentTemplateRule(null);

        if (containsTailCall) {
            if (controller.isTracing()) {
                TraceListener listener = controller.getTraceListener();
                Item item = iter.next();
                if (item == null) {
                    return null;
                }
                listener.startCurrentItem(item);
                TailCall tc = ((TailCallReturner)action).processLeavingTail(c2);
                listener.endCurrentItem(item);
                return tc;
            } else {
                Item item = iter.next();
                if (item == null) {
                    return null;
                }
                return ((TailCallReturner)action).processLeavingTail(c2);
            }
        } else {
            if (controller.isTracing()) {
                TraceListener listener = controller.getTraceListener();
                while(true) {
                    Item item = iter.next();
                    if (item == null) {
                        break;
                    }
                    listener.startCurrentItem(item);
                    action.process(c2);
                    listener.endCurrentItem(item);
                }
            } else {
                while(true) {
                    Item item = iter.next();
                    if (item == null) {
View Full Code Here

        //controller.defineGlobalParameters();

        XPathContextMajor context = initialContext(env, controller);

        // In tracing/debugging mode, evaluate all the global variables first
        TraceListener tracer = controller.getTraceListener();
        if (tracer != null) {
            controller.preEvaluateGlobals(context);
            tracer.open();
        }

        context.openStackFrame(stackFrameMap);

        boolean mustClose = (result instanceof StreamResult &&
                ((StreamResult)result).getOutputStream() == null);
        SerializerFactory sf = context.getConfiguration().getSerializerFactory();
        PipelineConfiguration pipe = controller.makePipelineConfiguration();
        pipe.setHostLanguage(Configuration.XQUERY);
        Receiver receiver = sf.getReceiver(result, pipe, actualProperties);
        context.changeOutputDestination(receiver, true,
                Validation.PRESERVE, null);
        context.getReceiver().open();

        // Run the query
        try {
            expression.process(context);
        } catch (XPathException err) {
            controller.reportFatalError(err);
            throw err;
        }

        if (tracer != null) {
            tracer.close();
        }

        context.getReceiver().close();
        if (mustClose) {
            OutputStream os = ((StreamResult)result).getOutputStream();
View Full Code Here

                            showTime = true;
                        }
                        i++;
                    } else if (option.equals("T")) {
                        i++;
                        TraceListener traceListener;
                        if (value == null) {
                            traceListener = new net.sf.saxon.trace.XSLTTraceListener();
                        } else {
                            traceListener = config.makeTraceListener(value);
                        }
                        config.setConfigurationProperty(FeatureKeys.TRACE_LISTENER, traceListener);
                        config.setConfigurationProperty(FeatureKeys.LINE_NUMBERING, Boolean.TRUE);

                    } else if (option.equals("TJ")) {
                        i++;
                        config.setConfigurationProperty(FeatureKeys.TRACE_EXTERNAL_FUNCTIONS,
                                Boolean.TRUE);
                    } else if (option.equals("TL")) {
                        i++;
                        if (args.length < i + 2) {
                            badUsage(command, "No TraceListener class");
                        }
                        TraceListener traceListener = config.makeTraceListener(args[i++]);
                        config.setConfigurationProperty(FeatureKeys.TRACE_LISTENER,
                                traceListener);
                        config.setConfigurationProperty(FeatureKeys.LINE_NUMBERING,
                                Boolean.TRUE);
                    } else if (option.equals("TP")) {
                        i++;
                        TraceListener traceListener = new net.sf.saxon.trace.TimedTraceListener();
                        config.setConfigurationProperty(FeatureKeys.TRACE_LISTENER,
                                traceListener);
                        config.setConfigurationProperty(FeatureKeys.LINE_NUMBERING,
                                Boolean.TRUE);
                    } else if (option.equals("traceout")) {
View Full Code Here

            ((StandardErrorListener)errorListener).setRecoveryPolicy(recoveryPolicy);
        }

        traceListener = null;
        traceFunctionDestination = System.err;
        TraceListener tracer;
        try {
            tracer = config.makeTraceListener();
        } catch (XPathException err) {
            throw new IllegalStateException(err.getMessage());
        }
View Full Code Here

        info.setConstructType(Location.TRACE_CALL);
        info.setLineNumber(getLineNumber());
        info.setSystemId(getSystemId());
        info.setProperty("label", label);
        info.setProperty("value", val);
        TraceListener listener = context.getController().getTraceListener();
        listener.enter(info, context);
        listener.leave(info);
    }
View Full Code Here

        c2.setCurrentIterator(groupIterator);
        c2.setCurrentGroupIterator(groupIterator);
        c2.setCurrentTemplate(null);

        if (controller.isTracing()) {
            TraceListener listener = controller.getTraceListener();
            while(true) {
                Item item = groupIterator.next();
                if (item == null) break;
                listener.startCurrentItem(item);
                action.process(c2);
                listener.endCurrentItem(item);
            }
        } else {
            while(true) {
                Item item = groupIterator.next();
                if (item == null) break;
View Full Code Here

                                            // No need to open a new stack frame!
                    defaultAction(node, parameters, tunnelParameters, c2);

                } else {
                    if (tunnelParameters != null || eh.needsStackFrame()) {
                        TraceListener traceListener = controller.getTraceListener();
                        c2.setLocalParameters(parameters);
                        c2.setTunnelParameters(tunnelParameters);
                        c2.openStackFrame(eh.getStackFrameMap());
                        traceListener.startCurrentItem(node);
                        tc = eh.processLeavingTail(c2);
                        traceListener.endCurrentItem(node);
                    } else {
                        TraceListener traceListener = controller.getTraceListener();
                        traceListener.startCurrentItem(node);
                        tc = eh.processLeavingTail(c2);
                        traceListener.endCurrentItem(node);
                    }
                }
            }

        } else {    // not tracing
View Full Code Here

     * @return either null, or a tail call that the caller must invoke on return
     * @throws net.sf.saxon.xpath.XPathException
     */
    public TailCall processLeavingTail(XPathContext context) throws XPathException {
        Controller controller = context.getController();
        TraceListener listener = controller.getTraceListener();
      if (controller.isTracing()) {
             listener.enter(getInstructionInfo(), context);
        }
        // Don't attempt tail call optimization when tracing, the results are too confusing
        child.process(context);
         if (controller.isTracing()) {
             listener.leave(getInstructionInfo());
        }
        return null;
    }
View Full Code Here

TOP

Related Classes of net.sf.saxon.trace.TraceListener

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.