Introduction


This PL/SQL editor works combined with NetBeans IDE, which facilitate Syntax coloring, Dynamic and static code completion, PL/SQL Code Execution, Pallet, Code Navigation, Bracket Completion and Indentation. Then all NetBeans users can use PL/SQL editor plug-in for their PL/SQL code execution. Also this PL/SQL editor includes standard source editing capability of NetBeans.

Overview

a) Editor
- The objective of this component is to implement simple editor which can execute PL/SQL code. This component is the core output of this project. The bunch of all functionalities based on this PL/SQL Editor.

b) PL/SQL Parser - PL/SQL parser will validate user inputs. PL/SQL parser handles .plsql file type extensions. When end user opens a file with above extensions, the PL/SQL parser will process the file contents according to the PL/SQL syntax. PL/SQL parser tells the IDE which part of the text is which token.
- Starts from the initial state.
- Check the current state.
- Changes its state according with the oncoming character.
- Identifies the token and passes to the PL/SQL editor to display.

c) Database Connection - This component is used to connect editor with any user selected Database. Editor gets database connection details through the normal NetBeans database connection wizard. Also this component will handle PL/SQL code execution as well. To activate dynamic code completion also needs a data base connection.

d) Code Completion - This system component is used to facilitate code completion functionality to end users. User can activate code completion functionality using pair of key combination (Ctrl + Space).

1. Static Code Completion – Any time when user presses Ctrl + Space need to display list of Keywords and it need to be sorted on demand with user typing.
2. Dynamic Code Completion – This feature is only supported when user connect application with oracle database. After activating Dynamic Code Completion, Procedures, Functions, Tables, Triggers, Synonyms and Packages needs to be listed with including all the Keywords. Output drop down list need s to sorted on demand with usertyping. Addition to above mentions functionalities, when user writes database table name and press “.” need to be listed all Colum names according to that table. This list also need to be sort on demand when user typing.

e) Basic Editor Functionality - Wrap PL/SQL editor with basic editor functionality like Copy, Cut, Paste & selected text highlighting.

f) Syntax Highlighting - Editor need to correctly recognize each and every tokens such as Keywords, Literals, operations etc. Also those recognize tokens need to be become visible in different colors.

g) Special Editor Functionality - Following special editor functionalities attached with this component.

  • Indentation – Give indentation facility to the PL/SQL file

  • Pallet - When user drags and drop pallet items in to users .plsql file, editor needs to facilitate PL/SQL code according to that item. Additionally, user needs to input some parameter values as well. Editor need to support following pallet items;


  • DML Statement Section - Delete Record, Update Record, Edit

  • Record
    Data Types Section - Declare Colum Type, Declare Date Type, Declare Integer Type, Declare Number Type, Declare Row Type, Declare Varchar Type

  • Error Handling Section - Init Exception, PreDefined Exception , User Defined Exception
    Loop

  • Control Flow Section - Declare For Loop, Declare If Else Loop, Declare Simple Loop, Declare While Loop.

Other than to above mention items, each pallet item needs to be including Tool Tip as well. Also editor needs to facilitate users to collapse or expand pallet sub items using their section headings,

  • Navigator – Navigator need to be display Functions, Procedures, Triggers and Packages according to vertical way in left bottom corner of the Editor. For an example, if Function inside in the Package need to display Function name as child of package name and outside Function needs to display in same level. Navigator needs to be collapse and expand in any level. Also need to display relevant tool tips and corresponding unique images.
  • Bracket Completion – When editor user input opening bracket and press enter, then automatically ending bracket need to be appears in correct location.


h) PL/SQL Code Execution - This system component will handle execute PL/SQL Code which written by IDE user. To compile a PL/SQL code application needs to have Oracle database connection. All the compilation errors need to be display in the output window with including incorrect line number and position. When user clicks on the top of the error message, cursor needs to navigate to incorrect line and position in the editor window.


i) Editor Customization - User can change the view of the editor according to his/her preferences. Using this functionality user needs to have freedom to change font colors, font type, font size etc. according to their preferences.


j) PL/SQL Syntax Error Detection - This will display the error line number.

Testing

I conduct through testing in each development stages to guaranty the correctness of the system. Each development face, I conduct Black Box and White Box testing to determine the correctness of each different functionalities. After developing fully functional system, I conduct full regression with covering all the areas of the system. Full

  • Regression Summary

Full Regression Summary

Area Tested

Success Rate %

Failed %

Not Executed%

Passes

Failed

Not Executed

Total

Functional

100%

0%

0%

26

0

0

26

Front End

100%

0%

0%

30

0

0

30

Total

56

0

0

56

Average Success

100%

0%

0%

56

0

0

56