package jalview.ws.uimodel;
-
+import jalview.bin.Cache;
+import jalview.datamodel.SequenceI;
import jalview.ws.dbsources.PDBRestClient.PDBDocField;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
/**
* Represents the PDB request to be consumed by the PDBRestClient
private String fieldToSortBy;
- private String associatedSequence;
+ private SequenceI associatedSequence;
private boolean allowEmptySequence;
+ private boolean allowUnpublishedEntries = Cache.getDefault(
+ "ALLOW_UNPUBLISHED_PDB_QUERYING", false);
+
+ private boolean facet;
+
+ private String facetPivot;
+
+ private int facetPivotMinCount;
+
private int responseSize;
private boolean isSortAscending;
- private List<PDBDocField> wantedFields = new ArrayList<PDBDocField>();
+ private Collection<PDBDocField> wantedFields;
public String getFieldToSearchBy()
{
this.responseSize = responseSize;
}
- public List<PDBDocField> getWantedFields()
+ public Collection<PDBDocField> getWantedFields()
{
return wantedFields;
}
- public void setWantedFields(List<PDBDocField> wantedFields)
+ public void setWantedFields(Collection<PDBDocField> wantedFields)
{
this.wantedFields = wantedFields;
}
return isSortAscending;
}
- public String getAssociatedSequence()
+ public SequenceI getAssociatedSequence()
{
return associatedSequence;
}
- public void setAssociatedSequence(String associatedSequence)
+ public void setAssociatedSequence(SequenceI associatedSequence)
{
this.associatedSequence = associatedSequence;
}
+ public String getQuery()
+ {
+ return fieldToSearchBy + searchTerm
+ + (isAllowEmptySeq() ? "" : " AND molecule_sequence:['' TO *]")
+ + (isAllowUnpublishedEntries() ? "" : " AND status:REL");
+ }
+
+ @Override
+ public String toString()
+ {
+ return "Query : " + getQuery() + " sort field: " + fieldToSortBy
+ + " isAsc: " + isAscending() + " Associated Seq : "
+ + associatedSequence;
+ }
+
+ public boolean isAllowUnpublishedEntries()
+ {
+ return allowUnpublishedEntries;
+ }
+
+ public void setAllowUnpublishedEntries(boolean allowUnpublishedEntries)
+ {
+ this.allowUnpublishedEntries = allowUnpublishedEntries;
+ }
+
+ public boolean isFacet()
+ {
+ return facet;
+ }
+
+ public void setFacet(boolean facet)
+ {
+ this.facet = facet;
+ }
+
+ public String getFacetPivot()
+ {
+ return facetPivot;
+ }
+
+ public void setFacetPivot(String facetPivot)
+ {
+ this.facetPivot = facetPivot;
+ }
+
+ public int getFacetPivotMinCount()
+ {
+ return facetPivotMinCount;
+ }
+
+ public void setFacetPivotMinCount(int facetPivotMinCount)
+ {
+ this.facetPivotMinCount = facetPivotMinCount;
+ }
}