View Javadoc
1   /*
2    * Copyright (c) 2002-2017, Mairie de Paris
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    *
9    *  1. Redistributions of source code must retain the above copyright notice
10   *     and the following disclaimer.
11   *
12   *  2. Redistributions in binary form must reproduce the above copyright notice
13   *     and the following disclaimer in the documentation and/or other materials
14   *     provided with the distribution.
15   *
16   *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17   *     contributors may be used to endorse or promote products derived from
18   *     this software without specific prior written permission.
19   *
20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30   * POSSIBILITY OF SUCH DAMAGE.
31   *
32   * License 1.0
33   */
34  package fr.paris.lutece.plugins.directory.modules.googlemaps.service;
35  
36  import fr.paris.lutece.plugins.directory.business.IMapProvider;
37  import fr.paris.lutece.portal.service.util.AppPropertiesService;
38  import fr.paris.lutece.util.ReferenceItem;
39  
40  /**
41   * 
42   * GoogleMapsProvider : provides Google Maps support for Directory
43   *
44   */
45  public class GoogleMapsProvider implements IMapProvider 
46  {
47  	private static final String PROPERTY_KEY = "directory-googlemaps.key";
48  	private static final String PROPERTY_DISPLAYED_NAME = "directory-googlemaps.displayName";
49  	private static final String TEMPLATE_HTML = "../modules/googlemaps/GoogleMapsTemplate.html";
50  	private static final String TEMPLATE_FRONT_HTML = "modules/googlemaps/GoogleMapsTemplate.html";
51  	private static final String TEMPLATE_FRONT_LIST_HTML = "modules/googlemaps/GoogleMapsListTemplate.html";
52  	private static final String TEMPLATE_BACK_LIST_HTML = "modules/googlemaps/GoogleMapsListTemplate.html";
53  	
54  	private static final boolean CONSTANT_MAP_LIST_SUPPORTED = true;
55  	
56  	/**
57  	 * {@inheritDoc}
58  	 */
59  	public String getKey(  ) 
60  	{
61  		return AppPropertiesService.getProperty( PROPERTY_KEY );
62  	}
63  		
64  	/**
65  	 * {@inheritDoc}
66  	 */
67  	public String getDisplayedName(  ) 
68  	{
69  		return AppPropertiesService.getProperty( PROPERTY_DISPLAYED_NAME );
70  	}
71  	
72  	/**
73  	 * {@inheritDoc}
74  	 */
75  	public String getHtmlCode(  ) 
76  	{
77  		return TEMPLATE_HTML;
78  	}
79  		
80  	/**
81  	 * {@inheritDoc}
82  	 */
83  	public ReferenceItem toRefItem(  )
84  	{
85  		ReferenceItem refItem = new ReferenceItem(  );
86  		
87  		refItem.setCode( getKey(  ) );
88  		refItem.setName( getDisplayedName(  ) );
89  		
90  		return refItem;
91  	}
92  	
93  	/**
94  	 * {@inheritDoc}
95  	 */
96  	@Override
97  	public String toString(  ) 
98  	{
99  		return "Google Maps Provider";
100 	}
101 
102 	/**
103 	 * {@inheritDoc}
104 	 */
105 	public String getFrontHtmlCode(  ) 
106 	{
107 		return TEMPLATE_FRONT_HTML;
108 	}
109 
110 	/**
111 	 * {@inheritDoc}
112 	 */
113 	public String getFrontListHtmlCode(  ) 
114 	{
115 		return TEMPLATE_FRONT_LIST_HTML;
116 	}
117 
118 	/**
119 	 * {@inheritDoc}
120 	 */
121 	public String getBackListHtmlCode(  )
122 	{
123 		return TEMPLATE_BACK_LIST_HTML;
124 	}
125 
126 	/**
127 	 * {@inheritDoc}
128 	 */
129 	public boolean isMapListSupported(  )
130 	{
131 		return CONSTANT_MAP_LIST_SUPPORTED;
132 	}
133 
134 
135 	/**
136 	 * {@inheritDoc}
137 	 */
138 	public Object getParameter( int nKey )
139 	{
140 		return null;
141 	}
142 }