// Path: src/main/java/io/dashbase/clue/ClueAppConfiguration.java
// public class ClueAppConfiguration  {
//     public QueryBuilder queryBuilder = new DefaultQueryBuilder();
//     public DirectoryBuilder dirBuilder = new DefaultDirectoryBuilder();
//     public IndexReaderFactory indexReaderFactory = new DefaultIndexReaderFactory();
//     public AnalyzerFactory analyzerFactory = new DefaultAnalyzerFactory();
//     public CommandRegistrar commandRegistrar = new DefaultCommandRegistrar();
// 
//     private static final String CLUE_CONF_FILE = "clue.yml";
//     private static final ObjectMapper MAPPER = new ObjectMapper(new YAMLFactory());
// 
//     public static ClueAppConfiguration load() throws IOException {
//         String confDirPath = System.getProperty("config.dir");
//         if (confDirPath == null) {
//             confDirPath = "config";
//         }
//         File confFile = new File(confDirPath, CLUE_CONF_FILE);
//         if (confFile.exists() && confFile.isFile()) {
// 
//             System.out.println("using configuration file found at: " + confFile.getAbsolutePath());
//             try (FileReader freader = new FileReader(confFile)) {
//                 return MAPPER.readValue(freader, ClueAppConfiguration.class);
//             }
//         } else {
//             // use default
//             System.out.println("no configuration found, using default configuration");
//             return new ClueAppConfiguration();
//         }
//     }
// }


import io.dashbase.clue.ClueAppConfiguration;
import io.dropwizard.Configuration;
import javax.validation.constraints.NotNull;
package io.dashbase.clue.server;



public class ClueWebConfiguration extends Configuration {
    @NotNull
    public String dir = null;
// Path: src/main/java/io/dashbase/clue/ClueAppConfiguration.java
// public class ClueAppConfiguration  {
//     public QueryBuilder queryBuilder = new DefaultQueryBuilder();
//     public DirectoryBuilder dirBuilder = new DefaultDirectoryBuilder();
//     public IndexReaderFactory indexReaderFactory = new DefaultIndexReaderFactory();
//     public AnalyzerFactory analyzerFactory = new DefaultAnalyzerFactory();
//     public CommandRegistrar commandRegistrar = new DefaultCommandRegistrar();
// 
//     private static final String CLUE_CONF_FILE = "clue.yml";
//     private static final ObjectMapper MAPPER = new ObjectMapper(new YAMLFactory());
// 
//     public static ClueAppConfiguration load() throws IOException {
//         String confDirPath = System.getProperty("config.dir");
//         if (confDirPath == null) {
//             confDirPath = "config";
//         }
//         File confFile = new File(confDirPath, CLUE_CONF_FILE);
//         if (confFile.exists() && confFile.isFile()) {
// 
//             System.out.println("using configuration file found at: " + confFile.getAbsolutePath());
//             try (FileReader freader = new FileReader(confFile)) {
//                 return MAPPER.readValue(freader, ClueAppConfiguration.class);
//             }
//         } else {
//             // use default
//             System.out.println("no configuration found, using default configuration");
//             return new ClueAppConfiguration();
//         }
//     }
// }


// Path: src/main/java/io/dashbase/clue/server/ClueWebConfiguration.java
import io.dashbase.clue.ClueAppConfiguration;
import io.dropwizard.Configuration;
import javax.validation.constraints.NotNull;

package io.dashbase.clue.server;



public class ClueWebConfiguration extends Configuration {
    @NotNull
    public String dir = null;
    public ClueAppConfiguration clue = new ClueAppConfiguration();