Revision 8571 branches/v10/extensions/extCatalogYNomenclator/src/es/gva/cit/gvsig/catalogClient/loaders/WCSLayerLoader.java

View differences:

WCSLayerLoader.java
73 73
	 */
74 74
	public void loadLayer() throws LayerLoaderException {
75 75
		String link = getResource().getLinkage();
76
		String name = getResource().getName();
76 77
		try {
77
			FLayer flayer = createWCSLayer(link);
78
			FLayer flayer = createWCSLayer(link,name);
78 79
			addLayerToView(flayer);
79 80
		} catch (IOException e) {
80 81
			throw new LayerLoaderException(e.getMessage(),getWindowMessage());
81 82
		} catch (DriverException e) {
82 83
			throw new LayerLoaderException(e.getMessage(),getWindowMessage());
83
		}
84
		
85
	}   
84
		}		
85
	}   	
86 86
	
87
	
88
	private FLayer createWCSLayer(String link) throws IOException, DriverException, LayerLoaderException {
89
		Map args = initFromQueryString(link);
87
	private FLayer createWCSLayer(String link,String name) throws IOException, DriverException, LayerLoaderException {
88
		Map args = initFromQueryString(link,name);
90 89
		ExtensionPoint extensionPoint = (ExtensionPoint)ExtensionPointsSingleton.getInstance().get("CatalogLayers");
91 90
		try {
92 91
			return (FLayer)extensionPoint.create("OGC:WCS", args  );
......
99 98
	 * Builds a coverage starting from a full GetCoverage URL.
100 99
	 * (Using this is not a regular function)
101 100
	 */
102
	private TreeMap initFromQueryString(String link){
101
	private TreeMap initFromQueryString(String link,String name){
103 102
		String host = link.substring(0,link.indexOf('?'));
104 103
		String queryString = link.substring(link.indexOf('?')+1);
105 104
		
106 105
		TreeMap map = new TreeMap(); 
107 106
		String[] params = queryString.split("&");
108 107
		for (int i = 0; i < params.length; i++) {
109
			String[] nameValue = params[i].split("=");
110
			map.put(nameValue[0].toUpperCase(), nameValue[1]);
108
			if (params[i]!= null){
109
				String[] nameValue = params[i].split("=");
110
				if (nameValue.length == 1){
111
					map.put(nameValue[0].toUpperCase(), "");
112
				}else if(nameValue.length == 2){
113
					map.put(nameValue[0].toUpperCase(), nameValue[1]);
114
				}
115
			}
111 116
		}
112
		map.put("HOST",host);
117
		map.put("HOST",link);
118
		map.put("COVERAGE",name);	
113 119
		return map;
114 120
	}
115 121
	

Also available in: Unified diff