Project

General

Profile

Download (72.7 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
import eu.etaxonomy.cdm.model.reference.ReferenceType;
25

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

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

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

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

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

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

    
99

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

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

    
109
        createBand1_brutvoegel(state, band1);
110
        createBand1_kriechtiere(state, band1);
111
        createBand1_lurche(state, band1);
112
        createBand1_saeugetiere(state, band1);
113
        createBand1_suessfische(state, band1);
114

    
115
        createBand2_bodenlebendenWirbellosenMeerestiere(state, band1);
116
//        createBand2_artenarmeWeichtiergruppen(state, band2);
117
//        createBand2_asselspinnen(state, band2);
118
//        createBand2_flohkrebse(state, band2);
119
//        createBand2_igelwuermer(state, band2);
120
//        createBand2_kumazeen(state, band2);
121
//        createBand2_marineAsseln(state, band2);
122
        createBand2_marineMakroalgen(state, band2);
123
//        createBand2_marineMoostierchen(state, band2);
124
//        createBand2_marineMuscheln(state, band2);
125
//        createBand2_marineSchnecken(state, band2);
126
        createBand2_meeresfischeUndNeunaugen(state, band2);
127
//        createBand2_nesseltiere(state, band2);
128
//        createBand2_schaedellose(state, band2);
129
//        createBand2_schwaemme(state, band2);
130
//        createBand2_seepocken(state, band2);
131
//        createBand2_seescheiden(state, band2);
132
//        createBand2_stachelhaeuter(state, band2);
133
//        createBand2_vielborster(state, band2);
134
//        createBand2_wenigborster(state, band2);
135
//        createBand2_zehnfusskrebse(state, band2);
136

    
137
        createBand3_ameisen(state, band3);
138
        createBand3_bienen(state, band3);
139
        createBand3_binnenmollusken(state, band3);
140
        createBand3_eulenfalter(state, band3);
141
        createBand3_fransenfluegler(state, band3);
142
        createBand3_heuschrecken(state, band3);
143
        createBand3_ohrwuermer(state, band3);
144
        createBand3_pflanzenwespen(state, band3);
145
        createBand3_raubfliegen(state, band3);
146
        createBand3_schaben(state, band3);
147
        createBand3_schwebfliegen(state, band3);
148
        createBand3_spanner(state, band3);
149
        createBand3_spinner(state, band3);
150
        createBand3_tagfalter(state, band3);
151
        createBand3_tanzfliegen(state, band3);
152
        createBand3_wespen(state, band3);
153
        createBand3_zuenslerfalter(state, band3);
154

    
155

    
156
        createBand6_flechtenUndPilze(state, band6);
157
//        createBand6_flechten(state, band6);
158
//        createBand6_flechtenaehnlichePilze(state, band6);
159
//        createBand6_lichenicolePilze(state, band6);
160
        createBand6_myxomyzeten(state, band6);
161

    
162
	}
163

    
164

    
165
    /**
166
     * @param state
167
     * @param band6
168
     * @return
169
     */
170
    private Reference createBand6_myxomyzeten(BfnXmlImportState state, IBook band6) {
171
        IBookSection booksection = ReferenceFactory.newBookSection();
172
        booksection.setUuid(uuidBand6_myxomyzeten);
173
        booksection.setTitle("Rote Liste und Gesamtartenliste der Schleimpilze (Myxomycetes) Deutschlands.");
174
        booksection.setPages("125-234");
175
        Team team = makeTeamBand6_myxomyzeten();
176
        booksection.setAuthorship(team);
177
        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);
178
        booksection.setAbbrevTitleCache("SCHNITTLER et al. (2011)", true);
179
        booksection.setInBook(band6);
180
        return saveReference(booksection);
181
    }
182

    
183

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

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

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

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

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

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

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

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

    
225
        return team;
226
    }
227

    
228

    
229
    /**
230
     * @param state
231
     * @param band6
232
     * @return
233
     */
234
    private Reference createBand6_flechtenUndPilze(BfnXmlImportState state, IBook band6) {
235
        IBookSection booksection = ReferenceFactory.newBookSection();
236
        booksection.setUuid(uuidBand6_flechtenUndPilze);
237
        booksection.setTitle("Rote Liste und Artenverzeichnis der Flechten und flechtenbewohnenden Pilze Deutschlands.");
238
        booksection.setPages("7-122");
239
        Team team = makeTeamBand6_flechtenUndPilze();
240
        booksection.setAuthorship(team);
241
        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);
242
        booksection.setAbbrevTitleCache("WIRTH et al. (2011)", true);
243
        booksection.setInBook(band6);
244
        return saveReference(booksection);
245
    }
246

    
247

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
339
        return team;
340

    
341
    }
342

    
343

    
344
    /**
345
     * @param state
346
     * @param band3
347
     * @return
348
     */
349
    private Reference createBand3_zuenslerfalter(BfnXmlImportState state, IBook band3) {
350
        IBookSection booksection = ReferenceFactory.newBookSection();
351
        booksection.setUuid(uuidBand3_zuenslerfalter);
352
        booksection.setTitle("Rote Liste und Gesamtartenliste der Zünslerfalter (Lepidoptera: Pyraloidea) Deutschlands.");
353
        booksection.setPages("327-370");
354
        Person team = makeTeamBand3_zuenslerfalter();
355
        booksection.setAuthorship(team);
356
        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);
357
        booksection.setAbbrevTitleCache("NUSS (2011)", true);
358
        booksection.setInBook(band3);
359
        return saveReference(booksection);
360
    }
361

    
362

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

    
370

    
371
    /**
372
     * @param state
373
     * @param band3
374
     * @return
375
     */
376
    private Reference createBand3_wespen(BfnXmlImportState state, IBook band3) {
377
        IBookSection booksection = ReferenceFactory.newBookSection();
378
        booksection.setUuid(uuidBand3_wespen);
379
        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).");
380
        booksection.setPages("419-465");
381
        Person team = makeTeamBand3_wespen();
382
        booksection.setAuthorship(team);
383
        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);
384
        booksection.setAbbrevTitleCache("SCHMID-EGGER (2011)", true);
385
        booksection.setInBook(band3);
386
        return saveReference(booksection);
387
    }
388

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

    
396

    
397
    /**
398
     * @param state
399
     * @param band3
400
     * @return
401
     */
402
    private Reference createBand3_tanzfliegen(BfnXmlImportState state, IBook band3) {
403
        IBookSection booksection = ReferenceFactory.newBookSection();
404
        booksection.setUuid(uuidBand3_tanzfliegen);
405
        booksection.setTitle("Rote Liste und Gesamtartenliste der Langbein-, Tanz- und Rennraubfliegen (Diptera, Empidoidea; Dolichopodidae, Atelestidae, Empididae, Hybotidae, Microphoridae) Deutschlands.");
406
        booksection.setPages("87-140");
407
        Team team = makeTeamBand3_tanzfliegen();
408
        booksection.setAuthorship(team);
409
        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);
410
        booksection.setAbbrevTitleCache("MEYER & WAGNER (2011)", true);
411
        booksection.setInBook(band3);
412
        return saveReference(booksection);
413
    }
414

    
415

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

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

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

    
432
        return team;
433
    }
434

    
435

    
436
    /**
437
     * @param state
438
     * @param band3
439
     * @return
440
     */
441
    private Reference createBand3_tagfalter(BfnXmlImportState state, IBook band3) {
442
        IBookSection booksection = ReferenceFactory.newBookSection();
443
        booksection.setUuid(uuidBand3_tagfalter);
444
        booksection.setTitle("Rote Liste und Gesamtartenliste der Tagfalter (Rhopalocera) (Lepidoptera: Papilionoidea et Hesperioidea) Deutschlands.");
445
        booksection.setPages("167-194");
446
        Team team = makeTeamBand3_tagfalter();
447
        booksection.setAuthorship(team);
448
        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);
449
        booksection.setAbbrevTitleCache("REINHARDT & BOLZ (2011)", true);
450
        booksection.setInBook(band3);
451
        return saveReference(booksection);
452
    }
453

    
454

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

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

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

    
469
        return team;
470
    }
471

    
472

    
473
    /**
474
     * @param state
475
     * @param band3
476
     * @return
477
     */
478
    private Reference createBand3_spinner(BfnXmlImportState state, IBook band3) {
479
        IBookSection booksection = ReferenceFactory.newBookSection();
480
        booksection.setUuid(uuidBand3_spinner);
481
        booksection.setTitle("Rote Liste und Gesamtartenliste der Spinnerartigen Falter (Lepidoptera: Bombyces, Sphinges s.l.) Deutschlands.");
482
        booksection.setPages("243-283");
483
        Team team = makeTeamBand3_spinner();
484
        booksection.setAuthorship(team);
485
        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);
486
        booksection.setAbbrevTitleCache("RENNWALD et al. (2011)", true);
487
        booksection.setInBook(band3);
488
        return saveReference(booksection);
489
    }
490

    
491

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

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

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

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

    
513
        return team;
514
    }
515

    
516

    
517
    /**
518
     * @param state
519
     * @param band3
520
     * @return
521
     */
522
    private Reference createBand3_spanner(BfnXmlImportState state, IBook band3) {
523
        IBookSection booksection = ReferenceFactory.newBookSection();
524
        booksection.setUuid(uuidBand3_spanner);
525
        booksection.setTitle("Rote Liste und Gesamtartenliste der Spanner, Eulenspinner und Sichelflügler (Lepidoptera: Geometridae et Drepanidae) Deutschlands.");
526
        booksection.setPages("287-324");
527
        Team team = makeTeamBand3_spanner();
528
        booksection.setAuthorship(team);
529
        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);
530
        booksection.setAbbrevTitleCache("TRUSCH et al. (2011)", true);
531
        booksection.setInBook(band3);
532
        return saveReference(booksection);
533
    }
534

    
535

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

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

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

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

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

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

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

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

    
577
        return team;
578
    }
579

    
580

    
581
    /**
582
     * @param state
583
     * @param band3
584
     * @return
585
     */
586
    private Reference createBand3_schwebfliegen(BfnXmlImportState state, IBook band3) {
587
        IBookSection booksection = ReferenceFactory.newBookSection();
588
        booksection.setUuid(uuidBand3_schwebfliegen);
589
        booksection.setTitle("Rote Liste und Gesamtartenliste der Schwebfliegen (Diptera: Syrphidae) Deutschlands.");
590
        booksection.setPages("13-83");
591
        Team team = makeTeamBand3_schwebfliegen();
592
        booksection.setAuthorship(team);
593
        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);
594
        booksection.setAbbrevTitleCache("SSYMANK et al. (2011)", true);
595
        booksection.setInBook(band3);
596
        return saveReference(booksection);
597
    }
598

    
599

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

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

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

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

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

    
626
        return team;
627
    }
628

    
629

    
630
    /**
631
     * @param state
632
     * @param band3
633
     * @return
634
     */
635
    private Reference createBand3_schaben(BfnXmlImportState state, IBook band3) {
636
        IBookSection booksection = ReferenceFactory.newBookSection();
637
        booksection.setUuid(uuidBand3_schaben);
638
        booksection.setTitle("Rote Liste der Wildschaben und Gesamtartenliste der Schaben (Blattoptera) Deutschlands.");
639
        booksection.setPages("609-625");
640
        Team team = makeTeamBand3_schaben();
641
        booksection.setAuthorship(team);
642
        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);
643
        booksection.setAbbrevTitleCache("KÖHLER & BOHN (2011)", true);
644
        booksection.setInBook(band3);
645
        return saveReference(booksection);
646
    }
647

    
648

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

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

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

    
663
        return team;
664
    }
665

    
666

    
667
    /**
668
     * @param state
669
     * @param band3
670
     * @return
671
     */
672
    private Reference createBand3_raubfliegen(BfnXmlImportState state, IBook band3) {
673
        IBookSection booksection = ReferenceFactory.newBookSection();
674
        booksection.setUuid(uuidBand3_raubfliegen);
675
        booksection.setTitle("Rote Liste und Gesamtartenliste der Raubfliegen (Diptera: Asilidae) Deutschlands.");
676
        booksection.setPages("143-164");
677
        Person team = makeTeamBand3_raubfliegen();
678
        booksection.setAuthorship(team);
679
        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);
680
        booksection.setAbbrevTitleCache("WOLFF (2011)", true);
681
        booksection.setInBook(band3);
682
        return saveReference(booksection);
683
    }
684

    
685

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

    
696

    
697
    /**
698
     * @param state
699
     * @param band3
700
     * @return
701
     */
702
    private Reference createBand3_pflanzenwespen(BfnXmlImportState state, IBook band3) {
703
        IBookSection booksection = ReferenceFactory.newBookSection();
704
        booksection.setUuid(uuidBand3_pflanzenwespen);
705
        booksection.setTitle("Rote Liste und Gesamtartenliste der Pflanzenwespen (Hymenoptera: Symphyta) Deutschlands.");
706
        booksection.setPages("491-556");
707
        Team team = makeTeamBand3_pflanzenwespen();
708
        booksection.setAuthorship(team);
709
        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);
710
        booksection.setAbbrevTitleCache("LISTON et al. (2011)", true);
711
        booksection.setInBook(band3);
712
        return saveReference(booksection);
713
    }
714

    
715

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

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

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

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

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

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

    
747
        return team;
748
    }
749

    
750

    
751
    /**
752
     * @param state
753
     * @param band3
754
     * @return
755
     */
756
    private Reference createBand3_ohrwuermer(BfnXmlImportState state, IBook band3) {
757
        IBookSection booksection = ReferenceFactory.newBookSection();
758
        booksection.setUuid(uuidBand3_ohrwuermer);
759
        booksection.setTitle("Rote Liste und Gesamtartenliste der Ohrwürmer (Dermaptera) Deutsch¬lands.");
760
        booksection.setPages("629-642");
761
        Team team = makeTeamBand3_ohrwuermer();
762
        booksection.setAuthorship(team);
763
        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);
764
        booksection.setAbbrevTitleCache("MATZKE & KÖHLER (2011)", true);
765
        booksection.setInBook(band3);
766
        return saveReference(booksection);
767
    }
768

    
769

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

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

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

    
784
        return team;
785
    }
786

    
787
    private Reference createBand3_heuschrecken(BfnXmlImportState state, IBook band3) {
788
        IBookSection booksection = ReferenceFactory.newBookSection();
789
        booksection.setUuid(uuidBand3_heuschrecken);
790
        booksection.setTitle("Rote Liste und Gesamtartenliste der Heuschrecken (Saltatoria) Deutschlands.");
791
        booksection.setPages("577-606");
792
        Team team = makeTeamBand3_heuschrecken();
793
        booksection.setAuthorship(team);
794
        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);
795
        booksection.setAbbrevTitleCache("MAAS et al. (2011)", true);
796
        booksection.setInBook(band3);
797
        return saveReference(booksection);
798
    }
799

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

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

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

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

    
821
        return team;
822
    }
823

    
824

    
825
    private Reference createBand3_fransenfluegler(BfnXmlImportState state, IBook band3) {
826
        IBookSection booksection = ReferenceFactory.newBookSection();
827
        booksection.setUuid(uuidBand3_fransenfluegler);
828
        booksection.setTitle("Rote Liste und Gesamtartenliste der Fransenflügler (Thysanoptera) Deutschlands.");
829
        booksection.setPages("559-573");
830
        Person team = makeTeamBand3_fransenfluegler();
831
        booksection.setAuthorship(team);
832
        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);
833
        booksection.setAbbrevTitleCache("ZUR STRASSEN (2011)", true);
834
        booksection.setInBook(band3);
835
        return saveReference(booksection);
836
    }
837

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

    
845

    
846
    /**
847
     * @param state
848
     * @param band3
849
     * @return
850
     */
851
    private Reference createBand3_eulenfalter(BfnXmlImportState state, IBook band3) {
852
        IBookSection booksection = ReferenceFactory.newBookSection();
853
        booksection.setUuid(uuidBand3_eulenfalter);
854
        booksection.setTitle("Rote Liste und Gesamtartenliste der Eulenfalter, Trägspinner und Graueulchen (Lepidoptera: Noctuoidea) Deutschlands.");
855
        booksection.setPages("197-239");
856
        Team team = makeTeamBand3_eulenfalter();
857
        booksection.setAuthorship(team);
858
        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);
859
        booksection.setAbbrevTitleCache("WACHLIN & BOLZ (2011)", true);
860
        booksection.setInBook(band3);
861
        return saveReference(booksection);
862
    }
863

    
864

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

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

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

    
879
        return team;
880
    }
881

    
882

    
883
    /**
884
     * @param state
885
     * @param band3
886
     * @return
887
     */
888
    private Reference createBand3_binnenmollusken(BfnXmlImportState state, IBook band3) {
889
        IBookSection booksection = ReferenceFactory.newBookSection();
890
        booksection.setUuid(uuidBand3_binnenmollusken);
891
        booksection.setTitle("Rote Liste und Gesamtartenliste der Binnenmollusken (Schnecken und Muscheln; Gastropoda et Bivalvia) Deutschlands.");
892
        booksection.setPages("647-708");
893
        Team team = makeTeamBand3_binnenmollusken();
894
        booksection.setAuthorship(team);
895
        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);
896
        booksection.setAbbrevTitleCache("JUNGBLUTH & KNORRE (2011)", true);
897
        booksection.setInBook(band3);
898
        return saveReference(booksection);
899
    }
900

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

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

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

    
914
        return team;
915
    }
916

    
917

    
918
    /**
919
     * @param state
920
     * @param band3
921
     * @return
922
     */
923
    private Reference createBand3_bienen(BfnXmlImportState state, IBook band3) {
924
        IBookSection booksection = ReferenceFactory.newBookSection();
925
        booksection.setUuid(uuidBand3_bienen);
926
        booksection.setTitle("Rote Liste und Gesamtartenliste der Bienen (Hymenoptera, Apidae) Deutschlands.");
927
        booksection.setPages("373-416");
928
        Team team = makeTeamBand3_bienen();
929
        booksection.setAuthorship(team);
930
        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);
931
        booksection.setAbbrevTitleCache("WESTRICH et al. (2011)", true);
932
        booksection.setInBook(band3);
933
        return saveReference(booksection);
934
    }
935

    
936

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

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

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

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

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

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

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

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

    
978
        return team;
979
    }
980

    
981

    
982
    /**
983
     * @param state
984
     * @param band3
985
     * @return
986
     */
987
    private Reference createBand3_ameisen(BfnXmlImportState state, IBook band3) {
988
        IBookSection booksection = ReferenceFactory.newBookSection();
989
        booksection.setUuid(uuidBand3_ameisen);
990
        booksection.setTitle("Rote Liste und Gesamtartenliste der Ameisen (Hymenoptera: Formicidae) Deutschlands.");
991
        booksection.setPages("469-487");
992
        Person team = makeTeamBand3_ameisen();
993
        booksection.setAuthorship(team);
994
        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);
995
        booksection.setAbbrevTitleCache("SEIFERT (2011)", true);
996
        booksection.setInBook(band3);
997
        return saveReference(booksection);
998
    }
999

    
1000

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

    
1011

    
1012
    /**
1013
     * @param state
1014
     * @param band2
1015
     * @return
1016
     */
1017
    private Reference createBand2_meeresfischeUndNeunaugen(BfnXmlImportState state, IBook band2) {
1018
        IBookSection booksection = ReferenceFactory.newBookSection();
1019
        booksection.setUuid(uuidBand2_meeresfischeUndNeunaugen);
1020
        booksection.setTitle("Rote Liste und Gesamtartenliste der etablierten Fische und Neunaugen (Elasmobranchii, Actinopterygii & Petromyzontida) der marinen Gewässer Deutschlands.");
1021
        booksection.setPages("11-76");
1022
        Team team = makeTeamBand2_meeresfischeUndNeunaugen();
1023
        booksection.setAuthorship(team);
1024
        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);
1025
        booksection.setAbbrevTitleCache("THIEL et al. (2013)", true);
1026
        booksection.setInBook(band2);
1027
        return saveReference(booksection);
1028
    }
1029

    
1030

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

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

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

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

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

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

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

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

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

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

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

    
1087
        return team;
1088
    }
1089

    
1090

    
1091
    /**
1092
     * @param state
1093
     * @param band2
1094
     * @return
1095
     */
1096
    private Reference createBand2_marineMakroalgen(BfnXmlImportState state, IBook band2) {
1097
        IBookSection booksection = ReferenceFactory.newBookSection();
1098
        booksection.setUuid(uuidBand2_marineMakroalgen);
1099
        booksection.setTitle("Rote Liste und Gesamtartenliste der marinen Makroalgen (Chlorophyta, Phaeophyceae et Rhodophyta) Deutschlands.");
1100
        booksection.setPages("179-229");
1101
        Team team = makeTeamBand2_marineMakroalgen();
1102
        booksection.setAuthorship(team);
1103
        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);
1104
        booksection.setAbbrevTitleCache("SCHORIES et al. (2013)", true);
1105
        booksection.setInBook(band2);
1106
        return saveReference(booksection);
1107
    }
1108

    
1109

    
1110

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

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

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

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

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

    
1137
        return team;
1138
    }
1139

    
1140

    
1141
    /**
1142
     * @param state
1143
     * @param band2
1144
     * @return
1145
     */
1146
    private Reference createBand2_bodenlebendenWirbellosenMeerestiere(BfnXmlImportState state, IBook band2) {
1147
        IBookSection booksection = ReferenceFactory.newBookSection();
1148
        booksection.setUuid(uuidBand2_bodenlebendenWirbellosenMeerestiere);
1149
        booksection.setTitle("Rote Liste und Artenlisten der bodenlebenden wirbellosen Meerestiere.");
1150
        booksection.setPages("81-176");
1151
        Team team = makeTeamBand2_bodenlebendenWirbellosenMeerestiere();
1152
        booksection.setAuthorship(team);
1153
        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);
1154
        booksection.setAbbrevTitleCache("RACHOR et al. (2013)", true);
1155
        booksection.setInBook(band2);
1156
        return saveReference(booksection);
1157
    }
1158

    
1159

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
1256
        return team;
1257
    }
1258

    
1259

    
1260
    /**
1261
     * @param state
1262
     * @param band1
1263
     * @return
1264
     */
1265
    private Reference createBand1_suessfische(BfnXmlImportState state, IBook band1) {
1266
        IBookSection booksection = ReferenceFactory.newBookSection();
1267
        booksection.setUuid(uuidBand1_suessfische);
1268
        booksection.setTitle("Rote Liste der im Süßwasser reproduzierenden Neunaugen und Fische (Cyclostomata & Pisces).");
1269
        booksection.setPages("291-316");
1270
        Person team = makeTeamBand1_suessfische();
1271
        booksection.setAuthorship(team);
1272
        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);
1273
        booksection.setAbbrevTitleCache("FREYHOF et al. (2009)", true);
1274
        booksection.setInBook(band1);
1275
        return saveReference(booksection);
1276
    }
1277

    
1278

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

    
1289

    
1290
    /**
1291
     * @param state
1292
     * @param band1
1293
     * @return
1294
     */
1295
    private Reference createBand1_saeugetiere(BfnXmlImportState state, IBook band1) {
1296
        IBookSection booksection = ReferenceFactory.newBookSection();
1297
        booksection.setUuid(uuidBand1_saeugetiere);
1298
        booksection.setTitle("Rote Liste und Gesamtartenliste der Säugetiere (Mammalia) Deutschlands.");
1299
        booksection.setPages("115-153");
1300
        Team team = makeTeamBand1_saeugetiere();
1301
        booksection.setAuthorship(team);
1302
        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);
1303
        booksection.setAbbrevTitleCache("MEINIG et al. (2009)", true);
1304
        booksection.setInBook(band1);
1305
        return saveReference(booksection);
1306
    }
1307

    
1308

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

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

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

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

    
1328
        return team;
1329
    }
1330

    
1331

    
1332
    /**
1333
     * @param state
1334
     * @param band1
1335
     * @return
1336
     */
1337
    private Reference createBand1_lurche(BfnXmlImportState state, IBook band1) {
1338
        IBookSection booksection = ReferenceFactory.newBookSection();
1339
        booksection.setUuid(uuidBand1_lurche);
1340
        booksection.setTitle("Rote Liste und Gesamtartenliste der Lurche (Amphibia) Deutschlands.");
1341
        booksection.setPages("259-288");
1342
        Team team = makeTeamBand1_lurcheUndKriechtiere();
1343
        booksection.setAuthorship(team);
1344
        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);
1345
        booksection.setAbbrevTitleCache("KÜHNEL et al. (2009)", true);
1346
        booksection.setInBook(band1);
1347
        return saveReference(booksection);
1348
    }
1349

    
1350

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

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

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

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

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

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

    
1382
        return team;
1383
    }
1384

    
1385

    
1386
    /**
1387
     * @param state
1388
     * @param band1
1389
     * @return
1390
     */
1391
    private Reference createBand1_kriechtiere(BfnXmlImportState state, IBook band1) {
1392
        IBookSection booksection = ReferenceFactory.newBookSection();
1393
        booksection.setUuid(uuidBand1_kriechtiere);
1394
        booksection.setTitle("Rote Liste und Gesamtartenliste der Kriechtiere (Reptilia) Deutschlands.");
1395
        booksection.setPages("231-256");
1396
        Team team = makeTeamBand1_lurcheUndKriechtiere();
1397
        booksection.setAuthorship(team);
1398
        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);
1399
        booksection.setAbbrevTitleCache("KÜHNEL et al. (2009)", true);
1400
        booksection.setInBook(band1);
1401
        Reference result = (Reference)booksection;
1402
        return saveReference(result);
1403
    }
1404

    
1405

    
1406
    /**
1407
     * @param state
1408
     * @param band1
1409
     * @return
1410
     */
1411
    private Reference createBand1_brutvoegel(BfnXmlImportState state, IBook band1) {
1412
        IBookSection booksection = ReferenceFactory.newBookSection();
1413
        booksection.setUuid(uuidBand1_brutvoegel);
1414
        booksection.setInBook(band1);
1415
        booksection.setTitle("Rote Liste und Gesamtartenliste der Brutvögel (Aves) Deutschlands.");
1416
        booksection.setPages("159-227");
1417
        Team team = makeTeamBand1_brutvoegel();
1418
        booksection.setAuthorship(team);
1419
        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);
1420
        booksection.setAbbrevTitleCache("SÜDBECK et al. (2009)", true);
1421
        Reference result = (Reference)booksection;
1422
        return saveReference(result);
1423
    }
1424

    
1425

    
1426

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

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

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

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

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

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

    
1456
        return team;
1457
    }
1458

    
1459

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

    
1477

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

    
1485
      Person ludwig = makeLudwig();
1486
      team.addTeamMember(ludwig);
1487

    
1488
      Person matzkeHajek = makeMatzkeHajek();
1489
      team.addTeamMember(matzkeHajek);
1490

    
1491
      return team;
1492
    }
1493

    
1494

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

    
1512

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

    
1520
        Person person1 = makeBinotHafke();
1521
        team.addTeamMember(person1);
1522

    
1523
        Person person2 = Person.NewInstance();
1524
        person2.setInitials("S.");
1525
        person2.setFamilyName("Balzer");
1526
        team.addTeamMember(person2);
1527

    
1528
        Person person3 = makeBeckerN();
1529
        team.addTeamMember(person3);
1530

    
1531
        Person person4 = makeGruttkeH();
1532
        team.addTeamMember(person4);
1533

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

    
1537
        Person person6 = makeHofbauer();
1538
        team.addTeamMember(person5);
1539

    
1540
        Person person7 = makeLudwig();
1541
        team.addTeamMember(person7);
1542

    
1543
        Person person8 = makeMatzkeHajek();
1544
        team.addTeamMember(person8);
1545

    
1546
        Person person9 = Person.NewInstance();
1547
        person9.setInitials("M.");
1548
        person9.setFamilyName("Strauch");
1549
        team.addTeamMember(person9);
1550

    
1551
        return team;
1552
    }
1553

    
1554

    
1555
    /**
1556
     * @param state
1557
     * @return
1558
     */
1559
    private Reference createBand2(BfnXmlImportState state, Reference series) {
1560
        IBook result = ReferenceFactory.newBook();
1561
        result.setUuid(uuidBand2);
1562
        result.setInSeries(series);
1563
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 2: Meeresorganismen.");
1564
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1565
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (2)");
1566
        Team team = makeTeamBand2();
1567
        result.setAuthorship(team);
1568
        result.setTitleCache("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)", true);
1569
        return saveReference(result);
1570
    }
1571

    
1572

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

    
1579
        Team team = Team.NewInstance();
1580

    
1581
        Person becker = makeBeckerN();
1582
        team.addTeamMember(becker);
1583

    
1584
        Person haupt = makeHaupt();
1585
        team.addTeamMember(haupt);
1586

    
1587
        Person hofbauer = makeHofbauer();
1588
        team.addTeamMember(hofbauer);
1589

    
1590
        Person ludwig = makeLudwig();
1591
        team.addTeamMember(ludwig);
1592

    
1593
        Person nehring = Person.NewInstance();
1594
        nehring.setInitials("S.");
1595
        nehring.setFamilyName("Nehring");
1596
        team.addTeamMember(nehring);
1597

    
1598
        return team;
1599
    }
1600

    
1601

    
1602
    /**
1603
     * @param state
1604
     * @return
1605
     */
1606
    private Reference createBand1(BfnXmlImportState state, Reference series) {
1607
        IBook result = ReferenceFactory.newBook();
1608
        result.setUuid(uuidBand1);
1609
        result.setInSeries(series);
1610
        result.setTitle("Rote Liste gefährdeter Tiere, Pflanzen und Pilze Deutschlands, Band 1: Wirbeltiere.");
1611
        result.setPlacePublished("Münster (Landwirtschaftsverlag)");
1612
        result.setSeriesPart("Naturschutz und Biologische Vielfalt 70 (1)");
1613
        result.setTitleCache("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)", true);
1614
        Team team = makeTeamBand1();
1615

    
1616
        result.setAuthorship(team);
1617
        return saveReference(result);
1618
    }
1619

    
1620

    
1621
    /**
1622
     * @return
1623
     */
1624
    protected Team makeTeamBand1() {
1625
        Team team = Team.NewInstance();
1626

    
1627
        Person haupt = makeHaupt();
1628
        team.addTeamMember(haupt);
1629

    
1630
        Person ludwig = makeLudwig();
1631
        team.addTeamMember(ludwig);
1632

    
1633
        Person gruttke = makeGruttkeH();
1634
        team.addTeamMember(gruttke);
1635

    
1636
        Person binotHafke = makeBinotHafke();
1637
        team.addTeamMember(binotHafke);
1638

    
1639
        Person otto = Person.NewInstance();
1640
        otto.setInitials("C.");
1641
        otto.setFamilyName("Otto");
1642
        team.addTeamMember(otto);
1643

    
1644
        Person pauly = Person.NewInstance();
1645
        pauly.setInitials("A.");
1646
        pauly.setFamilyName("Pauly");
1647
        team.addTeamMember(pauly);
1648
        return team;
1649
    }
1650

    
1651

    
1652
    /**
1653
     * @return
1654
     */
1655
    private Person makeBinotHafke() {
1656
        Person binotHafke = Person.NewInstance();
1657
        binotHafke.setInitials("M.");
1658
        binotHafke.setFamilyName("Binot-Hafke");
1659
        return binotHafke;
1660
    }
1661

    
1662
    private Person makeHaupt() {
1663
        Person haupt = Person.NewInstance();
1664
        haupt.setInitials("H.");
1665
        haupt.setFamilyName("Haupt");
1666
        return haupt;
1667
    }
1668

    
1669
    private Person makeLudwig() {
1670
        Person ludwig = Person.NewInstance();
1671
        ludwig.setInitials("G.");
1672
        ludwig.setFamilyName("Ludwig");
1673
        return ludwig;
1674
    }
1675

    
1676
    private Person makeBolz() {
1677
        Person person = Person.NewInstance();
1678
        person.setInitials("R.");
1679
        person.setFamilyName("Bolz");
1680
        return person;
1681
    }
1682

    
1683
    private Person makeKoehlerG() {
1684
        Person person = Person.NewInstance();
1685
        person.setInitials("G.");
1686
        person.setFamilyName("Köhler");
1687
        return person;
1688
    }
1689

    
1690
    private Person makeHofbauer() {
1691
        Person person = Person.NewInstance();
1692
        person.setInitials("N.");
1693
        person.setFamilyName("Hofbauer");
1694
        return person;
1695
    }
1696

    
1697
    private Person makeBoye() {
1698
        Person person = Person.NewInstance();
1699
        person.setInitials("P.");
1700
        person.setFamilyName("Boye");
1701
        return person;
1702
    }
1703

    
1704
    private Person makeBeckerN() {
1705
        Person person = Person.NewInstance();
1706
        person.setInitials("N.");
1707
        person.setFamilyName("Becker");
1708
        return person;
1709
    }
1710

    
1711
    private Person makeGruttkeH() {
1712
        Person person = Person.NewInstance();
1713
        person.setInitials("H.");
1714
        person.setFamilyName("Gruttke");
1715
        return person;
1716
    }
1717

    
1718
    private Person makeMatzkeHajek() {
1719
        Person person = Person.NewInstance();
1720
        person.setInitials("G.");
1721
        person.setFamilyName("Matzke-Hajek");
1722
        return person;
1723
    }
1724

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

    
1735

    
1736
    /**
1737
     * @param result
1738
     */
1739
    private Reference saveReference(IReference ref) {
1740
        Reference result = getReferenceService().find(ref.getUuid());
1741
        if (result == null){
1742
            result = (Reference)ref;
1743
            if (result.getType().equals(ReferenceType.BookSection)){
1744
//                result.setProtectedTitleCache(false);
1745
                result.setTitleCache(result.getAbbrevTitleCache(), true);
1746
            }
1747
            getReferenceService().saveOrUpdate(result);
1748
        }
1749
        return result;
1750
    }
1751

    
1752

    
1753
    @Override
1754
    public boolean doCheck(BfnXmlImportState state){
1755
        boolean result = true;
1756
        return result;
1757
    }
1758

    
1759
    @Override
1760
	protected boolean isIgnore(BfnXmlImportState state){
1761
		return ! state.getConfig().isDoFeature();
1762
	}
1763

    
1764
}
(6-6/9)