Title: Alison Woodruff
1TEAM GISO-A
- Alison Woodruff
- Homer Aguas
- Duong Tran
- Abiye Ketema
- Brian Trezise
- Sean Peterson
SORCER Service Oriented Programming Environment
2Sections ofRequirements Document
3Purpose
- The products will be a conversion of the existing
products from Java AWT components to Java Swing
components. The products will provide a new
interface with the existing services. The new GUI
will allow users to locally define the look and
feel of the Swing GUI.
4User Interface
- The end user shall be presented with a dialog box
when creating a new context. - The Domain and Sub Domain shall be used solely
for sorting and searching purposes only.
5User Characteristics
- The new GUIs will be little or no change for the
user - Users will have access to change the look and
feel (appearance) of the GUI
6Constraints
- The GUI shall be written solely using Java Swing
components. The GUI shall use the same interface
to other applications as the pre-existing GUI
uses.
7Functions
- The system shall specify data or references to
the data along with the attributes that goes with
it. - In the creation of new context, the system shall
reject blank context names. - The system shall pop up a window requesting a
name for the context.
8Design Constraints
- Since Context Editor is Java based, a constraint
non-Java enabled browsers such as Internet
Explorer (which uses ActiveX VM to emulate Java)
is imposed. So IE users will have to download
the Java desktop edition.
9Standards Compliance
- All object names will follow Hungarian notation.
10Security
- The software will assume that any users will have
already passed authentication procedures.
11Maintainability
- Since the Context editor is managed using
existing code, the level of maintenance is
virtually simple.
12Portability
- The Context editor is a part of SORCER. SORCER
uses Java as its base, hence the menu can be
used cross platform on any operating systems with
a Java capable web browser. - The look and feel process will handle this.
13System Mode
- The system shall have only one mode of use. And
that is to edit, create and view context from
SORCER.
14Old Context Editor
15New Context Editor
16Pop-Up Menu
- All JTree functions are accessed through the
pop-up menu
Right Clicked here
Pop-Up Menu
17Individual Parts
- Sub-Groups
- Alison and Homer
- Abiye and Duong
- Brian and Sean
18Alison and Homer
19Alison and Homer
- JTree
- JTree Functions
- Add Node
- Delete Node
- Rename Node
- Copy Node
- Cut Node
- Paste Node
- Paste Into Node
20Individual Requirements
- Alison and Homer
- Add Node
21Individual Requirements
- Alison and Homer
- Add Node
/ Creates and adds node to tree model /
protected void AddTreeModelNode(Object child)
// Declaring a temporary variable,
Parent Node DefaultMutableTreeNode
parentNode null // Does a
recursive traversal of the tree TreePath
parentPath jtTree.getSelectionPath()
if (parentPath null)
parentNode root else
// Find out what you have selected
parentNode (DefaultMutableTreeNode)
(parentPath.getLastPathComponent())
int childCount parentNode.getChildCount()
// Create and Name Node
DefaultMutableTreeNode childNode new
DefaultMutableTreeNode("NewNode"childCount)
// Inserts new node below the parent
// insertNodeInto is a function of the JTree
Class treeModel.insertNodeInto(childNode,p
arentNode, parentNode.getChildCount())
22Individual Requirements
- Alison and Homer
- Delete Node
23Individual Requirements
- Alison and Homer
- Delete Node
/ Removes selected tree node / protected
void RemoveTreeModelNode() TreePath
currentSelection jtTree.getSelectionPath() //
sets currentSelection if
(currentSelection ! null)
// Type Casting DefaultMutableTreeNode
currentNode (DefaultMutableTreeNode)currentSele
ction.getLastPathComponent()
// Type Casting
MutableTreeNode parent (MutableTreeNode)currentN
ode.getParent() if (parent ! null)
// removeNodeFromParent is a
member function of the JTree Class
treeModel.removeNodeFromParent(currentNode)
return
24Individual Requirements
- Alison and Homer
- Rename Node
Triple Click or ClickF2
After Renaming
25Individual Requirements
- Alison and Homer
- Rename Node Code
jtTree.setEditable(true)
setEditable lets you triple click to change the
values of nodes setEditable is a property of the
JTree
26Copy Node
- Does a deep copy
- Copies all children and grandchildren
27Cut Node
28Paste Node
Before
After
29Paste Into Node
Before
After
30Abiye and Tran
31Abiye and Tran
- Window Size
- Context List
- Updater
- Highlighter
- JTree Updater
- Code Commenting
32Changing Window Size
- When size of window is changed, the interior
viewing windows resize themselves to match
Before resizing was fixed
After resizing was fixed
33Context List Updater
- Updating list after domain/sub-domain selection
Clicked here
Area now shows context list data
34Context List Updater Contd
- Updating list after selecting different subdomain
Corresponding list shown
Clicked here
35Context List Highlighter
- When a context from the list is selected, it is
highlighted
36JTree Updater
- When a context is selected, the appropriate JTree
will be displayed
Corresponding JTree shown
Clicked here
37JTree Updater contd
- When changes are made to the JTree, the changes
will be displayed immediately
38JTree Updater contd
Before
After
39Brian and Sean
40Brian and Sean
- Built a bare-bones context model for use while
developing the GUI - Dealing with actual context model, built sample
database using the Sorcer specifications to get a
feel for how the context fields interact - Laid groundwork for interface with actual Sorcer
system - Created the JTree to context and context to JTree
Conversions
41FIP Context Class
- What is stored in a context
42FIP Context Class (contd)
- What is stored in a context (cont.)
(FIP_Context_Data Class)
43FIP Context Class (contd)
- What is stored in a context (cont.)
FIP_Data_Version Class