Project

General

Profile

« Previous | Next » 

Revision bbcd0abb

Added by Andreas Müller over 2 years ago

ref #9803 better handling of redundant minMaxRank and geoFilter handling in aggregation wizard

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/StructuredAggregationConfigurationWizard.java
65 65
//        }
66 66
        TaxonNodeFilter filter = configurator.getTaxonNodeFilter();
67 67
        if (!page.useHigherLevel()) {
68
        	UUID minRankUuid = null;
69
        	UUID maxRankUuid = null;
70
        	if (page.getHigherRank() != null){
71
        		maxRankUuid = page.getHigherRank().getUuid();
72
        	}else{
73
        		maxRankUuid = dataSet.getMaxRank() != null? dataSet.getMaxRank().getUuid(): null;
74
        		
75
        	}
76
        	if (page.getLowerRank() != null){
77
        		minRankUuid = page.getLowerRank().getUuid();
78
        	}else{
79
        		minRankUuid = dataSet.getMinRank() != null? dataSet.getMinRank().getUuid(): null;
80
        	}
81
            filter.setRankMax(maxRankUuid);
82
            filter.setRankMin(minRankUuid);
83

  
84
            if (dataSet.getGeoFilter() != null){
85
                for (TermDto namedArea : dataSet.getGeoFilter()) {
86
                    filter = filter.orArea(namedArea.getUuid());
87
                }
88
            }
89 68
            //TODO: check whether this is correct!!!!
90 69
            for (TaxonNode node: page.getSelectedTaxonNodes()) {
91 70
                if (page.useSubtree()){
......
96 75
            }
97 76
            configurator.setTaxonNodeFilter(filter);
98 77
        }else{
99
        	if (dataSet.getMinRank() != null){
100
	            filter = TaxonNodeFilter.NewRankInstance(dataSet.getMinRank().getUuid(),
101
	                    dataSet.getMaxRank().getUuid());
102
        	}
103
        	if (dataSet.getGeoFilter() != null){
104
	        	for (TermDto namedArea : dataSet.getGeoFilter()) {
105
	                filter = filter.orArea(namedArea.getUuid());
106
	            }
107
        	}
108
        	if (dataSet.getSubTreeFilter() != null){
78
            //FIXME this does not work as dataset.subtreefilter is not loaded here
79
            if (dataSet.getSubTreeFilter() != null){
109 80
	            for (TaxonNodeDto taxonNode : dataSet.getSubTreeFilter()) {
110 81
	                filter = filter.orSubtree(taxonNode.getUuid());
111 82
	            }
......
113 84
            configurator.setTaxonNodeFilter(filter);
114 85
        }
115 86

  
87
        //ranks
88
        UUID minRankUuid = null;
89
        UUID maxRankUuid = null;
90
        if (page.getHigherRank() != null){
91
            maxRankUuid = page.getHigherRank().getUuid();
92
        }else{
93
            maxRankUuid = dataSet.getMaxRank() != null? dataSet.getMaxRank().getUuid(): null;
94

  
95
        }
96
        if (page.getLowerRank() != null){
97
            minRankUuid = page.getLowerRank().getUuid();
98
        }else{
99
            minRankUuid = dataSet.getMinRank() != null? dataSet.getMinRank().getUuid(): null;
100
        }
101
        filter.setRankMax(maxRankUuid);
102
        filter.setRankMin(minRankUuid);
103

  
104
        //geo filter
105
        if (dataSet.getGeoFilter() != null){
106
            for (TermDto namedArea : dataSet.getGeoFilter()) {
107
                filter = filter.orArea(namedArea.getUuid());
108
            }
109
        }
116 110
        return true;
117 111
    }
118 112

  

Also available in: Unified diff