1 package fr.ifremer.dali.map.config;
2
3 import com.google.common.collect.ImmutableList;
4 import fr.ifremer.dali.config.DaliConfiguration;
5 import fr.ifremer.dali.map.MapLayerDefinition;
6 import fr.ifremer.dali.map.WMTSMapConfiguration;
7 import org.geotools.data.wmts.WebMapTileServer;
8 import org.geotools.data.wmts.model.WMTSCapabilities;
9 import org.geotools.geometry.jts.ReferencedEnvelope;
10 import org.geotools.ows.ServiceException;
11
12 import java.io.IOException;
13 import java.net.URL;
14 import java.util.List;
15
16
17
18
19 public class SextantWMTSMapConfiguration implements WMTSMapConfiguration {
20
21
22 private WebMapTileServer wmtsServer;
23 private WMTSCapabilities wmtsCapabilities;
24 private List<MapLayerDefinition> mapLayerDefinitions;
25
26 @Override
27 public boolean isProgressiveRender() {
28 return true;
29 }
30
31 @Override
32 public String getUrl() {
33 return DaliConfiguration.getInstance().getMapSextantWMTSUrl();
34 }
35
36 @Override
37 public WMTSCapabilities getCapabilities() throws IOException, ServiceException {
38 if (wmtsCapabilities == null) {
39 wmtsCapabilities = getWebService().getCapabilities();
40 }
41 return wmtsCapabilities;
42 }
43
44 @Override
45 public WebMapTileServer getWebService() throws IOException, ServiceException {
46 if (wmtsServer == null) {
47 wmtsServer = new WebMapTileServer(new URL(getUrl()));
48 }
49 return wmtsServer;
50 }
51
52 @Override
53 public String getBaseLayerName() {
54 return "sextant";
55 }
56
57 @Override
58 public List<MapLayerDefinition> getMapLayerDefinitions() {
59 if (mapLayerDefinitions == null) {
60 mapLayerDefinitions = ImmutableList.of(new MapLayerDefinition(getBaseLayerName(), ReferencedEnvelope.EVERYTHING));
61 }
62 return mapLayerDefinitions;
63 }
64 }