Example usage for org.apache.commons.digester3 Digester Digester

List of usage examples for org.apache.commons.digester3 Digester Digester

Introduction

In this page you can find the example usage for org.apache.commons.digester3 Digester Digester.

Prototype

public Digester() 

Source Link

Document

Construct a new Digester with default properties.

Usage

From source file:org.mongeez.reader.FilesetXMLReader.java

public List<Resource> getFiles(Resource file) {
    List<Resource> files = new ArrayList<Resource>();

    try {/*  ww  w .j a v a2  s. co m*/
        Digester digester = new Digester();

        digester.setValidating(false);

        digester.addObjectCreate("changeFiles", ChangeFileSet.class);
        digester.addObjectCreate("changeFiles/file", ChangeFile.class);
        digester.addSetProperties("changeFiles/file");
        digester.addSetNext("changeFiles/file", "add");

        logger.info("Parsing XML Fileset file {}", file.getFilename());
        ChangeFileSet changeFileSet = (ChangeFileSet) digester.parse(file.getInputStream());
        if (changeFileSet != null) {
            logger.info("Num of changefiles found " + changeFileSet.getChangeFiles().size());
            for (ChangeFile changeFile : changeFileSet.getChangeFiles()) {
                files.add(file.createRelative(changeFile.getPath()));
            }
        } else {
            logger.error("The file {} doesn't seem to contain a changeFiles declaration. Are you "
                    + "using the correct file to initialize Mongeez?", file.getFilename());
        }
    } catch (IOException e) {
        logger.error("IOException", e);
    } catch (org.xml.sax.SAXException e) {
        logger.error("SAXException", e);
    }
    return files;
}

From source file:org.mongeez.reader.XmlChangeSetReader.java

XmlChangeSetReader() {
    digester = new Digester();

    digester.setValidating(false);/*w w  w  .ja v a  2s .  co  m*/

    digester.addObjectCreate("mongoChangeLog", ChangeSetList.class);
    digester.addObjectCreate("mongoChangeLog/changeSet", ChangeSet.class);
    digester.addSetProperties("mongoChangeLog/changeSet");
    digester.addSetNext("mongoChangeLog/changeSet", "add");

    digester.addObjectCreate("mongoChangeLog/changeSet/script", Script.class);
    digester.addBeanPropertySetter("mongoChangeLog/changeSet/script", "body");
    digester.addSetNext("mongoChangeLog/changeSet/script", "add");
}

From source file:org.quickserver.net.qsadmin.gui.PropertieSet.java

public static PropertieSet getPropertieSet() {
    PropertieSet ps = null;//from w ww .jav  a2 s .c o m
    try {
        Digester digester = new Digester();
        digester.setValidating(false);
        //digester.setNamespaceAware(true);
        //String xsd = "" + new File("quickserver_config.xsd").toURI();
        //digester.setSchema(xsd);

        //nested QSAdminServer tag
        String mainTag = "propertie-set";
        String subTag = "propertie";
        digester.addObjectCreate(mainTag, PropertieSet.class);
        digester.addObjectCreate(mainTag + "/" + subTag, Propertie.class);
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/name");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/command");
        digester.addCallMethod(mainTag + "/" + subTag + "/get", "setGet", 0);
        digester.addCallMethod(mainTag + "/" + subTag + "/set", "setSet", 0);
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/type");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/desc");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/select");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/target-needed", "targetNeeded");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/version");
        digester.addSetNext(mainTag + "/" + subTag, "addCommand");

        URL configFile = PropertieSet.class
                .getResource("/org/quickserver/net/qsadmin/gui/conf/PropertieSet.xml");
        if (configFile == null)
            throw new RuntimeException("XML File not found : " + "PropertieSet.xml");

        InputStream input = configFile.openStream();
        logger.fine("Loading command config from xml file : " + input);
        ps = (PropertieSet) digester.parse(input);
    } catch (Exception e) {
        logger.severe("Could not init from xml file : " + e);
        logger.fine("StackTrace:\n" + MyString.getStackTrace(e));
    }
    return ps;
}

From source file:org.quickserver.net.qsadmin.gui.SimpleCommandSet.java

public static SimpleCommandSet getSimpleCommands() {
    SimpleCommandSet sms = null;//from  w ww  .j  av  a 2 s  .c o m
    try {
        Digester digester = new Digester();
        digester.setValidating(false);
        //digester.setNamespaceAware(true);
        //String xsd = "" + new File("quickserver_config.xsd").toURI();
        //digester.setSchema(xsd);

        //nested QSAdminServer tag
        String mainTag = "simple-command-set";
        String subTag = "simple-command";
        digester.addObjectCreate(mainTag, SimpleCommandSet.class);
        digester.addObjectCreate(mainTag + "/" + subTag, SimpleCommand.class);
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/name");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/command");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/desc");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/target-needed", "targetNeeded");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/multi-line-response", "multiLineResponse");
        digester.addBeanPropertySetter(mainTag + "/" + subTag + "/version");
        digester.addSetNext(mainTag + "/" + subTag, "addCommand");
        URL configFile = SimpleCommandSet.class
                .getResource("/org/quickserver/net/qsadmin/gui/conf/MainCommandPanel.xml");
        if (configFile == null)
            throw new RuntimeException("XML File not found : " + "MainCommandPanel.xml");

        InputStream input = configFile.openStream();
        logger.fine("Loading command config from xml file : " + input);
        sms = (SimpleCommandSet) digester.parse(input);
    } catch (Exception e) {
        logger.severe("Could not init from xml file : " + e);
        logger.fine("StackTrace:\n" + MyString.getStackTrace(e));
    }
    return sms;
}

From source file:org.quickserver.util.xmlreader.ConfigReader.java

/**
 * Parses XML config of QuickServer of version 1.3 and above
 * @since 1.4/*  w  w w.  ja v  a 2 s  .c o m*/
 */
public static QuickServerConfig read(InputStream input, String config_file_location) throws Exception {
    Digester digester = new Digester();
    digester.setValidating(false);

    //digester.setNamespaceAware(true);
    //String xsd = "" + new File("quickserver_config.xsd").toURI();
    //digester.setSchema(xsd);
    String mainTag = "quickserver";
    String subTag = "";

    digester.addObjectCreate(mainTag, QuickServerConfig.class);
    digester.addBeanPropertySetter(mainTag + "/name", "name");
    digester.addBeanPropertySetter(mainTag + "/server-banner", "serverBanner");
    digester.addBeanPropertySetter(mainTag + "/port", "port");
    digester.addBeanPropertySetter(mainTag + "/bind-address", "bindAddr");
    //<server-mode>
    String curTag = mainTag + "/server-mode";
    digester.addObjectCreate(curTag, ServerMode.class);
    digester.addBeanPropertySetter(curTag + "/blocking", "blocking");
    digester.addSetNext(curTag, "setServerMode");
    //</server-mode>
    digester.addBeanPropertySetter(mainTag + "/client-event-handler", "clientEventHandler");//v1.4.6
    digester.addBeanPropertySetter(mainTag + "/client-command-handler", "clientCommandHandler");
    digester.addBeanPropertySetter(mainTag + "/client-object-handler", "clientObjectHandler");
    digester.addBeanPropertySetter(mainTag + "/client-binary-handler", "clientBinaryHandler");//v1.4
    digester.addBeanPropertySetter(mainTag + "/client-write-handler", "clientWriteHandler");//v1.4.5
    digester.addBeanPropertySetter(mainTag + "/authenticator", "authenticator"); //v1.3
    digester.addBeanPropertySetter(mainTag + "/client-authentication-handler", "clientAuthenticationHandler"); //v1.4.6
    digester.addBeanPropertySetter(mainTag + "/client-data", "clientData");
    digester.addBeanPropertySetter(mainTag + "/client-extended-event-handler", "clientExtendedEventHandler");//v1.4.6
    digester.addBeanPropertySetter(mainTag + "/timeout", "timeout");
    digester.addBeanPropertySetter(mainTag + "/timeout-msg", "timeoutMsg");
    digester.addBeanPropertySetter(mainTag + "/max-auth-try", "maxAuthTry");
    digester.addBeanPropertySetter(mainTag + "/max-auth-try-msg", "maxAuthTryMsg");
    digester.addBeanPropertySetter(mainTag + "/max-connection", "maxConnection");
    digester.addBeanPropertySetter(mainTag + "/max-connection-msg", "maxConnectionMsg");
    digester.addBeanPropertySetter(mainTag + "/console-logging-level", "consoleLoggingLevel");
    digester.addBeanPropertySetter(mainTag + "/console-logging-formatter", "consoleLoggingFormatter");
    //<default-data-mode>
    curTag = mainTag + "/default-data-mode";
    digester.addObjectCreate(curTag, DefaultDataMode.class);
    digester.addBeanPropertySetter(curTag + "/data-type-in", "dataModeIn");
    digester.addBeanPropertySetter(curTag + "/data-type-out", "dataModeOut");
    digester.addSetNext(curTag, "setDefaultDataMode");
    //</default-data-mode>
    //<object-pool>
    curTag = mainTag + "/object-pool";
    digester.addObjectCreate(curTag, ObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/init-size", "initSize");
    digester.addBeanPropertySetter(curTag + "/pool-manager", "poolManager");
    //<thread-object-pool>
    digester.addObjectCreate(curTag + "/thread-object-pool", ThreadObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/thread-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/thread-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/thread-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/thread-object-pool", "setThreadObjectPoolConfig");
    //</thread-object-pool>
    //<client-handler-object-pool>
    digester.addObjectCreate(curTag + "/client-handler-object-pool", ClientHandlerObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/client-handler-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/client-handler-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/client-handler-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/client-handler-object-pool", "setClientHandlerObjectPoolConfig");
    //</client-handler-object-pool>
    //<byte-buffer-object-pool>
    digester.addObjectCreate(curTag + "/byte-buffer-object-pool", ByteBufferObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/byte-buffer-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/byte-buffer-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/byte-buffer-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/byte-buffer-object-pool", "setByteBufferObjectPoolConfig");
    //</byte-buffer-object-pool>
    //<client-data-object-pool>
    digester.addObjectCreate(curTag + "/client-data-object-pool", ClientDataObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/client-data-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/client-data-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/client-data-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/client-data-object-pool", "setClientDataObjectPoolConfig");
    //</client-data-object-pool>
    digester.addSetNext(curTag, "setObjectPoolConfig");
    //</object-pool>
    //<communication-logging>
    digester.addBeanPropertySetter(mainTag + "/communication-logging/enable", "communicationLogging");
    //</communication-logging>
    digester.addBeanPropertySetter(mainTag + "/security-manager-class", "securityManagerClass");

    //<access-constraint>
    digester.addObjectCreate(mainTag + "/access-constraint", AccessConstraintConfig.class);
    //<ip-filter>
    digester.addObjectCreate(mainTag + "/access-constraint/ip-filter", IpFilterConfig.class);
    digester.addBeanPropertySetter(mainTag + "/access-constraint/ip-filter/enable", "enable");
    digester.addBeanPropertySetter(mainTag + "/access-constraint/ip-filter/allow-access", "allowAccess");
    //<ip-collection>
    digester.addCallMethod(mainTag + "/access-constraint/ip-filter/ip-collection/client-ip-address",
            "addClientIpAddress", 0);
    //<ip-collection>
    digester.addSetNext(mainTag + "/access-constraint/ip-filter", "setIpFilterConfig");
    //<ip-filter>
    digester.addSetNext(mainTag + "/access-constraint", "setAccessConstraintConfig");
    //</access-constraint>   

    //<application-jar-path>
    digester.addBeanPropertySetter(mainTag + "/application-jar-path", "applicationJarPath");

    //<server-hooks>
    digester.addObjectCreate(mainTag + "/server-hooks", ServerHooks.class);
    digester.addCallMethod(mainTag + "/server-hooks/class-name", "addClassName", 0);
    digester.addSetNext(mainTag + "/server-hooks", "setServerHooks");
    //</server-hooks>

    //<secure>
    curTag = mainTag + "/secure";
    digester.addObjectCreate(curTag, Secure.class);
    digester.addBeanPropertySetter(curTag + "/enable", "enable");
    digester.addBeanPropertySetter(curTag + "/load", "load");
    digester.addBeanPropertySetter(curTag + "/port", "port");
    digester.addBeanPropertySetter(curTag + "/protocol", "protocol");
    digester.addBeanPropertySetter(curTag + "/client-auth-enable", "clientAuthEnable");
    //<secure-store>
    digester.addObjectCreate(curTag + "/secure-store", SecureStore.class);
    digester.addBeanPropertySetter(curTag + "/secure-store/type", "type");
    digester.addBeanPropertySetter(curTag + "/secure-store/algorithm", "algorithm");
    digester.addBeanPropertySetter(curTag + "/secure-store/provider", "provider");
    //<key-store-info>
    digester.addObjectCreate(curTag + "/secure-store/key-store-info", KeyStoreInfo.class);
    digester.addBeanPropertySetter(curTag + "/secure-store/key-store-info/store-file", "storeFile");
    digester.addBeanPropertySetter(curTag + "/secure-store/key-store-info/store-password", "storePassword");
    digester.addBeanPropertySetter(curTag + "/secure-store/key-store-info/key-password", "keyPassword");
    digester.addSetNext(curTag + "/secure-store/key-store-info", "setKeyStoreInfo");
    //</key-store-info>
    //<trust-store-info>
    digester.addObjectCreate(curTag + "/secure-store/trust-store-info", TrustStoreInfo.class);
    digester.addBeanPropertySetter(curTag + "/secure-store/trust-store-info/store-file", "storeFile");
    digester.addBeanPropertySetter(curTag + "/secure-store/trust-store-info/store-password", "storePassword");
    digester.addBeanPropertySetter(curTag + "/secure-store/trust-store-info/type", "type");
    digester.addBeanPropertySetter(curTag + "/secure-store/trust-store-info/provider", "provider");
    digester.addSetNext(curTag + "/secure-store/trust-store-info", "setTrustStoreInfo");
    //</trust-store-info>
    digester.addBeanPropertySetter(curTag + "/secure-store/secure-store-manager", "secureStoreManager");
    digester.addSetNext(curTag + "/secure-store", "setSecureStore");
    //</secure-store>
    digester.addSetNext(curTag, "setSecure");
    //</secure>

    //<advanced-settings>
    curTag = mainTag + "/advanced-settings";
    digester.addObjectCreate(curTag, AdvancedSettings.class);
    digester.addBeanPropertySetter(curTag + "/charset", "charset");
    digester.addBeanPropertySetter(curTag + "/byte-buffer-size", "byteBufferSize");
    digester.addBeanPropertySetter(curTag + "/backlog", "backlog");
    digester.addBeanPropertySetter(curTag + "/use-direct-byte-buffer", "useDirectByteBuffer");
    digester.addBeanPropertySetter(curTag + "/socket-linger", "socketLinger");
    digester.addBeanPropertySetter(curTag + "/debug-non-blocking-mode", "debugNonBlockingMode");
    digester.addBeanPropertySetter(curTag + "/client-identifier", "clientIdentifier");
    digester.addBeanPropertySetter(curTag + "/qsobject-pool-maker", "qsObjectPoolMaker");
    digester.addBeanPropertySetter(curTag + "/max-threads-for-nio-write", "maxThreadsForNioWrite");

    digester.addBeanPropertySetter(curTag + "/performance-preferences-connection-time",
            "performancePreferencesConnectionTime");
    digester.addBeanPropertySetter(curTag + "/performance-preferences-latency",
            "performancePreferencesLatency");
    digester.addBeanPropertySetter(curTag + "/performance-preferences-bandwidth",
            "performancePreferencesBandwidth");

    digester.addBeanPropertySetter(curTag + "/client-socket-tcp-no-delay", "clientSocketTcpNoDelay");
    digester.addBeanPropertySetter(curTag + "/client-socket-traffic-class", "clientSocketTrafficClass");

    digester.addBeanPropertySetter(curTag + "/client-socket-receive-buffer-size",
            "clientSocketReceiveBufferSize");
    digester.addBeanPropertySetter(curTag + "/client-socket-send-buffer-size", "clientSocketSendBufferSize");

    digester.addSetNext(curTag, "setAdvancedSettings");
    //</advanced-settings>

    //<qsadmin-server>
    subTag = "qsadmin-server";
    curTag = mainTag + "/" + subTag;
    digester.addObjectCreate(curTag, QSAdminServerConfig.class);
    digester.addBeanPropertySetter(curTag + "/name", "name");
    digester.addBeanPropertySetter(curTag + "/server-banner", "serverBanner");
    digester.addBeanPropertySetter(curTag + "/port", "port");
    //<server-mode>
    digester.addObjectCreate(curTag + "/server-mode", ServerMode.class);
    digester.addBeanPropertySetter(curTag + "/server-mode/blocking", "blocking");
    digester.addSetNext(curTag + "/server-mode", "setServerMode");
    //</server-mode>
    digester.addBeanPropertySetter(curTag + "/client-event-handler", "clientEventHandler");
    digester.addBeanPropertySetter(curTag + "/client-command-handler", "clientCommandHandler");
    digester.addBeanPropertySetter(curTag + "/client-object-handler", "clientObjectHandler");
    digester.addBeanPropertySetter(curTag + "/client-binary-handler", "clientBinaryHandler");//v1.4
    digester.addBeanPropertySetter(curTag + "/client-write-handler", "clientWriteHandler");//v1.4.5
    digester.addBeanPropertySetter(curTag + "/authenticator", "authenticator"); //v1.3
    digester.addBeanPropertySetter(curTag + "/client-authentication-handler", "clientAuthenticationHandler"); //v1.4.6
    digester.addBeanPropertySetter(curTag + "/client-data", "clientData");
    digester.addBeanPropertySetter(curTag + "/client-extended-event-handler", "clientExtendedEventHandler");//v1.4.6
    digester.addBeanPropertySetter(curTag + "/timeout", "timeout");
    digester.addBeanPropertySetter(curTag + "/max-auth-try", "maxAuthTry");
    digester.addBeanPropertySetter(curTag + "/max-auth-try-msg", "maxAuthTryMsg");
    digester.addBeanPropertySetter(curTag + "/timeout-msg", "timeoutMsg");
    digester.addBeanPropertySetter(curTag + "/max-connection", "maxConnection");
    digester.addBeanPropertySetter(curTag + "/max-connection-msg", "maxConnectionMsg");
    digester.addBeanPropertySetter(curTag + "/bind-address", "bindAddr");
    digester.addBeanPropertySetter(curTag + "/client-object-handler", "clientObjectHandler");
    digester.addBeanPropertySetter(curTag + "/console-logging-level", "consoleLoggingLevel");
    digester.addBeanPropertySetter(curTag + "/console-logging-formatter", "consoleLoggingFormatter");
    //<default-data-mode>
    digester.addObjectCreate(curTag + "/default-data-mode", DefaultDataMode.class);
    digester.addBeanPropertySetter(curTag + "/default-data-mode/data-type-in", "dataModeIn");
    digester.addBeanPropertySetter(curTag + "/default-data-mode/data-type-out", "dataModeOut");
    digester.addSetNext(curTag + "/default-data-mode", "setDefaultDataMode");
    //</default-data-mode>
    //<object-pool>
    digester.addObjectCreate(curTag + "/object-pool", ObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/object-pool/init-size", "initSize");
    digester.addBeanPropertySetter(curTag + "/object-pool/pool-manager", "poolManager");
    //<thread-object-pool>
    digester.addObjectCreate(curTag + "/object-pool/thread-object-pool", ThreadObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/object-pool/thread-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/object-pool/thread-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/object-pool/thread-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/object-pool/thread-object-pool", "setThreadObjectPoolConfig");
    //</thread-object-pool>
    //<client-handler-object-pool>
    digester.addObjectCreate(curTag + "/object-pool/client-handler-object-pool",
            ClientHandlerObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/object-pool/client-handler-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/object-pool/client-handler-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/object-pool/client-handler-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/object-pool/client-handler-object-pool", "setClientHandlerObjectPoolConfig");
    //</client-handler-object-pool>
    //<byte-buffer-object-pool>
    digester.addObjectCreate(curTag + "/object-pool/byte-buffer-object-pool", ByteBufferObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/object-pool/byte-buffer-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/object-pool/byte-buffer-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/object-pool/byte-buffer-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/object-pool/byte-buffer-object-pool", "setByteBufferObjectPoolConfig");
    //</byte-buffer-object-pool>
    //<client-data-object-pool>
    digester.addObjectCreate(curTag + "/object-pool/client-data-object-pool", ClientDataObjectPoolConfig.class);
    digester.addBeanPropertySetter(curTag + "/object-pool/client-data-object-pool/max-active", "maxActive");
    digester.addBeanPropertySetter(curTag + "/object-pool/client-data-object-pool/max-idle", "maxIdle");
    digester.addBeanPropertySetter(curTag + "/object-pool/client-data-object-pool/init-size", "initSize");
    digester.addSetNext(curTag + "/object-pool/client-data-object-pool", "setClientDataObjectPoolConfig");
    //</client-data-object-pool>
    digester.addSetNext(curTag + "/object-pool", "setObjectPoolConfig");
    //</object-pool>      
    //<command-shell>
    digester.addBeanPropertySetter(curTag + "/command-shell/enable", "commandShellEnable");
    digester.addBeanPropertySetter(curTag + "/command-shell/prompt-name", "commandShellPromptName");
    //</command-shell>
    //<communication-logging><enable>
    digester.addBeanPropertySetter(curTag + "/communication-logging/enable", "communicationLogging");
    //<access-constraint>
    digester.addObjectCreate(curTag + "/access-constraint", AccessConstraintConfig.class);
    //<ip-filter>
    digester.addObjectCreate(curTag + "/access-constraint/ip-filter", IpFilterConfig.class);
    digester.addBeanPropertySetter(curTag + "/access-constraint/ip-filter/enable", "enable");
    digester.addBeanPropertySetter(curTag + "/access-constraint/ip-filter/allow-access", "allowAccess");
    //<ip-collection>
    digester.addCallMethod(curTag + "/access-constraint/ip-filter/ip-collection/client-ip-address",
            "addClientIpAddress", 0);
    //<ip-collection>
    digester.addSetNext(curTag + "/access-constraint/ip-filter", "setIpFilterConfig");
    //<ip-filter>
    digester.addSetNext(curTag + "/access-constraint", "setAccessConstraintConfig");
    //</access-constraint>   
    //<server-hooks>
    digester.addObjectCreate(curTag + "/server-hooks", ServerHooks.class);
    digester.addCallMethod(curTag + "/server-hooks/class-name", "addClassName", 0);
    digester.addSetNext(curTag + "/server-hooks", "setServerHooks");
    //</server-hooks>

    //<secure>
    digester.addObjectCreate(curTag + "/secure", Secure.class);
    digester.addBeanPropertySetter(curTag + "/secure/enable", "enable");
    digester.addBeanPropertySetter(curTag + "/secure/load", "load");
    digester.addBeanPropertySetter(curTag + "/secure/port", "port");
    digester.addBeanPropertySetter(curTag + "/secure/protocol", "protocol");
    digester.addBeanPropertySetter(curTag + "/secure/client-auth-enable", "clientAuthEnable");
    //<secure-store>
    digester.addObjectCreate(curTag + "/secure/secure-store", SecureStore.class);
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/type", "type");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/algorithm", "algorithm");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/provider", "provider");
    //<key-store-info>
    digester.addObjectCreate(curTag + "/secure/secure-store/key-store-info", KeyStoreInfo.class);
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/key-store-info/store-file", "storeFile");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/key-store-info/store-password",
            "storePassword");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/key-store-info/key-password", "keyPassword");
    digester.addSetNext(curTag + "/secure/secure-store/key-store-info", "setKeyStoreInfo");
    //</key-store-info>
    //<trust-store-info>
    digester.addObjectCreate(curTag + "/secure/secure-store/trust-store-info", TrustStoreInfo.class);
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/trust-store-info/store-file", "storeFile");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/trust-store-info/store-password",
            "storePassword");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/trust-store-info/type", "type");
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/trust-store-info/provider", "provider");
    digester.addSetNext(curTag + "/secure/secure-store/trust-store-info", "setTrustStoreInfo");
    //</trust-store-info>
    digester.addBeanPropertySetter(curTag + "/secure/secure-store/secure-store-manager", "secureStoreManager");
    digester.addSetNext(curTag + "/secure/secure-store", "setSecureStore");
    //</secure-store>
    digester.addSetNext(curTag + "/secure", "setSecure");
    //</secure>
    digester.addBeanPropertySetter(curTag + "/command-plugin", "commandPlugin");
    //<advanced-settings>
    digester.addObjectCreate(curTag + "/advanced-settings", AdvancedSettings.class);
    digester.addBeanPropertySetter(curTag + "/advanced-settings/charset", "charset");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/byte-buffer-size", "byteBufferSize");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/backlog", "backlog");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/use-direct-byte-buffer", "useDirectByteBuffer");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/socket-linger", "socketLinger");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/debug-non-blocking-mode",
            "debugNonBlockingMode");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/client-identifier", "clientIdentifier");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/qsobject-pool-maker", "qsObjectPoolMaker");
    digester.addBeanPropertySetter(curTag + "/advanced-settings/max-threads-for-nio-write",
            "maxThreadsForNioWrite");
    digester.addSetNext(curTag + "/advanced-settings", "setAdvancedSettings");
    //</advanced-settings>
    digester.addSetNext(curTag, "setQSAdminServerConfig");
    //</qsadmin-server>

    //<db-object-pool>
    subTag = "db-object-pool";
    digester.addObjectCreate(mainTag + "/" + subTag, DBObjectPoolConfig.class);
    //<database-connection-set>
    digester.addObjectCreate(mainTag + "/" + subTag + "/database-connection-set", DatabaseConnectionSet.class);
    //<database-connection>
    curTag = mainTag + "/" + subTag + "/database-connection-set/database-connection";
    digester.addObjectCreate(curTag, DatabaseConnectionConfig.class);
    digester.addBeanPropertySetter(curTag + "/id", "id");
    digester.addBeanPropertySetter(curTag + "/driver", "driver");
    digester.addBeanPropertySetter(curTag + "/url", "url");
    digester.addBeanPropertySetter(curTag + "/username", "username");
    digester.addBeanPropertySetter(curTag + "/password", "password");
    digester.addSetNext(curTag, "addDatabaseConnection");
    //</database-connection>
    digester.addSetNext(mainTag + "/" + subTag + "/database-connection-set", "setDatabaseConnectionSet");
    //</database-connection-set>
    //<db-pool-util>
    curTag = mainTag + "/" + subTag + "/db-pool-util";
    digester.addBeanPropertySetter(curTag, "dbPoolUtil");
    //</db-pool-util>      
    digester.addSetNext(mainTag + "/" + subTag, "setDBObjectPoolConfig");
    //</db-object-pool>

    //<application-configuration>
    subTag = "application-configuration";
    digester.addObjectCreate(mainTag + "/" + subTag, ApplicationConfiguration.class);
    digester.addBeanPropertySetter(mainTag + "/" + subTag + "/prompt-type", "promptType");
    curTag = mainTag + "/" + subTag + "/" + "property";
    digester.addObjectCreate(curTag, Property.class);
    digester.addBeanPropertySetter(curTag + "/property-name", "name");
    digester.addBeanPropertySetter(curTag + "/property-value", "value");
    digester.addSetNext(curTag, "addProperty");
    digester.addSetNext(mainTag + "/" + subTag, "setApplicationConfiguration");
    //</application-configuration>

    //<init-server-hooks>
    subTag = "init-server-hooks";
    digester.addObjectCreate(mainTag + "/" + subTag, InitServerHooks.class);
    digester.addCallMethod(mainTag + "/" + subTag + "/class-name", "addClassName", 0);
    digester.addSetNext(mainTag + "/" + subTag, "setInitServerHooks");
    //</init-server-hooks>

    QuickServerConfig qsc = (QuickServerConfig) digester.parse(input);

    qsc.setConfigFile(config_file_location);

    loadMissingApplicationConfiguration(qsc);

    QuickServer.setDebugNonBlockingMode(qsc.getAdvancedSettings().getDebugNonBlockingMode());

    return qsc;
}

From source file:org.quickserver.util.xmlreader.PluginConfigReader.java

/**
 * Parses XML config of QSAdmin Plugin/*from  ww w . j ava2  s . com*/
 */
public static QSAdminPluginConfig read(File input) throws Exception {
    Digester digester = new Digester();
    digester.setValidating(false);

    String mainTag = "qsadmin-plugin";

    digester.addObjectCreate(mainTag, QSAdminPluginConfig.class);
    digester.addBeanPropertySetter(mainTag + "/name", "name");
    digester.addBeanPropertySetter(mainTag + "/desc", "desc");
    digester.addBeanPropertySetter(mainTag + "/type", "type");
    digester.addBeanPropertySetter(mainTag + "/main-class", "mainClass");
    digester.addBeanPropertySetter(mainTag + "/active", "active");

    logger.fine("Loading Plugin config from xml file : " + input.getAbsolutePath());
    QSAdminPluginConfig psc = (QSAdminPluginConfig) digester.parse(input);
    return psc;
}

From source file:spring.travel.site.services.news.NewsDigester.java

public List<NewsItem> from(InputStream is) throws IOException {
    try {/*from   w w w.j  ava 2s  .  co m*/
        Digester digester = new Digester();
        digester.setValidating(false);

        digester.push(new ArrayList<NewsItemDigestible>());

        digester.addObjectCreate("rss/channel/item", NewsItemDigestible.class.getName());
        digester.addSetNext("rss/channel/item", "add");
        digester.addBeanPropertySetter("rss/channel/item/title", "headline");
        digester.addBeanPropertySetter("rss/channel/item/description", "standFirst");
        digester.addBeanPropertySetter("rss/channel/item/guid", "link");
        digester.addObjectCreate("rss/channel/item/media:content", Image.class.getName());
        digester.addSetProperties("rss/channel/item/media:content");
        digester.addSetNext("rss/channel/item/media:content", "setImage");

        List<NewsItemDigestible> items = digester.parse(is);
        return items.stream().map(n -> n.toNewsItem()).collect(Collectors.toList());
    } catch (SAXException se) {
        throw new IOException("Failed reading rss feed", se);
    }
}

From source file:uk.co.sdev.undertow.rx.services.news.PushDigester.java

public void digest(InputStream is, Subscriber<? super NewsItem> subscriber) {
    try {/*from ww  w  .  j  a v a 2s  .  com*/
        Digester digester = new Digester();
        digester.setValidating(false);

        digester.push((Consumer<NewsItemDigestible>) newsItemDigestible -> {
            if (newsItemDigestible.hasImage()) {
                subscriber.onNext(newsItemDigestible.toNewsItem());
            }
        });
        digester.addObjectCreate("rss/channel/item", NewsItemDigestible.class.getName());
        digester.addBeanPropertySetter("rss/channel/item/title", "headline");
        digester.addBeanPropertySetter("rss/channel/item/description", "description");
        digester.addBeanPropertySetter("rss/channel/item/guid", "link");
        configureImageRules(digester);
        digester.addSetNext("rss/channel/item", "accept");

        digester.parse(is);

        subscriber.onCompleted();
    } catch (Exception e) {
        subscriber.onError(e);
    }
}