Project

General

Profile

Download (72.4 KB) Statistics
| Branch: | Revision:
1
/**
2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9

    
10
package eu.etaxonomy.cdm.io.redlist.bfnXml.in;
11

    
12
import java.util.UUID;
13

    
14
import org.apache.log4j.Logger;
15
import org.springframework.stereotype.Component;
16

    
17
import eu.etaxonomy.cdm.model.agent.Person;
18
import eu.etaxonomy.cdm.model.agent.Team;
19
import eu.etaxonomy.cdm.model.reference.IBook;
20
import eu.etaxonomy.cdm.model.reference.IBookSection;
21
import eu.etaxonomy.cdm.model.reference.IReference;
22
import eu.etaxonomy.cdm.model.reference.Reference;
23
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
24

    
25
/**
26
 * Imports all Reference data, by first testing if they already exist.
27
 *
28
 * @author a.mueller
29
 * @date 23.07.2017
30
 */
31
@Component
32
public class BfnXmlImportReferences extends BfnXmlImportBase  {
33
    private static final long serialVersionUID = 3545757825059662424L;
34
    @SuppressWarnings("unused")
35
    private static final Logger logger = Logger.getLogger(BfnXmlImportReferences.class);
36

    
37
    public static final UUID uuidSeries = UUID.fromString("766a239f-08e9-45d2-bb13-0756149438e7");
38
    public static final UUID uuidBand1 = UUID.fromString("887c0dcf-7d1a-489a-bb45-ede77de98de");
39
    public static final UUID uuidBand2 = UUID.fromString("454dae82-61c2-413b-b183-e874d4e65e31");
40
    public static final UUID uuidBand3 = UUID.fromString("2c431fe6-95c8-4cc9-9107-33d30b9c2013");
41
    public static final UUID uuidBand6 = UUID.fromString("77660b1f-9359-4b7f-8114-95551d896b4c");
42
    public static final UUID uuidBand1_brutvoegel = UUID.fromString("436eb730-cca8-45be-b7f1-e3640e08333f");
43
    public static final UUID uuidBand1_kriechtiere = UUID.fromString("cd4d0b9c-e334-415b-9a2f-f965fad4ba75");
44
    public static final UUID uuidBand1_lurche = UUID.fromString("cd4d0b9c-e334-415b-9a2f-f965fad4ba75");
45
    public static final UUID uuidBand1_saeugetiere = UUID.fromString("8a9f0adf-2f61-4741-a788-36a3943d3e68");
46
    public static final UUID uuidBand1_suessfische = UUID.fromString("ecc6251c-d71f-4508-8166-e91a7dfbe5d1");
47

    
48
    public static final UUID uuidBand2_bodenlebendenWirbellosenMeerestiere = UUID.fromString("15f4157e-e8a6-43d0-96f4-49fdb8bd8238");
49
//    public static final UUID uuidBand2_artenarmeWeichtiergruppen = UUID.fromString("e756bbd9-5b20-4a1a-a579-91ffefa6190c");
50
//    public static final UUID uuidBand2_asselspinnen = UUID.fromString("5606dc08-e82d-4488-a12f-6b2b40f4242a");
51
//    public static final UUID uuidBand2_flohkrebse = UUID.fromString("54a42fbf-1b39-4037-a9fe-1a8869ce8883");
52
//    public static final UUID uuidBand2_igelwuermer = UUID.fromString("e91b73fe-0b5e-43b1-a94e-cf9b7cde3f80");
53
//    public static final UUID uuidBand2_kumazeen = UUID.fromString("d5afc47e-8635-4160-828f-c2fee41709c1");
54
//    public static final UUID uuidBand2_marineAsseln = UUID.fromString("050c96c4-5b90-4063-8ffc-aa3fb9db896a");
55
    public static final UUID uuidBand2_marineMakroalgen = UUID.fromString("6a56c6ab-a53e-4a08-af5d-aea2208b1679");
56
//    public static final UUID uuidBand2_marineMoostierchen = UUID.fromString("5d980095-5e48-4fd8-88a4-fed960d130e2");
57
//    public static final UUID uuidBand2_marineMuscheln = UUID.fromString("78f76828-7b4d-4955-a9fc-5e2ff700505c");
58
//    public static final UUID uuidBand2_marineSchnecken = UUID.fromString("438c9573-468c-44bb-bf63-1b4ab09ffa08");
59
    public static final UUID uuidBand2_meeresfischeUndNeunaugen = UUID.fromString("7de8dc79-6df1-426c-b671-ee8ec08f564c");
60
//    public static final UUID uuidBand2_nesseltiere = UUID.fromString("b58d00b3-8ba5-4c6a-ba29-9b8372b37c37");
61
//    public static final UUID uuidBand2_schaedellose = UUID.fromString("5f6e1bd9-fc12-474b-aa29-63a48cfce2f9");
62
//    public static final UUID uuidBand2_schwaemme = UUID.fromString("31a282a7-c1af-4ef1-bd52-aaea06fcb702");
63
//    public static final UUID uuidBand2_seepocken = UUID.fromString("d50ea051-9635-49f2-b876-8ce1be4c63a8");
64
//    public static final UUID uuidBand2_seescheiden = UUID.fromString("83349153-9fef-4826-8b0e-fcf8c762b895");
65
//    public static final UUID uuidBand2_stachelhaeuter = UUID.fromString("af05b488-3150-417b-8d4c-c67cfa9d05ec");
66
//    public static final UUID uuidBand2_vielborster = UUID.fromString("0d2db8d8-8100-4994-a672-97a047c78f1e");
67
//    public static final UUID uuidBand2_wenigborster = UUID.fromString("fcc1822d-4969-41ce-9737-b337ae9525f2");
68
//    public static final UUID uuidBand2_zehnfusskrebse = UUID.fromString("7c9c97b7-b7f3-4b71-b159-c8170e57031f");
69

    
70
    public static final UUID uuidBand3_ameisen = UUID.fromString("54f77e09-aefe-4148-a865-f6b01e84bccf");
71
    public static final UUID uuidBand3_bienen = UUID.fromString("8e76fb81-08ea-4fb4-a07f-b5014224355a");
72
    public static final UUID uuidBand3_binnenmollusken = UUID.fromString("d23781f3-65e8-474b-b227-c4bfa161be45");
73
    public static final UUID uuidBand3_eulenfalter = UUID.fromString("6fd1df12-0699-44df-aeb1-95e915d319c6");
74
    public static final UUID uuidBand3_fransenfluegler = UUID.fromString("fccfb2f3-b081-4b72-b8da-d1d913d23c02");
75
    public static final UUID uuidBand3_heuschrecken = UUID.fromString("879c4642-b4b2-48ae-aedf-6466b03393f5");
76
    public static final UUID uuidBand3_ohrwuermer = UUID.fromString("3707137c-0021-4d97-9b0f-22ba5533008a");
77
    public static final UUID uuidBand3_pflanzenwespen = UUID.fromString("f43bb9f7-75f2-4268-9f0a-2a9f787c9f0a");
78
    public static final UUID uuidBand3_raubfliegen = UUID.fromString("94a37110-56e6-4dc4-93fd-0c1a2838608d");
79
    public static final UUID uuidBand3_schaben = UUID.fromString("d7b8e917-ca20-4c89-8c1f-bafcbac96618");
80
    public static final UUID uuidBand3_schwebfliegen = UUID.fromString("48ac08a8-1a94-44fc-9f06-d4776123e87d");
81
    public static final UUID uuidBand3_spanner = UUID.fromString("db29c468-77f1-4bfb-83d1-335f548e7e8b");
82
    public static final UUID uuidBand3_spinner = UUID.fromString("b4bec7e2-3f4d-4755-ae15-109343260b00");
83
    public static final UUID uuidBand3_tagfalter = UUID.fromString("6cdc46c8-b69d-4e6c-9615-6beffc1b668c");
84
    public static final UUID uuidBand3_tanzfliegen = UUID.fromString("a2b702f3-5a27-4d2a-81fb-ef171043dfd7");
85
    public static final UUID uuidBand3_wespen = UUID.fromString("65a16438-df68-4972-980f-7de9df038436");
86
    public static final UUID uuidBand3_zuenslerfalter = UUID.fromString("d3b0ae83-ed88-4674-80be-b7eabcee7b08");
87

    
88
    public static final UUID uuidBand6_flechtenUndPilze = UUID.fromString("de05de86-517c-4d6f-8b59-6608f2f00938");
89
//    public static final UUID uuidBand6_flechten = UUID.fromString("02333f9e-5c4c-4887-b8e1-317b9ff5b155");
90
//    public static final UUID uuidBand6_flechtenaehnlichePilze = UUID.fromString("82fd4ff5-9172-4879-a7fb-4953dbffef27");
91
//    public static final UUID uuidBand6_lichenicolePilze = UUID.fromString("4610b86c-ef4e-484d-bfb3-4ee04b6d53d5");
92
    public static final UUID uuidBand6_myxomyzeten = UUID.fromString("ae7b2756-253c-4ea0-b2fc-aaf46754d237");
93

    
94
	public BfnXmlImportReferences(){
95
		super();
96
	}
97

    
98

    
99
	@Override
100
	public void doInvoke(BfnXmlImportState state){
101

    
102
	    Reference series = (Reference)createSeries(state);
103
		IBook band1 = createBand1(state, series);
104
		IBook band2 = createBand2(state, series);
105
		IBook band3 = createBand3(state, series);
106
		IBook band6 = createBand6(state, series);
107

    
108
        Reference band1_brutvoegel = createBand1_brutvoegel(state, band1);
109
        Reference band1_kriechtiere = createBand1_kriechtiere(state, band1);
110
        Reference band1_lurche = createBand1_lurche(state, band1);
111
        Reference band1_saeugetiere = createBand1_saeugetiere(state, band1);
112
        Reference band1_suessfische = createBand1_suessfische(state, band1);
113

    
114
        Reference band2_bodenlebendenWirbellosenMeerestiere = createBand2_bodenlebendenWirbellosenMeerestiere(state, band1);
115
//        Reference band2_artenarmeWeichtiergruppen = createBand2_artenarmeWeichtiergruppen(state, band2);
116
//        Reference band2_asselspinnen = createBand2_asselspinnen(state, band2);
117
//        Reference band2_flohkrebse = createBand2_flohkrebse(state, band2);
118
//        Reference band2_igelwuermer = createBand2_igelwuermer(state, band2);
119
//        Reference band2_kumazeen = createBand2_kumazeen(state, band2);
120
//        Reference band2_marineAsseln = createBand2_marineAsseln(state, band2);
121
        Reference band2_marineMakroalgen = createBand2_marineMakroalgen(state, band2);
122
//        Reference band2_marineMoostierchen = createBand2_marineMoostierchen(state, band2);
123
//        Reference band2_marineMuscheln = createBand2_marineMuscheln(state, band2);
124
//        Reference band2_marineSchnecken = createBand2_marineSchnecken(state, band2);
125
        Reference band2_meeresfischeUndNeunaugen = createBand2_meeresfischeUndNeunaugen(state, band2);
126
//        Reference band2_nesseltiere = createBand2_nesseltiere(state, band2);
127
//        Reference band2_schaedellose = createBand2_schaedellose(state, band2);
128
//        Reference band2_schwaemme = createBand2_schwaemme(state, band2);
129
//        Reference band2_seepocken = createBand2_seepocken(state, band2);
130
//        Reference band2_seescheiden = createBand2_seescheiden(state, band2);
131
//        Reference band2_stachelhaeuter = createBand2_stachelhaeuter(state, band2);
132
//        Reference band2_vielborster = createBand2_vielborster(state, band2);
133
//        Reference band2_wenigborster = createBand2_wenigborster(state, band2);
134
//        Reference band2_zehnfusskrebse = createBand2_zehnfusskrebse(state, band2);
135

    
136
        Reference band3_ameisen = createBand3_ameisen(state, band3);
137
        Reference band3_bienen = createBand3_bienen(state, band3);
138
        Reference band3_binnenmollusken = createBand3_binnenmollusken(state, band3);
139
        Reference band3_eulenfalter = createBand3_eulenfalter(state, band3);
140
        Reference band3_fransenfluegler = createBand3_fransenfluegler(state, band3);
141
        Reference band3_heuschrecken = createBand3_heuschrecken(state, band3);
142
        Reference band3_ohrwuermer = createBand3_ohrwuermer(state, band3);
143
        Reference band3_pflanzenwespen = createBand3_pflanzenwespen(state, band3);
144
        Reference band3_raubfliegen = createBand3_raubfliegen(state, band3);
145
        Reference band3_schaben = createBand3_schaben(state, band3);
146
        Reference band3_schwebfliegen = createBand3_schwebfliegen(state, band3);
147
        Reference band3_spanner = createBand3_spanner(state, band3);
148
        Reference band3_spinner = createBand3_spinner(state, band3);
149
        Reference band3_tagfalter = createBand3_tagfalter(state, band3);
150
        Reference band3_tanzfliegen = createBand3_tanzfliegen(state, band3);
151
        Reference band3_wespen = createBand3_wespen(state, band3);
152
        Reference band3_zuenslerfalter = createBand3_zuenslerfalter(state, band3);
153

    
154

    
155
        Reference band6_flechtenUndPilze = createBand6_flechtenUndPilze(state, band6);
156
//        Reference band6_flechten = createBand6_flechten(state, band6);
157
//        Reference band6_flechtenaehnlichePilze = createBand6_flechtenaehnlichePilze(state, band6);
158
//        Reference band6_lichenicolePilze = createBand6_lichenicolePilze(state, band6);
159
        Reference band6_myxomyzeten = createBand6_myxomyzeten(state, band6);
160

    
161
	}
162

    
163

    
164
    /**
165
     * @param state
166
     * @param band6
167
     * @return
168
     */
169
    private Reference createBand6_myxomyzeten(BfnXmlImportState state, IBook band6) {
170
        IBookSection booksection = ReferenceFactory.newBookSection();
171
        booksection.setUuid(uuidBand6_myxomyzeten);
172
        booksection.setTitle("Rote Liste und Gesamtartenliste der Schleimpilze (Myxomycetes) Deutschlands.");
173
        booksection.setPages("125-234");
174
        Team team = makeTeamBand6_myxomyzeten();
175
        booksection.setAuthorship(team);
176
        booksection.setTitleCache("SCHNITTLER, M.; KUMMER, V.; KUHNT, A.; KRIEGLSTEINER, L.; FLATAU, L.; MÜLLER, H. und TÄG¬LICH, U. (2011): Rote Liste und Gesamtartenliste der Schleimpilze (Myxomycetes) Deutschlands. – In: LUDWIG, G. & MATZKE-HAJEK, G. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands. Band 6: Pilze (Teil 2) – Flechten und Myxomyzeten. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (6): 125-234.", true);
177
        booksection.setAbbrevTitleCache("SCHNITTLER et al. (2011)", true);
178
        booksection.setInBook(band6);
179
        return saveReference(booksection);
180
    }
181

    
182

    
183
    /**
184
     * @return
185
     */
186
    private Team makeTeamBand6_myxomyzeten() {
187
        Team team = Team.NewInstance();
188

    
189
        Person person1 = Person.NewInstance();
190
        person1.setInitials("M.");
191
        person1.setLastname("Schnittler");
192
        team.addTeamMember(person1);
193

    
194
        Person person2 = Person.NewInstance();
195
        person2.setInitials("V.");
196
        person2.setLastname("Kummer");
197
        team.addTeamMember(person2);
198

    
199
        Person person3 = Person.NewInstance();
200
        person3.setInitials("A.");
201
        person3.setLastname("Kuhnt");
202
        team.addTeamMember(person3);
203

    
204
        Person person4 = Person.NewInstance();
205
        person4.setInitials("L.");
206
        person4.setLastname("Kriegelsteiner");
207
        team.addTeamMember(person4);
208

    
209
        Person person5 = Person.NewInstance();
210
        person5.setInitials("L.");
211
        person5.setLastname("Flatau");
212
        team.addTeamMember(person5);
213

    
214
        Person person6 = Person.NewInstance();
215
        person6.setInitials("H.");
216
        person6.setLastname("Müller");
217
        team.addTeamMember(person5);
218

    
219
        Person person7 = Person.NewInstance();
220
        person7.setInitials("U.");
221
        person7.setLastname("Täglich");
222
        team.addTeamMember(person7);
223

    
224
        return team;
225
    }
226

    
227

    
228
    /**
229
     * @param state
230
     * @param band6
231
     * @return
232
     */
233
    private Reference createBand6_flechtenUndPilze(BfnXmlImportState state, IBook band6) {
234
        IBookSection booksection = ReferenceFactory.newBookSection();
235
        booksection.setUuid(uuidBand6_flechtenUndPilze);
236
        booksection.setTitle("Rote Liste und Artenverzeichnis der Flechten und flechtenbewohnenden Pilze Deutschlands.");
237
        booksection.setPages("7-122");
238
        Team team = makeTeamBand6_flechtenUndPilze();
239
        booksection.setAuthorship(team);
240
        booksection.setTitleCache("WIRTH, V.; HAUCK, M.; VON BRACKEL, W.; CEZANNE, R.; DE BRUYN, U.; DÜRHAMMER, O.;  EICHLER, M.; GNÜCHTEL, A.; JOHN, V.; LITTERSKI, B.; OTTE, V.; SCHIEFELBEIN, U.; SCHOLZ, P.; SCHULTZ, M.; STORDEUR, R.; FEUERER, T. und HEINRICH, D. (2011): Rote Liste und Artenverzeichnis der Flechten und flechtenbewohnenden Pilze Deutschlands. – In: LUDWIG, G. & MATZKE-HAJEK, G. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands. Band 6: Pilze (Teil 2) – Flechten und Myxomyzeten. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (6): 7-122.", true);
241
        booksection.setAbbrevTitleCache("WIRTH et al. (2011)", true);
242
        booksection.setInBook(band6);
243
        return saveReference(booksection);
244
    }
245

    
246

    
247
    /**
248
     * @return
249
     */
250
    private Team makeTeamBand6_flechtenUndPilze() {
251
        Team team = Team.NewInstance();
252

    
253
        Person person1 = Person.NewInstance();
254
        person1.setInitials("V.");
255
        person1.setLastname("Wirth");
256
        team.addTeamMember(person1);
257

    
258
        Person person2 = Person.NewInstance();
259
        person2.setInitials("M.");
260
        person2.setLastname("Hauck");
261
        team.addTeamMember(person2);
262

    
263
        Person person3 = Person.NewInstance();
264
        person3.setInitials("W.");
265
        person3.setLastname("von Brackel");
266
        team.addTeamMember(person3);
267

    
268
        Person person4 = Person.NewInstance();
269
        person4.setInitials("R.");
270
        person4.setLastname("Cezanne");
271
        team.addTeamMember(person4);
272

    
273
        Person person5 = Person.NewInstance();
274
        person5.setInitials("U.");
275
        person5.setLastname("de Bruyn");
276
        team.addTeamMember(person5);
277

    
278
        Person person6 = Person.NewInstance();
279
        person6.setInitials("O.");
280
        person6.setLastname("Dürhammer");
281
        team.addTeamMember(person5);
282

    
283
        Person person7 = Person.NewInstance();
284
        person7.setInitials("M.");
285
        person7.setLastname("Eichler");
286
        team.addTeamMember(person7);
287

    
288
        Person person8 = Person.NewInstance();
289
        person8.setInitials("A.");
290
        person8.setLastname("Gnüchtel");
291
        team.addTeamMember(person8);
292

    
293
        Person person9 = Person.NewInstance();
294
        person9.setInitials("V.");
295
        person9.setLastname("John");
296
        team.addTeamMember(person9);
297

    
298
        Person person10 = Person.NewInstance();
299
        person10.setInitials("B.");
300
        person10.setLastname("Litterski");
301
        team.addTeamMember(person10);
302

    
303
        Person person11 = Person.NewInstance();
304
        person11.setInitials("V.");
305
        person11.setLastname("Otte");
306
        team.addTeamMember(person11);
307

    
308
        Person person12 = Person.NewInstance();
309
        person12.setInitials("U.");
310
        person12.setLastname("Schiefelbein");
311
        team.addTeamMember(person12);
312

    
313
        Person person13 = Person.NewInstance();
314
        person13.setInitials("P.");
315
        person13.setLastname("Scholz");
316
        team.addTeamMember(person13);
317

    
318
        Person person14 = Person.NewInstance();
319
        person14.setInitials("M.");
320
        person14.setLastname("Schultz");
321
        team.addTeamMember(person14);
322

    
323
        Person person15 = Person.NewInstance();
324
        person15.setInitials("R.");
325
        person15.setLastname("Stordeur");
326
        team.addTeamMember(person15);
327

    
328
        Person person16 = Person.NewInstance();
329
        person16.setInitials("T.");
330
        person16.setLastname("Feuerer");
331
        team.addTeamMember(person16);
332

    
333
        Person person17 = Person.NewInstance();
334
        person17.setInitials("D.");
335
        person17.setLastname("Heinrich");
336
        team.addTeamMember(person17);
337

    
338
        return team;
339

    
340
    }
341

    
342

    
343
    /**
344
     * @param state
345
     * @param band3
346
     * @return
347
     */
348
    private Reference createBand3_zuenslerfalter(BfnXmlImportState state, IBook band3) {
349
        IBookSection booksection = ReferenceFactory.newBookSection();
350
        booksection.setUuid(uuidBand3_zuenslerfalter);
351
        booksection.setTitle("Rote Liste und Gesamtartenliste der Zünslerfalter (Lepidoptera: Pyraloidea) Deutschlands.");
352
        booksection.setPages("327-370");
353
        Person team = makeTeamBand3_zuenslerfalter();
354
        booksection.setAuthorship(team);
355
        booksection.setTitleCache("NUSS, M. (2011): Rote Liste und Gesamtartenliste der Zünslerfalter (Lepidoptera: Pyraloidea) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 327-370.", true);
356
        booksection.setAbbrevTitleCache("NUSS (2011)", true);
357
        booksection.setInBook(band3);
358
        return saveReference(booksection);
359
    }
360

    
361

    
362
    private Person makeTeamBand3_zuenslerfalter() {
363
        Person person = Person.NewInstance();
364
        person.setInitials("M.");
365
        person.setLastname("Nuss");
366
        return person;
367
    }
368

    
369

    
370
    /**
371
     * @param state
372
     * @param band3
373
     * @return
374
     */
375
    private Reference createBand3_wespen(BfnXmlImportState state, IBook band3) {
376
        IBookSection booksection = ReferenceFactory.newBookSection();
377
        booksection.setUuid(uuidBand3_wespen);
378
        booksection.setTitle("Rote Liste und Gesamtartenliste der Wespen Deutschlands. Hymenoptera, Aculeata: Grabwespen (Ampulicidae, Crabronidae, Sphecidae), Wegwespen (Pompilidae), Goldwespen (Chrysididae), Faltenwespen (Vespidae), Spinnenameisen (Mutillidae), Dolchwespen (Scoliidae), Rollwespen (Tiphiidae) und Keulhornwespen (Sapygidae).");
379
        booksection.setPages("419-465");
380
        Person team = makeTeamBand3_wespen();
381
        booksection.setAuthorship(team);
382
        booksection.setTitleCache("SCHMID-EGGER, C. (2011): Rote Liste und Gesamtartenliste der Wespen Deutschlands. Hymenoptera, Aculeata: Grabwespen (Ampulicidae, Crabronidae, Sphecidae), Wegwespen (Pompilidae), Goldwespen (Chrysididae), Faltenwespen (Vespidae), Spinnenameisen (Mutillidae), Dolchwespen (Scoliidae), Rollwespen (Tiphiidae) und Keulhornwespen (Sapygidae). – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 419-465.", true);
383
        booksection.setAbbrevTitleCache("SCHMID-EGGER (2011)", true);
384
        booksection.setInBook(band3);
385
        return saveReference(booksection);
386
    }
387

    
388
    private Person makeTeamBand3_wespen() {
389
        Person person = Person.NewInstance();
390
        person.setInitials("C.");
391
        person.setLastname("Schmid-Egger");
392
        return person;
393
    }
394

    
395

    
396
    /**
397
     * @param state
398
     * @param band3
399
     * @return
400
     */
401
    private Reference createBand3_tanzfliegen(BfnXmlImportState state, IBook band3) {
402
        IBookSection booksection = ReferenceFactory.newBookSection();
403
        booksection.setUuid(uuidBand3_tanzfliegen);
404
        booksection.setTitle("Rote Liste und Gesamtartenliste der Langbein-, Tanz- und Rennraubfliegen (Diptera, Empidoidea; Dolichopodidae, Atelestidae, Empididae, Hybotidae, Microphoridae) Deutschlands.");
405
        booksection.setPages("87-140");
406
        Team team = makeTeamBand3_tanzfliegen();
407
        booksection.setAuthorship(team);
408
        booksection.setTitleCache("MEYER, H. & WAGNER, R. (2011): Rote Liste und Gesamtartenliste der Langbein-, Tanz- und Rennraubfliegen (Diptera, Empidoidea; Dolichopodidae, Atelestidae, Empididae, Hybotidae, Microphoridae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 87-140.", true);
409
        booksection.setAbbrevTitleCache("MEYER & WAGNER (2011)", true);
410
        booksection.setInBook(band3);
411
        return saveReference(booksection);
412
    }
413

    
414

    
415
    /**
416
     * @return
417
     */
418
    private Team makeTeamBand3_tanzfliegen() {
419
        Team team = Team.NewInstance();
420

    
421
        Person person1 = Person.NewInstance();
422
        person1.setInitials("H.");
423
        person1.setLastname("Meyer");
424
        team.addTeamMember(person1);
425

    
426
        Person person2 = Person.NewInstance();
427
        person2.setInitials("R.");
428
        person2.setLastname("Wagner");
429
        team.addTeamMember(person2);
430

    
431
        return team;
432
    }
433

    
434

    
435
    /**
436
     * @param state
437
     * @param band3
438
     * @return
439
     */
440
    private Reference createBand3_tagfalter(BfnXmlImportState state, IBook band3) {
441
        IBookSection booksection = ReferenceFactory.newBookSection();
442
        booksection.setUuid(uuidBand3_tagfalter);
443
        booksection.setTitle("Rote Liste und Gesamtartenliste der Tagfalter (Rhopalocera) (Lepidoptera: Papilionoidea et Hesperioidea) Deutschlands.");
444
        booksection.setPages("167-194");
445
        Team team = makeTeamBand3_tagfalter();
446
        booksection.setAuthorship(team);
447
        booksection.setTitleCache("REINHARDT, R. & BOLZ, R. (2011): Rote Liste und Gesamtartenliste der Tagfalter (Rhopalocera) (Lepidoptera: Papilionoidea et Hesperioidea) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 167-194.", true);
448
        booksection.setAbbrevTitleCache("REINHARDT & BOLZ (2011)", true);
449
        booksection.setInBook(band3);
450
        return saveReference(booksection);
451
    }
452

    
453

    
454
    /**
455
     * @return
456
     */
457
    private Team makeTeamBand3_tagfalter() {
458
        Team team = Team.NewInstance();
459

    
460
        Person person1 = Person.NewInstance();
461
        person1.setInitials("R.");
462
        person1.setLastname("Reinhardt");
463
        team.addTeamMember(person1);
464

    
465
        Person person2 = makeBolz();
466
        team.addTeamMember(person2);
467

    
468
        return team;
469
    }
470

    
471

    
472
    /**
473
     * @param state
474
     * @param band3
475
     * @return
476
     */
477
    private Reference createBand3_spinner(BfnXmlImportState state, IBook band3) {
478
        IBookSection booksection = ReferenceFactory.newBookSection();
479
        booksection.setUuid(uuidBand3_spinner);
480
        booksection.setTitle("Rote Liste und Gesamtartenliste der Spinnerartigen Falter (Lepidoptera: Bombyces, Sphinges s.l.) Deutschlands.");
481
        booksection.setPages("243-283");
482
        Team team = makeTeamBand3_spinner();
483
        booksection.setAuthorship(team);
484
        booksection.setTitleCache("RENNWALD, E.: SOBCZYK, T. & HOFMANN, A. (2011): Rote Liste und Gesamtartenliste der Spinnerartigen Falter (Lepidoptera: Bombyces, Sphinges s.l.) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 243-283.", true);
485
        booksection.setAbbrevTitleCache("RENNWALD et al. (2011)", true);
486
        booksection.setInBook(band3);
487
        return saveReference(booksection);
488
    }
489

    
490

    
491
    /**
492
     * @return
493
     */
494
    private Team makeTeamBand3_spinner() {
495
        Team team = Team.NewInstance();
496

    
497
        Person person1 = Person.NewInstance();
498
        person1.setInitials("E.");
499
        person1.setLastname("Rennwald");
500
        team.addTeamMember(person1);
501

    
502
        Person person2 = Person.NewInstance();
503
        person2.setInitials("T.");
504
        person2.setLastname("Sobczyk");
505
        team.addTeamMember(person2);
506

    
507
        Person person3 = Person.NewInstance();
508
        person3.setInitials("A.");
509
        person3.setLastname("Hofmann");
510
        team.addTeamMember(person3);
511

    
512
        return team;
513
    }
514

    
515

    
516
    /**
517
     * @param state
518
     * @param band3
519
     * @return
520
     */
521
    private Reference createBand3_spanner(BfnXmlImportState state, IBook band3) {
522
        IBookSection booksection = ReferenceFactory.newBookSection();
523
        booksection.setUuid(uuidBand3_spanner);
524
        booksection.setTitle("Rote Liste und Gesamtartenliste der Spanner, Eulenspinner und Sichelflügler (Lepidoptera: Geometridae et Drepanidae) Deutschlands.");
525
        booksection.setPages("287-324");
526
        Team team = makeTeamBand3_spanner();
527
        booksection.setAuthorship(team);
528
        booksection.setTitleCache("TRUSCH, R.; GELBRECHT, J.; SCHMIDT, A.; SCHÖNBORN, C.; SCHUMACHER, H.; WEGNER, H. & WOLF, W. (2011): Rote Liste und Gesamtartenliste der Spanner, Eulenspinner und Sichelflügler (Lepidoptera: Geometridae et Drepanidae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 287-324.", true);
529
        booksection.setAbbrevTitleCache("TRUSCH et al. (2011)", true);
530
        booksection.setInBook(band3);
531
        return saveReference(booksection);
532
    }
533

    
534

    
535
    /**
536
     * @return
537
     */
538
    private Team makeTeamBand3_spanner() {
539
        Team team = Team.NewInstance();
540

    
541
        Person person1 = Person.NewInstance();
542
        person1.setInitials("R.");
543
        person1.setLastname("Trusch");
544
        team.addTeamMember(person1);
545

    
546
        Person person2 = Person.NewInstance();
547
        person2.setInitials("J.");
548
        person2.setLastname("Gelbrecht");
549
        team.addTeamMember(person2);
550

    
551
        Person person3 = Person.NewInstance();
552
        person3.setInitials("A.");
553
        person3.setLastname("Schmidt");
554
        team.addTeamMember(person3);
555

    
556
        Person person4 = Person.NewInstance();
557
        person4.setInitials("C.");
558
        person4.setLastname("Schönborn");
559
        team.addTeamMember(person4);
560

    
561
        Person person5 = Person.NewInstance();
562
        person5.setInitials("H.");
563
        person5.setLastname("Schumacher");
564
        team.addTeamMember(person5);
565

    
566
        Person person6 = Person.NewInstance();
567
        person6.setInitials("H.");
568
        person6.setLastname("Wegner");
569
        team.addTeamMember(person5);
570

    
571
        Person person7 = Person.NewInstance();
572
        person7.setInitials("W.");
573
        person7.setLastname("Wolf");
574
        team.addTeamMember(person7);
575

    
576
        return team;
577
    }
578

    
579

    
580
    /**
581
     * @param state
582
     * @param band3
583
     * @return
584
     */
585
    private Reference createBand3_schwebfliegen(BfnXmlImportState state, IBook band3) {
586
        IBookSection booksection = ReferenceFactory.newBookSection();
587
        booksection.setUuid(uuidBand3_schwebfliegen);
588
        booksection.setTitle("Rote Liste und Gesamtartenliste der Schwebfliegen (Diptera: Syrphidae) Deutschlands.");
589
        booksection.setPages("13-83");
590
        Team team = makeTeamBand3_schwebfliegen();
591
        booksection.setAuthorship(team);
592
        booksection.setTitleCache("SSYMANK, A.; DOCZKAL, D.; RENNWALD, K. & DZIOCK, F. (2011): Rote Liste und Gesamtartenliste der Schwebfliegen (Diptera: Syrphidae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 13-83.", true);
593
        booksection.setAbbrevTitleCache("SSYMANK et al. (2011)", true);
594
        booksection.setInBook(band3);
595
        return saveReference(booksection);
596
    }
597

    
598

    
599
    /**
600
     * @return
601
     */
602
    private Team makeTeamBand3_schwebfliegen() {
603
        Team team = Team.NewInstance();
604

    
605
        Person person1 = Person.NewInstance();
606
        person1.setInitials("A.");
607
        person1.setLastname("Ssymank");
608
        team.addTeamMember(person1);
609

    
610
        Person person2 = Person.NewInstance();
611
        person2.setInitials("D.");
612
        person2.setLastname("Doczkal");
613
        team.addTeamMember(person2);
614

    
615
        Person person3 = Person.NewInstance();
616
        person3.setInitials("K.");
617
        person3.setLastname("Rennwald");
618
        team.addTeamMember(person3);
619

    
620
        Person person4 = Person.NewInstance();
621
        person4.setInitials("F.");
622
        person4.setLastname("Dziock");
623
        team.addTeamMember(person4);
624

    
625
        return team;
626
    }
627

    
628

    
629
    /**
630
     * @param state
631
     * @param band3
632
     * @return
633
     */
634
    private Reference createBand3_schaben(BfnXmlImportState state, IBook band3) {
635
        IBookSection booksection = ReferenceFactory.newBookSection();
636
        booksection.setUuid(uuidBand3_schaben);
637
        booksection.setTitle("Rote Liste der Wildschaben und Gesamtartenliste der Schaben (Blattoptera) Deutschlands.");
638
        booksection.setPages("609-625");
639
        Team team = makeTeamBand3_schaben();
640
        booksection.setAuthorship(team);
641
        booksection.setTitleCache("KÖHLER, G. & BOHN, H. (2011): Rote Liste der Wildschaben und Gesamtartenliste der Schaben (Blattoptera) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 609-625.", true);
642
        booksection.setAbbrevTitleCache("KÖHLER & BOHN (2011)", true);
643
        booksection.setInBook(band3);
644
        return saveReference(booksection);
645
    }
646

    
647

    
648
    /**
649
     * @return
650
     */
651
    private Team makeTeamBand3_schaben() {
652
        Team team = Team.NewInstance();
653

    
654
        Person person1 = makeKoehlerG();
655
        team.addTeamMember(person1);
656

    
657
        Person person2 = Person.NewInstance();
658
        person2.setInitials("H.");
659
        person2.setLastname("Bohn");
660
        team.addTeamMember(person2);
661

    
662
        return team;
663
    }
664

    
665

    
666
    /**
667
     * @param state
668
     * @param band3
669
     * @return
670
     */
671
    private Reference createBand3_raubfliegen(BfnXmlImportState state, IBook band3) {
672
        IBookSection booksection = ReferenceFactory.newBookSection();
673
        booksection.setUuid(uuidBand3_raubfliegen);
674
        booksection.setTitle("Rote Liste und Gesamtartenliste der Raubfliegen (Diptera: Asilidae) Deutschlands.");
675
        booksection.setPages("143-164");
676
        Person team = makeTeamBand3_raubfliegen();
677
        booksection.setAuthorship(team);
678
        booksection.setTitleCache("WOLFF, D. (2011): Rote Liste und Gesamtartenliste der Raubfliegen (Diptera: Asilidae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 143-164.", true);
679
        booksection.setAbbrevTitleCache("WOLFF (2011)", true);
680
        booksection.setInBook(band3);
681
        return saveReference(booksection);
682
    }
683

    
684

    
685
    /**
686
     * @return
687
     */
688
    private Person makeTeamBand3_raubfliegen() {
689
        Person ludwig = Person.NewInstance();
690
        ludwig.setInitials("D.");
691
        ludwig.setLastname("Wolff");
692
        return ludwig;
693
    }
694

    
695

    
696
    /**
697
     * @param state
698
     * @param band3
699
     * @return
700
     */
701
    private Reference createBand3_pflanzenwespen(BfnXmlImportState state, IBook band3) {
702
        IBookSection booksection = ReferenceFactory.newBookSection();
703
        booksection.setUuid(uuidBand3_pflanzenwespen);
704
        booksection.setTitle("Rote Liste und Gesamtartenliste der Pflanzenwespen (Hymenoptera: Symphyta) Deutschlands.");
705
        booksection.setPages("491-556");
706
        Team team = makeTeamBand3_pflanzenwespen();
707
        booksection.setAuthorship(team);
708
        booksection.setTitleCache("LISTON, A.D.; JANSEN, E.; BLANK, S.M.; KRAUS, M. & TAEGER, A. (2011): Rote Liste und Gesamtartenliste der Pflanzenwespen (Hymenoptera: Symphyta) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 491-556.", true);
709
        booksection.setAbbrevTitleCache("LISTON et al. (2011)", true);
710
        booksection.setInBook(band3);
711
        return saveReference(booksection);
712
    }
713

    
714

    
715
    /**
716
     * @return
717
     */
718
    private Team makeTeamBand3_pflanzenwespen() {
719
        Team team = Team.NewInstance();
720

    
721
        Person person1 = Person.NewInstance();
722
        person1.setInitials("A.D.");
723
        person1.setLastname("Liston");
724
        team.addTeamMember(person1);
725

    
726
        Person person2 = Person.NewInstance();
727
        person2.setInitials("E.");
728
        person2.setLastname("Jansen");
729
        team.addTeamMember(person2);
730

    
731
        Person person3 = Person.NewInstance();
732
        person3.setInitials("S.M.");
733
        person3.setLastname("Blank");
734
        team.addTeamMember(person3);
735

    
736
        Person person4 = Person.NewInstance();
737
        person4.setInitials("M.");
738
        person4.setLastname("Kraus");
739
        team.addTeamMember(person4);
740

    
741
        Person person5 = Person.NewInstance();
742
        person5.setInitials("A.");
743
        person5.setLastname("Taeger");
744
        team.addTeamMember(person5);
745

    
746
        return team;
747
    }
748

    
749

    
750
    /**
751
     * @param state
752
     * @param band3
753
     * @return
754
     */
755
    private Reference createBand3_ohrwuermer(BfnXmlImportState state, IBook band3) {
756
        IBookSection booksection = ReferenceFactory.newBookSection();
757
        booksection.setUuid(uuidBand3_ohrwuermer);
758
        booksection.setTitle("Rote Liste und Gesamtartenliste der Ohrwürmer (Dermaptera) Deutsch¬lands.");
759
        booksection.setPages("629-642");
760
        Team team = makeTeamBand3_ohrwuermer();
761
        booksection.setAuthorship(team);
762
        booksection.setTitleCache("MATZKE, D. & KÖHLER, G. (2011): Rote Liste und Gesamtartenliste der Ohrwürmer (Dermaptera) Deutsch¬lands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 629-642.", true);
763
        booksection.setAbbrevTitleCache("MATZKE & KÖHLER (2011)", true);
764
        booksection.setInBook(band3);
765
        return saveReference(booksection);
766
    }
767

    
768

    
769
    /**
770
     * @return
771
     */
772
    private Team makeTeamBand3_ohrwuermer() {
773
        Team team = Team.NewInstance();
774

    
775
        Person person1 = Person.NewInstance();
776
        person1.setInitials("D.");
777
        person1.setLastname("Matzke");
778
        team.addTeamMember(person1);
779

    
780
        Person person2 = makeKoehlerG();
781
        team.addTeamMember(person2);
782

    
783
        return team;
784
    }
785

    
786
    private Reference createBand3_heuschrecken(BfnXmlImportState state, IBook band3) {
787
        IBookSection booksection = ReferenceFactory.newBookSection();
788
        booksection.setUuid(uuidBand3_heuschrecken);
789
        booksection.setTitle("Rote Liste und Gesamtartenliste der Heuschrecken (Saltatoria) Deutschlands.");
790
        booksection.setPages("577-606");
791
        Team team = makeTeamBand3_heuschrecken();
792
        booksection.setAuthorship(team);
793
        booksection.setTitleCache("MAAS, S.; DETZEL, P. & STAUDT, A. (2011): Rote Liste und Gesamtartenliste der Heuschrecken (Saltatoria) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 577-606.", true);
794
        booksection.setAbbrevTitleCache("MAAS et al. (2011)", true);
795
        booksection.setInBook(band3);
796
        return saveReference(booksection);
797
    }
798

    
799
    /**
800
     * @return
801
     */
802
    private Team makeTeamBand3_heuschrecken() {
803
        Team team = Team.NewInstance();
804

    
805
        Person person1 = Person.NewInstance();
806
        person1.setInitials("S.");
807
        person1.setLastname("Mass");
808
        team.addTeamMember(person1);
809

    
810
        Person person2 = Person.NewInstance();
811
        person2.setInitials("P.");
812
        person2.setLastname("Detzel");
813
        team.addTeamMember(person2);
814

    
815
        Person person3 = Person.NewInstance();
816
        person3.setInitials("A.");
817
        person3.setLastname("Staudt");
818
        team.addTeamMember(person3);
819

    
820
        return team;
821
    }
822

    
823

    
824
    private Reference createBand3_fransenfluegler(BfnXmlImportState state, IBook band3) {
825
        IBookSection booksection = ReferenceFactory.newBookSection();
826
        booksection.setUuid(uuidBand3_fransenfluegler);
827
        booksection.setTitle("Rote Liste und Gesamtartenliste der Fransenflügler (Thysanoptera) Deutschlands.");
828
        booksection.setPages("559-573");
829
        Person team = makeTeamBand3_fransenfluegler();
830
        booksection.setAuthorship(team);
831
        booksection.setTitleCache("ZUR STRASSEN, R. (2011): Rote Liste und Gesamtartenliste der Fransenflügler (Thysanoptera) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 559-573.", true);
832
        booksection.setAbbrevTitleCache("ZUR STRASSEN (2011)", true);
833
        booksection.setInBook(band3);
834
        return saveReference(booksection);
835
    }
836

    
837
    private Person makeTeamBand3_fransenfluegler() {
838
        Person person = Person.NewInstance();
839
        person.setInitials("R.");
840
        person.setLastname("zur Strassen");
841
        return person;
842
    }
843

    
844

    
845
    /**
846
     * @param state
847
     * @param band3
848
     * @return
849
     */
850
    private Reference createBand3_eulenfalter(BfnXmlImportState state, IBook band3) {
851
        IBookSection booksection = ReferenceFactory.newBookSection();
852
        booksection.setUuid(uuidBand3_eulenfalter);
853
        booksection.setTitle("Rote Liste und Gesamtartenliste der Eulenfalter, Trägspinner und Graueulchen (Lepidoptera: Noctuoidea) Deutschlands.");
854
        booksection.setPages("197-239");
855
        Team team = makeTeamBand3_eulenfalter();
856
        booksection.setAuthorship(team);
857
        booksection.setTitleCache("WACHLIN, V. & BOLZ, R. (2011): Rote Liste und Gesamtartenliste der Eulenfalter, Trägspinner und Graueulchen (Lepidoptera: Noctuoidea) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 197-239.", true);
858
        booksection.setAbbrevTitleCache("WACHLIN & BOLZ (2011)", true);
859
        booksection.setInBook(band3);
860
        return saveReference(booksection);
861
    }
862

    
863

    
864
    /**
865
     * @return
866
     */
867
    private Team makeTeamBand3_eulenfalter() {
868
        Team team = Team.NewInstance();
869

    
870
        Person person1 = Person.NewInstance();
871
        person1.setInitials("V.");
872
        person1.setLastname("Wachlin");
873
        team.addTeamMember(person1);
874

    
875
        Person person2 = makeBolz();
876
        team.addTeamMember(person2);
877

    
878
        return team;
879
    }
880

    
881

    
882
    /**
883
     * @param state
884
     * @param band3
885
     * @return
886
     */
887
    private Reference createBand3_binnenmollusken(BfnXmlImportState state, IBook band3) {
888
        IBookSection booksection = ReferenceFactory.newBookSection();
889
        booksection.setUuid(uuidBand3_binnenmollusken);
890
        booksection.setTitle("Rote Liste und Gesamtartenliste der Binnenmollusken (Schnecken und Muscheln; Gastropoda et Bivalvia) Deutschlands.");
891
        booksection.setPages("647-708");
892
        Team team = makeTeamBand3_binnenmollusken();
893
        booksection.setAuthorship(team);
894
        booksection.setTitleCache("JUNGBLUTH, J. & KNORRE, D. VON (2011): Rote Liste und Gesamtartenliste der Binnenmollusken (Schnecken und Muscheln; Gastropoda et Bivalvia) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 647-708.", true);
895
        booksection.setAbbrevTitleCache("JUNGBLUTH & KNORRE (2011)", true);
896
        booksection.setInBook(band3);
897
        return saveReference(booksection);
898
    }
899

    
900
    private Team makeTeamBand3_binnenmollusken() {
901
        Team team = Team.NewInstance();
902

    
903
        Person person1 = Person.NewInstance();
904
        person1.setInitials("J.");
905
        person1.setLastname("Jungbluth");
906
        team.addTeamMember(person1);
907

    
908
        Person person2 = Person.NewInstance();
909
        person2.setInitials("D. von");
910
        person2.setLastname("Knorre");
911
        team.addTeamMember(person2);
912

    
913
        return team;
914
    }
915

    
916

    
917
    /**
918
     * @param state
919
     * @param band3
920
     * @return
921
     */
922
    private Reference createBand3_bienen(BfnXmlImportState state, IBook band3) {
923
        IBookSection booksection = ReferenceFactory.newBookSection();
924
        booksection.setUuid(uuidBand3_bienen);
925
        booksection.setTitle("Rote Liste und Gesamtartenliste der Bienen (Hymenoptera, Apidae) Deutschlands.");
926
        booksection.setPages("373-416");
927
        Team team = makeTeamBand3_bienen();
928
        booksection.setAuthorship(team);
929
        booksection.setTitleCache("WESTRICH, P.; FROMMER, U.; MANDERY, K.; RIEMANN, H.; RUHNKE, H.; SAURE, C. & VOITH, J. (2011): Rote Liste und Gesamtartenliste der Bienen (Hymenoptera, Apidae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 373-416.", true);
930
        booksection.setAbbrevTitleCache("WESTRICH et al. (2011)", true);
931
        booksection.setInBook(band3);
932
        return saveReference(booksection);
933
    }
934

    
935

    
936
    /**
937
     * @return
938
     */
939
    private Team makeTeamBand3_bienen() {
940
        Team team = Team.NewInstance();
941

    
942
        Person person1 = Person.NewInstance();
943
        person1.setInitials("P.");
944
        person1.setLastname("Westrich");
945
        team.addTeamMember(person1);
946

    
947
        Person person2 = Person.NewInstance();
948
        person2.setInitials("U.");
949
        person2.setLastname("Frommer");
950
        team.addTeamMember(person2);
951

    
952
        Person person3 = Person.NewInstance();
953
        person3.setInitials("K.");
954
        person3.setLastname("Mandery");
955
        team.addTeamMember(person3);
956

    
957
        Person person4 = Person.NewInstance();
958
        person4.setInitials("H.");
959
        person4.setLastname("Riemann");
960
        team.addTeamMember(person4);
961

    
962
        Person person5 = Person.NewInstance();
963
        person5.setInitials("H.");
964
        person5.setLastname("Ruhnke");
965
        team.addTeamMember(person5);
966

    
967
        Person person6 = Person.NewInstance();
968
        person6.setInitials("C.");
969
        person6.setLastname("Saure");
970
        team.addTeamMember(person5);
971

    
972
        Person person7 = Person.NewInstance();
973
        person7.setInitials("J.");
974
        person7.setLastname("Voith");
975
        team.addTeamMember(person7);
976

    
977
        return team;
978
    }
979

    
980

    
981
    /**
982
     * @param state
983
     * @param band3
984
     * @return
985
     */
986
    private Reference createBand3_ameisen(BfnXmlImportState state, IBook band3) {
987
        IBookSection booksection = ReferenceFactory.newBookSection();
988
        booksection.setUuid(uuidBand3_ameisen);
989
        booksection.setTitle("Rote Liste und Gesamtartenliste der Ameisen (Hymenoptera: Formicidae) Deutschlands.");
990
        booksection.setPages("469-487");
991
        Person team = makeTeamBand3_ameisen();
992
        booksection.setAuthorship(team);
993
        booksection.setTitleCache("SEIFERT, B. (2011): Rote Liste und Gesamtartenliste der Ameisen (Hymenoptera: Formicidae) Deutschlands. – In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1). – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (3): 469-487.", true);
994
        booksection.setAbbrevTitleCache("SEIFERT (2011)", true);
995
        booksection.setInBook(band3);
996
        return saveReference(booksection);
997
    }
998

    
999

    
1000
    /**
1001
     * @return
1002
     */
1003
    private Person makeTeamBand3_ameisen() {
1004
        Person person = Person.NewInstance();
1005
        person.setInitials("B.");
1006
        person.setLastname("Seifert");
1007
        return person;
1008
    }
1009

    
1010

    
1011
    /**
1012
     * @param state
1013
     * @param band2
1014
     * @return
1015
     */
1016
    private Reference createBand2_meeresfischeUndNeunaugen(BfnXmlImportState state, IBook band2) {
1017
        IBookSection booksection = ReferenceFactory.newBookSection();
1018
        booksection.setUuid(uuidBand2_meeresfischeUndNeunaugen);
1019
        booksection.setTitle("Rote Liste und Gesamtartenliste der etablierten Fische und Neunaugen (Elasmobranchii, Actinopterygii & Petromyzontida) der marinen Gewässer Deutschlands.");
1020
        booksection.setPages("11-76");
1021
        Team team = makeTeamBand2_meeresfischeUndNeunaugen();
1022
        booksection.setAuthorship(team);
1023
        booksection.setTitleCache("THIEL, R.; WINKLER, H.; BÖTTCHER, U.; DÄNHARDT, A.; FRICKE, R.; GEORGE, M.; KLOPP¬MANN, M.; SCHAARSCHMIDT, T.; UBL, C. & VORBERG, R. (2013): Rote Liste und Gesamtartenliste der etablierten Fische und Neunaugen (Elasmobranchii, Actinopterygii & Petromyzontida) der marinen Gewässer Deutschlands. – In: BECKER, N.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G. & NEHRING, S. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 2: Meeresorganismen. – Münster (Landwirt¬schaftsverlag). – Naturschutz und Biologische Vielfalt 70 (2): 11-76.", true);
1024
        booksection.setAbbrevTitleCache("THIEL et al. (2013)", true);
1025
        booksection.setInBook(band2);
1026
        return saveReference(booksection);
1027
    }
1028

    
1029

    
1030
    /**
1031
     * @return
1032
     */
1033
    private Team makeTeamBand2_meeresfischeUndNeunaugen() {
1034
        Team team = Team.NewInstance();
1035

    
1036
        Person person1 = Person.NewInstance();
1037
        person1.setInitials("R.");
1038
        person1.setLastname("Thiel");
1039
        team.addTeamMember(person1);
1040

    
1041
        Person person2 = Person.NewInstance();
1042
        person2.setInitials("H.");
1043
        person2.setLastname("Winkler");
1044
        team.addTeamMember(person2);
1045

    
1046
        Person person3 = Person.NewInstance();
1047
        person3.setInitials("U.");
1048
        person3.setLastname("Böttcher");
1049
        team.addTeamMember(person3);
1050

    
1051
        Person person4 = Person.NewInstance();
1052
        person4.setInitials("A.");
1053
        person4.setLastname("Dänhardt");
1054
        team.addTeamMember(person4);
1055

    
1056
        Person person5 = Person.NewInstance();
1057
        person5.setInitials("R.");
1058
        person5.setLastname("Fricke");
1059
        team.addTeamMember(person5);
1060

    
1061
        Person person6 = Person.NewInstance();
1062
        person6.setInitials("M.");
1063
        person6.setLastname("George");
1064
        team.addTeamMember(person5);
1065

    
1066
        Person person7 = Person.NewInstance();
1067
        person7.setInitials("M.");
1068
        person7.setLastname("Kloppmann");
1069
        team.addTeamMember(person7);
1070

    
1071
        Person person8 = Person.NewInstance();
1072
        person8.setInitials("T.");
1073
        person8.setLastname("Schaarschmidth");
1074
        team.addTeamMember(person8);
1075

    
1076
        Person person9 = Person.NewInstance();
1077
        person9.setInitials("C.");
1078
        person9.setLastname("Ubl");
1079
        team.addTeamMember(person9);
1080

    
1081
        Person person10 = Person.NewInstance();
1082
        person10.setInitials("R.");
1083
        person10.setLastname("Vorberg");
1084
        team.addTeamMember(person10);
1085

    
1086
        return team;
1087
    }
1088

    
1089

    
1090
    /**
1091
     * @param state
1092
     * @param band2
1093
     * @return
1094
     */
1095
    private Reference createBand2_marineMakroalgen(BfnXmlImportState state, IBook band2) {
1096
        IBookSection booksection = ReferenceFactory.newBookSection();
1097
        booksection.setUuid(uuidBand2_marineMakroalgen);
1098
        booksection.setTitle("Rote Liste und Gesamtartenliste der marinen Makroalgen (Chlorophyta, Phaeophyceae et Rhodophyta) Deutschlands.");
1099
        booksection.setPages("179-229");
1100
        Team team = makeTeamBand2_marineMakroalgen();
1101
        booksection.setAuthorship(team);
1102
        booksection.setTitleCache("SCHORIES, D.; KUHLENKAMP, R.; SCHUBERT, H. & SELIG, U. (2013): Rote Liste und Gesamtartenliste der marinen Makroalgen (Chlorophyta, Phaeophyceae et Rhodophyta) Deutschlands. – In: BECKER, N.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G. & NEHRING, S. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 2: Meeresorganismen. – Münster (Landwirt¬schaftsverlag). – Naturschutz und Biologische Vielfalt 70 (2): 179-229.", true);
1103
        booksection.setAbbrevTitleCache("SCHORIES et al. (2013)", true);
1104
        booksection.setInBook(band2);
1105
        return saveReference(booksection);
1106
    }
1107

    
1108

    
1109

    
1110
    /**
1111
     * @return
1112
     */
1113
    private Team makeTeamBand2_marineMakroalgen() {
1114
        Team team = Team.NewInstance();
1115

    
1116
        Person person1 = Person.NewInstance();
1117
        person1.setInitials("D.");
1118
        person1.setLastname("Schories");
1119
        team.addTeamMember(person1);
1120

    
1121
        Person person2 = Person.NewInstance();
1122
        person2.setInitials("R.");
1123
        person2.setLastname("Kuhlenkamp");
1124
        team.addTeamMember(person2);
1125

    
1126
        Person person3 = Person.NewInstance();
1127
        person3.setInitials("H.");
1128
        person3.setLastname("Schubert");
1129
        team.addTeamMember(person3);
1130

    
1131
        Person person4 = Person.NewInstance();
1132
        person4.setInitials("U.");
1133
        person4.setLastname("Selig");
1134
        team.addTeamMember(person4);
1135

    
1136
        return team;
1137
    }
1138

    
1139

    
1140
    /**
1141
     * @param state
1142
     * @param band2
1143
     * @return
1144
     */
1145
    private Reference createBand2_bodenlebendenWirbellosenMeerestiere(BfnXmlImportState state, IBook band2) {
1146
        IBookSection booksection = ReferenceFactory.newBookSection();
1147
        booksection.setUuid(uuidBand2_bodenlebendenWirbellosenMeerestiere);
1148
        booksection.setTitle("Rote Liste und Artenlisten der bodenlebenden wirbellosen Meerestiere.");
1149
        booksection.setPages("81-176");
1150
        Team team = makeTeamBand2_bodenlebendenWirbellosenMeerestiere();
1151
        booksection.setAuthorship(team);
1152
        booksection.setTitleCache("RACHOR, E.; BÖNSCH, R.; BOOS, K.; GOSSELCK, F.; GROTJAHN, M.; GÜNTER, C.-P.; GUSKY, M.; GUTOW, L.; HEIBER, W.; JANTSCHIK, P.; KRIEG, H.-J.; KRONE, R.; NEHMER, P.; REICHERT, K.; REISS, H.; SCHRÖDER, A.; WITT, J. & ZETTLER, M.L. (2013): Rote Liste und Artenlisten der bodenlebenden wirbellosen Meerestiere. – In: BECKER, N.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G. & NEHRING, S. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 2: Meeresorganismen. – Münster (Landwirt¬schaftsverlag). – Naturschutz und Biologische Vielfalt 70 (2): 81-176.", true);
1153
        booksection.setAbbrevTitleCache("RACHOR et al. (2013)", true);
1154
        booksection.setInBook(band2);
1155
        return saveReference(booksection);
1156
    }
1157

    
1158

    
1159
    /**
1160
     * @return
1161
     */
1162
    private Team makeTeamBand2_bodenlebendenWirbellosenMeerestiere() {
1163
        Team team = Team.NewInstance();
1164

    
1165
        Person person1 = Person.NewInstance();
1166
        person1.setInitials("E.");
1167
        person1.setLastname("Rachor");
1168
        team.addTeamMember(person1);
1169

    
1170
        Person person2 = Person.NewInstance();
1171
        person2.setInitials("R.");
1172
        person2.setLastname("Bönsch");
1173
        team.addTeamMember(person2);
1174

    
1175
        Person person3 = Person.NewInstance();
1176
        person3.setInitials("K.");
1177
        person3.setLastname("Boos");
1178
        team.addTeamMember(person3);
1179

    
1180
        Person person4 = Person.NewInstance();
1181
        person4.setInitials("F.");
1182
        person4.setLastname("Gosselck");
1183
        team.addTeamMember(person4);
1184

    
1185
        Person person5 = Person.NewInstance();
1186
        person5.setInitials("M.");
1187
        person5.setLastname("Grotjahn");
1188
        team.addTeamMember(person5);
1189

    
1190
        Person person6 = Person.NewInstance();
1191
        person6.setInitials("C.-P.");
1192
        person6.setLastname("Günter");
1193
        team.addTeamMember(person5);
1194

    
1195
        Person person7 = Person.NewInstance();
1196
        person7.setInitials("M.");
1197
        person7.setLastname("Gusky");
1198
        team.addTeamMember(person7);
1199

    
1200
        Person person8 = Person.NewInstance();
1201
        person8.setInitials("L.");
1202
        person8.setLastname("Gutow");
1203
        team.addTeamMember(person8);
1204

    
1205
        Person person9 = Person.NewInstance();
1206
        person9.setInitials("W.");
1207
        person9.setLastname("Heiber");
1208
        team.addTeamMember(person9);
1209

    
1210
        Person person10 = Person.NewInstance();
1211
        person10.setInitials("P.");
1212
        person10.setLastname("Jantschik");
1213
        team.addTeamMember(person10);
1214

    
1215
        Person person11 = Person.NewInstance();
1216
        person11.setInitials("H.-J.");
1217
        person11.setLastname("Krieg");
1218
        team.addTeamMember(person11);
1219

    
1220
        Person person12 = Person.NewInstance();
1221
        person12.setInitials("R.");
1222
        person12.setLastname("Krone");
1223
        team.addTeamMember(person12);
1224

    
1225
        Person person13 = Person.NewInstance();
1226
        person13.setInitials("P.");
1227
        person13.setLastname("Nehmer");
1228
        team.addTeamMember(person13);
1229

    
1230
        Person person14 = Person.NewInstance();
1231
        person14.setInitials("K.");
1232
        person14.setLastname("Reichert");
1233
        team.addTeamMember(person14);
1234

    
1235
        Person person15 = Person.NewInstance();
1236
        person15.setInitials("H.");
1237
        person15.setLastname("Reiss");
1238
        team.addTeamMember(person15);
1239

    
1240
        Person person16 = Person.NewInstance();
1241
        person16.setInitials("A.");
1242
        person16.setLastname("Schröder");
1243
        team.addTeamMember(person16);
1244

    
1245
        Person person17 = Person.NewInstance();
1246
        person17.setInitials("J.");
1247
        person17.setLastname("Witt");
1248
        team.addTeamMember(person17);
1249

    
1250
        Person person18 = Person.NewInstance();
1251
        person18.setInitials("M.L.");
1252
        person18.setLastname("Zettler");
1253
        team.addTeamMember(person18);
1254

    
1255
        return team;
1256
    }
1257

    
1258

    
1259
    /**
1260
     * @param state
1261
     * @param band1
1262
     * @return
1263
     */
1264
    private Reference createBand1_suessfische(BfnXmlImportState state, IBook band1) {
1265
        IBookSection booksection = ReferenceFactory.newBookSection();
1266
        booksection.setUuid(uuidBand1_suessfische);
1267
        booksection.setTitle("Rote Liste der im Süßwasser reproduzierenden Neunaugen und Fische (Cyclostomata & Pisces).");
1268
        booksection.setPages("291-316");
1269
        Person team = makeTeamBand1_suessfische();
1270
        booksection.setAuthorship(team);
1271
        booksection.setTitleCache("FREYHOF, J. (2009): Rote Liste der im Süßwasser reproduzierenden Neunaugen und Fische (Cyclostomata & Pisces). – In: HAUPT, H.; LUDWIG, G.; GRUTTKE, H.; BINOT-HAFKE, M.; OTTO, C. & PAULY, A. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (1): 291-316.", true);
1272
        booksection.setAbbrevTitleCache("FREYHOF et al. (2009)", true);
1273
        booksection.setInBook(band1);
1274
        return saveReference(booksection);
1275
    }
1276

    
1277

    
1278
    /**
1279
     * @return
1280
     */
1281
    private Person makeTeamBand1_suessfische() {
1282
        Person person = Person.NewInstance();
1283
        person.setInitials("J.");
1284
        person.setLastname("Freyhof");
1285
        return person;
1286
    }
1287

    
1288

    
1289
    /**
1290
     * @param state
1291
     * @param band1
1292
     * @return
1293
     */
1294
    private Reference createBand1_saeugetiere(BfnXmlImportState state, IBook band1) {
1295
        IBookSection booksection = ReferenceFactory.newBookSection();
1296
        booksection.setUuid(uuidBand1_saeugetiere);
1297
        booksection.setTitle("Rote Liste und Gesamtartenliste der Säugetiere (Mammalia) Deutschlands.");
1298
        booksection.setPages("115-153");
1299
        Team team = makeTeamBand1_saeugetiere();
1300
        booksection.setAuthorship(team);
1301
        booksection.setTitleCache("MEINIG, H.; BOYE, P. & HUTTERER, R. (2009): Rote Liste und Gesamtartenliste der Säugetiere (Mammalia) Deutschlands. – In: HAUPT, H.; LUDWIG, G.; GRUTTKE, H.; BINOT-HAFKE, M.; OTTO, C. & PAULY, A. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (1): 115-153.", true);
1302
        booksection.setAbbrevTitleCache("MEINIG et al. (2009)", true);
1303
        booksection.setInBook(band1);
1304
        return saveReference(booksection);
1305
    }
1306

    
1307

    
1308
    /**
1309
     * @return
1310
     */
1311
    private Team makeTeamBand1_saeugetiere() {
1312
        Team team = Team.NewInstance();
1313

    
1314
        Person person1 = Person.NewInstance();
1315
        person1.setInitials("H.");
1316
        person1.setLastname("Meinig");
1317
        team.addTeamMember(person1);
1318

    
1319
        Person person2 = makeBoye();
1320
        team.addTeamMember(person2);
1321

    
1322
        Person person3 = Person.NewInstance();
1323
        person3.setInitials("R.");
1324
        person3.setLastname("Hutterer");
1325
        team.addTeamMember(person3);
1326

    
1327
        return team;
1328
    }
1329

    
1330

    
1331
    /**
1332
     * @param state
1333
     * @param band1
1334
     * @return
1335
     */
1336
    private Reference createBand1_lurche(BfnXmlImportState state, IBook band1) {
1337
        IBookSection booksection = ReferenceFactory.newBookSection();
1338
        booksection.setUuid(uuidBand1_lurche);
1339
        booksection.setTitle("Rote Liste und Gesamtartenliste der Lurche (Amphibia) Deutschlands.");
1340
        booksection.setPages("259-288");
1341
        Team team = makeTeamBand1_lurcheUndKriechtiere();
1342
        booksection.setAuthorship(team);
1343
        booksection.setTitleCache("KÜHNEL, K.-D.; GEIGER, A.; LAUFER, H.; PODLOUCKY, R. & SCHLÜPMANN, M. (2009): Rote Liste und Gesamtartenliste der Lurche (Amphibia) Deutschlands. – In: HAUPT, H.; LUDWIG, G.; GRUTTKE, H.; BINOT-HAFKE, M.; OTTO, C. & PAULY, A. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (1): 259-288.", true);
1344
        booksection.setAbbrevTitleCache("KÜHNEL et al. (2009)", true);
1345
        booksection.setInBook(band1);
1346
        return saveReference(booksection);
1347
    }
1348

    
1349

    
1350
    /**
1351
     * @return
1352
     */
1353
    private Team makeTeamBand1_lurcheUndKriechtiere() {
1354
        Team team = Team.NewInstance();
1355

    
1356
        Person person1 = Person.NewInstance();
1357
        person1.setInitials("K.-D.");
1358
        person1.setLastname("Kühnel");
1359
        team.addTeamMember(person1);
1360

    
1361
        Person person2 = Person.NewInstance();
1362
        person2.setInitials("A.");
1363
        person2.setLastname("Geiger");
1364
        team.addTeamMember(person2);
1365

    
1366
        Person person3 = Person.NewInstance();
1367
        person3.setInitials("H.");
1368
        person3.setLastname("Laufer");
1369
        team.addTeamMember(person3);
1370

    
1371
        Person person4 = Person.NewInstance();
1372
        person4.setInitials("R.");
1373
        person4.setLastname("Podloucky");
1374
        team.addTeamMember(person4);
1375

    
1376
        Person person5 = Person.NewInstance();
1377
        person5.setInitials("M.");
1378
        person5.setLastname("Schlüpmann");
1379
        team.addTeamMember(person5);
1380

    
1381
        return team;
1382
    }
1383

    
1384

    
1385
    /**
1386
     * @param state
1387
     * @param band1
1388
     * @return
1389
     */
1390
    private Reference createBand1_kriechtiere(BfnXmlImportState state, IBook band1) {
1391
        IBookSection booksection = ReferenceFactory.newBookSection();
1392
        booksection.setUuid(uuidBand1_kriechtiere);
1393
        booksection.setTitle("Rote Liste und Gesamtartenliste der Kriechtiere (Reptilia) Deutschlands.");
1394
        booksection.setPages("231-256");
1395
        Team team = makeTeamBand1_lurcheUndKriechtiere();
1396
        booksection.setAuthorship(team);
1397
        booksection.setTitleCache("KÜHNEL, K.-D.; GEIGER, A.; LAUFER, H.; PODLOUCKY, R. & SCHLÜPMANN, M. (2009): Rote Liste und Gesamtartenliste der Kriechtiere (Reptilia) Deutschlands. – In: HAUPT, H.; LUDWIG, G.; GRUTTKE, H.; BINOT-HAFKE, M.; OTTO, C. & PAULY, A. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (1): 231-256.", true);
1398
        booksection.setAbbrevTitleCache("KÜHNEL et al. (2009)", true);
1399
        booksection.setInBook(band1);
1400
        Reference result = (Reference)booksection;
1401
        return saveReference(result);
1402
    }
1403

    
1404

    
1405
    /**
1406
     * @param state
1407
     * @param band1
1408
     * @return
1409
     */
1410
    private Reference createBand1_brutvoegel(BfnXmlImportState state, IBook band1) {
1411
        IBookSection booksection = ReferenceFactory.newBookSection();
1412
        booksection.setUuid(uuidBand1_brutvoegel);
1413
        booksection.setInBook(band1);
1414
        booksection.setTitle("Rote Liste und Gesamtartenliste der Brutvögel (Aves) Deutschlands.");
1415
        booksection.setPages("159-227");
1416
        Team team = makeTeamBand1_brutvoegel();
1417
        booksection.setAuthorship(team);
1418
        booksection.setTitleCache("SÜDBECK, P.; BAUER, H.-G.; BOSCHERT, M.; BOYE, P. & KNIEF, W. (2009): Rote Liste und Gesamtartenliste der Brutvögel (Aves) Deutschlands. – In: HAUPT, H.; LUDWIG, G.; GRUTTKE, H.; BINOT-HAFKE, M.; OTTO, C. & PAULY, A. (Red.): Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere. – Münster (Landwirtschaftsverlag). – Naturschutz und Biologische Vielfalt 70 (1): 159-227.", true);
1419
        booksection.setAbbrevTitleCache("SÜDBECK et al. (2009)", true);
1420
        Reference result = (Reference)booksection;
1421
        return saveReference(result);
1422
    }
1423

    
1424

    
1425

    
1426
    /**
1427
     * @return
1428
     */
1429
    private Team makeTeamBand1_brutvoegel() {
1430
        Team team = Team.NewInstance();
1431

    
1432
        Person person1 = Person.NewInstance();
1433
        person1.setInitials("P.");
1434
        person1.setLastname("Südbeck");
1435
        team.addTeamMember(person1);
1436

    
1437
        Person person2 = Person.NewInstance();
1438
        person2.setInitials("H.-G.");
1439
        person2.setLastname("Bauer");
1440
        team.addTeamMember(person2);
1441

    
1442
        Person person3 = Person.NewInstance();
1443
        person3.setInitials("M.");
1444
        person3.setLastname("Boschert");
1445
        team.addTeamMember(person3);
1446

    
1447
        Person person4 = makeBoye();
1448
        team.addTeamMember(person4);
1449

    
1450
        Person person5 = Person.NewInstance();
1451
        person5.setInitials("W.");
1452
        person5.setLastname("Knief");
1453
        team.addTeamMember(person5);
1454

    
1455
        return team;
1456
    }
1457

    
1458

    
1459
    /**
1460
     * @param state
1461
     * @return
1462
     */
1463
    private Reference createBand6(BfnXmlImportState state, Reference series) {
1464
        IBook result = ReferenceFactory.newBook();
1465
        result.setUuid(uuidBand6);
1466
        result.setInSeries(series);
1467
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 6: Pilze (Teil 2).");
1468
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1469
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (6)");
1470
        Team team = makeTeamBand6();
1471
        result.setAuthorship(team);
1472
        return saveReference(result);
1473
    }
1474

    
1475

    
1476
    /**
1477
     * @return
1478
     */
1479
    private Team makeTeamBand6() {
1480
//        In: LUDWIG, G. & MATZKE-HAJEK, G. (Red.)
1481
      Team team = Team.NewInstance();
1482

    
1483
      Person ludwig = makeLudwig();
1484
      team.addTeamMember(ludwig);
1485

    
1486
      Person matzkeHajek = makeMatzkeHajek();
1487
      team.addTeamMember(matzkeHajek);
1488

    
1489
      return team;
1490
    }
1491

    
1492

    
1493
    /**
1494
     * @param state
1495
     * @return
1496
     */
1497
    private Reference createBand3(BfnXmlImportState state, Reference series) {
1498
        IBook result = ReferenceFactory.newBook();
1499
        result.setUuid(uuidBand3);
1500
        result.setInSeries(series);
1501
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 3: Wirbellose Tiere (Teil 1).");
1502
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1503
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (3)");
1504
        Team team = makeTeamBand3();
1505
        result.setAuthorship(team);
1506
        return saveReference(result);
1507
    }
1508

    
1509

    
1510
    /**
1511
     * @return
1512
     */
1513
    private Team makeTeamBand3() {
1514
//        In: BINOT-HAFKE, M.; BALZER, S.; BECKER, N.; GRUTTKE, H.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G.; MATZKE-HAJEK, G. & STRAUCH, M. (Red.)
1515
        Team team = Team.NewInstance();
1516

    
1517
        Person person1 = makeBinotHafke();
1518
        team.addTeamMember(person1);
1519

    
1520
        Person person2 = Person.NewInstance();
1521
        person2.setInitials("S.");
1522
        person2.setLastname("Balzer");
1523
        team.addTeamMember(person2);
1524

    
1525
        Person person3 = makeBeckerN();
1526
        team.addTeamMember(person3);
1527

    
1528
        Person person4 = makeGruttkeH();
1529
        team.addTeamMember(person4);
1530

    
1531
        Person person5 = makeHaupt();
1532
        team.addTeamMember(person5);
1533

    
1534
        Person person6 = makeHofbauer();
1535
        team.addTeamMember(person5);
1536

    
1537
        Person person7 = makeLudwig();
1538
        team.addTeamMember(person7);
1539

    
1540
        Person person8 = makeMatzkeHajek();
1541
        team.addTeamMember(person8);
1542

    
1543
        Person person9 = Person.NewInstance();
1544
        person9.setInitials("M.");
1545
        person9.setLastname("Strauch");
1546
        team.addTeamMember(person9);
1547

    
1548
        return team;
1549
    }
1550

    
1551

    
1552
    /**
1553
     * @param state
1554
     * @return
1555
     */
1556
    private Reference createBand2(BfnXmlImportState state, Reference series) {
1557
        IBook result = ReferenceFactory.newBook();
1558
        result.setUuid(uuidBand2);
1559
        result.setInSeries(series);
1560
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 2: Meeresorganismen.");
1561
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1562
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (2)");
1563
        Team team = makeTeamBand2();
1564

    
1565
        result.setAuthorship(team);
1566
        return saveReference(result);
1567
    }
1568

    
1569

    
1570
    /**
1571
     * @return
1572
     */
1573
    private Team makeTeamBand2() {
1574
//      In: BECKER, N.; HAUPT, H.; HOFBAUER, N.; LUDWIG, G. & NEHRING, S. (Red.)
1575

    
1576
        Team team = Team.NewInstance();
1577

    
1578
        Person becker = makeBeckerN();
1579
        team.addTeamMember(becker);
1580

    
1581
        Person haupt = makeHaupt();
1582
        team.addTeamMember(haupt);
1583

    
1584
        Person hofbauer = makeHofbauer();
1585
        team.addTeamMember(hofbauer);
1586

    
1587
        Person ludwig = makeLudwig();
1588
        team.addTeamMember(ludwig);
1589

    
1590
        Person nehring = Person.NewInstance();
1591
        nehring.setInitials("S.");
1592
        nehring.setLastname("Nehring");
1593
        team.addTeamMember(nehring);
1594

    
1595
        return team;
1596
    }
1597

    
1598

    
1599
    /**
1600
     * @param state
1601
     * @return
1602
     */
1603
    private Reference createBand1(BfnXmlImportState state, Reference series) {
1604
        IBook result = ReferenceFactory.newBook();
1605
        result.setUuid(uuidBand1);
1606
        result.setInSeries(series);
1607
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere.");
1608
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1609
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (1)");
1610
        Team team = makeTeamBand1();
1611

    
1612
        result.setAuthorship(team);
1613
        return saveReference(result);
1614
    }
1615

    
1616

    
1617
    /**
1618
     * @return
1619
     */
1620
    protected Team makeTeamBand1() {
1621
        Team team = Team.NewInstance();
1622

    
1623
        Person haupt = makeHaupt();
1624
        team.addTeamMember(haupt);
1625

    
1626
        Person ludwig = makeLudwig();
1627
        team.addTeamMember(ludwig);
1628

    
1629
        Person gruttke = makeGruttkeH();
1630
        team.addTeamMember(gruttke);
1631

    
1632
        Person binotHafke = makeBinotHafke();
1633
        team.addTeamMember(binotHafke);
1634

    
1635
        Person otto = Person.NewInstance();
1636
        otto.setInitials("C.");
1637
        otto.setLastname("Otto");
1638
        team.addTeamMember(otto);
1639

    
1640
        Person pauly = Person.NewInstance();
1641
        pauly.setInitials("A.");
1642
        pauly.setLastname("Pauly");
1643
        team.addTeamMember(pauly);
1644
        return team;
1645
    }
1646

    
1647

    
1648
    /**
1649
     * @return
1650
     */
1651
    private Person makeBinotHafke() {
1652
        Person binotHafke = Person.NewInstance();
1653
        binotHafke.setInitials("M.");
1654
        binotHafke.setLastname("Binot-Hafke");
1655
        return binotHafke;
1656
    }
1657

    
1658
    private Person makeHaupt() {
1659
        Person haupt = Person.NewInstance();
1660
        haupt.setInitials("H.");
1661
        haupt.setLastname("Haupt");
1662
        return haupt;
1663
    }
1664

    
1665
    private Person makeLudwig() {
1666
        Person ludwig = Person.NewInstance();
1667
        ludwig.setInitials("G.");
1668
        ludwig.setLastname("Ludwig");
1669
        return ludwig;
1670
    }
1671

    
1672
    private Person makeBolz() {
1673
        Person person = Person.NewInstance();
1674
        person.setInitials("R.");
1675
        person.setLastname("Bolz");
1676
        return person;
1677
    }
1678

    
1679
    private Person makeKoehlerG() {
1680
        Person person = Person.NewInstance();
1681
        person.setInitials("G.");
1682
        person.setLastname("Köhler");
1683
        return person;
1684
    }
1685

    
1686
    private Person makeHofbauer() {
1687
        Person person = Person.NewInstance();
1688
        person.setInitials("N.");
1689
        person.setLastname("Hofbauer");
1690
        return person;
1691
    }
1692

    
1693
    private Person makeBoye() {
1694
        Person person = Person.NewInstance();
1695
        person.setInitials("P.");
1696
        person.setLastname("Boye");
1697
        return person;
1698
    }
1699

    
1700
    private Person makeBeckerN() {
1701
        Person person = Person.NewInstance();
1702
        person.setInitials("N.");
1703
        person.setLastname("Becker");
1704
        return person;
1705
    }
1706

    
1707
    private Person makeGruttkeH() {
1708
        Person person = Person.NewInstance();
1709
        person.setInitials("H.");
1710
        person.setLastname("Gruttke");
1711
        return person;
1712
    }
1713

    
1714
    private Person makeMatzkeHajek() {
1715
        Person person = Person.NewInstance();
1716
        person.setInitials("G.");
1717
        person.setLastname("Matzke-Hajek");
1718
        return person;
1719
    }
1720

    
1721
    /**
1722
     * @param state
1723
     * @return
1724
     */
1725
    private IReference createSeries(BfnXmlImportState state) {
1726
        Reference result = ReferenceFactory.newPrintSeries("Rote Listen 2009");
1727
        result.setUuid(uuidSeries);
1728
        return saveReference(result);
1729
    }
1730

    
1731

    
1732
    /**
1733
     * @param result
1734
     */
1735
    private Reference saveReference(IReference ref) {
1736
        Reference result = getReferenceService().find(ref.getUuid());
1737
        if (result == null){
1738
            result = (Reference)ref;
1739
            getReferenceService().saveOrUpdate(result);
1740
        }
1741
        return result;
1742
    }
1743

    
1744

    
1745
    @Override
1746
    public boolean doCheck(BfnXmlImportState state){
1747
        boolean result = true;
1748
        return result;
1749
    }
1750

    
1751
    @Override
1752
	protected boolean isIgnore(BfnXmlImportState state){
1753
		return ! state.getConfig().isDoFeature();
1754
	}
1755

    
1756
}
(6-6/9)