Mercurial > lada > lada-server
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 } |