package ch.elexis.data.dto; import java.util.Date; import org.apache.commons.lang.StringUtils; import ch.elexis.core.types.DocumentStatus; import ch.elexis.data.Brief; import ch.elexis.data.Kontakt; import ch.rgw.tools.TimeTool; public class BriefDocumentDTO extends AbstractDocumentDTO { public BriefDocumentDTO(String storeId){ setStoreId(storeId); } public BriefDocumentDTO(Brief brief, String storeId){ this(storeId); String[] fetch = new String[] { Brief.FLD_PATIENT_ID, Brief.FLD_SENDER_ID, Brief.FLD_NOTE, Brief.FLD_SUBJECT, Brief.FLD_MIME_TYPE, Brief.FLD_DESTINATION_ID, Brief.FLD_TYPE }; String[] data = new String[fetch.length]; brief.get(fetch, data); setId(brief.getId()); setLabel(brief.getLabel()); setPatientId(data[0]); setAuthorId(data[1]); setDescription(data[2]); setTitle(data[3]); setMimeType(data[4]); setLastchanged(new Date(Long.valueOf(brief.get(Brief.FLD_LASTUPDATE)))); setCreated(new TimeTool(brief.get(Brief.FLD_DATE)).getTime()); setExtension(evaluateExtension(data[4])); if (StringUtils.isNotEmpty(data[5])) { setStatus(DocumentStatus.SENT); Kontakt kontakt = Kontakt.load(data[5]); if (kontakt != null) { getHistory().add(new HistoryDocumentDTO(getLastchanged(), DocumentStatus.SENT, kontakt.getLabel())); } } setCategory(new CategoryDocumentDTO(data[6])); } }