// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/SolrConfiguration.java
// public class SolrConfiguration {
// 
// 	@Valid @NotNull
// 	private String baseUrl;
// 
// 	@Valid @NotNull
// 	private String queryHandler;
// 
// 	private Map<String, String> facetLabels;
// 
// 	private Map<String, Map<String, String>> facetQueryFields;
// 
// 	@JsonProperty("terms")
// 	private TermsConfiguration termsConfiguration;
// 
// 	/**
// 	 * @return the baseUrl
// 	 */
// 	public String getBaseUrl() {
// 		return baseUrl;
// 	}
// 
// 	/**
// 	 * @return the default query handler to use.
// 	 */
// 	public String getQueryHandler() {
// 		return queryHandler;
// 	}
// 
// 	public Map<String, String> getFacetLabels() {
// 		return facetLabels;
// 	}
// 
// 	public Map<String, Map<String, String>> getFacetQueryFields() {
// 		return facetQueryFields;
// 	}
// 
// 	public TermsConfiguration getTermsConfiguration() {
// 		return termsConfiguration;
// 	}
// 
// }
// 
// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/StanfordConfiguration.java
// public class StanfordConfiguration {
// 
// 	private static final String NER_CLASSIFIER_PROPERTY = "loadClassifier";
// 
// 	private Map<String, String> entityProperties;
// 
// 	private Map<String, String> sentimentProperties;
// 
// 	/**
// 	 * @return the properties to set for NER.
// 	 */
// 	public Map<String, String> getEntityProperties() {
// 		return entityProperties;
// 	}
// 
// 	/**
// 	 * @return the sentimentProperties
// 	 */
// 	public Map<String, String> getSentimentProperties() {
// 		return sentimentProperties;
// 	}
// 
// 	/**
// 	 * Get the entity properties map as a Java Properties object.
// 	 * @return a Java Properties object containing the properties.
// 	 */
// 	public Properties getJavaEntityProperties() {
// 		Properties props = new Properties();
// 
// 		for (String key : entityProperties.keySet()) {
// 			props.put(key, entityProperties.get(key));
// 		}
// 
// 		return props;
// 	}
// 
// 	/**
// 	 * @return the path to the classifier file.
// 	 */
// 	public String getClassifierFile() {
// 		return entityProperties.get(NER_CLASSIFIER_PROPERTY);
// 	}
// 
// 	/**
// 	 * Get the sentiment properties map as a Java Properties object.
// 	 * @return the sentiment properties.
// 	 */
// 	public Properties getJavaSentimentProperties() {
// 		Properties props = new Properties();
// 
// 		for (String key : sentimentProperties.keySet()) {
// 			props.put(key, sentimentProperties.get(key));
// 		}
// 
// 		return props;
// 	}
// 
// }
// 
// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/TwitterConfiguration.java
// public class TwitterConfiguration {
// 
//     private String authConfigFile;
// 
//     private int deletionBatchSize = 50;
// 
//     private int statusBatchSize = 100;
// 
//     private boolean enabled;
// 
//     private List<TwitterListConfiguration> lists;
// 
//     private int updateCheckHours;
// 
//     @NotNull
//     private String dataDirectory;
// 
//     public boolean isEnabled() {
//         return enabled;
//     }
// 
//     public String getAuthConfigFile() {
//         return authConfigFile;
//     }
// 
//     public int getDeletionBatchSize() {
//         return deletionBatchSize;
//     }
// 
//     public int getStatusBatchSize() {
//         return statusBatchSize;
//     }
// 
//     public List<TwitterListConfiguration> getLists() {
//         return lists;
//     }
// 
//     public int getUpdateCheckHours() {
//         return updateCheckHours;
//     }
// 
// 	/**
// 	 * @return the dataDirectory
// 	 */
// 	public String getDataDirectory() {
// 		return dataDirectory;
// 	}
// 
// }


import io.dropwizard.Configuration;
import uk.co.flax.ukmp.config.SolrConfiguration;
import uk.co.flax.ukmp.config.StanfordConfiguration;
import uk.co.flax.ukmp.config.TwitterConfiguration;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
 * Copyright (c) 2013 Lemur Consulting Ltd.
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * 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 uk.co.flax.ukmp;



/**
 * Configuration details for the UKMP application/indexer.
 */
public class UKMPConfiguration extends Configuration {

	@JsonProperty("solr")
	private SolrConfiguration solrConfiguration;
	@JsonProperty("stanford")
	private StanfordConfiguration stanfordConfiguration;
	@JsonProperty("twitter")
	private TwitterConfiguration twitterConfiguration;

	/**
	 * @return the Solr configuration details.
	 */
	public SolrConfiguration getSolrConfiguration() {
		return solrConfiguration;
	}

	/**
	 * @return the Stanford configuration details.
	 */
	public StanfordConfiguration getStanfordConfiguration() {
		return stanfordConfiguration;
	}

	/**
	 * @return the Twitter configuration details.
	 */
// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/SolrConfiguration.java
// public class SolrConfiguration {
// 
// 	@Valid @NotNull
// 	private String baseUrl;
// 
// 	@Valid @NotNull
// 	private String queryHandler;
// 
// 	private Map<String, String> facetLabels;
// 
// 	private Map<String, Map<String, String>> facetQueryFields;
// 
// 	@JsonProperty("terms")
// 	private TermsConfiguration termsConfiguration;
// 
// 	/**
// 	 * @return the baseUrl
// 	 */
// 	public String getBaseUrl() {
// 		return baseUrl;
// 	}
// 
// 	/**
// 	 * @return the default query handler to use.
// 	 */
// 	public String getQueryHandler() {
// 		return queryHandler;
// 	}
// 
// 	public Map<String, String> getFacetLabels() {
// 		return facetLabels;
// 	}
// 
// 	public Map<String, Map<String, String>> getFacetQueryFields() {
// 		return facetQueryFields;
// 	}
// 
// 	public TermsConfiguration getTermsConfiguration() {
// 		return termsConfiguration;
// 	}
// 
// }
// 
// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/StanfordConfiguration.java
// public class StanfordConfiguration {
// 
// 	private static final String NER_CLASSIFIER_PROPERTY = "loadClassifier";
// 
// 	private Map<String, String> entityProperties;
// 
// 	private Map<String, String> sentimentProperties;
// 
// 	/**
// 	 * @return the properties to set for NER.
// 	 */
// 	public Map<String, String> getEntityProperties() {
// 		return entityProperties;
// 	}
// 
// 	/**
// 	 * @return the sentimentProperties
// 	 */
// 	public Map<String, String> getSentimentProperties() {
// 		return sentimentProperties;
// 	}
// 
// 	/**
// 	 * Get the entity properties map as a Java Properties object.
// 	 * @return a Java Properties object containing the properties.
// 	 */
// 	public Properties getJavaEntityProperties() {
// 		Properties props = new Properties();
// 
// 		for (String key : entityProperties.keySet()) {
// 			props.put(key, entityProperties.get(key));
// 		}
// 
// 		return props;
// 	}
// 
// 	/**
// 	 * @return the path to the classifier file.
// 	 */
// 	public String getClassifierFile() {
// 		return entityProperties.get(NER_CLASSIFIER_PROPERTY);
// 	}
// 
// 	/**
// 	 * Get the sentiment properties map as a Java Properties object.
// 	 * @return the sentiment properties.
// 	 */
// 	public Properties getJavaSentimentProperties() {
// 		Properties props = new Properties();
// 
// 		for (String key : sentimentProperties.keySet()) {
// 			props.put(key, sentimentProperties.get(key));
// 		}
// 
// 		return props;
// 	}
// 
// }
// 
// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/config/TwitterConfiguration.java
// public class TwitterConfiguration {
// 
//     private String authConfigFile;
// 
//     private int deletionBatchSize = 50;
// 
//     private int statusBatchSize = 100;
// 
//     private boolean enabled;
// 
//     private List<TwitterListConfiguration> lists;
// 
//     private int updateCheckHours;
// 
//     @NotNull
//     private String dataDirectory;
// 
//     public boolean isEnabled() {
//         return enabled;
//     }
// 
//     public String getAuthConfigFile() {
//         return authConfigFile;
//     }
// 
//     public int getDeletionBatchSize() {
//         return deletionBatchSize;
//     }
// 
//     public int getStatusBatchSize() {
//         return statusBatchSize;
//     }
// 
//     public List<TwitterListConfiguration> getLists() {
//         return lists;
//     }
// 
//     public int getUpdateCheckHours() {
//         return updateCheckHours;
//     }
// 
// 	/**
// 	 * @return the dataDirectory
// 	 */
// 	public String getDataDirectory() {
// 		return dataDirectory;
// 	}
// 
// }


// Path: ukmp/java/webapp/src/main/java/uk/co/flax/ukmp/UKMPConfiguration.java
import io.dropwizard.Configuration;
import uk.co.flax.ukmp.config.SolrConfiguration;
import uk.co.flax.ukmp.config.StanfordConfiguration;
import uk.co.flax.ukmp.config.TwitterConfiguration;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * Copyright (c) 2013 Lemur Consulting Ltd.
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * 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 uk.co.flax.ukmp;



/**
 * Configuration details for the UKMP application/indexer.
 */
public class UKMPConfiguration extends Configuration {

	@JsonProperty("solr")
	private SolrConfiguration solrConfiguration;
	@JsonProperty("stanford")
	private StanfordConfiguration stanfordConfiguration;
	@JsonProperty("twitter")
	private TwitterConfiguration twitterConfiguration;

	/**
	 * @return the Solr configuration details.
	 */
	public SolrConfiguration getSolrConfiguration() {
		return solrConfiguration;
	}

	/**
	 * @return the Stanford configuration details.
	 */
	public StanfordConfiguration getStanfordConfiguration() {
		return stanfordConfiguration;
	}

	/**
	 * @return the Twitter configuration details.
	 */
	public TwitterConfiguration getTwitterConfiguration() {