--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java 2016/06/08 15:31:27 3044 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java 2016/07/06 09:52:51 3061 @@ -1,9 +1,15 @@ package dk.daoas.adressevedligehold.coveragefileupload; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map.Entry; +import org.apache.commons.lang3.builder.CompareToBuilder; + import dk.daoas.adressevedligehold.MailSender; import dk.daoas.adressevedligehold.beans.Address; import dk.daoas.adressevedligehold.beans.Address.AddressState; @@ -227,28 +233,57 @@ StringBuilder sb = new StringBuilder(); sb.append("Status;Gadeid;Post;Vejnavn;Husnr;Litra\r\n"); + ArrayList
attachmentData = new ArrayList
(); for (Address a : addressList) { + if (a.state == AddressState.CLOSED || a.state == AddressState.CREATED || a.state == AddressState.OPENED) { + attachmentData.add(a); + } + } + + Collections.sort(attachmentData, new AttachmentComparator()); + + for (Address a : attachmentData) { switch (a.state) { case CLOSED: - sb.append("Closed;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); + sb.append("Closed;"); break; case CREATED: - sb.append("Created;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); + sb.append("Created;"); break; - case CREATE_FAIL: - break; - case MODIFIED: - break; - case NOT_CHANGED: - break; case OPENED: - sb.append("Opened;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); + sb.append("Opened;"); break; default: break; } + + //tilføj resten af dataene + sb.append( a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); } return sb.toString(); } + + + /* + * Serializable is to silence findbugs + */ + static class AttachmentComparator implements Comparator
, Serializable { + private static final long serialVersionUID = 1L; + + @Override + public int compare(Address a1, Address a2) { + + + //Brug apache commons lang3 + return new CompareToBuilder() + .append(a1.state, a2.state) + .append(a1.postnr, a2.postnr) + .append(a1.vejnavn, a2.vejnavn) + .append(a1.husnr, a2.husnr) + .append(a1.husnrbogstav, a2.husnrbogstav) + .toComparison(); + } + + } }