1 |
package dk.daoas.adressevedligehold.coveragefileupload; |
package dk.daoas.adressevedligehold.coveragefileupload; |
2 |
|
|
3 |
|
import java.io.Serializable; |
4 |
|
import java.util.ArrayList; |
5 |
|
import java.util.Collections; |
6 |
|
import java.util.Comparator; |
7 |
import java.util.HashMap; |
import java.util.HashMap; |
8 |
import java.util.List; |
import java.util.List; |
9 |
import java.util.Map.Entry; |
import java.util.Map.Entry; |
10 |
|
|
11 |
|
import org.apache.commons.lang3.builder.CompareToBuilder; |
12 |
|
|
13 |
import dk.daoas.adressevedligehold.MailSender; |
import dk.daoas.adressevedligehold.MailSender; |
14 |
import dk.daoas.adressevedligehold.beans.Address; |
import dk.daoas.adressevedligehold.beans.Address; |
15 |
import dk.daoas.adressevedligehold.beans.Address.AddressState; |
import dk.daoas.adressevedligehold.beans.Address.AddressState; |
233 |
StringBuilder sb = new StringBuilder(); |
StringBuilder sb = new StringBuilder(); |
234 |
sb.append("Status;Gadeid;Post;Vejnavn;Husnr;Litra\r\n"); |
sb.append("Status;Gadeid;Post;Vejnavn;Husnr;Litra\r\n"); |
235 |
|
|
236 |
|
ArrayList<Address> attachmentData = new ArrayList<Address>(); |
237 |
for (Address a : addressList) { |
for (Address a : addressList) { |
238 |
|
if (a.state == AddressState.CLOSED || a.state == AddressState.CREATED || a.state == AddressState.OPENED) { |
239 |
|
attachmentData.add(a); |
240 |
|
} |
241 |
|
} |
242 |
|
|
243 |
|
Collections.sort(attachmentData, new AttachmentComparator()); |
244 |
|
|
245 |
|
for (Address a : attachmentData) { |
246 |
switch (a.state) { |
switch (a.state) { |
247 |
case CLOSED: |
case CLOSED: |
248 |
sb.append("Closed;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); |
sb.append("Closed;"); |
249 |
break; |
break; |
250 |
case CREATED: |
case CREATED: |
251 |
sb.append("Created;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); |
sb.append("Created;"); |
252 |
break; |
break; |
|
case CREATE_FAIL: |
|
|
break; |
|
|
case MODIFIED: |
|
|
break; |
|
|
case NOT_CHANGED: |
|
|
break; |
|
253 |
case OPENED: |
case OPENED: |
254 |
sb.append("Opened;" + a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); |
sb.append("Opened;"); |
255 |
break; |
break; |
256 |
default: |
default: |
257 |
break; |
break; |
258 |
} |
} |
259 |
|
|
260 |
|
//tilføj resten af dataene |
261 |
|
sb.append( a.gadeid + ";" + a.postnr + ";" + a.vejnavn + ";" + a.husnr + ";" + a.husnrbogstav + "\r\n"); |
262 |
} |
} |
263 |
|
|
264 |
return sb.toString(); |
return sb.toString(); |
265 |
} |
} |
266 |
|
|
267 |
|
|
268 |
|
/* |
269 |
|
* Serializable is to silence findbugs |
270 |
|
*/ |
271 |
|
static class AttachmentComparator implements Comparator<Address>, Serializable { |
272 |
|
private static final long serialVersionUID = 1L; |
273 |
|
|
274 |
|
@Override |
275 |
|
public int compare(Address a1, Address a2) { |
276 |
|
|
277 |
|
|
278 |
|
//Brug apache commons lang3 |
279 |
|
return new CompareToBuilder() |
280 |
|
.append(a1.state, a2.state) |
281 |
|
.append(a1.postnr, a2.postnr) |
282 |
|
.append(a1.vejnavn, a2.vejnavn) |
283 |
|
.append(a1.husnr, a2.husnr) |
284 |
|
.append(a1.husnrbogstav, a2.husnrbogstav) |
285 |
|
.toComparison(); |
286 |
|
} |
287 |
|
|
288 |
|
} |
289 |
} |
} |