Project

General

Profile

« Previous | Next » 

Revision aab82329

Added by Patrick Plitzner over 7 years ago

ref #5458 Major performance increase

  • refactored term loading
  • cached loaded terms
  • removed unnecessary methods and generics
  • reduces warnings

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/view/dbstatus/DistributionTableView.java
29 29
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
30 30
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
31 31
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
32
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
33 32
import eu.etaxonomy.cdm.model.taxon.Taxon;
34 33
import eu.etaxonomy.cdm.vaadin.component.DetailWindow;
35 34
import eu.etaxonomy.cdm.vaadin.component.HorizontalToolbar;
36 35
import eu.etaxonomy.cdm.vaadin.container.CdmSQLContainer;
36
import eu.etaxonomy.cdm.vaadin.container.PresenceAbsenceTermContainer;
37 37
import eu.etaxonomy.cdm.vaadin.util.CdmQueryFactory;
38 38

  
39
public class DistributionTableView<E> extends CustomComponent implements IDistributionTableComponent, View{
39
public class DistributionTableView extends CustomComponent implements IDistributionTableComponent, View{
40 40

  
41 41
    private final class AreaColumnGenerator implements ColumnGenerator {
42 42
		private static final long serialVersionUID = 1L;
43 43

  
44 44
		@Override
45 45
		public Object generateCell(Table source, Object itemId, Object columnId) {
46
		    Property containerProperty = source.getContainerProperty(itemId, columnId);
46
		    Property<?> containerProperty = source.getContainerProperty(itemId, columnId);
47 47
		    Object value = null;
48 48
		    if(containerProperty != null){
49 49
		        value = containerProperty.getValue();
50 50
		    }
51 51
		    final UUID uuid = UUID.fromString(table.getItem(itemId).getItemProperty("uuid").getValue().toString());
52
		    final ComboBox box = new ComboBox("Occurrence Status: ", listener.getPresenceAbsenceContainer());
52
		    final ComboBox box = new ComboBox("Occurrence Status: ", PresenceAbsenceTermContainer.getInstance());
53 53
		    final String area = columnId.toString();
54 54
		    box.setImmediate(true);
55 55
		    box.setBuffered(true);
56
		    box.setValue(compareObjectToPAT(value));
56
		    box.setValue(PresenceAbsenceTermContainer.titleToTermMap.get(value));
57 57
		    box.addValueChangeListener(new ValueChangeListener() {
58
		        @Override
58
				private static final long serialVersionUID = 6221534597911674067L;
59

  
60
				@Override
59 61
		        public void valueChange(ValueChangeEvent event) {
60 62
		            Taxon taxon = HibernateProxyHelper.deproxy(listener.getTaxonService().load(uuid), Taxon.class);
61 63
		            listener.updateDistributionField(area, box.getValue(), taxon);
......
158 160
		detailButton.setCaption("Detail View");
159 161
		detailButton.addClickListener(new ClickListener() {
160 162

  
163
			private static final long serialVersionUID = 1479133195403139547L;
164

  
161 165
			@Override
162 166
			public void buttonClick(ClickEvent event) {
163 167
				try{
......
177 181
		Button settingsButton = toolbar.getSettingsButton();
178 182
		settingsButton.addClickListener(new ClickListener() {
179 183

  
180
            @Override
184
			private static final long serialVersionUID = 3834048719431837966L;
185

  
186
			@Override
181 187
            public void buttonClick(ClickEvent event) {
182 188
                SettingsConfigWindow cw = new SettingsConfigWindow();
183 189
                Window window  = cw.createWindow();
......
205 211

  
206 212
	}
207 213

  
208
	private PresenceAbsenceTerm compareObjectToPAT(Object object){
209
	    List<PresenceAbsenceTerm> presenceAbsenceTerms = listener.getPresenceAbsenceTerms();
210
	    for(PresenceAbsenceTerm term:presenceAbsenceTerms){
211
	        if(term.getTitleCache().equals(object)){
212
	            return term;
213
	        }
214
	    }
215
	    return null;
216
	}
217

  
218 214
}

Also available in: Unified diff