Mercurial > gemma
annotate pkg/models/imports.go @ 2787:2ce5ee6d65b5
client:translations: merge translations from weblate
author | Fadi Abbud <fadi.abbud@intevation.de> |
---|---|
date | Mon, 25 Mar 2019 10:34:33 +0100 |
parents | eb1d119f253f |
children | c8ded555c2a8 |
rev | line source |
---|---|
2016
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 // This is Free Software under GNU Affero General Public License v >= 3.0 |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 // without warranty, see README.md and license for details. |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 // |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 // SPDX-License-Identifier: AGPL-3.0-or-later |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 // License-Filename: LICENSES/AGPL-3.0.txt |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 // |
2563
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
7 // Copyright (C) 2018, 2019 by via donau |
2016
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 // – Österreichische Wasserstraßen-Gesellschaft mbH |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 // Software engineering by Intevation GmbH |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 // |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 // Author(s): |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 // * Sascha L. Teichmann <sascha.teichmann@intevation.de> |
2563
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
13 // * Tom Gottfried <tom.gottfried@intevation.de> |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
14 |
2016
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 package models |
25967829cf00
Started to simplify the import models.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
17 import ( |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
18 "errors" |
2059
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
19 "strings" |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
20 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
21 "gemma.intevation.de/gemma/pkg/common" |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
22 ) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
23 |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
24 type ( |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
25 ConfigurableURLImport struct { |
2025
070ac9dd61a1
Bring manual imports to new import modeling.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2024
diff
changeset
|
26 URLType |
070ac9dd61a1
Bring manual imports to new import modeling.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2024
diff
changeset
|
27 QueueConfigurationType |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
28 } |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
29 |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
30 BottleneckImport struct { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
31 ConfigurableURLImport |
2563
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
32 |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
33 // Tolerance used for axis snapping |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
34 Tolerance float64 `json:"tolerance"` |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
35 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
36 |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
37 // GaugeMeasurementImport contains data used to define the endpoint |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
38 GaugeMeasurementImport struct { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
39 ConfigurableURLImport |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
40 } |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
41 |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
42 // FairwayAvailabilityImport contains data used to define the endpoint |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
43 FairwayAvailabilityImport struct { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
44 ConfigurableURLImport |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
45 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
46 |
2633
eb1d119f253f
Fetch data from ERDMS for all allowed countries
Tom Gottfried <tom@intevation.de>
parents:
2563
diff
changeset
|
47 // WaterwayGaugeImport specifies an import of waterway gauges. |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
48 WaterwayGaugeImport struct { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
49 ConfigurableURLImport |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
50 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
51 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
52 // DistanceMarksVirtualImport specifies an import of distance marks virtual. |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
53 DistanceMarksVirtualImport struct { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
54 ConfigurableURLImport |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
55 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
56 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
57 WFSImport struct { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
58 ConfigurableURLImport |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
59 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
60 // FeatureType is the layer to use. |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
61 FeatureType string `json:"feature-type"` |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
62 // SortBy sorts the feature by this key. |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
63 SortBy *string `json:"sort-by"` |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
64 } |
2018
8a62ce2a5c70
Moved gaugemeasurement to local package.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2016
diff
changeset
|
65 |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
66 // WaterwayAxisImport specifies an import of the waterway axis. |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
67 WaterwayAxisImport struct { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
68 WFSImport |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
69 } |
2019
aeff01c6edec
Moved fairwayavailability to a local model.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2018
diff
changeset
|
70 |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
71 // WaterwayAreaImport specifies an import of the waterway area. |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
72 WaterwayAreaImport struct { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
73 WFSImport |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
74 } |
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
75 |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
76 // DistanceMarksAshoreImport specifies an import of the distance marks. |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
77 DistanceMarksAshoreImport struct { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
78 WFSImport |
2021
aa74466feaa8
Moved distancemarks virtual to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2020
diff
changeset
|
79 } |
2022
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
80 |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
81 // FairwayDimensionImport specifies an import of the waterway axis. |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
82 FairwayDimensionImport struct { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
83 WFSImport |
2025
070ac9dd61a1
Bring manual imports to new import modeling.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2024
diff
changeset
|
84 |
2022
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
85 // LOS is the level of service provided by the wfs |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
86 LOS int `json:"los"` |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
87 // MinWidth is the minimum width of the fairway for the specified LOS |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
88 MinWidth int `json:"min-width"` |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
89 // MaxWidth is the maximum width of the fairway for the specified LOS |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
90 MaxWidth int `json:"max-width"` |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
91 // Depth is the minimum depth of the fairway for the specified LOS |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
92 Depth int `json:"depth"` |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
93 // SourceOrganization specifies the source of the entry |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
94 SourceOrganization string `json:"source-organization"` |
213f79fde44a
Moved fairway dimension import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2021
diff
changeset
|
95 } |
2023
fc5c888428c8
Moved distance marks ashore import into imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2022
diff
changeset
|
96 |
2024
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
97 StretchImport struct { |
2029
8d006afa7c1b
Imports: Stretch imports are not configurabel and scheduable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2025
diff
changeset
|
98 EmailType |
2025
070ac9dd61a1
Bring manual imports to new import modeling.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2024
diff
changeset
|
99 |
2024
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
100 Name string `json:"name"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
101 From Isrs `json:"from"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
102 To Isrs `json:"to"` |
2563
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
103 Tolerance float32 `json:"tolerance"` |
2024
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
104 ObjNam string `json:"objnam"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
105 NObjNam *string `json:"nobjnam"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
106 Source string `json:"source-organization"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
107 Date Date `json:"date-info"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
108 Countries UniqueCountries `json:"countries"` |
6d9fbc62c5a6
Moved stretch import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2023
diff
changeset
|
109 } |
2020
491084efd15c
Moved waterway(area|axis|gauge) import to imports file.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2019
diff
changeset
|
110 ) |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
111 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
112 func (cui *ConfigurableURLImport) MarshalAttributes(attrs common.Attributes) error { |
2297
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
113 if err := cui.URLType.MarshalAttributes(attrs); err != nil { |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
114 return err |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
115 } |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
116 return cui.QueueConfigurationType.MarshalAttributes(attrs) |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
117 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
118 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
119 func (cui *ConfigurableURLImport) UnmarshalAttributes(attrs common.Attributes) error { |
2297
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
120 if err := cui.URLType.UnmarshalAttributes(attrs); err != nil { |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
121 return err |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
122 } |
c8cc875d271c
Import config: Marshalling of so properties got lost somehow.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2100
diff
changeset
|
123 return cui.QueueConfigurationType.UnmarshalAttributes(attrs) |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
124 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
125 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
126 func (wi *WFSImport) MarshalAttributes(attrs common.Attributes) error { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
127 if err := wi.ConfigurableURLImport.MarshalAttributes(attrs); err != nil { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
128 return err |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
129 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
130 attrs.Set("feature-type", wi.FeatureType) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
131 if wi.SortBy != nil { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
132 attrs.Set("sort-by", *wi.SortBy) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
133 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
134 return nil |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
135 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
136 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
137 func (wi *WFSImport) UnmarshalAttributes(attrs common.Attributes) error { |
2305
9c4ef2345db4
Configured Imports: Fixed unmarshalling of WFS imports.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2297
diff
changeset
|
138 if err := wi.ConfigurableURLImport.UnmarshalAttributes(attrs); err != nil { |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
139 return err |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
140 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
141 ft, found := attrs.Get("feature-type") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
142 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
143 return errors.New("missing 'feature-type' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
144 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
145 wi.FeatureType = ft |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
146 if sb, found := attrs.Get("sort-by"); found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
147 wi.SortBy = &sb |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
148 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
149 return nil |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
150 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
151 |
2563
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
152 func (bn *BottleneckImport) MarshalAttributes(attrs common.Attributes) error { |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
153 if err := bn.ConfigurableURLImport.MarshalAttributes(attrs); err != nil { |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
154 return err |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
155 } |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
156 attrs.SetFloat("tolerance", bn.Tolerance) |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
157 return nil |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
158 } |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
159 |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
160 func (bn *BottleneckImport) UnmarshalAttributes(attrs common.Attributes) error { |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
161 if err := bn.ConfigurableURLImport.UnmarshalAttributes(attrs); err != nil { |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
162 return err |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
163 } |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
164 tol, found := attrs.Float("tolerance") |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
165 if !found { |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
166 return errors.New("missing 'tolerance' attribute") |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
167 } |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
168 bn.Tolerance = tol |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
169 return nil |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
170 } |
dc4fae4bdb8f
Expose axis snapping tolerance to users
Tom Gottfried <tom@intevation.de>
parents:
2305
diff
changeset
|
171 |
2036
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
172 func (fdi *FairwayDimensionImport) MarshalAttributes(attrs common.Attributes) error { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
173 if err := fdi.WFSImport.MarshalAttributes(attrs); err != nil { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
174 return err |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
175 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
176 attrs.SetInt("los", fdi.LOS) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
177 attrs.SetInt("min-width", fdi.MinWidth) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
178 attrs.SetInt("max-width", fdi.MaxWidth) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
179 attrs.SetInt("depth", fdi.Depth) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
180 attrs.Set("source-organization", fdi.SourceOrganization) |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
181 return nil |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
182 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
183 |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
184 func (fdi *FairwayDimensionImport) UnmarshalAttributes(attrs common.Attributes) error { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
185 if err := fdi.WFSImport.UnmarshalAttributes(attrs); err != nil { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
186 return err |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
187 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
188 los, found := attrs.Int("los") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
189 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
190 return errors.New("missing 'los' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
191 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
192 fdi.LOS = los |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
193 minWidth, found := attrs.Int("min-width") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
194 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
195 return errors.New("missing 'min-width' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
196 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
197 fdi.MinWidth = minWidth |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
198 maxWidth, found := attrs.Int("max-width") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
199 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
200 return errors.New("missing 'max-width' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
201 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
202 fdi.MaxWidth = maxWidth |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
203 depth, found := attrs.Int("depth") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
204 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
205 return errors.New("missing 'depth' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
206 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
207 fdi.Depth = depth |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
208 source, found := attrs.Get("source-organization") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
209 if !found { |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
210 return errors.New("missing 'source-organization' attribute") |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
211 } |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
212 fdi.SourceOrganization = source |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
213 return nil |
74e24ae3205a
Imports: Added a persistent model for the extra attributes.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2029
diff
changeset
|
214 } |
2059
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
215 |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
216 func (sti *StretchImport) MarshalAttributes(attrs common.Attributes) error { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
217 if err := sti.EmailType.MarshalAttributes(attrs); err != nil { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
218 return err |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
219 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
220 attrs.Set("name", sti.Name) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
221 attrs.Set("from", sti.From.String()) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
222 attrs.Set("to", sti.To.String()) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
223 attrs.Set("objnam", sti.ObjNam) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
224 if sti.NObjNam != nil { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
225 attrs.Set("nobjnam", *sti.NObjNam) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
226 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
227 attrs.Set("source-organization", sti.Source) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
228 attrs.SetDate("date-info", sti.Date.Time) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
229 if len(sti.Countries) > 0 { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
230 countries := make([]string, len(sti.Countries)) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
231 for i, c := range sti.Countries { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
232 countries[i] = string(c) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
233 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
234 attrs.Set("countries", strings.Join(countries, ",")) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
235 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
236 |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
237 return nil |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
238 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
239 |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
240 func (sti *StretchImport) UnmarshalAttributes(attrs common.Attributes) error { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
241 if err := sti.EmailType.UnmarshalAttributes(attrs); err != nil { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
242 return err |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
243 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
244 name, found := attrs.Get("name") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
245 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
246 return errors.New("missing 'name' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
247 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
248 sti.Name = name |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
249 from, found := attrs.Get("from") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
250 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
251 return errors.New("missing 'from' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
252 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
253 f, err := IsrsFromString(from) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
254 if err != nil { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
255 return err |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
256 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
257 sti.From = *f |
2100
46343e3f7a3e
Imports: Fixed small issue with de-serializing stretches.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2059
diff
changeset
|
258 to, found := attrs.Get("to") |
2059
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
259 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
260 return errors.New("missing 'to' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
261 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
262 t, err := IsrsFromString(to) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
263 if err != nil { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
264 return err |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
265 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
266 sti.To = *t |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
267 objnam, found := attrs.Get("objnam") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
268 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
269 return errors.New("missing 'objnam' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
270 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
271 sti.ObjNam = objnam |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
272 nobjnam, found := attrs.Get("nobjnam") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
273 if found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
274 sti.NObjNam = &nobjnam |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
275 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
276 source, found := attrs.Get("source-organization") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
277 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
278 return errors.New("missing 'source' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
279 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
280 sti.Source = source |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
281 date, found := attrs.Date("date-info") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
282 if !found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
283 return errors.New("missing 'date-info' attribute") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
284 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
285 sti.Date = Date{date} |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
286 countries, found := attrs.Get("countries") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
287 if found { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
288 csp := strings.Split(countries, ",") |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
289 cs := make(UniqueCountries, len(csp)) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
290 for i, c := range csp { |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
291 cs[i] = Country(c) |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
292 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
293 sti.Countries = cs |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
294 } |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
295 return nil |
ae0021feaac8
Imports: Made stretch import marshable (even if it is not needed).
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2036
diff
changeset
|
296 } |