public interface ExperimentRepository
Modifier and Type | Method and Description |
---|---|
void |
createApplication(Application.Name applicationName)
Create an application at top level
|
void |
createBucket(Bucket newBucket)
Create a new bucket for the specified experiment
|
Experiment.ID |
createExperiment(NewExperiment newExperiment)
Create the new experiment.
|
void |
createIndicesForNewExperiment(NewExperiment newExperiment)
This is an cassandra specific method, that has to be used to update the Indices for a new Experiment.
|
void |
deleteBucket(Experiment.ID experimentID,
Bucket.Label bucketLabel)
Delete a bucket
|
void |
deleteExperiment(NewExperiment newExperiment) |
List<Application.Name> |
getApplicationsList() |
AssignmentCounts |
getAssignmentCounts(Experiment.ID experimentID,
Context context)
Get the summary of assignments delivered for each experiment
|
Bucket |
getBucket(Experiment.ID experimentID,
Bucket.Label bucketLabel)
Retrieve the specified bucket from the repository
|
Map<Experiment.ID,BucketList> |
getBucketList(Collection<Experiment.ID> experimentIDCollection)
Get a bucket list for a list of Experiments in a single cassandra call
|
BucketList |
getBucketList(Experiment.ID experimentID)
Get the list of buckets for an experiment
|
BucketList |
getBuckets(Experiment.ID experimentID)
Return a list of bucket IDs for the specified experiment
|
Experiment |
getExperiment(Application.Name appName,
Experiment.Label experimentLabel)
Retrieve the specified experiment from the repository using its label
|
Experiment |
getExperiment(Experiment.ID experimentID)
Retrieve the specified experiment from the repository
|
com.google.common.collect.Table<Experiment.ID,Experiment.Label,Experiment> |
getExperimentList(Application.Name appName)
Get the experiments for an Application
|
com.netflix.astyanax.model.Rows<Experiment.ID,String> |
getExperimentRows(Application.Name appName)
Get experiment rows
|
List<Experiment.ID> |
getExperiments()
Get all non-deleted/archived experiment IDs
|
List<Experiment> |
getExperiments(Application.Name appName)
Retrieve the list of experiments that belong to application appName
|
ExperimentList |
getExperiments(Collection<Experiment.ID> experimentIDs)
Retrieve the experiments or the specified IDs
|
void |
logBucketChanges(Experiment.ID experimentID,
Bucket.Label bucketLabel,
List<Bucket.BucketAuditInfo> changeList)
Log changes made to the bucket metadata
|
void |
logExperimentChanges(Experiment.ID experimentID,
List<Experiment.ExperimentAuditInfo> changeList)
Log changes made to the experiment metadata
|
Bucket |
updateBucket(Bucket bucket)
Update a bucket
|
Bucket |
updateBucketAllocationPercentage(Bucket bucket,
Double desiredAllocationPercentage)
Update bucket allocation percentage
|
BucketList |
updateBucketBatch(Experiment.ID experimentID,
BucketList bucketList)
Update bucket batch
|
Bucket |
updateBucketState(Bucket bucket,
Bucket.State desiredState)
update bucket state
|
Experiment |
updateExperiment(Experiment experiment)
Update the experiment
|
Experiment |
updateExperimentState(Experiment experiment,
Experiment.State state)
Update the experiment state
|
void |
updateStateIndex(com.netflix.astyanax.MutationBatch batch,
Experiment experiment)
Update state index
|
Experiment getExperiment(Experiment.ID experimentID)
experimentID
- ID of the experienceExperiment getExperiment(Application.Name appName, Experiment.Label experimentLabel)
appName
- name of the applicationexperimentLabel
- lable of the experimentExperiment.ID createExperiment(NewExperiment newExperiment)
newExperiment
- experiment to createExperiment updateExperiment(Experiment experiment)
experiment
- current experimentExperiment updateExperimentState(Experiment experiment, Experiment.State state)
experiment
- current experimentstate
- new stateList<Experiment.ID> getExperiments()
ExperimentList getExperiments(Collection<Experiment.ID> experimentIDs)
experimentIDs
- list of experiment idscom.google.common.collect.Table<Experiment.ID,Experiment.Label,Experiment> getExperimentList(Application.Name appName)
appName
- application nameList<Application.Name> getApplicationsList()
Bucket getBucket(Experiment.ID experimentID, Bucket.Label bucketLabel)
experimentID
- The unique experiment IDbucketLabel
- The unique bucket label within the experimentBucketList getBuckets(Experiment.ID experimentID)
experimentID
- id of the experimentvoid createBucket(Bucket newBucket)
newBucket
- bucket to createBucket updateBucket(Bucket bucket)
bucket
- bucket to updateBucket updateBucketAllocationPercentage(Bucket bucket, Double desiredAllocationPercentage)
bucket
- bucket to updatedesiredAllocationPercentage
- allocation informationBucket updateBucketState(Bucket bucket, Bucket.State desiredState)
bucket
- bucket to updatedesiredState
- new stateBucketList updateBucketBatch(Experiment.ID experimentID, BucketList bucketList)
experimentID
- experiment idbucketList
- list of bucketsvoid deleteBucket(Experiment.ID experimentID, Bucket.Label bucketLabel)
experimentID
- experiment idbucketLabel
- label for bucketvoid logBucketChanges(Experiment.ID experimentID, Bucket.Label bucketLabel, List<Bucket.BucketAuditInfo> changeList)
experimentID
- experiment idbucketLabel
- label for bucketchangeList
- list of bucket audit infovoid logExperimentChanges(Experiment.ID experimentID, List<Experiment.ExperimentAuditInfo> changeList)
experimentID
- experiment idchangeList
- list of bucket audit infoList<Experiment> getExperiments(Application.Name appName)
appName
- application namevoid deleteExperiment(NewExperiment newExperiment)
void createIndicesForNewExperiment(NewExperiment newExperiment)
newExperiment
- new experimentAssignmentCounts getAssignmentCounts(Experiment.ID experimentID, Context context)
experimentID
- experiment idcontext
- current contextMap<Experiment.ID,BucketList> getBucketList(Collection<Experiment.ID> experimentIDCollection)
experimentIDCollection
- collection of experiment idsBucketList getBucketList(Experiment.ID experimentID)
experimentID
- experiment idvoid updateStateIndex(com.netflix.astyanax.MutationBatch batch, Experiment experiment) throws com.netflix.astyanax.connectionpool.exceptions.ConnectionException
batch
- MutationBatch objectexperiment
- Experiment Objectcom.netflix.astyanax.connectionpool.exceptions.ConnectionException
- exceptioncom.netflix.astyanax.model.Rows<Experiment.ID,String> getExperimentRows(Application.Name appName)
appName
- Application namevoid createApplication(Application.Name applicationName)
applicationName
- Application nameCopyright © 2016. All rights reserved.