Revision 8571 branches/v10/extensions/extCatalogYNomenclator/src/es/gva/cit/gvsig/catalogClient/loaders/WCSLayerLoader.java
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