Example usage for org.apache.commons.digester Digester addCallParamPath

List of usage examples for org.apache.commons.digester Digester addCallParamPath

Introduction

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

Prototype

public void addCallParamPath(String pattern, int paramIndex) 

Source Link

Document

Add a "call parameter" rule that sets a parameter from the current Digester matching path.

Usage

From source file:org.squale.squalecommon.enterpriselayer.facade.config.xml.SqualixConfigImport.java

/**
 * Configuration du digester Le digester est utilis pour le chargement du fichier XML de rgles
 * /*from www.  ja v  a 2  s.c om*/
 * @param pErrors erreurs de traitement
 * @return digester
 */
private Digester setupDigester(StringBuffer pErrors) {
    Digester configDigester = preSetupDigester(PUBLIC_DTD, DTD_LOCATION, pErrors);

    // Traitement des paramtres gnraux
    configDigester.addObjectCreate("configuration/stoptimes/stoptime", StopTimeBO.class);
    configDigester.addSetProperties("configuration/stoptimes/stoptime");
    configDigester.addSetNext("configuration/stoptimes/stoptime", "addStopTime");

    // Traitement de la frquence max des audits en fonction des accs
    configDigester.addObjectCreate("configuration/frequencies/frequency", AuditFrequencyBO.class);
    configDigester.addSetProperties("configuration/frequencies/frequency");
    configDigester.addSetNext("configuration/frequencies/frequency", "addFrequency");

    // Traitement des tches
    TaskFactory taskFactory = new TaskFactory();
    configDigester.addFactoryCreate("configuration/tasks/task", taskFactory);
    configDigester.addSetProperties("configuration/tasks/task", "class", "className");

    // Traitement de la rcupration des sources
    SourceManagementFactory sourceManagementFactory = new SourceManagementFactory();
    TaskRefFactory taskRefFactory = new TaskRefFactory(taskFactory.getTasks());
    configDigester.addFactoryCreate("configuration/sourcemanagements/sourcemanagement",
            sourceManagementFactory);
    configDigester.addSetProperties("configuration/sourcemanagements/sourcemanagement");
    configDigester.addFactoryCreate("configuration/sourcemanagements/sourcemanagement/analysis/task-ref",
            taskRefFactory);
    configDigester.addSetNext("configuration/sourcemanagements/sourcemanagement/analysis/task-ref",
            "addAnalysisTask");
    registerParameterTag(configDigester, "configuration/sourcemanagements/sourcemanagement/analysis/task-ref");
    configDigester.addFactoryCreate("configuration/sourcemanagements/sourcemanagement/termination/task-ref",
            taskRefFactory);
    registerParameterTag(configDigester,
            "configuration/sourcemanagements/sourcemanagement/termination/task-ref");
    configDigester.addSetNext("configuration/sourcemanagements/sourcemanagement/termination/task-ref",
            "addTerminationTask");
    configDigester.addSetNext("configuration/sourcemanagements/sourcemanagement", "addSourceManagement");

    // Traitement des profils
    ProfileFactory profileFactory = new ProfileFactory();
    configDigester.addFactoryCreate("configuration/profiles/profile", profileFactory);
    configDigester.addSetProperties("configuration/profiles/profile");
    // Les grilles
    configDigester.addObjectCreate("configuration/profiles/profile/integrityConstraints/grids/grid",
            QualityGridBO.class);
    configDigester.addSetProperties("configuration/profiles/profile/integrityConstraints/grids/grid");
    configDigester.addSetNext("configuration/profiles/profile/integrityConstraints/grids/grid", "addGrid");
    // Les Configurations
    // Le scatterplot
    configDigester.addObjectCreate(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/bubble",
            BubbleConfBO.class);
    String[] nameInXML = { "xtre", "ytre", "xPos", "yPos" };
    String[] nameInBO = { "XTre", "YTre", "horizontalAxisPos", "verticalAxisPos" };
    configDigester.addSetProperties(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/bubble", nameInXML,
            nameInBO);
    configDigester.addSetNext(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/bubble",
            "addProfileDisplayConf");
    // La volumtrie
    configDigester.addObjectCreate(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/volumetries/volumetry",
            VolumetryConfBO.class);
    configDigester.addSetProperties(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/volumetries/volumetry",
            "component", "componentType");
    registerTreTag(configDigester,
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/volumetries/volumetry");
    configDigester.addSetNext(
            "configuration/profiles/profile/integrityConstraints/displayConfigurations/volumetries/volumetry",
            "addProfileDisplayConf");
    // Les tches
    configDigester.addFactoryCreate("configuration/profiles/profile/analysis/task-ref", taskRefFactory);
    registerParameterTag(configDigester, "configuration/profiles/profile/analysis/task-ref");
    configDigester.addSetNext("configuration/profiles/profile/analysis/task-ref", "addAnalysisTask");
    configDigester.addFactoryCreate("configuration/profiles/profile/termination/task-ref", taskRefFactory);
    registerParameterTag(configDigester, "configuration/profiles/profile/termination/task-ref");
    configDigester.addSetNext("configuration/profiles/profile/termination/task-ref", "addTerminationTask");

    configDigester.addSetNext("configuration/profiles/profile", "addProfile");

    // two-to-compute - value
    configDigester.addObjectCreate("configuration/admin-params/two-to-compute", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/two-to-compute", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/two-to-compute", 0);
    configDigester.addCallParam("configuration/admin-params/two-to-compute", 1);
    configDigester.addSetNext("configuration/admin-params/two-to-compute", "addAdminParam");

    // mail - smtp server
    configDigester.addObjectCreate("configuration/admin-params/mail/smtp-server", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/smtp-server", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/smtp-server", 0);
    configDigester.addCallParam("configuration/admin-params/mail/smtp-server", 1);
    configDigester.addSetNext("configuration/admin-params/mail/smtp-server", "addAdminParam");

    // mail - default sender
    configDigester.addObjectCreate("configuration/admin-params/mail/sender-address", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/sender-address", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/sender-address", 0);
    configDigester.addCallParam("configuration/admin-params/mail/sender-address", 1);
    configDigester.addSetNext("configuration/admin-params/mail/sender-address", "addAdminParam");

    // mail - squale's administrators mailing list
    configDigester.addObjectCreate("configuration/admin-params/mail/admin-mailing-list", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/admin-mailing-list", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/admin-mailing-list", 0);
    configDigester.addCallParam("configuration/admin-params/mail/admin-mailing-list", 1);
    configDigester.addSetNext("configuration/admin-params/mail/admin-mailing-list", "addAdminParam");

    // mail - smtp authentication needed ?
    configDigester.addObjectCreate("configuration/admin-params/mail/smtp-authent-needed", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/smtp-authent-needed", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/smtp-authent-needed", 0);
    configDigester.addCallParam("configuration/admin-params/mail/smtp-authent-needed", 1);
    configDigester.addSetNext("configuration/admin-params/mail/smtp-authent-needed", "addAdminParam");

    // mail - smtp authentication : user name
    configDigester.addObjectCreate("configuration/admin-params/mail/smtp-username", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/smtp-username", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/smtp-username", 0);
    configDigester.addCallParam("configuration/admin-params/mail/smtp-username", 1);
    configDigester.addSetNext("configuration/admin-params/mail/smtp-username", "addAdminParam");

    // mail - smtp authentication : password
    configDigester.addObjectCreate("configuration/admin-params/mail/smtp-password", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/mail/smtp-password", "setAdminParam", 2,
            new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/mail/smtp-password", 0);
    configDigester.addCallParam("configuration/admin-params/mail/smtp-password", 1);
    configDigester.addSetNext("configuration/admin-params/mail/smtp-password", "addAdminParam");

    // shared repository - mapping java - project - loc
    configDigester.addObjectCreate(
            "configuration/admin-params/shared-repository-export/mapping/java/module/loc", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/shared-repository-export/mapping/java/module/loc",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester
            .addCallParamPath("configuration/admin-params/shared-repository-export/mapping/java/module/loc", 0);
    configDigester.addCallParam("configuration/admin-params/shared-repository-export/mapping/java/module/loc",
            1);
    configDigester.addSetNext("configuration/admin-params/shared-repository-export/mapping/java/module/loc",
            "addAdminParam");

    // shared repository - mapping java - project - number of classes
    configDigester.addObjectCreate(
            "configuration/admin-params/shared-repository-export/mapping/java/module/number-of-classes",
            AdminParamsBO.class);
    configDigester.addCallMethod(
            "configuration/admin-params/shared-repository-export/mapping/java/module/number-of-classes",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester.addCallParamPath(
            "configuration/admin-params/shared-repository-export/mapping/java/module/number-of-classes", 0);
    configDigester.addCallParam(
            "configuration/admin-params/shared-repository-export/mapping/java/module/number-of-classes", 1);
    configDigester.addSetNext(
            "configuration/admin-params/shared-repository-export/mapping/java/module/number-of-classes",
            "addAdminParam");

    // shared repository - mapping java - class - loc
    configDigester.addObjectCreate("configuration/admin-params/shared-repository-export/mapping/java/class/loc",
            AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/shared-repository-export/mapping/java/class/loc",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester
            .addCallParamPath("configuration/admin-params/shared-repository-export/mapping/java/class/loc", 0);
    configDigester.addCallParam("configuration/admin-params/shared-repository-export/mapping/java/class/loc",
            1);
    configDigester.addSetNext("configuration/admin-params/shared-repository-export/mapping/java/class/loc",
            "addAdminParam");

    // shared repository - mapping java - class - number of methods
    configDigester.addObjectCreate(
            "configuration/admin-params/shared-repository-export/mapping/java/class/number-of-methods",
            AdminParamsBO.class);
    configDigester.addCallMethod(
            "configuration/admin-params/shared-repository-export/mapping/java/class/number-of-methods",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester.addCallParamPath(
            "configuration/admin-params/shared-repository-export/mapping/java/class/number-of-methods", 0);
    configDigester.addCallParam(
            "configuration/admin-params/shared-repository-export/mapping/java/class/number-of-methods", 1);
    configDigester.addSetNext(
            "configuration/admin-params/shared-repository-export/mapping/java/class/number-of-methods",
            "addAdminParam");

    // shared repository - mapping java - method - loc
    configDigester.addObjectCreate(
            "configuration/admin-params/shared-repository-export/mapping/java/method/loc", AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/shared-repository-export/mapping/java/method/loc",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester
            .addCallParamPath("configuration/admin-params/shared-repository-export/mapping/java/method/loc", 0);
    configDigester.addCallParam("configuration/admin-params/shared-repository-export/mapping/java/method/loc",
            1);
    configDigester.addSetNext("configuration/admin-params/shared-repository-export/mapping/java/method/loc",
            "addAdminParam");

    // shared repository - mapping java - method - vg
    configDigester.addObjectCreate("configuration/admin-params/shared-repository-export/mapping/java/method/vg",
            AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/shared-repository-export/mapping/java/method/vg",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester
            .addCallParamPath("configuration/admin-params/shared-repository-export/mapping/java/method/vg", 0);
    configDigester.addCallParam("configuration/admin-params/shared-repository-export/mapping/java/method/vg",
            1);
    configDigester.addSetNext("configuration/admin-params/shared-repository-export/mapping/java/method/vg",
            "addAdminParam");

    // shared repository - squalix server name which will done the export
    configDigester.addObjectCreate("configuration/admin-params/shared-repository-export/squalix-server/name",
            AdminParamsBO.class);
    configDigester.addCallMethod("configuration/admin-params/shared-repository-export/squalix-server/name",
            "setAdminParam", 2, new Class[] { String.class, String.class });
    configDigester.addCallParamPath("configuration/admin-params/shared-repository-export/squalix-server/name",
            0);
    configDigester.addCallParam("configuration/admin-params/shared-repository-export/squalix-server/name", 1);
    configDigester.addSetNext("configuration/admin-params/shared-repository-export/squalix-server/name",
            "addAdminParam");

    return configDigester;
}