Project

General

Profile

« Previous | Next » 

Revision f9837f2a

Added by Patrick Plitzner over 7 years ago

ref #5458 Add TermCacher class

View differences:

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