package edu.umd.rhsmith.diads.meater.modules.tweater.queries.legacy; import edu.umd.rhsmith.diads.meater.core.app.MEaterConfigurationException; import edu.umd.rhsmith.diads.meater.core.app.components.Component; import edu.umd.rhsmith.diads.meater.core.config.props.StringProperty; public class MySqlQuerySourceConfig extends QuerySourceConfig implements MySqlQuerySourceInitializer { public static final String TNAME = "MySqlQuerySource-legacy"; public static final String TDESC = "A (legacy) component which builds query-sets by periodically querying a MySQL database." + "\nNote that this component type requires a legacy TwEater database to function (see TwEater module help)."; public MySqlQuerySourceConfig() { super(); this.registerConfigProperty(dbName); this.registerConfigProperty(queryGroups); } @Override public Component instantiateComponent() throws MEaterConfigurationException { return new MySqlQuerySource(this); } /* * -------------------------------- * Config properties * -------------------------------- */ private static final String CKEY_DBNAME = "dbName"; private static final String DEFAULT_DBNAME = ""; private static final String UINAME_DBNAME = "database name"; private static final String UIDESC_DBNAME = ""; private final StringProperty dbName = new StringProperty(CKEY_DBNAME, DEFAULT_DBNAME, UINAME_DBNAME, UIDESC_DBNAME); private static final String CKEY_QUERYGROUPS = "queryGroups"; private static final String DEFAULT_QUERYGROUPS = ""; private static final String UINAME_QUERYGROUPS = "query groups"; private static final String UIDESC_QUERYGROUPS = "Subset of query group numbers to include in query; leave blank for all"; private final StringProperty queryGroups = new StringProperty( CKEY_QUERYGROUPS, DEFAULT_QUERYGROUPS, UINAME_QUERYGROUPS, UIDESC_QUERYGROUPS); @Override public String getDbName() { return this.dbName.getVal(); } @Override public String getQueryGroups() { return this.queryGroups.getVal(); } /* * -------------------------------- * UI * -------------------------------- */ @Override public String getUiDescription() { return TDESC; } /* * -------------------------------- * Config operations * -------------------------------- */ }