Page tree
Skip to end of metadata
Go to start of metadata

  • In CAST Imaging ≥ 2.12, the Path Finder feature is available by default. 
  • In CAST Imaging ≤ 2.11the Path Finder feature is in beta mode and is disabled by default. 

Introduction

The Path Finder feature in default mode will automatically produce a view displaying all the possible paths or the shortest path (depending on the chosen options) from the selected source object to a given destination/target object - this includes any paths between the source object's child objects and the target object or its child objects. The feature is available at Object level in all scopes.

A similar feature called Show Paths is available in User Guide - GUI - Menus and Icons.

The difference between Path Finder and Show Paths is as follows:

  • Show Paths displays all paths between the two selected objects using any link type.
  • Path Finder not only displays all paths between two selected objects using any link type, but also the shortest path. Additional filtering can also be applied to the results, for example, the ability to:
    • choose the specific link types between the source and target objects
    • choose the number of "hops" between the source and target objects

Enabling/disabling the feature for CAST Imaging ≤ 2.11

In CAST Imaging ≤ 2.11, the Path Finder feature is disabled. To enable it, click the Path Finder slider in the display preferences:

Note that in CAST Imaging 2.9 only, it is necessary to modify a properties file to enable the feature. To do so, locate the following file:

Microsoft Windows
%PROGRAMFILES%\CAST\ImagingSystem\nginx\html\app-config.js

Docker
/opt/imaging/web/dist/app-config.js
This file is located in a running container. To enter the container, run the following command "docker exec -it server bin/sh" and then locate and edit the required file.

Find the following line in the file:

,pathFinder:!1};

Change the 1 to a 0 to enable the feature:

,pathFinder:!0};

Save the file and then restart the following service/container to ensure the change is taken into account:

Microsoft WindowsCAST Imaging - imaging-service
Dockerserver

Accessing the feature

To access the Path Finder feature, you must be working at Object level in any scope:

Right click an object in the view and select Path Finder from the contextual menu - this object will then be designated the Source object:

Using the feature

When the Path Finder option is clicked, the following dialog box is displayed enabling you to configure the Target object for your path:

Click to enlarge

≥ 2.13

2.12

≤ 2.11 

Left hand panel

The left hand panel displays the feature configuration options:

≥ 2.12

Show all paths/shortest path
  • All - discover and display all possible paths between the Source and Target objects
  • Shortest - discover and display the shortest path between the Source and Target objects
Select link type

Choose either Callee or Caller to determine the type of links to other objects that will be taken into account by the Path Finder feature:

  • Choosing Callee will only show other objects that are called by the source object.
  • Choosing Caller will only show other objects that are calling the source object.
Number of hopsDefines the maximum number of objects between the Source and Target objects. By default this is set to 4 and can be changed as required. Note that changing to above 10 can impact performance - the higher the number, the more objects need to be discovered, therefore impacting performance.
Select object types

Allows you to filter on specific objects and is mandatory - i.e. no potential target objects will be displayed unless you specify at least one object type in this field. You can combine multiple object types if required. Click in the field to select an object type from the drop down list: only those object types available in the current application will be listed.

Hide external objects

Use these options to filter the type of objects in the results:

  • Hide external objects > External objects are those that are considered "third-party", i.e. frameworks and libraries rather than custom source code.
  • Main objects only > This option will exclude any sub-objects, for example, those highlighted in yellow below are sub-objects and would not be displayed if the Main objects only option is ticked.

Main objects only
≥ 2.13 only - Filter

In ≥ 2.13 only, you can also use a filter to further narrow your results:

≤ 2.11

 Click here to expand...
I don't want to select any targeted object

This option changes the behaviour of the Path Finder feature:

Not enabled (default)Paths are shown between two objects (source and target).
EnabledNo target object is defined and instead, a call graph is displayed from the chosen source object. All callees of the selected object will be displayed in the view.
Path type

Depending on the selected option:

I don't want to select any targeted object DISABLED
  • Shortest - discover and display the shortest path between the Source and Target objects
  • All - discover and display all possible paths between the Source and Target objects
I don't want to select any targeted object ENABLED
  • Spanning Tree 
  • Expand Config

Two different types of Call Graph display algorithm: these are defined by Neo4j (the third party tool and are explained in more detail in https://neo4j.com/labs/apoc/4.1/graph-querying/path-expander/ (Expand paths with config and Expand a spanning tree).

Number of hops /depths

Depending on the selected option:

I don't want to select any targeted object DISABLED

Number of hops

Defines the maximum number of objects between the Source and Target objects. By default this is set to 4 and can be changed as required. Note that changing to above 10 can impact performance - the higher the number, the more objects need to be discovered, therefore impacting performance.

I don't want to select any targeted object ENABLED

Number of depths

Defines the maximum number of levels in the call graph.  By default this is set to 4 and can be changed as required. Note that changing to above 10 can impact performance - the higher the number, the more objects need to be discovered, therefore impacting performance.

Number of paths

This option is only available when:

  • I don't want to select any targeted object is DISABLED
  • AND the All option has been selected.

It enables you to define the maximum number of paths between the Source and Target objects. By default this is set to 5 and can be changed as required. Note that changing to above 5 can impact performance - the higher the number, the more paths need to be discovered, therefore impacting performance.

Select object types

This option is only available when I don't want to select any targeted object is DISABLED.

It allows you to filter on specific objects and is mandatory - i.e. no potential source objects will be displayed unless you specify at least one object type in this field. You can combine multiple object types if required. Click in the field to select an object type from the drop down list: only those object types available in the current application will be listed.

Right hand panel

This panel displays the list of potential target objects for the Path Finder operation. Objects will only be listed here when at least one object type is selected in the left hand panel (and the option I don't want to select any targeted object is DISABLED in older releases):

Click to enlarge

If a large number of objects are listed and you know which specific object you want to select as the Target, you can use the search box in the upper right corner - this functions on the object's name and is case sensitive:

When you have located the object you want to set as the Target, tick it and then click Find Path:

Results

When Find Path is clicked, the view is updated. It will show the Source and Target objects and the paths between them (respecting the options that have been configured). In the example below, the "All" option was selected, showing all possible paths between the Source and Target objects:

Call Graph feature feature when "I don't want to select any targeted object" is ENABLED in ≤ 2.11

Shows the Call Graph from the selected source object - all callees from the selected object are displayed:

  • No labels