org.encuestame.core.test.config.XmlConfigurationText.java Source code

Java tutorial

Introduction

Here is the source code for org.encuestame.core.test.config.XmlConfigurationText.java

Source

/*
 ************************************************************************************
 * Copyright (C) 2001-2011 encuestame: system online surveys Copyright (C) 2011
 * encuestame Development Team.
 * Licensed under the Apache Software License version 2.0
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to  in writing,  software  distributed
 * under the License is distributed  on  an  "AS IS"  BASIS,  WITHOUT  WARRANTIES  OR
 * CONDITIONS OF ANY KIND, either  express  or  implied.  See  the  License  for  the
 * specific language governing permissions and limitations under the License.
 ************************************************************************************
 */
package org.encuestame.core.test.config;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;

import junit.framework.TestCase;

import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.XMLConfiguration;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;

/**
 * Test for {@link org.encuestame.config.startup.XMLConfigurationFileSupport}.
 *
 * @author Picado, Juan juanATencuestame.org
 * @since Sep 4, 2011
 */
public class XmlConfigurationText extends TestCase {

    /**
     * @throws ConfigurationException
     *
     */
    @Test
    public void testXmlFile() {
        // final ConfigurationManager configurationManager = new
        // ConfigurationManager("encuestame-config.xml");
        // System.out.println(configurationManager.getIntProperty("encuestame.database.version"));
        XMLConfiguration xmlConfiguration = null;
        try {
            Resource res = new ClassPathResource("properties-test/encuestame-test-config.xml");
            // System.out.println(res.getFilename());
            // System.out.println(res.getFile().getAbsolutePath());
            xmlConfiguration = new XMLConfiguration(res.getFile());
            // System.out.println(xmlConfiguration.getString("encuestame.database.version"));
            // System.out.println(xmlConfiguration.getString("database.version"));
            xmlConfiguration.setAutoSave(true);
            xmlConfiguration.addProperty("juan", "juan");

            // System.out.println(xmlConfiguration.getString("administration"));
            // System.out.println(xmlConfiguration.getString("version"));

            // System.out.println(xmlConfiguration.getRootElementName());
            // System.out.println(xmlConfiguration.getKeys());
            final Iterator i = xmlConfiguration.getKeys();
            while (i.hasNext()) {
                Object object = (Object) i.next();
                //System.out.println(object);
            }

            // System.out.println(xmlConfiguration.getList("social-networks.social-network.social-network-name"));
            // System.out.println(xmlConfiguration.getList("social-networks.social-network.social-network-name").size());
            // System.out.println(xmlConfiguration.getList("social-networks"));
            // System.out.println(xmlConfiguration.getList("social-networks").size());

            List fields = xmlConfiguration.configurationsAt("tables.table(0).fields.field");
            for (Iterator it = fields.iterator(); it.hasNext();) {
                HierarchicalConfiguration sub = (HierarchicalConfiguration) it.next();
                // sub contains all data about a single field
                String fieldName = sub.getString("name");
                String fieldType = sub.getString("type");
            }

        } catch (ConfigurationException e) {

            e.printStackTrace();
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            //e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }
}