annotate src/main/java/de/intevation/lada/data/exporter/LAFExporter.java @ 366:567ce7697fc7 0.5

Code documentation.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 10 Sep 2013 15:55:54 +0200
parents 1feba681ffee
children f3d0894d9bfc
rev   line source
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
1 package de.intevation.lada.data.exporter;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
2
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
3 import java.io.ByteArrayInputStream;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
4 import java.io.File;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
5 import java.io.IOException;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
6 import java.io.InputStream;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
7 import java.io.OutputStream;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 import java.util.List;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
9 import java.util.Map;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 import javax.inject.Inject;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
12 import javax.inject.Named;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
14 import de.intevation.lada.auth.AuthenticationResponse;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15 import de.intevation.lada.model.LProbe;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
17 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
18 * The LAF exporter implements {@link Exporter} to produce a LAF file.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
19 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
20 * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
21 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22 @Named("lafexporter")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 public class LAFExporter
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 implements Exporter
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
26
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
27 @Inject
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
28 @Named("lafcreator")
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
29 private Creator creator;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30
366
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
31 /**
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
32 * Export the {@link LProbe} objects.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
33 *
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
34 * @param proben List of probe ids.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
35 * @param auth The authentication information.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
36 * @return InputStream with the LAF data.
567ce7697fc7 Code documentation.
Raimund Renkert <rrenkert@intevation.de>
parents: 351
diff changeset
37 */
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
38 @Override
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
39 public InputStream export(
351
1feba681ffee Export LAF via POST. The service now takes url encoded form data with multiple probe ids.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
40 List<String> proben,
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
41 AuthenticationResponse auth
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
42 ) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
43 String laf = "";
351
1feba681ffee Export LAF via POST. The service now takes url encoded form data with multiple probe ids.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
44 for (String probeId: proben) {
1feba681ffee Export LAF via POST. The service now takes url encoded form data with multiple probe ids.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
45 laf += creator.create(probeId);
1feba681ffee Export LAF via POST. The service now takes url encoded form data with multiple probe ids.
Raimund Renkert <rrenkert@intevation.de>
parents: 327
diff changeset
46 }
327
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
47 InputStream in = new ByteArrayInputStream(laf.getBytes());
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
48 try {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
49 in.close();
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
50 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
51 catch (IOException e) {
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
52 //TODO Exception handling.
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
53 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
54 return in;
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
55 }
891a2133cf46 Added LAF exporter and LAF creator.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
56 }
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)