Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design 3: Classes, Packaging, Remaining Issues CS406 Tivoli 1.

Similar presentations


Presentation on theme: "Design 3: Classes, Packaging, Remaining Issues CS406 Tivoli 1."— Presentation transcript:

1 Design 3: Classes, Packaging, Remaining Issues CS406 Tivoli 1

2 Overview  Prototype  Member Responsibilities  Progress  Problems  Questions

3 Prototype Functionality  No Changes from last week  DB2, Oracle, SQL Server Script Converters  Will not implement  Sybase  Informix  DB2 Mainframe

4 Member Responsibilities  Project Broken up into 3 major sections  XML parser  Mark and Mike will set up the parser  Will also implement symbol table and Script Generator Class  Intermediate Script Representation  Dave and Ruel will implement various inner classes  Component Generator as well as error reports

5 Member Responsibilities  Script Converters  Todd and Travis will implement the three script converters  These responsibilities will most likely change as implementation takes place

6 Progress so far…..  Design is finalized…….again.  Research Completed for Database information  Research Completed for Third Party Parser  NanoXML Parser  XML Configuration Completed  Member Responsibilities Delegated

7 XML File Changes  XML File split into 2 files  File 1: Describes Tables, Indexes, Views  File 2: Describes actions to be performed on tables  Drop and Create  2 instantiations of XML Parser

8 XML Data Description Example Test Case decimal Case_ID Case_ID Plants

9 XML Action File Example Test Case

10 XML File Changes (Process)  Parser reads data from XML definition file  Database schema will be stored into symbol table for later retrieval

11 XML File Changes (Process)  Parser reads data from XML action file  Components are then generated  If necessary symbol table is consulted  Process resumes as stated previously

12 System Behavior: XML Parsing setDBSchema(fileName) :ScriptGenerator SetFile(fileName) sch:XMLParser

13 System Behavior: XML Parsing setDBAction(fileName) :ScriptGenerator SetFile(fileName) act:XMLParser

14 System Behavior: Specify Database Platforms SpecifyPlatforms (platforms:text) :ScriptGenerator 1:Create(dbType:text) :ScriptConverter

15 :ScriptGenerator System Behavior: XML Parser sch:XMLParser 2*block:=[for each block]getBlock() :SymbolTable 1: createTable()

16 :ScriptGenerator:SymbolTable System Behavior: XML Parser :Component Generator 2.1a: ste:=generateSTEntry(block) 2.1b: addEntry(ste)

17 System Behavior: Internal Script Build :ScriptGenerator :Component :Script act:XMLParser :ScriptConverter 3 addBlock(block) 2 create() 2.1 create() 2.1.1 create() :Component :Component Generator 3.1*comp:=generateComponent(block) 1*block:=[for each block]getBlock()

18 System Behavior: Internal Script Build :Component :Component Generator 3.1*comp:=generateComponent(block) 3.1.1 create() :SymbolTable 3.1.1.1 if [needed] ste:=lookup(symbolname) ste:TableEntry

19 System Behavior: Internal Script Build :ScriptGenerator :Component :Script act:XMLParser :ScriptConverter 3 addBlock(block) 2 create() 2.1 create() 2.1.1 create() :Component :Component Generator 3.1*comp:=generateComponent(block) 3.1.1 create() 1*block:=[for each block]getBlock()

20 System Behavior: Internal Script Build :ScriptGenerator :Component :Script :ScriptConverter 4 addBlock(block) 3 create() 3.1 create() 3.1.1 create() 4.2 addComponent(comp) 4.2 add (comp) 5 writeScript() 5.1*:[for each component]comp::getComponent() :Component 5.2 visit(this) 5.2.2 dropTable(string) :File 5.3 write(string) ste:TableEntry 5.2.1 if [needed] lookup(name)

21 Problems Faced  Small Revisions alter entire design  Meeting Difficulties  Similar/Not so similar database syntax

22 Revisions of Design  XML Area of Design has changed  As requested XML split into 2 files

23 Questions In the actionXML file, suppose we want to create a table named ”X". Table ”X" should be defined in the DBschemaXML file. But if table ”X" is not defined in the DBschemaXML file, what do you want to happen? Halt the program, spit out an error message, and don't create a script? Or maybe spit the error out, but then continue on with the program and generate the rest of the script, leaving "Create Table X..." out of the script. Questions for Us?


Download ppt "Design 3: Classes, Packaging, Remaining Issues CS406 Tivoli 1."

Similar presentations


Ads by Google