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