diplayFields = request.getWantedFields();
String associatedSeq = request.getAssociatedSequence();
int colCounter = 0;
summaryData = new String[(associatedSeq != null) ? diplayFields
.size() + 1 : diplayFields.size()];
if (associatedSeq != null)
{
this.associatedSequence = (associatedSeq.length() > 18) ? associatedSeq
.substring(0, 18) : associatedSeq;
summaryData[0] = associatedSequence;
colCounter = 1;
}
for (PDBDocField field : diplayFields)
{
if (field.equals(PDBDocField.PDB_ID)
&& doc.get(PDBDocField.PDB_ID.getCode()) != null)
{
this.pdbId = doc.get(PDBDocField.PDB_ID.getCode()).toString();
summaryData[colCounter++] = this.pdbId;
}
else
{
String value = (doc.get(field.getCode()) == null) ? "" : doc.get(
field.getCode()).toString();
summaryBuilder.append(field.getName()).append(": ").append(value)
.append(" | ");
summaryData[colCounter++] = value;
}
}
this.concatenatedSummaryData = summaryBuilder.toString();
summaryBuilder = null;
}
public String getPdbId()
{
return pdbId;
}
public void setPdbId(String pdbId)
{
this.pdbId = pdbId;
}
public String getConcatenatedSummaryData()
{
return concatenatedSummaryData;
}
public void setConcatenatedSummaryData(String concatenatedSummaryData)
{
this.concatenatedSummaryData = concatenatedSummaryData;
}
public String[] getSummaryData()
{
return summaryData;
}
public void setSummaryData(String[] summaryData)
{
this.summaryData = summaryData;
}
public String toString()
{
StringBuilder html = new StringBuilder();
html.append(" ");
html.append(concatenatedSummaryData);
html.append("
");
return html.toString();
}
@Override
public int hashCode()
{
return Objects.hash(this.pdbId, this.concatenatedSummaryData);
}
@Override
public boolean equals(Object other)
{
if (!(other instanceof PDBResponseSummary))
{
return false;
}
PDBResponseSummary that = (PDBResponseSummary) other;
// Custom equality check here.
return this.pdbId.equals(that.pdbId)
&& this.concatenatedSummaryData
.equals(that.concatenatedSummaryData);
}
}
}