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

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

Introduction

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

Prototype

public void addCallParam(String pattern, int paramIndex) 

Source Link

Document

Add a "call parameter" rule for the specified parameters.

Usage

From source file:com.w20e.socrates.factories.XMLQuestionnaireFactory.java

/**
 * Create a new Digester for the instance. This should ALWAYS happen for
 * each parse... Seriously!/* w  ww. jav  a  2  s .co m*/
 * 
 * @return the digester
 */
private Digester createInstanceDigester() {

    Digester dig = new Digester();

    NodeFactory nodeFactory = new NodeFactory();
    PropertiesFactory propsFactory = new PropertiesFactory();
    ExpressionFactory exprFactory = new ExpressionFactory();
    SurveyFactory surveyFactory = new SurveyFactory();

    dig.addFactoryCreate("survey", surveyFactory);
    dig.addSetProperties("survey");

    // dig.addRule("*/var", nodeCreateRule);
    // dig.addCallParam( "*/var", 0, "name");
    // dig.addCallParam( "*/var", 1);
    dig.addFactoryCreate("*/var", nodeFactory);
    dig.addCallMethod("*/var", "setValue", 1);
    dig.addCallParam("*/var", 0);
    dig.addSetNext("*/var", "addNode", "com.w20e.socrates.model.NodeImpl");

    // dig.addObjectCreate("*/vargroup", Node.class);
    // dig.addSetNext("*/var", "addNode");

    dig.addFactoryCreate("*/model/properties", propsFactory);
    dig.addSetNext("*/model/properties", "addProperties", "com.w20e.socrates.model.ItemPropertiesImpl");

    dig.addCallMethod("*/model/properties/bind", "addBind", 1);
    dig.addCallParam("*/model/properties/bind", 0);

    Rule exprRule = new ExpressionCreateRule(exprFactory);

    dig.addRule("*/properties/required", exprRule);
    dig.addCallMethod("*/properties/required", "setExpr", 1);
    dig.addCallParam("*/properties/required", 0);

    dig.addRule("*/properties/relevant", exprRule);
    dig.addCallMethod("*/properties/relevant", "setExpr", 1);
    dig.addCallParam("*/properties/relevant", 0);

    dig.addRule("*/properties/readonly", exprRule);
    dig.addCallMethod("*/properties/readonly", "setExpr", 1);
    dig.addCallParam("*/properties/readonly", 0);

    dig.addRule("*/properties/calculate", exprRule);
    dig.addCallMethod("*/properties/calculate", "setExpr", 1);
    dig.addCallParam("*/properties/calculate", 0);

    dig.addRule("*/properties/constraint", exprRule);
    dig.addCallMethod("*/properties/constraint", "setExpr", 1);
    dig.addCallParam("*/properties/constraint", 0);

    dig.addRule("*/properties/datatype", exprRule);
    dig.addCallMethod("*/properties/datatype", "setExpr", 1);
    dig.addCallParam("*/properties/datatype", 0);

    dig.addRule("*/properties/default", exprRule);
    dig.addCallMethod("*/properties/default", "setExpr", 1);
    dig.addCallParam("*/properties/default", 0);

    return dig;
}

From source file:com.w20e.socrates.factories.XMLQuestionnaireFactory.java

/**
 * Create a new Digester for the instance. This should ALWAYS happen for
 * each parse... Really!//from  ww w  . j  a  va 2s .c o  m
 * 
 * @return the digester
 */
private Digester createRenderingDigester(Configuration cfg) {

    GroupFactory groupFactory = new GroupFactory();
    ControlFactory controlFactory = new ControlFactory(cfg);
    OptionsFactory optionsFactory = new OptionsFactory();
    TranslatableFactory labelFactory = new TranslatableFactory();

    Digester dig = new Digester();

    dig.addObjectCreate("survey/layout", RenderConfigImpl.class);

    dig.addObjectCreate("*/layout/optionset", "com.w20e.socrates.rendering.OptionList");
    dig.addSetProperties("*/layout/optionset");
    dig.addSetNext("*/layout/optionset", "addOptionList");

    dig.addFactoryCreate("*/group", groupFactory);
    dig.addSetNext("*/group", "addItem", "com.w20e.socrates.rendering.Group");

    dig.addObjectCreate("*/text", "com.w20e.socrates.rendering.TextBlock");
    dig.addSetProperties("*/text");
    dig.addSetNext("*/text", "addItem", "com.w20e.socrates.rendering.TextBlock");
    dig.addCallMethod("*/text", "setText", 1);
    dig.addCallParam("*/text", 0);

    dig.addObjectCreate("*/select",
            cfg.getString("layout.controlclasses.select", "com.w20e.socrates.rendering.Select"));
    dig.addSetProperties("*/select");
    dig.addSetNext("*/select", "addItem");

    dig.addObjectCreate("*/input",
            cfg.getString("layout.controlclasses.select", "com.w20e.socrates.rendering.Input"));
    dig.addSetProperties("*/input");
    dig.addSetNext("*/input", "addItem");

    dig.addObjectCreate("*/hidden",
            cfg.getString("layout.controlclasses.hidden", "com.w20e.socrates.rendering.Hidden"));
    dig.addSetProperties("*/hidden");
    dig.addSetNext("*/hidden", "addItem");

    dig.addObjectCreate("*/checkbox",
            cfg.getString("layout.controlclasses.checkbox", "com.w20e.socrates.rendering.Checkbox"));
    dig.addSetProperties("*/checkbox");
    dig.addSetNext("*/checkbox", "addItem");

    dig.addObjectCreate("*/textarea",
            cfg.getString("layout.controlclasses.textarea", "com.w20e.socrates.rendering.Input"));
    dig.addSetProperties("*/textarea");
    dig.addSetNext("*/textarea", "addItem");

    dig.addObjectCreate("*/date",
            cfg.getString("layout.controlclasses.date", "com.w20e.socrates.rendering.Date"));
    dig.addSetProperties("*/date");
    dig.addSetNext("*/date", "addItem");

    dig.addObjectCreate("*/range",
            cfg.getString("layout.controlclasses.range", "com.w20e.socrates.rendering.Range"));
    dig.addSetProperties("*/range");
    dig.addSetNext("*/range", "addItem");

    dig.addFactoryCreate("*/control", controlFactory);
    dig.addSetProperties("*/control");
    dig.addSetNext("*/control", "addItem");

    dig.addObjectCreate("*/option", "com.w20e.socrates.rendering.Option");
    dig.addSetProperties("*/option");
    dig.addSetNext("*/option", "addOption", "com.w20e.socrates.rendering.Option");

    dig.addFactoryCreate("*/select/optionset", optionsFactory);
    dig.addSetNext("*/select/optionset", "setOptions");

    dig.addFactoryCreate("*/label", labelFactory);
    dig.addSetNext("*/label", "setLabel");
    dig.addCallMethod("*/label", "setText", 1);
    dig.addCallParam("*/label", 0);

    dig.addFactoryCreate("*/hint", labelFactory);
    dig.addSetNext("*/hint", "setHint");
    dig.addCallMethod("*/hint", "setText", 1);
    dig.addCallParam("*/hint", 0);

    dig.addFactoryCreate("*/help", labelFactory);
    dig.addSetNext("*/help", "setHelp");
    dig.addCallMethod("*/help", "setText", 1);
    dig.addCallParam("*/help", 0);

    dig.addFactoryCreate("*/alert", labelFactory);
    dig.addSetNext("*/alert", "setAlert");
    dig.addCallMethod("*/alert", "setText", 1);
    dig.addCallParam("*/alert", 0);

    dig.addCallMethod("*/property", "setProperty", 2);
    dig.addCallParam("*/property", 0, "name");
    dig.addCallParam("*/property", 1);

    return dig;
}

From source file:org.gbif.metadata.eml.EmlFactory.java

/**
 * Add rules to extract the keywords.// ww w . ja va 2s  .c o m
 *
 * @param digester to add the rules to
 */
private static void addKeywordRules(Digester digester) {
    digester.addObjectCreate("eml/dataset/keywordSet", KeywordSet.class);
    digester.addCallMethod("eml/dataset/keywordSet/keyword", "add", 1);
    digester.addCallParam("eml/dataset/keywordSet/keyword", 0);
    digester.addBeanPropertySetter("eml/dataset/keywordSet/keywordThesaurus", "keywordThesaurus");
    digester.addSetNext("eml/dataset/keywordSet", "addKeywordSet"); // add the
    // KeywordSet
    // to the
    // list in
    // EML
}

From source file:org.gbif.metadata.eml.EmlFactory.java

/**
 * Add rules to extract the bibliographic citations.
 *
 * @param digester to add the rules to/*from ww w  .  j a  v a  2s. c om*/
 */
private static void addBibliographicCitations(Digester digester) {
    digester.addObjectCreate("eml/additionalMetadata/metadata/gbif/bibliography",
            BibliographicCitationSet.class);
    digester.addCallMethod("eml/additionalMetadata/metadata/gbif/bibliography/citation", "add", 2);
    digester.addCallParam("eml/additionalMetadata/metadata/gbif/bibliography/citation", 0);
    digester.addCallParam("eml/additionalMetadata/metadata/gbif/bibliography/citation", 1, "identifier");
    // add the BibliographicCitations to the list in EML
    digester.addSetNext("eml/additionalMetadata/metadata/gbif/bibliography", "setBibliographicCitationSet");
}

From source file:org.gbif.metadata.eml.EmlFactory.java

/**
 * Adds rules to extract the temporal coverage.
 *
 * @param digester to add the rules to//from w w w.  j  a  va 2 s  .  c  o m
 */
private static void addTemporalCoverageRules(Digester digester) {
    digester.addObjectCreate("eml/dataset/coverage/temporalCoverage", TemporalCoverage.class);
    digester.addCallMethod("eml/dataset/coverage/temporalCoverage/singleDateTime/calendarDate", "setStart", 1);
    digester.addCallParam("eml/dataset/coverage/temporalCoverage/singleDateTime/calendarDate", 0);
    digester.addCallMethod("eml/dataset/coverage/temporalCoverage/singleDateTime/calendarDate", "setEnd", 1);
    digester.addCallParam("eml/dataset/coverage/temporalCoverage/singleDateTime/calendarDate", 0);
    digester.addCallMethod("eml/dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate",
            "setStart", 1);
    digester.addCallParam("eml/dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate", 0);
    digester.addCallMethod("eml/dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate", "setEnd",
            1);
    digester.addCallParam("eml/dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate", 0);
    // add the TemporalCoverage to the list in EML
    digester.addSetNext("eml/dataset/coverage/temporalCoverage", "addTemporalCoverage");
}

From source file:org.gbif.metadata.eml.EmlFactory.java

/**
 * Adds rules to extract the livingTimePeriod temporal coverage.
 *
 * @param digester to add the rules to/*from w  ww  .  j  a  v  a2 s. co  m*/
 */
private static void addLivingTimePeriodRules(Digester digester) {
    digester.addObjectCreate("eml/additionalMetadata/metadata/gbif/livingTimePeriod", TemporalCoverage.class);
    digester.addCallMethod("eml/additionalMetadata/metadata/gbif/livingTimePeriod", "setLivingTimePeriod", 1);
    digester.addCallParam("eml/additionalMetadata/metadata/gbif/livingTimePeriod", 0);
    digester.addSetNext("eml/additionalMetadata/metadata/gbif/livingTimePeriod", "addTemporalCoverage"); // add the
    // TemporalCoverage to the list in EML
}

From source file:org.gbif.metadata.eml.EmlFactory.java

/**
 * Adds rules to extract the formationPeriod temporal coverage.
 *
 * @param digester to add the rules to/*from  w  w  w. java 2 s  . c  om*/
 */
private static void addFormationPeriodRules(Digester digester) {
    digester.addObjectCreate("eml/additionalMetadata/metadata/gbif/formationPeriod", TemporalCoverage.class);
    digester.addCallMethod("eml/additionalMetadata/metadata/gbif/formationPeriod", "setFormationPeriod", 1);
    digester.addCallParam("eml/additionalMetadata/metadata/gbif/formationPeriod", 0);
    digester.addSetNext("eml/additionalMetadata/metadata/gbif/formationPeriod", "addTemporalCoverage"); // add the
    // TemporalCoverage to the list in EML
}