// Path: src/main/java/org/graylog/collector/inputs/InputService.java
// public abstract class InputService extends AbstractService implements Input {
// }


import com.google.inject.assistedinject.Assisted;
import com.typesafe.config.Config;
import org.graylog.collector.config.ConfigurationUtils;
import org.graylog.collector.config.constraints.IsOneOf;
import org.graylog.collector.inputs.InputConfiguration;
import org.graylog.collector.inputs.InputService;
import org.hibernate.validator.constraints.NotBlank;
import javax.inject.Inject;
import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
        }
        if (config.hasPath("sql")) {
            this.sql = config.getString("sql");
        }
        if (config.hasPath("key-type")) {
            this.keytype = config.getString("key-type");
        }
        if (config.hasPath("id-field")) {
            this.idfield = config.getString("id-field");
        }
        if (config.hasPath("db-driver-path")) {
            this.dbDriverPath = config.getString("db-driver-path");
        }
        if (config.hasPath("init-sql")) {
            this.initSql = config.getString("init-sql");
        }
        if (config.hasPath("db-user")) {
            this.dbUser = config.getString("db-user");
        }
        if (config.hasPath("db-password")) {
            this.dbPassword = config.getString("db-password");
        }
        if (config.hasPath("db-sync-time")) {
            this.dbSyncTime = config.getInt("db-sync-time");
        } else {
            this.dbSyncTime = 1;
        }
    }

    @Override
// Path: src/main/java/org/graylog/collector/inputs/InputService.java
// public abstract class InputService extends AbstractService implements Input {
// }


// Path: src/main/java/org/graylog/collector/inputs/db/DatabaseInputConfiguration.java
import com.google.inject.assistedinject.Assisted;
import com.typesafe.config.Config;
import org.graylog.collector.config.ConfigurationUtils;
import org.graylog.collector.config.constraints.IsOneOf;
import org.graylog.collector.inputs.InputConfiguration;
import org.graylog.collector.inputs.InputService;
import org.hibernate.validator.constraints.NotBlank;
import javax.inject.Inject;
import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

        }
        if (config.hasPath("sql")) {
            this.sql = config.getString("sql");
        }
        if (config.hasPath("key-type")) {
            this.keytype = config.getString("key-type");
        }
        if (config.hasPath("id-field")) {
            this.idfield = config.getString("id-field");
        }
        if (config.hasPath("db-driver-path")) {
            this.dbDriverPath = config.getString("db-driver-path");
        }
        if (config.hasPath("init-sql")) {
            this.initSql = config.getString("init-sql");
        }
        if (config.hasPath("db-user")) {
            this.dbUser = config.getString("db-user");
        }
        if (config.hasPath("db-password")) {
            this.dbPassword = config.getString("db-password");
        }
        if (config.hasPath("db-sync-time")) {
            this.dbSyncTime = config.getInt("db-sync-time");
        } else {
            this.dbSyncTime = 1;
        }
    }

    @Override
    public InputService createInput() {