Project

General

Profile

« Previous | Next » 

Revision 414795e0

Added by Andreas Müller over 12 years ago

some changes in GeoServiceArea

View differences:

cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/EditGeoServiceUtilities.java
474 474
			GeoServiceArea areas =mapping.valueOf(area);
475 475
			if ((areas != null) && areas.size()>0){
476 476
				//FIXME multiple layers
477
				List<String> values= areas.getAreas().values().iterator().next().values().iterator().next();
477
				List<String> values= areas.getAreasMap().values().iterator().next().values().iterator().next();
478 478
				for (String value : values){
479 479
					result = CdmUtils.concat(SUBENTRY_DELIMITER, result, value);
480 480
				}
......
559 559
		}
560 560
		
561 561
		GeoServiceArea areas = mapping.valueOf(area);
562
		if (areas != null && areas.getAreas().size() > 0){
562
		if (areas != null && areas.getAreasMap().size() > 0){
563 563
			//FIXME multiple layers
564
			String layer = areas.getAreas().keySet().iterator().next();
565
			Map<String, List<String>> fields = areas.getAreas().get(layer);
564
			String layer = areas.getAreasMap().keySet().iterator().next();
565
			Map<String, List<String>> fields = areas.getAreasMap().get(layer);
566 566
			String field = fields.keySet().iterator().next();
567 567
			return layer + ":" + field;
568 568
		}
cdmlib-ext/src/main/java/eu/etaxonomy/cdm/ext/geo/GeoServiceArea.java
13 13
import java.io.IOException;
14 14
import java.io.InputStream;
15 15
import java.io.StringWriter;
16
import java.net.URL;
16 17
import java.util.ArrayList;
17 18
import java.util.HashMap;
18 19
import java.util.List;
......
28 29
import org.jdom.JDOMException;
29 30
import org.jdom.Namespace;
30 31

  
31
import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
32 32
import eu.etaxonomy.cdm.common.CdmUtils;
33 33
import eu.etaxonomy.cdm.common.XmlHelp;
34
import eu.etaxonomy.cdm.model.common.Annotation;
35
import eu.etaxonomy.cdm.model.common.AnnotationType;
36
import eu.etaxonomy.cdm.model.common.Language;
37
import eu.etaxonomy.cdm.model.location.NamedArea;
38 34

  
39 35
/**
40 36
 * Holds all values to map an NamedArea to a geo service area
......
54 50
	private static final String MAP_SERVICE = "mapService";
55 51

  
56 52
	
57
	TreeSet<SubArea> subAreas = new TreeSet<SubArea>(); 
53
	public enum GeoServiceType{
54
		EDIT("Edit Geo Service"),
55
		WMS("WMS Service");
56
		
57
		private String label;
58
		
59
		private GeoServiceType(String label){
60
			this.label = label;
61
		}
62
		
63
		public String getLabel(){
64
			return label;
65
		}
66
	}
67
	
68
	private TreeSet<SubArea> subAreas = new TreeSet<SubArea>(); 
69
	private URL serviceUri;
70
	private GeoServiceType type;
71

  
58 72
	
59
	private class SubArea implements Comparable<SubArea>{
73
	public class SubArea implements Comparable<SubArea>{
60 74
		private String layer;
61 75
		private String field;
62 76
		private String value;
77
		
63 78
		/* (non-Javadoc)
64 79
		 * @see java.lang.Object#hashCode()
65 80
		 */
......
83 98
			SubArea subArea = (SubArea)otherArea;
84 99
			if (CdmUtils.nullSafeEqual(layer, subArea.layer) 
85 100
					&& CdmUtils.nullSafeEqual(field, subArea.field) 
86
					&& CdmUtils.nullSafeEqual(value, subArea.value)){
101
					&& CdmUtils.nullSafeEqual(value, subArea.value)
102
			){
87 103
				return true;
88 104
			}else{
89 105
				return false;
......
119 135
	 * Returns the areas as a layer, field, area nested map.
120 136
	 * @return
121 137
	 */
122
	public Map<String, Map<String, List<String>>> getAreas(){
138
	public Map<String, Map<String, List<String>>> getAreasMap(){
123 139
		Map<String, Map<String, List<String>>> result = new HashMap<String, Map<String,List<String>>>();
124 140
				
125 141
		for (SubArea area : subAreas){
......
144 160
		return result;
145 161
	}
146 162
	
163
	public List<SubArea> getAreasList(){
164
		List<SubArea> result = new ArrayList<SubArea>();
165
		for (SubArea area : subAreas){
166
			result.add(area);
167
		}
168
		return result;
169
	}
170
	
147 171
	
148 172
	public static boolean isAreaMapping(String xml){
149 173
		//TODO check by parsing or only testing root + namespace
......
229 253
	}
230 254

  
231 255
	private void writeAreas(XMLStreamWriter writer) throws XMLStreamException {
232
		Map<String, Map<String, List<String>>> areaMap = getAreas();
256
		Map<String, Map<String, List<String>>> areaMap = getAreasMap();
233 257
		//TODO multiple
234 258
		for (String layerKey : areaMap.keySet()){
235 259
			Map<String, List<String>> layer = areaMap.get(layerKey);
cdmlib-ext/src/test/java/eu/etaxonomy/cdm/ext/geo/GeoServiceAreaTest.java
53 53
	}
54 54

  
55 55
	/**
56
	 * Test method for {@link eu.etaxonomy.cdm.ext.geo.GeoServiceArea#getAreas()}.
56
	 * Test method for {@link eu.etaxonomy.cdm.ext.geo.GeoServiceArea#getAreasMap()}.
57 57
	 */
58 58
	@Test
59 59
	public void testGetAreas() {

Also available in: Unified diff