private static void setAttribute()

in java/src/org/apache/qetest/xslwrapper/TraxWrapperUtils.java [239:281]


    private static void setAttribute(Transformer transformer, 
                                     String key, 
                                     Object value)
                                     throws IllegalArgumentException
    {
        if ((null == transformer) || (null == key))
            return;

        // Note: allow exceptions to propagate here

        // Check if this is a special case to call a specific 
        //  API, or the general case to call setAttribute(key...)
        if (SET_URI_RESOLVER.equals(key))
        {
            transformer.setURIResolver((URIResolver)value);
        }
        else if (SET_ERROR_LISTENER.equals(key))
        {
            transformer.setErrorListener((ErrorListener)value);
        }
        else if (SET_TRACE_LISTENER.equals(key) && transformer instanceof TransformerImpl)
        {
            TraceManager traceManager = ((TransformerImpl)transformer).getTraceManager();
            try {
                FileOutputStream writeStream = new FileOutputStream((String)value);
                PrintWriter printWriter = new PrintWriter(writeStream, true);
                PrintTraceListener traceListener = new PrintTraceListener(printWriter);
                traceListener.m_traceElements = true;
                traceListener.m_traceGeneration = true;
                traceListener.m_traceSelection = true;
                traceListener.m_traceTemplates = true;
                traceManager.addTraceListener(traceListener);        
            } catch (FileNotFoundException fnfe) {
                System.out.println("File not found: " + fnfe);
            } catch (Exception e) {
                System.out.println("Exception: " + e);
            }
        }
        else
        {
            // General case; no-op; no equivalent
        }
    }