Top Banner
JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL
9

JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM...

Dec 22, 2015

Download

Documents

Alicia Robinson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

JavaOne 2014Flexibility Breeds Complexity: Living in a Modular World

THE WILDFIRE MANAGEMENT TOOL (WMT)BRUCE SCHUBERT – EMXSYS

HTTP://EMXSYS.COM

HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL

Page 2: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

The Wildfire Management Tool (WMT)

Controls Inputs Location Outputs

Page 3: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Flexibility Breeds Complexity

Theory is when is when you know something, but it doesn’t work.

Practice is when something works, but you don’t know why.

Programmers combine theory and practice: Nothing works and they don’t know why.

Page 4: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Living in a Modular WorldHow WMT deals with complexity

1. Built on the Terramenta GIS NetBeans framework Provides 3D Virtual Globe, Time Controls, & Drawing Tools

Wraps the NASA World Wind SDK

2. Uses the Flamingo Ribbon Bar Self Documenting UI via Rich Tooltips

@RibbonActionReference annotation

3. Extends the NetBeans Global Context Makes the current project always available in

Utilities.actionsGlobalContext()

See: http://wiki.netbeans.org/DevFaqAddGlobalContext

Page 5: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Demo

Page 6: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Terramenta

WMT-Application POM adds Terramenta dependency <!-- Terramenta -->

<dependency>

<artifactId>terramenta-application</artifactId>

<groupId>com.terramenta</groupId>

<version>${terramenta.version}</version>

<type>zip</type>

</dependency>

Page 7: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

@RibbonActionReference

Custom Annotation defined in the Terramenta Ribbon Module@ActionReference(path = "Toolbars/Map", position = 4100)

@RibbonActionReference( path = "Menu/Home/Zoom", position = 100,

description = "#CTL_ZoomInAction_Hint",

tooltipTitle = "#CTL_ZoomInAction_TooltipTitle",

tooltipBody = "#CTL_ZoomInAction_TooltipBody",

tooltipIcon = "com/emxsys/wmt/core/images/zoom_in.png",

tooltipFooter = "#CTL_ZoomInAction_TooltipFooter",

tooltipFooterIcon = "com/emxsys/wmt/core/images/keyboard24.png",

autoRepeatAction = true)

Page 8: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Extending NetBeans Global Context

Use Case: Action.actionPerformed(…)

Project currentProject =

Utilities.actionsGlobalContext().lookup(Project.class);

Implementation defined in WMT Core Module:

com.emxsys.wmt.core.project.GlobalActionContextProxy

See Geertjan’s Blog:

blogs.oracle.com/geertjan/entry/org_openide_util_contextglobalprovider

Page 9: JavaOne 2014 Flexibility Breeds Complexity: Living in a Modular World THE WILDFIRE MANAGEMENT TOOL (WMT) BRUCE SCHUBERT – EMXSYS HTTP://EMXSYS.COM HTTPS://BITBUCKET.ORG/EMXSYS/WILDFIRE-MANAGEMENT-TOOL.

Links

Home Page: http://emxsys.com

Wildfire Management Tool source:https://bitbucket.org/emxsys/wildfire-management-

toolhttps://bitbucket.org/emxsys/emxsys-terramenta

Terramenta source:https://bitbucket.org/teamninjaneer/terramenta