public String getCompoundDisplayValue() { String returnString = ""; for (DatasetFieldCompoundValue dscv : datasetFieldCompoundValues) { for (DatasetField dsf : dscv.getChildDatasetFields()) { for (String value : dsf.getValues()) { if (!(value == null)) { returnString += (returnString.equals("") ? "" : "; ") + value.trim(); } } } } return returnString; }
public boolean removeBlankDatasetFieldValues() { if (this.getDatasetFieldType().isPrimitive()) { if (!this.getDatasetFieldType().isControlledVocabulary()) { Iterator<DatasetFieldValue> dsfvIt = this.getDatasetFieldValues().iterator(); while (dsfvIt.hasNext()) { DatasetFieldValue dsfv = dsfvIt.next(); if (StringUtils.isBlank(dsfv.getValue())) { dsfvIt.remove(); } } if (this.getDatasetFieldValues().isEmpty()) { return true; } } else { // controlled vocab if (this.getControlledVocabularyValues().isEmpty()) { return true; } } } else if (this.getDatasetFieldType().isCompound()) { Iterator<DatasetFieldCompoundValue> cvIt = this.getDatasetFieldCompoundValues().iterator(); while (cvIt.hasNext()) { DatasetFieldCompoundValue cv = cvIt.next(); Iterator<DatasetField> dsfIt = cv.getChildDatasetFields().iterator(); while (dsfIt.hasNext()) { if (dsfIt.next().removeBlankDatasetFieldValues()) { dsfIt.remove(); } } if (cv.getChildDatasetFields().isEmpty()) { cvIt.remove(); } } if (this.getDatasetFieldCompoundValues().isEmpty()) { return true; } } return false; }
public void setValueDisplayOrder() { if (this.getDatasetFieldType().isPrimitive() && !this.getDatasetFieldType().isControlledVocabulary()) { for (int i = 0; i < datasetFieldValues.size(); i++) { datasetFieldValues.get(i).setDisplayOrder(i); } } else if (this.getDatasetFieldType().isCompound()) { for (int i = 0; i < datasetFieldCompoundValues.size(); i++) { DatasetFieldCompoundValue compoundValue = datasetFieldCompoundValues.get(i); compoundValue.setDisplayOrder(i); for (DatasetField dsf : compoundValue.getChildDatasetFields()) { dsf.setValueDisplayOrder(); } } } }
private boolean isEmpty(boolean forDisplay) { if (datasetFieldType.isPrimitive()) { // primitive for (String value : getValues()) { if (!StringUtils.isBlank(value) && !(forDisplay && DatasetField.NA_VALUE.equals(value))) { return false; } } } else { // compound for (DatasetFieldCompoundValue cv : datasetFieldCompoundValues) { for (DatasetField subField : cv.getChildDatasetFields()) { if (!subField.isEmpty(forDisplay)) { return false; } } } } return true; }