@Deprecated
@Override
public QueryResult<Project> delete(long id, QueryOptions queryOptions) throws CatalogDBException {
long startTime = startQuery();
checkId(id);
Query query = new Query(QueryParams.UID.key(), id).append(QueryParams.STATUS_NAME.key(), Status.READY);
if (count(query).first() == 0) {
query.put(QueryParams.STATUS_NAME.key(), Status.DELETED);
QueryOptions options = new QueryOptions(QueryOptions.INCLUDE, QueryParams.STATUS_NAME.key());
Project project = get(query, options).first();
throw new CatalogDBException("The project {" + id + "} was already " + project.getStatus().getName());
}
if (!queryOptions.containsKey(FORCE) || !queryOptions.getBoolean(FORCE)) {
checkCanDelete(id);
}
if (queryOptions.containsKey(FORCE) && queryOptions.getBoolean(FORCE)) {
query = new Query(StudyDBAdaptor.QueryParams.PROJECT_ID.key(), id);
dbAdaptorFactory.getCatalogStudyDBAdaptor().delete(query, queryOptions);
}
setStatus(id, Status.DELETED);
query = new Query(QueryParams.UID.key(), id)
.append(QueryParams.STATUS_NAME.key(), Status.DELETED);
return endQuery("Delete project", startTime, get(query, queryOptions));
}