public class AExperimenterSQLHandle extends java.lang.Object implements IExperimentDatabaseHandle, ai.libs.jaicore.basic.ILoggingCustomizable
| Constructor and Description |
|---|
AExperimenterSQLHandle(ai.libs.jaicore.basic.IDatabaseConfig config) |
AExperimenterSQLHandle(ai.libs.jaicore.basic.SQLAdapter adapter,
java.lang.String tablename) |
| Modifier and Type | Method and Description |
|---|---|
ExperimentDBEntry |
createAndGetExperiment(Experiment experiment)
Creates a new experiment entry and returns it.
|
ExperimentDBEntry |
createAndGetExperiment(java.util.Map<java.lang.String,java.lang.String> values) |
java.util.List<ExperimentDBEntry> |
createAndGetExperiments(java.util.List<Experiment> experiments)
Creates a new experiment entry and returns it.
|
void |
deleteDatabase()
Deletes everything known to the experiment database.
|
void |
deleteExperiment(ExperimentDBEntry exp)
Deletes an experiment from the database
|
void |
finishExperiment(ExperimentDBEntry expEntry)
Signals that an experiment has been finished successfully.
|
void |
finishExperiment(ExperimentDBEntry expEntry,
java.lang.Throwable error)
Signals that an experiment has failed with an exception.
|
java.util.List<ExperimentDBEntry> |
getAllExperiments()
Returns a list of all experiments contained in the database
|
java.util.List<ExperimentDBEntry> |
getConductedExperiments()
Returns a list of all experiments contained in the database marked as being conducted.
|
java.util.Collection<java.lang.String> |
getConsideredValuesForKey(java.lang.String key) |
ExperimentDBEntry |
getExperimentWithId(int id)
Gets the experiment with the given id.
|
java.lang.String |
getLoggerName() |
int |
getNumberOfAllExperiments()
Returns a list of all experiments contained in the database
|
java.util.List<ExperimentDBEntry> |
getOpenExperiments()
Returns a list of all experiments contained in the database that have not been started yet.
|
java.util.List<ExperimentDBEntry> |
getRandomOpenExperiments(int limit)
Returns a list of all experiments contained in the database that have not been started yet.
|
java.util.List<ExperimentDBEntry> |
getRunningExperiments()
Returns a list of all experiments that are currently being conducted.
|
void |
setLoggerName(java.lang.String name) |
void |
setup(IExperimentSetConfig config)
Prepares everything so that upcoming calls for create and update will be managed according to the specified configuration.
|
void |
startExperiment(ExperimentDBEntry exp)
Updates non-keyfield values of the experiment.
|
void |
updateExperiment(ExperimentDBEntry exp,
java.util.Map<java.lang.String,? extends java.lang.Object> values)
Updates non-keyfield values of the experiment.
|
boolean |
updateExperimentConditionally(ExperimentDBEntry exp,
java.util.Map<java.lang.String,java.lang.String> conditions,
java.util.Map<java.lang.String,? extends java.lang.Object> values) |
public AExperimenterSQLHandle(ai.libs.jaicore.basic.SQLAdapter adapter,
java.lang.String tablename)
public AExperimenterSQLHandle(ai.libs.jaicore.basic.IDatabaseConfig config)
public void setup(IExperimentSetConfig config) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlesetup in interface IExperimentDatabaseHandleconfig - Description of the experiment setupExperimentDBInteractionFailedExceptionpublic java.util.Collection<java.lang.String> getConsideredValuesForKey(java.lang.String key)
throws ExperimentDBInteractionFailedException
getConsideredValuesForKey in interface IExperimentDatabaseHandlekey - The key attributeExperimentDBInteractionFailedExceptionpublic int getNumberOfAllExperiments()
throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetNumberOfAllExperiments in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic java.util.List<ExperimentDBEntry> getAllExperiments() throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetAllExperiments in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic java.util.List<ExperimentDBEntry> getOpenExperiments() throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetOpenExperiments in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic java.util.List<ExperimentDBEntry> getRandomOpenExperiments(int limit) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetRandomOpenExperiments in interface IExperimentDatabaseHandlelimit - Maximum number of open experiments that should be returnedExperimentDBInteractionFailedExceptionpublic java.util.List<ExperimentDBEntry> getRunningExperiments() throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetRunningExperiments in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic java.util.List<ExperimentDBEntry> getConductedExperiments() throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetConductedExperiments in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic ExperimentDBEntry createAndGetExperiment(java.util.Map<java.lang.String,java.lang.String> values) throws ExperimentDBInteractionFailedException, ExperimentAlreadyExistsInDatabaseException
public ExperimentDBEntry createAndGetExperiment(Experiment experiment) throws ExperimentDBInteractionFailedException, ExperimentAlreadyExistsInDatabaseException
IExperimentDatabaseHandlecreateAndGetExperiment in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionExperimentAlreadyExistsInDatabaseExceptionpublic java.util.List<ExperimentDBEntry> createAndGetExperiments(java.util.List<Experiment> experiments) throws ExperimentDBInteractionFailedException, ExperimentAlreadyExistsInDatabaseException
IExperimentDatabaseHandlecreateAndGetExperiments in interface IExperimentDatabaseHandleexperiments - the experiments to be createdExperimentDBInteractionFailedExceptionExperimentAlreadyExistsInDatabaseExceptionpublic void updateExperiment(ExperimentDBEntry exp, java.util.Map<java.lang.String,? extends java.lang.Object> values) throws ExperimentUpdateFailedException
IExperimentDatabaseHandleupdateExperiment in interface IExperimentDatabaseHandleexp - The experiment entry in the databasevalues - A key-value store where keys are names of result fields. The values will be associated to each key in the database.ExperimentUpdateFailedExceptionpublic boolean updateExperimentConditionally(ExperimentDBEntry exp, java.util.Map<java.lang.String,java.lang.String> conditions, java.util.Map<java.lang.String,? extends java.lang.Object> values) throws ExperimentUpdateFailedException
updateExperimentConditionally in interface IExperimentDatabaseHandleExperimentUpdateFailedExceptionpublic void finishExperiment(ExperimentDBEntry expEntry, java.lang.Throwable error) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlefinishExperiment in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic void finishExperiment(ExperimentDBEntry expEntry) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlefinishExperiment in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic void deleteExperiment(ExperimentDBEntry exp) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandledeleteExperiment in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic void deleteDatabase()
throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandledeleteDatabase in interface IExperimentDatabaseHandleExperimentDBInteractionFailedExceptionpublic void startExperiment(ExperimentDBEntry exp) throws ExperimentUpdateFailedException, ExperimentAlreadyStartedException
IExperimentDatabaseHandlestartExperiment in interface IExperimentDatabaseHandleexp - The experiment that is started on the current machineExperimentUpdateFailedExceptionExperimentAlreadyStartedExceptionpublic java.lang.String getLoggerName()
getLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizablepublic void setLoggerName(java.lang.String name)
setLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizablepublic ExperimentDBEntry getExperimentWithId(int id) throws ExperimentDBInteractionFailedException
IExperimentDatabaseHandlegetExperimentWithId in interface IExperimentDatabaseHandleExperimentDBInteractionFailedException