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

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

Introduction

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

Prototype

public void addObjectCreate(String pattern, Class<?> clazz) 

Source Link

Document

Add an "object create" rule for the specified parameters.

Usage

From source file:net.sf.mcf2pdf.mcfglobals.McfProductCatalogue.java

private static McfProductCatalogue readV6(InputStream in) throws IOException, SAXException {
    Digester digester = new Digester();
    digester.addObjectCreate("description", McfProductCatalogueImpl.class);
    digester.addObjectCreate("description/product", McfAlbumTypeImpl.class);
    DigesterUtil.addSetProperties(digester, "description/product", getAlbumSpecialAttributes());
    DigesterUtil.addSetProperties(digester, "description/product/usablesize", getUsableSizeAttributes());
    digester.addCallMethod("description/product/spines/spine", "addSpine", 2,
            new String[] { Integer.class.getName(), Integer.class.getName() });
    digester.addCallParam("description/product/spines/spine", 0, "pages");
    digester.addCallParam("description/product/spines/spine", 1, "width");
    digester.addSetNext("description/product", "addAlbumType");

    return digester.parse(in);
}

From source file:net.sf.mcf2pdf.mcfglobals.McfProductCatalogue.java

public static McfProductCatalogue read(InputStream in, CatalogueVersion version)
        throws IOException, SAXException {
    if (version == CatalogueVersion.V6) {
        return readV6(in);
    }//from  ww w .  ja  v  a2s .co  m

    // PRE_V6
    Digester digester = new Digester();
    digester.addObjectCreate("fotobookdefinitions", McfProductCatalogueImpl.class);
    digester.addObjectCreate("fotobookdefinitions/album", McfAlbumTypeImpl.class);
    DigesterUtil.addSetProperties(digester, "fotobookdefinitions/album", getAlbumSpecialAttributes());
    DigesterUtil.addSetProperties(digester, "fotobookdefinitions/album/usablesize", getUsableSizeAttributes());
    digester.addCallMethod("fotobookdefinitions/album/spines/spine", "addSpine", 2,
            new String[] { Integer.class.getName(), Integer.class.getName() });
    digester.addCallParam("fotobookdefinitions/album/spines/spine", 0, "pages");
    digester.addCallParam("fotobookdefinitions/album/spines/spine", 1, "width");
    digester.addSetNext("fotobookdefinitions/album", "addAlbumType");

    return digester.parse(in);
}

From source file:eu.scape_project.planning.services.pa.PreservationActionRegistryFactory.java

static public List<PreservationActionRegistryDefinition> getAvailableRegistries()
        throws PlanningServiceException {
    ArrayList<PreservationActionRegistryDefinition> allRegistries = new ArrayList<PreservationActionRegistryDefinition>();

    String configFile = "data/services/PreservationActionRegistries.xml";
    InputStream config = Thread.currentThread().getContextClassLoader().getResourceAsStream(configFile);

    if (config == null) {
        throw new PlanningServiceException("Config file not found: " + configFile);
    }// w  w w. j  ava  2s .c o  m

    Digester digester = new Digester();
    digester.setValidating(false);
    digester.setErrorHandler(new StrictErrorHandler());

    digester.push(allRegistries);
    digester.addObjectCreate("*/registry", PreservationActionRegistryDefinition.class);
    digester.addBeanPropertySetter("*/registry/shortname", "shortname");
    digester.addBeanPropertySetter("*/registry/logo", "logo");
    digester.addBeanPropertySetter("*/registry/url", "url");
    digester.addBeanPropertySetter("*/registry/type", "type");
    digester.addBeanPropertySetter("*/registry/active", "active");
    digester.addSetNext("*/registry", "add");

    try {
        digester.setUseContextClassLoader(true);
        digester.parse(config);
    } catch (Exception e) {
        throw new PlanningServiceException(e);
    }
    return allRegistries;
}

From source file:com.dreikraft.axbo.sound.SoundPackageUtil.java

/**
 * Reads meta information from package-info.xml (as stream)
 *
 * @param packageInfoXmlStream the package-info.xml FileInputStream
 * @return the sound package info read from the stream
 * @throws com.dreikraft.infactory.sound.SoundPackageException encapsulates
 * all low level (IO) exceptions//from   w w w .j av a2 s . c  o  m
 */
public static SoundPackage readPackageInfo(InputStream packageInfoXmlStream) throws SoundPackageException {
    Digester digester = new Digester();
    digester.setValidating(false);
    digester.setRules(new ExtendedBaseRules());

    digester.addObjectCreate(SoundPackageNodes.axboSounds.toString(), SoundPackage.class);
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.packageName, "name");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creator, "creator");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.creationDate,
            "creationDate");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL
            + SoundPackageNodes.serialNumber, "serialNumber");
    digester.addBeanPropertySetter(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.security + SL + SoundPackageNodes.enforced,
            "securityEnforced");

    digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, ArrayList.class);
    digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds, "setSounds");

    digester.addObjectCreate(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound,
            Sound.class);
    digester.addSetNext(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "add");
    digester.addSetProperties(
            SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL + SoundPackageNodes.sound, "id",
            "id");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.displayName, "name");

    digester.addObjectCreate(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, SoundFile.class);
    digester.addSetNext(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile, "setAxboFile");
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.path);
    digester.addBeanPropertySetter(SoundPackageNodes.axboSounds + SL + SoundPackageNodes.sounds + SL
            + SoundPackageNodes.sound + SL + SoundPackageNodes.axboFile + SL + SoundPackageNodes.type);

    try {
        SoundPackage soundPackage = (SoundPackage) digester.parse(packageInfoXmlStream);
        return soundPackage;
    } catch (Exception ex) {
        throw new SoundPackageException(ex);
    }
}

From source file:br.univali.celine.lms.config.LMSConfig.java

private static void doBuildConfig(String path) throws Exception {

    Digester d = new Digester();
    d.setUseContextClassLoader(true);/*from  w  w  w .  java 2  s. com*/
    d.push(config);

    d.addCallMethod("*/courses-folder", "setCoursesFolder", 0);
    //        d.addCallMethod("*/login-page", "setLoginPage", 0);
    d.addCallMethod("*/registerCourseOnImport", "setRegisterCourseOnImport", 0);
    d.addCallMethod("*/registerUserOnInsertCourse", "setRegisterUserOnInsert", 0);
    d.addCallMethod("*/error-page", "setErrorPage", 0);
    d.addCallMethod("*/lmsIntegration", "setLMSIntegration", 0);

    d.addObjectCreate("*/database-source/rdb", RDBDAO.class);
    d.addSetNestedProperties("*/database-source/rdb");
    d.addSetNext("*/database-source/rdb", "setDAO");

    d.addObjectCreate("*/database-source/xml", XMLDAO.class);
    d.addCallMethod("*/database-source/xml", "setFileName", 0);
    d.addSetNext("*/database-source/xml", "setDAO");

    d.addObjectCreate("*/database-source/bean", "", "class"); // devido a um bug da versao 3.3 tive que fazer esse workaround !!!
    //d.addObjectCreate("*/database-source/bean", "class", DAO.class); 
    d.addSetNext("*/database-source/bean", "setDAO");

    d.addRule("*/database-source/bean/bean-attribute", new BeanSetterAttribute());

    String fileName = path + "/celine-config.xml";
    java.io.File srcfile = new java.io.File(fileName);
    d.parse(srcfile);

    if (config.dao == null)
        throw new Exception("DAO is not defined at celine-config.xml");

    config.dao.initialize();

}

From source file:net.revelc.code.formatter.model.RuleSet.java

/**
 * Adds the rule instances./*from w w w  .  j a  v  a  2  s.  c o m*/
 *
 * @param digester the digester
 * @see org.apache.commons.digester3.RuleSetBase#addRuleInstances(org.apache.commons.digester.Digester)
 */
@Override
public void addRuleInstances(Digester digester) {
    digester.addObjectCreate("profiles", Profiles.class);
    digester.addObjectCreate(PROFILES_PROFILE, Profile.class);
    digester.addObjectCreate(PROFILES_PROFILE_SETTING, Setting.class);

    digester.addSetNext(PROFILES_PROFILE, "addProfile");
    digester.addSetNext(PROFILES_PROFILE_SETTING, "addSetting");

    digester.addSetProperties(PROFILES_PROFILE, "kind", "kind");
    digester.addSetProperties(PROFILES_PROFILE_SETTING, "id", "id");
    digester.addSetProperties(PROFILES_PROFILE_SETTING, "value", "value");
}

From source file:br.univali.celine.scorm2004_4th.model.cam.ContentPackageReader20044th.java

protected void addCompletionThreshold(Digester d) {

    d.addObjectCreate("*/item/completionThreshold", CompletionThreshold.class);
    d.addSetNext("*/item/completionThreshold", "setCompletionThreshold");
    d.addSetProperties("*/item/completionThreshold");

}

From source file:eu.scape_project.planning.xml.PlanParser.java

private static void addMeasureRules(final Digester digester, final String pattern) {
    digester.addObjectCreate(pattern, Measure.class);
    digester.addSetNext(pattern, "setMeasure");
    digester.addSetProperties(pattern, "ID", "uri");
    digester.addBeanPropertySetter(pattern + "/name");
    digester.addBeanPropertySetter(pattern + "/description");

    PlanParser.addAttributeRules(digester, pattern + "/attribute");
    // scale will be set by global rule
}

From source file:eu.scape_project.planning.xml.PlanParser.java

private static void addAttributeRules(final Digester digester, final String pattern) {
    digester.addObjectCreate(pattern, Attribute.class);
    digester.addSetNext(pattern, "setAttribute");
    digester.addSetProperties(pattern, "ID", "uri");
    digester.addBeanPropertySetter(pattern + "/name");
    digester.addBeanPropertySetter(pattern + "/description");

    digester.addObjectCreate(pattern + "/category", CriterionCategory.class);
    digester.addSetProperties(pattern + "/category", "ID", "uri");
    digester.addSetProperties(pattern + "/category", "scope", "scope");
    digester.addBeanPropertySetter(pattern + "/category/name");
    digester.addSetNext(pattern + "/category", "setCategory");

}

From source file:br.univali.celine.scorm2004_4th.model.cam.ContentPackageReader20044th.java

@Override
protected void beforeOrganizationItemSetNext(Digester d) {
    super.beforeOrganizationItemSetNext(d);

    d.addObjectCreate("*/item/data/map", AdlcpMap.class);
    d.addSetNext("*/item/data/map", "addAdlcpMap");
    d.addSetProperties("*/item/data/map");

}