154 lines
4.5 KiB
Java
154 lines
4.5 KiB
Java
package eu.eudat.query.lookup;
|
|
|
|
import eu.eudat.commons.enums.DescriptionStatus;
|
|
import eu.eudat.commons.enums.IsActive;
|
|
import eu.eudat.elastic.query.DescriptionElasticQuery;
|
|
import eu.eudat.elastic.query.InnerObjectDmpElasticQuery;
|
|
import eu.eudat.query.DescriptionQuery;
|
|
import gr.cite.tools.data.query.Lookup;
|
|
import gr.cite.tools.data.query.QueryFactory;
|
|
|
|
import java.time.Instant;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
public class DescriptionLookup extends Lookup {
|
|
|
|
private String like;
|
|
|
|
private List<UUID> ids;
|
|
|
|
private List<UUID> excludedIds;
|
|
private Instant createdAfter;
|
|
private Instant createdBefore;
|
|
private Instant finalizedAfter;
|
|
private Instant finalizedBefore;
|
|
|
|
private DmpLookup dmpSubQuery;
|
|
|
|
private List<IsActive> isActive;
|
|
|
|
private List<DescriptionStatus> statuses;
|
|
|
|
public String getLike() {
|
|
return like;
|
|
}
|
|
|
|
public void setLike(String like) {
|
|
this.like = like;
|
|
}
|
|
|
|
public List<UUID> getIds() {
|
|
return ids;
|
|
}
|
|
|
|
public void setIds(List<UUID> ids) {
|
|
this.ids = ids;
|
|
}
|
|
|
|
public List<UUID> getExcludedIds() {
|
|
return excludedIds;
|
|
}
|
|
|
|
public void setExcludedIds(List<UUID> excludedIds) {
|
|
this.excludedIds = excludedIds;
|
|
}
|
|
|
|
public List<IsActive> getIsActive() {
|
|
return isActive;
|
|
}
|
|
|
|
public void setIsActive(List<IsActive> isActive) {
|
|
this.isActive = isActive;
|
|
}
|
|
|
|
public List<DescriptionStatus> getStatuses() {
|
|
return statuses;
|
|
}
|
|
|
|
public void setStatuses(List<DescriptionStatus> statuses) {
|
|
this.statuses = statuses;
|
|
}
|
|
|
|
public DmpLookup getDmpSubQuery() {
|
|
return dmpSubQuery;
|
|
}
|
|
|
|
public void setDmpSubQuery(DmpLookup dmpSubQuery) {
|
|
this.dmpSubQuery = dmpSubQuery;
|
|
}
|
|
|
|
public Instant getCreatedAfter() {
|
|
return createdAfter;
|
|
}
|
|
|
|
public void setCreatedAfter(Instant createdAfter) {
|
|
this.createdAfter = createdAfter;
|
|
}
|
|
|
|
public Instant getCreatedBefore() {
|
|
return createdBefore;
|
|
}
|
|
|
|
public void setCreatedBefore(Instant createdBefore) {
|
|
this.createdBefore = createdBefore;
|
|
}
|
|
|
|
public Instant getFinalizedAfter() {
|
|
return finalizedAfter;
|
|
}
|
|
|
|
public void setFinalizedAfter(Instant finalizedAfter) {
|
|
this.finalizedAfter = finalizedAfter;
|
|
}
|
|
|
|
public Instant getFinalizedBefore() {
|
|
return finalizedBefore;
|
|
}
|
|
|
|
public void setFinalizedBefore(Instant finalizedBefore) {
|
|
this.finalizedBefore = finalizedBefore;
|
|
}
|
|
|
|
public DescriptionQuery enrich(QueryFactory queryFactory) {
|
|
DescriptionQuery query = queryFactory.query(DescriptionQuery.class);
|
|
if (this.like != null) query.like(this.like);
|
|
if (this.ids != null) query.ids(this.ids);
|
|
if (this.excludedIds != null) query.excludedIds(this.excludedIds);
|
|
if (this.dmpSubQuery != null) query.dmpSubQuery(this.dmpSubQuery.enrich(queryFactory));
|
|
if (this.isActive != null) query.isActive(this.isActive);
|
|
if (this.statuses != null) query.statuses(this.statuses);
|
|
if (this.createdAfter != null) query.createdAfter(this.createdAfter);
|
|
if (this.createdBefore != null) query.createdBefore(this.createdBefore);
|
|
if (this.finalizedAfter != null) query.finalizedAfter(this.finalizedAfter);
|
|
if (this.finalizedBefore != null) query.finalizedBefore(this.finalizedBefore);
|
|
|
|
this.enrichCommon(query);
|
|
|
|
return query;
|
|
}
|
|
|
|
public DescriptionElasticQuery enrichElastic(QueryFactory queryFactory) {
|
|
DescriptionElasticQuery query = queryFactory.query(DescriptionElasticQuery.class);
|
|
InnerObjectDmpElasticQuery dmpElasticQuery = null;
|
|
if (this.like != null) query.like(this.like);
|
|
if (this.ids != null) query.ids(this.ids);
|
|
if (this.excludedIds != null) query.excludedIds(this.excludedIds);
|
|
if (this.statuses != null) query.statuses(this.statuses);
|
|
if (this.createdAfter != null) query.createdAfter(this.createdAfter);
|
|
if (this.createdBefore != null) query.createdBefore(this.createdBefore);
|
|
if (this.finalizedAfter != null) query.finalizedAfter(this.finalizedAfter);
|
|
if (this.finalizedBefore != null) query.finalizedBefore(this.finalizedBefore);
|
|
if (this.dmpSubQuery != null) query.dmpSubQuery(this.dmpSubQuery.enrichElasticInner(queryFactory));
|
|
|
|
this.enrichCommon(query);
|
|
|
|
return query;
|
|
}
|
|
|
|
public boolean useElastic() {
|
|
return this.like != null && !this.like.isBlank();
|
|
}
|
|
|
|
}
|