Map Layout Examples


This ReadMe file gives you information about the map layouts that are bundled along with the product.   You can modify these layout codes, if you want, and test them. Source codes of these layout are available in <Web NMS Home>/default_impl/map_layouts directory.

What is Map Layout?

Map Layout is a mechanism that calculates the dimension and location of the map client components based on the topology properties and the virtual view dimension of the map and positions them on the map canvas accordingly.

List of Map Layouts Bundled with the Product

The following map layouts are bundled with Web NMS:

Ethernet Layout

Ethernet Layout places the MapSymbolComponents in rows and columns and every MapSymbolComponent is connected to the Ethernet with a link. The image below is of a network map where the components are laid out using the Ethernet layout.

Setting the Ethernet Snake for Custom Maps

When you add a custom map and assign the current topology as ethernet, by default, the snake will not be enabled for the map. The MapSymbolComponents will be placed in a manner similar to the Grid Layout. To enable the ethernet snake in the layout, you need to add links from the respective MapSymbolComponents with source as the MapSymbolComponent and the destination as null.

Grid Layout

GridLayout positions the MapSymbolComponents in a grid of cells. Each MapSymbolComponent is placed at the center of the cell, and each cell measures exactly the same size. If you resize the GridLayout window, the GridLayout changes the cell size so that the cells size is maintained the same.  The image below is of a network map where the components are laid out using the grid layout.

Actual Icon Size in Grid Layout

Grid Layout forces every MapSymbolComponent to take the same size as that of the other, irrespective of the actual size of the icon that represents the MapSymbolComponent. If you wish to display the icons for MapSymbolComponents in their original size, you need to set a parameter called "isActualIconSize" to true for the grid layout.

Example :  grid (isActualIconSize=true;minPadX=10,minPadY=10, cellWidth=80;cellHeight=80)

The image below is a screen shot of a map with Grid layout's isActualIconSize is set to true.

The following table gives you the attributes used in the IsActualIconSize feature

Values It Can Take
Default Value






This is the parameter for enabling the actual icon size feature. If this is true, then the symbol size will be assigned based on the icon size. If it is false, then symbol size will be constant irrespective of the icon size.
CellHeight Numerical user-specific values. 

(Considered only if the isActualIconSize is true)

- Actual height of the cell in a grid layout.
Cell Width " - Actual width of the cell in a grid layout. 
minPadX " - Minimum distance on either side of the map symbol. 
minPadY " - Minimum distance on the Top and bottom of the map symbol. 

Ring Layout

Ring layout places the MapSymbolComponents in a circular manner. The Layout reduces the size of the MapSymbolComponents as the number increases so as to fit them all in the circle. This image shows you the MapSymbolComponents of a Map arranged in circular manner by the Ring layout.

Actual Icon Size in Ring Layout

Ring layout places map client components in a circular manner. But, when the number of components increases to say 100 or more, their sizes get reduced drastically as the layout tries to fit them all in the ring. The size of the cell and the ring radius are calculated internally by the layout algorithm and there was no provision to control the size of the cell. To overcome this limitation the Actual Icon Size feature is enabled in Ring layout. With this you can specify the exact cell size that you desire and also you can specify the layout to display components with their original icon sizes.

The image below depicts how the symbols will be arranged in the map canvas if the isActualIconSize is set to true.

The following table gives you the attributes used in the IsActualIconSize feature

Parameters Usage
isActualIconSize To specify whether the map symbol should take the original size of the icon image or not. If isActualIconSize="true", then the symbols will take the original size of the icons. 
cellDia To specify the minimum cell diameter of the circle in which the map symbols will be placed. This parameter can be specified, if and only if the isActualIconSize parameter is set to "true".

Star Layout

StarLayout positions the MapSymbolComponents in a circle. The main difference between star layout and ring layout is the presence of a root node in the center of the circle.  The image below is of a network map where MapSymbolComponents are positioned using the star layout.

Flow Layout

FlowLayout positions the MapSymbolComponents in a straight line. The image below is of the Ipnet map where the MapSymbolComponents are positioned using the flow layout.

Balloon Layout

The balloon layout can be ideally used to depict topologies where a tree relationship is present. i.e., a set of symbols are connected to a central symbol and the second level symbols inturn have other symbols connected to them and so on.


Three Dimensional Layout

This layout is used to impart a 3D look-and-feel to a map .Here the symbols are arranged as rows and columns. But the columns are placed at varying angles and the size of rows and size of symbols in each row are progressively reduced.


Note on Modifying the Source Code

If you wish to modify the source code of these map layouts it is better you rename the file first and then compile and integrate with NMS. This is mainly to avoid your modified class file getting over written by the one in the service packs. [If some enhancements or fixes are done on these layouts,by AdventNet, then the service pack will contain the new class file which will be overwritten on the existing one. Assume that you have modified a layout without renaming and have integrated its class with NMS. Now when you install a service pack, all your modifications will be lost as your class file will be overwritten by the one in the service pack.]

Steps to Integrate the Modified Layout with Web NMS

In case you modify any of these layout and want to test them you need to do the steps mentioned below to integrate the modified layout with Web NMS

Note: If you wish to eliminate any of the layouts, which you have added new, remove the reference of those layouts from the clientparameters.conf file and remove the class files from the NmsClientClasses.jar

Copyright © 1996-2002, AdventNet Inc. All Rights Reserved.