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 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");
+ }
+
+ 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;
+ }
}