Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following illustrates the directory structure:

webapp

+-- app
| +-- fw
| | +-- util layer
| | +-- svg mast
| | +-- layers nav
| | +-- remote
| | +-- mast svg
| | +-- nav util
| | | +-- view widget
| |
| +-- sample view
| +-- topo device
| +-- device sample
| +-- appext topo
|
+-- data
| +-- img
| +-- map
|
+-- mock tests
| +-- tests app
| | +-- app fw
| | | +...
| | +-- fw view
| | | +...
| | +...
| +-- e2e
|
+-- tp
|
+-- WEB-INF
 

app directory

The app directory contains subdirectories

  • fw for framework related code
    • That is, features/functions shared by all "views"
  • view for view related code
    • That is, a subdirectory for each "view" implemented
    • The name of the subdirectory is the "id" of the view

app / fw directory

The fw subdirectory contains the following subdirectories, providing a number of categories of functionality:

  • util 
    • General functions
    • Key Handler
    • Theme Service
    • Alert Service
  • svg
    • Glyph Service
    • Icon Service
    • GeoDataService
    • Map Service
    • Zoom Service
    • SVG Utilities Service
  • layerlayers
    • Flash Service (transient messages)
    • Panel Service (floating panels)
    • Quick Help Service (key bindings, mouse gestures)
    • Death Mask Veil Service (loss of server connection)
  • widget
    • Button Service (normal, toggle, radiobuttonset)
    • Toolbar Service
    • Table Service
    • Tooltip Service
  • remote
    • Login Service
    • Web Socket Service
    • REST Service
  • mast
    • Masthead functions
  • nav
    • Navigation Service

...

For example, topo contains the code implementing the Topology View.

appext directory

The appext directory is simply a placeholder to be used as the root path for external application code.

It is expected that external applications (separate .jar/.war packaging) will contribute views and or topology overlays to the main GUI. This functionality will be injected server-side, with the source code file paths projected to be under this directory name. For example:

appext
 +--- foo
 |     +... (foo code and resources)
 +--- bar
 :     +... (bar code and resources)

data directory

The data directory contains subdirectories for static data files

  • img - images (.png etc.)
  • map - GeoJSON map data
  • ...

mock directory

...

  • .

tests directory

The tests directory contains karma / jasmine unit tests and end-to-end (scenario) tests for javascript modules.

...