Revision f9837f2a
Added by Patrick Plitzner over 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/container/NamedAreaContainer.java | ||
---|---|---|
1 | 1 |
package eu.etaxonomy.cdm.vaadin.container; |
2 | 2 |
|
3 |
import java.util.HashMap; |
|
4 |
import java.util.Map; |
|
5 | 3 |
import java.util.Set; |
6 | 4 |
|
7 | 5 |
import com.vaadin.data.util.BeanItemContainer; |
8 | 6 |
|
9 | 7 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
10 | 8 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
9 |
import eu.etaxonomy.cdm.vaadin.util.TermCacher; |
|
11 | 10 |
|
12 | 11 |
public class NamedAreaContainer extends BeanItemContainer<NamedArea> { |
13 | 12 |
|
14 | 13 |
private static final long serialVersionUID = 9150424479597481361L; |
15 | 14 |
|
16 |
public static final Map<String, NamedArea> titleToNamedAreaMap = new HashMap<>(); |
|
17 |
|
|
18 | 15 |
public NamedAreaContainer(TermVocabulary<NamedArea> vocabulary) |
19 | 16 |
throws IllegalArgumentException { |
20 | 17 |
super(NamedArea.class); |
21 | 18 |
Set<NamedArea> namedAreas = vocabulary.getTerms(); |
19 |
TermCacher termCacher = TermCacher.getInstance(); |
|
22 | 20 |
for (NamedArea namedArea: namedAreas) { |
23 |
titleToNamedAreaMap.put(namedArea.getTitleCache(), namedArea);
|
|
21 |
termCacher.addNamedArea(namedArea);
|
|
24 | 22 |
addBean(namedArea); |
25 | 23 |
} |
26 | 24 |
} |
src/main/java/eu/etaxonomy/cdm/vaadin/container/PresenceAbsenceTermContainer.java | ||
---|---|---|
1 | 1 |
package eu.etaxonomy.cdm.vaadin.container; |
2 | 2 |
|
3 |
import java.util.HashMap; |
|
4 | 3 |
import java.util.List; |
5 |
import java.util.Map; |
|
6 | 4 |
|
7 | 5 |
import com.vaadin.data.util.BeanItemContainer; |
8 | 6 |
|
9 | 7 |
import eu.etaxonomy.cdm.model.common.TermType; |
10 | 8 |
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm; |
11 | 9 |
import eu.etaxonomy.cdm.vaadin.util.CdmSpringContextHelper; |
10 |
import eu.etaxonomy.cdm.vaadin.util.TermCacher; |
|
12 | 11 |
|
13 | 12 |
public class PresenceAbsenceTermContainer extends BeanItemContainer<PresenceAbsenceTerm> { |
14 | 13 |
|
15 | 14 |
private static final long serialVersionUID = -7891310979870159325L; |
16 |
|
|
15 |
|
|
17 | 16 |
private static PresenceAbsenceTermContainer instance; |
18 |
|
|
19 |
public static final Map<String, PresenceAbsenceTerm> titleToTermMap = new HashMap<>(); |
|
20 | 17 |
|
21 | 18 |
private PresenceAbsenceTermContainer() |
22 | 19 |
throws IllegalArgumentException { |
23 | 20 |
super(PresenceAbsenceTerm.class); |
24 | 21 |
List<PresenceAbsenceTerm> terms = CdmSpringContextHelper.getTermService().listByTermType(TermType.PresenceAbsenceTerm, null, null, null, null); |
22 |
TermCacher termCacher = TermCacher.getInstance(); |
|
25 | 23 |
for (PresenceAbsenceTerm presenceAbsenceTerm : terms) { |
26 |
titleToTermMap.put(presenceAbsenceTerm.getTitleCache(), presenceAbsenceTerm);
|
|
24 |
termCacher.addPresenceAbsenceTerm(presenceAbsenceTerm);
|
|
27 | 25 |
addBean(presenceAbsenceTerm); |
28 | 26 |
} |
29 | 27 |
} |
30 |
|
|
28 |
|
|
31 | 29 |
public static PresenceAbsenceTermContainer getInstance(){ |
32 | 30 |
if(instance==null){ |
33 | 31 |
instance = new PresenceAbsenceTermContainer(); |
src/main/java/eu/etaxonomy/cdm/vaadin/util/TermCacher.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2016 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
package eu.etaxonomy.cdm.vaadin.util; |
|
11 |
|
|
12 |
import java.util.HashMap; |
|
13 |
import java.util.Map; |
|
14 |
|
|
15 |
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm; |
|
16 |
import eu.etaxonomy.cdm.model.location.NamedArea; |
|
17 |
|
|
18 |
/** |
|
19 |
* @author pplitzner |
|
20 |
* @date 10.10.2016 |
|
21 |
* |
|
22 |
*/ |
|
23 |
public class TermCacher { |
|
24 |
|
|
25 |
private static final Map<String, NamedArea> titleToNamedAreaMap = new HashMap<>(); |
|
26 |
|
|
27 |
private static final Map<String, PresenceAbsenceTerm> titleToPresenceAbsenceTermMap = new HashMap<>(); |
|
28 |
|
|
29 |
private static TermCacher instance; |
|
30 |
|
|
31 |
private TermCacher() { |
|
32 |
// TODO Auto-generated constructor stub |
|
33 |
} |
|
34 |
|
|
35 |
public static TermCacher getInstance(){ |
|
36 |
if(instance==null){ |
|
37 |
instance = new TermCacher(); |
|
38 |
} |
|
39 |
return instance; |
|
40 |
} |
|
41 |
|
|
42 |
public void addNamedArea(NamedArea namedArea){ |
|
43 |
titleToNamedAreaMap.put(namedArea.getTitleCache(), namedArea); |
|
44 |
} |
|
45 |
|
|
46 |
public NamedArea getNamedArea(String title){ |
|
47 |
return titleToNamedAreaMap.get(title); |
|
48 |
} |
|
49 |
|
|
50 |
public void addPresenceAbsenceTerm(PresenceAbsenceTerm presenceAbsenceTerm){ |
|
51 |
titleToPresenceAbsenceTermMap.put(presenceAbsenceTerm.getTitleCache(), presenceAbsenceTerm); |
|
52 |
} |
|
53 |
|
|
54 |
public PresenceAbsenceTerm getPresenceAbsenceTerm(String title){ |
|
55 |
return titleToPresenceAbsenceTermMap.get(title); |
|
56 |
} |
|
57 |
} |
src/main/java/eu/etaxonomy/cdm/vaadin/view/dbstatus/DistributionTableView.java | ||
---|---|---|
37 | 37 |
import eu.etaxonomy.cdm.vaadin.container.PresenceAbsenceTermContainer; |
38 | 38 |
import eu.etaxonomy.cdm.vaadin.presenter.dbstatus.DistributionTablePresenter; |
39 | 39 |
import eu.etaxonomy.cdm.vaadin.util.CdmQueryFactory; |
40 |
import eu.etaxonomy.cdm.vaadin.util.TermCacher; |
|
40 | 41 |
|
41 | 42 |
public class DistributionTableView extends CustomComponent implements IDistributionTableComponent, View{ |
42 | 43 |
|
... | ... | |
55 | 56 |
final String area = columnId.toString(); |
56 | 57 |
box.setImmediate(true); |
57 | 58 |
box.setBuffered(true); |
58 |
box.setValue(PresenceAbsenceTermContainer.titleToTermMap.get(value));
|
|
59 |
box.setValue(TermCacher.getInstance().getPresenceAbsenceTerm((String)value));
|
|
59 | 60 |
box.addValueChangeListener(new ValueChangeListener() { |
60 | 61 |
private static final long serialVersionUID = 6221534597911674067L; |
61 | 62 |
|
Also available in: Unified diff
ref #5458 Add TermCacher class