Search in sources :

Example 1 with DumpWriterEntry

use of lucee.runtime.dump.DumpWriterEntry in project Lucee by lucee.

the class XMLConfigWebFactory method loadDumpWriter.

private static void loadDumpWriter(ConfigServerImpl configServer, ConfigImpl config, Document doc) throws ClassException {
    boolean hasCS = configServer != null;
    Element coll = getChildByName(doc.getDocumentElement(), "dump-writers");
    Element[] writers = getChildren(coll, "dump-writer");
    Struct sct = new StructImpl();
    boolean hasPlain = false;
    boolean hasRich = false;
    if (hasCS) {
        DumpWriterEntry[] entries = configServer.getDumpWritersEntries();
        if (entries != null)
            for (int i = 0; i < entries.length; i++) {
                if (entries[i].getDefaultType() == HTMLDumpWriter.DEFAULT_PLAIN)
                    hasPlain = true;
                if (entries[i].getDefaultType() == HTMLDumpWriter.DEFAULT_RICH)
                    hasRich = true;
                sct.put(entries[i].getName(), entries[i]);
            }
    }
    if (writers != null && writers.length > 0) {
        ClassDefinition cd;
        String strName;
        String strDefault;
        Class clazz;
        int def = HTMLDumpWriter.DEFAULT_NONE;
        for (int i = 0; i < writers.length; i++) {
            cd = getClassDefinition(writers[i], "", config.getIdentification());
            strName = getAttr(writers[i], "name");
            strDefault = getAttr(writers[i], "default");
            clazz = cd.getClazz(null);
            if (clazz != null && !StringUtil.isEmpty(strName)) {
                if (StringUtil.isEmpty(strDefault))
                    def = HTMLDumpWriter.DEFAULT_NONE;
                else if ("browser".equalsIgnoreCase(strDefault))
                    def = HTMLDumpWriter.DEFAULT_RICH;
                else if ("console".equalsIgnoreCase(strDefault))
                    def = HTMLDumpWriter.DEFAULT_PLAIN;
                sct.put(strName, new DumpWriterEntry(def, strName, (DumpWriter) ClassUtil.loadInstance(clazz)));
            }
        }
    } else {
        // print.err("yep");
        if (!hasRich)
            sct.setEL(KeyConstants._html, new DumpWriterEntry(HTMLDumpWriter.DEFAULT_RICH, "html", new HTMLDumpWriter()));
        if (!hasPlain)
            sct.setEL(KeyConstants._text, new DumpWriterEntry(HTMLDumpWriter.DEFAULT_PLAIN, "text", new TextDumpWriter()));
        sct.setEL(KeyConstants._classic, new DumpWriterEntry(HTMLDumpWriter.DEFAULT_NONE, "classic", new ClassicHTMLDumpWriter()));
        sct.setEL(KeyConstants._simple, new DumpWriterEntry(HTMLDumpWriter.DEFAULT_NONE, "simple", new SimpleHTMLDumpWriter()));
    }
    Iterator<Object> it = sct.valueIterator();
    java.util.List<DumpWriterEntry> entries = new ArrayList<DumpWriterEntry>();
    while (it.hasNext()) {
        entries.add((DumpWriterEntry) it.next());
    }
    config.setDumpWritersEntries(entries.toArray(new DumpWriterEntry[entries.size()]));
}
Also used : ClassicHTMLDumpWriter(lucee.runtime.dump.ClassicHTMLDumpWriter) SimpleHTMLDumpWriter(lucee.runtime.dump.SimpleHTMLDumpWriter) Element(org.w3c.dom.Element) DumpWriterEntry(lucee.runtime.dump.DumpWriterEntry) ArrayList(java.util.ArrayList) ClassDefinition(lucee.runtime.db.ClassDefinition) lucee.aprint(lucee.aprint) Struct(lucee.runtime.type.Struct) SimpleHTMLDumpWriter(lucee.runtime.dump.SimpleHTMLDumpWriter) HTMLDumpWriter(lucee.runtime.dump.HTMLDumpWriter) ClassicHTMLDumpWriter(lucee.runtime.dump.ClassicHTMLDumpWriter) StructImpl(lucee.runtime.type.StructImpl) SimpleHTMLDumpWriter(lucee.runtime.dump.SimpleHTMLDumpWriter) HTMLDumpWriter(lucee.runtime.dump.HTMLDumpWriter) TextDumpWriter(lucee.runtime.dump.TextDumpWriter) ClassicHTMLDumpWriter(lucee.runtime.dump.ClassicHTMLDumpWriter) DumpWriter(lucee.runtime.dump.DumpWriter) CFXTagClass(lucee.runtime.cfx.customtag.CFXTagClass) CPPCFXTagClass(lucee.runtime.cfx.customtag.CPPCFXTagClass) JavaCFXTagClass(lucee.runtime.cfx.customtag.JavaCFXTagClass) TextDumpWriter(lucee.runtime.dump.TextDumpWriter)

Aggregations

ArrayList (java.util.ArrayList)1 lucee.aprint (lucee.aprint)1 CFXTagClass (lucee.runtime.cfx.customtag.CFXTagClass)1 CPPCFXTagClass (lucee.runtime.cfx.customtag.CPPCFXTagClass)1 JavaCFXTagClass (lucee.runtime.cfx.customtag.JavaCFXTagClass)1 ClassDefinition (lucee.runtime.db.ClassDefinition)1 ClassicHTMLDumpWriter (lucee.runtime.dump.ClassicHTMLDumpWriter)1 DumpWriter (lucee.runtime.dump.DumpWriter)1 DumpWriterEntry (lucee.runtime.dump.DumpWriterEntry)1 HTMLDumpWriter (lucee.runtime.dump.HTMLDumpWriter)1 SimpleHTMLDumpWriter (lucee.runtime.dump.SimpleHTMLDumpWriter)1 TextDumpWriter (lucee.runtime.dump.TextDumpWriter)1 Struct (lucee.runtime.type.Struct)1 StructImpl (lucee.runtime.type.StructImpl)1 Element (org.w3c.dom.Element)1