ilog.views.maps.servlet
Class IlvMapServletSupport

java.lang.Object
  extended by ilog.views.servlet.IlvManagerServletSupport
      extended by ilog.views.sdm.servlet.IlvSDMServletSupport
          extended by ilog.views.diagrammer.servlet.IlvDiagrammerServletSupport
              extended by ilog.views.maps.servlet.IlvMapServletSupport

public class IlvMapServletSupport
extends IlvDiagrammerServletSupport

IlvMapServletSupport is an extension of the basic IlvDiagrammerServletSupport class that manages JViews Maps thin-client parameters. This class also provides the default tile manager.

Since:
JViews 8.1

Field Summary
 
Fields inherited from class ilog.views.servlet.IlvManagerServletSupport
ImageMapAreaGeneratorProperty
 
Constructor Summary
IlvMapServletSupport(javax.servlet.ServletContext context)
          Creates a new AppletServletSupport instance.
 
Method Summary
protected  BufferedImage generateImage(javax.servlet.http.HttpServletRequest request, IlvRect bbox, int width, int height, String[] requestedLayers, Color bgColor, boolean transparent)
          Generates the image. This method has been overridden so an additional "quality" parameter can be specified for JPEG rendering.
protected  Map getAdditionalCapabilities(javax.servlet.http.HttpServletRequest request)
          Allows you to add more capabilities to the capability request. This method has been overridden to store the session id in the servlet properties.
protected  File getCacheRootDirectory(String project)
          Returns the directory used to store generated background tiles for this project.
 IlvManagerLayer[] getDynamicLayers(javax.servlet.http.HttpServletRequest request, IlvManagerView view)
          Returns an array of IlvManagerLayer instances that are known to be dynamic. Layers that have an associated IlvMapLayer instance and a style that specifies the IlvMapStyle.THIN_CLIENT_BACKGROUND property to false are also considered to be dynamic layers.
 IlvManagerLayer[] getLayers(javax.servlet.http.HttpServletRequest request, IlvManagerView view)
          Returns only the nonempty layers. This method has been overridden so that only Layers that are "visible in tree" will be returned.
 float getMaxZoomLevel(javax.servlet.http.HttpServletRequest request, IlvManagerView view)
          Returns the maximum zoom level authorized by the servlet. This method has been overridden so you can specify the zoom level.
protected  IlvTileManager getTileManager(javax.servlet.http.HttpServletRequest request)
          Retrieves the tile manager. This method has been overridden to create a default tile manager when a project is loaded.
 double[] getZoomLevels(javax.servlet.http.HttpServletRequest request, IlvManagerView view)
          Returns the zoom levels that a client of this servlet should use to take advantage of the tiling and caching mechanisms. This method has been overridden so you can read the scales specified in a map file.
protected  boolean isOverviewLayer(javax.servlet.http.HttpServletRequest request, IlvManagerLayer layer)
          Returns true if the specified layer returned by getLayers should be displayed in an overview window. The base method in IlvManagerServletSupport has been overridden so that the Layers visible in the overview are the ones associated with an IlvMapLayer instance whose IlvMapStyle.VISIBLE_IN_OVERVIEW style attribute is set to true.
protected  void prepareManagerView(javax.servlet.http.HttpServletRequest request, IlvManagerView view)
          This method is overridden to set the reference zoom of the view and to add support for IlvJComponentGraphic objects. This method has been overridden to do the following: ensure that all views have a coordinate system ensure that the aspect ratio is kept
 void setMaxZoomLevel(float maxZoomLevel)
          Sets a new maximum zoom level
 void setProject(javax.servlet.http.HttpServletRequest request, String project)
          Loads a Diagrammer project file. This method has been overridden to do the following: erase the tile manager that may be attached to the request session configure thin-client mode for JViews Maps
 
Methods inherited from class ilog.views.diagrammer.servlet.IlvDiagrammerServletSupport
createSelectionSupport, getDefaultProject, getDiagrammer, handleRequest, initSDMView, setDefaultProject
 
Methods inherited from class ilog.views.sdm.servlet.IlvSDMServletSupport
findFile, getDataURL, getDefaultStyleSheet, getDefaultXmlFile, getImageMapAreaGenerator, getLock, getManagerView, getSDMView, getValue, installImageMapAreaGenerator, isMultiSession, setDataURL, setDefaultStyleSheet, setDefaultXmlFile, setMultiSession, setStyleSheet, setValue, setXmlFile
 
Methods inherited from class ilog.views.servlet.IlvManagerServletSupport
additionalCapabilities, addServerActionListener, beforeDraw, createPopupMenuSupport, encodeImage, getAntialiasing, getContentLengthEnable, getContext, getDefaultImageMapHREF, getExpirationDate, getGraphicObjectComparator, getImageMapAreaGenerator, getInternalLock, getJPEGQuality, getKey, getManagerBBox, getManagerLayerComparator, getMinZoomLevel, getPopupMenuSupport, getSelectionSupport, isPopupEnabled, isSelectionEnabled, isVerbose, removeServerActionListener, setAntialiasing, setContentLengthEnable, setImageResponseCachePolicy, setJPEGQuality, setPopupEnabled, setSelectionEnabled, setVerbose, shouldGenerateImageMap, useTileManager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IlvMapServletSupport

public IlvMapServletSupport(javax.servlet.ServletContext context)
Creates a new AppletServletSupport instance.

Parameters:
context - The servlet context.
Method Detail

isOverviewLayer

protected boolean isOverviewLayer(javax.servlet.http.HttpServletRequest request,
                                  IlvManagerLayer layer)
Returns true if the specified layer returned by getLayers should be displayed in an overview window. The default implementation always return true.

The base method in IlvManagerServletSupport has been overridden so that the Layers visible in the overview are the ones associated with an IlvMapLayer instance whose IlvMapStyle.VISIBLE_IN_OVERVIEW style attribute is set to true. Labeling layers are not visible in the overview.

Overrides:
isOverviewLayer in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
layer - A manager layer.
See Also:
IlvManagerServletSupport.getLayers(HttpServletRequest, IlvManagerView)

getDynamicLayers

public IlvManagerLayer[] getDynamicLayers(javax.servlet.http.HttpServletRequest request,
                                          IlvManagerView view)
Returns an array of IlvManagerLayer instances that are known to be dynamic.

This implementation returns the layers that have an index greater or equal to the value returned by IlvManagerView.getTripleBufferedLayerCount().

Layers that have an associated IlvMapLayer instance and a style that specifies the IlvMapStyle.THIN_CLIENT_BACKGROUND property to false are also considered to be dynamic layers.

Overrides:
getDynamicLayers in class IlvManagerServletSupport
Parameters:
request - The current HttpServletRequest.
view - The IlvManagerView returned by getManagerView().
Returns:
An array containing all the dynamic layers or an empty array if no layer is dynamic.
See Also:
IlvManagerView.getTripleBufferedLayerCount()

getLayers

public IlvManagerLayer[] getLayers(javax.servlet.http.HttpServletRequest request,
                                   IlvManagerView view)
Returns only the nonempty layers.

This method has been overridden so that only Layers that are "visible in tree" will be returned.

Overrides:
getLayers in class IlvSDMServletSupport
Parameters:
request - The current HTTP request.
view - The manager view.

getMaxZoomLevel

public float getMaxZoomLevel(javax.servlet.http.HttpServletRequest request,
                             IlvManagerView view)
Returns the maximum zoom level authorized by the servlet. The default value is 10.

This method has been overridden so you can specify the zoom level.

Overrides:
getMaxZoomLevel in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
view - The manager view returned by getManagerView.

getZoomLevels

public double[] getZoomLevels(javax.servlet.http.HttpServletRequest request,
                              IlvManagerView view)
Returns the zoom levels that a client of this servlet should use to take advantage of the tiling and caching mechanisms. This default implementation returns null.

This method has been overridden so you can read the scales specified in a map file. If no scale has been specified, null is returned.

Overrides:
getZoomLevels in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
view - The view returned by getManagerView().
Returns:
An array of double values or null if no zoom level is provided.

setMaxZoomLevel

public void setMaxZoomLevel(float maxZoomLevel)
Sets a new maximum zoom level

Parameters:
maxZoomLevel - The new maximum zoom level.

setProject

public void setProject(javax.servlet.http.HttpServletRequest request,
                       String project)
Loads a Diagrammer project file. This method actually loads the project in the diagrammer.servlet, and creates the diagram.

This method has been overridden to do the following:

Overrides:
setProject in class IlvDiagrammerServletSupport
Parameters:
request - The request being processed.
project - The URL of the project file.

generateImage

protected BufferedImage generateImage(javax.servlet.http.HttpServletRequest request,
                                      IlvRect bbox,
                                      int width,
                                      int height,
                                      String[] requestedLayers,
                                      Color bgColor,
                                      boolean transparent)
                               throws javax.servlet.ServletException
Generates the image. You may override this method to add additional information on the generated image.

This method has been overridden so an additional "quality" parameter can be specified for JPEG rendering.

Overrides:
generateImage in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
bbox - The area of the manager to draw.
width - The width of the image.
height - The height of the image.
requestedLayers - An array of layer names to draw.
bgColor - The background color of the image
transparent - Indicates if the image should be transparent.
Throws:
javax.servlet.ServletException

prepareManagerView

protected void prepareManagerView(javax.servlet.http.HttpServletRequest request,
                                  IlvManagerView view)
                           throws javax.servlet.ServletException
This method is overridden to set the reference zoom of the view and to add support for IlvJComponentGraphic objects.

This method has been overridden to do the following:

Overrides:
prepareManagerView in class IlvSDMServletSupport
Parameters:
request - The current HTTP request.
view - The manager view.
Throws:
javax.servlet.ServletException

getAdditionalCapabilities

protected Map getAdditionalCapabilities(javax.servlet.http.HttpServletRequest request)
Allows you to add more capabilities to the capability request. The Map should contain pairs of propertyName and propertyValue for each additional capability.

This method has been overridden to store the session id in the servlet properties.

Overrides:
getAdditionalCapabilities in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
Returns:
The additional properties (null if none).

getCacheRootDirectory

protected File getCacheRootDirectory(String project)
Returns the directory used to store generated background tiles for this project.

Parameters:
project - The path for the project cache.
Returns:
A directory name. The default implementation looks for javax.servlet.context.tempdir in the servlet context. If this configuration parameter does not exists, it will create a directory using the java.io.tmpdir system variable.

getTileManager

protected IlvTileManager getTileManager(javax.servlet.http.HttpServletRequest request)
Retrieves the tile manager. This implementation returns null. Subclasses must override this method to provide a tile manager.

This method has been overridden to create a default tile manager when a project is loaded.

Overrides:
getTileManager in class IlvManagerServletSupport
Parameters:
request - The current HTTP request.
Returns:
The IlvTileManager or null if no tile manager was found.


Copyright © 1996-2007 ILOG S.A. All rights reserved.   Documentation homepage.