--- dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java 2016/06/28 12:39:35 3057 +++ dao/DaoAdresseVedligehold/src/main/java/dk/daoas/adressevedligehold/coveragefileupload/AddressReport.java 2016/07/06 09:18:55 3058 @@ -1,9 +1,13 @@ package dk.daoas.adressevedligehold.coveragefileupload; +import java.util.ArrayList; +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 +231,53 @@ 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); + } + } + + attachmentData.sort( 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(); } + + class AttachmentComparator implements Comparator
{ + + @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(); + } + + } }