Sha256: 109ddc6b2627d5df5c29b618c7eb9c7ca407bebd311126f97fde846ad40fab0b

Contents?: true

Size: 1.67 KB

Versions: 1

Compression:

Stored size: 1.67 KB

Contents

package org.embulk.input.hdfs;

import org.apache.hadoop.conf.Configuration;
import org.embulk.config.Config;
import org.embulk.config.ConfigDefault;
import org.embulk.config.ConfigException;
import org.embulk.spi.Exec;
import org.slf4j.Logger;

import java.io.File;
import java.net.MalformedURLException;
import java.util.List;
import java.util.Map;

public class ConfigurationFactory
{
    public static final Logger logger = Exec.getLogger(ConfigurationFactory.class);

    interface Task
    {
        @Config("config_files")
        @ConfigDefault("[]")
        List<String> getConfigFiles();

        @Config("config")
        @ConfigDefault("{}")
        Map<String, String> getConfig();
    }

    private ConfigurationFactory()
    {
    }

    public static Configuration create(Task task)
    {
        Configuration c = new Configuration();
        for (String f : task.getConfigFiles()) {
            try {
                logger.trace("embulk-input-hdfs: load a config file: {}", f);
                c.addResource(new File(f).toURI().toURL());
            }
            catch (MalformedURLException e) {
                throw new ConfigException(e);
            }
        }

        for (Map.Entry<String, String> entry : task.getConfig().entrySet()) {
            logger.trace("embulk-input-hdfs: load a config: {}:{}", entry.getKey(), entry.getValue());
            c.set(entry.getKey(), entry.getValue());
        }

        // For logging
        for (Map.Entry<String, String> entry : c) {
            logger.trace("embulk-input-hdfs: loaded: {}: {}", entry.getKey(), entry.getValue());
        }
        logger.trace("embulk-input-hdfs: loaded files: {}", c);

        return c;
    }
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
embulk-input-hdfs-0.3.2 src/main/java/org/embulk/input/hdfs/ConfigurationFactory.java