public void validateNewExperiment(NewExperiment newExperiment) { validateLabel(newExperiment.getLabel()); validateExperimentStartEnd(newExperiment.getStartTime(), newExperiment.getEndTime()); validateSamplingPercent(newExperiment.getSamplingPercent()); validateExperimentRule(newExperiment.getRule()); validateModelNameNotNullForPersonalizedExperiments(newExperiment.getIsPersonalizationEnabled(), newExperiment.getModelName()); validateDescriptionNotEmpty(newExperiment.getDescription()); }
newExperiment.getId().getRawID(), (newExperiment.getDescription() != null) ? newExperiment.getDescription() : "", (newExperiment.getHypothesisIsCorrect() != null) ? newExperiment.getHypothesisIsCorrect() : "", (newExperiment.getResults() != null) ? newExperiment.getResults() : "", (newExperiment.getRule() != null) ? newExperiment.getRule() : "", newExperiment.getSamplingPercent(), newExperiment.getStartTime(), newExperiment.getEndTime(), DRAFT.name(), newExperiment.getLabel().toString(), newExperiment.getApplicationName().toString(), NOW, NOW, newExperiment.getIsPersonalizationEnabled(), newExperiment.getModelName(), newExperiment.getModelVersion(), newExperiment.getIsRapidExperiment(), newExperiment.getUserCap(), (newExperiment.getCreatorID() != null) ? newExperiment.getCreatorID() : "", newExperiment.getTags(), newExperiment.getSourceURL(), newExperiment.getExperimentType())); batchStmt.add(applicationListAccessor.insert(newExperiment.getApplicationName().toString())); batchStmt.add(updateExperimentTags(newExperiment.getApplicationName(), newExperiment.getId(), newExperiment.getTags())); batchStmt.add(prioritiesAccessor.appendToPriorities(newArrayList(newExperiment.getId().getRawID()), newExperiment.getApplicationName().toString()));
newExperiment.getID(), newExperiment.getDescription() != null ? newExperiment.getDescription() : "", newExperiment.getSamplingPercent(), newExperiment.getLabel().toString(), newExperiment.getStartTime(), newExperiment.getEndTime(), newExperiment.getApplicationName().toString(), State.DRAFT.toString()); return newExperiment.getID(); } catch (WasabiException e) { throw e; throw new RepositoryException( "Could not persist experiment in database \"" + newExperiment.toString() + "\"", e);
/** * {@inheritDoc} */ // TODO - Why is this method is on the interface - if the client does not call it, the indices will be inconsistent ? @Override public void createIndicesForNewExperiment(NewExperiment newExperiment) { // Point the experiment index to this experiment LOGGER.debug("Create indices for new experiment Experiment {}", newExperiment); updateExperimentLabelIndex(newExperiment.getID(), newExperiment.getApplicationName(), newExperiment.getLabel(), newExperiment.getStartTime(), newExperiment.getEndTime(), State.DRAFT); try { updateStateIndex(newExperiment.getID(), ExperimentState.NOT_DELETED); } catch (Exception e) { LOGGER.error("Create indices for new experiment Experiment {} failed", newExperiment, e); // remove the created ExperimentLabelIndex removeExperimentLabelIndex(newExperiment.getApplicationName(), newExperiment.getLabel()); throw new RepositoryException("Could not update indices for experiment \"" + newExperiment + "\"", e); } }
final String authorizationHeader) { try { if (newExperiment.getApplicationName() == null || isBlank(newExperiment.getApplicationName().toString())) { throw new IllegalArgumentException("Experiment application name cannot be null or an empty string"); authorization.checkUserPermissions(userName, newExperiment.getApplicationName(), CREATE); newExperiment.setCreatorID(creatorID); Experiment experiment = experiments.getExperiment(newExperiment.getID());
/** * {@inheritDoc} */ @Override public void deleteExperiment(NewExperiment newExperiment) { LOGGER.debug("Deleting experiment {}", newExperiment); try { experimentAccessor.deleteExperiment(newExperiment.getID().getRawID()); } catch (Exception e) { LOGGER.debug("Error while deleting experiment {}", newExperiment, e); throw new RepositoryException("Could not delete experiment " + "with id \"" + newExperiment.getId() + "\"", e); } }
LOGGER.info("event=EXPERIMENT_METADATA_CHANGE, message=EXPERIMENT_CREATED, applicationName={}, configuration={}",newExperiment.getApplicationName(),newExperiment);
public void validateNewExperiment(NewExperiment newExperiment) { validateLabel(newExperiment.getLabel()); validateExperimentStartEnd(newExperiment.getStartTime(), newExperiment.getEndTime()); validateSamplingPercent(newExperiment.getSamplingPercent()); validateExperimentRule(newExperiment.getRule()); validateModelNameNotNullForPersonalizedExperiments(newExperiment.getIsPersonalizationEnabled(), newExperiment.getModelName()); validateDescriptionNotEmpty(newExperiment.getDescription()); }