Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 43222 invoked from network); 19 Jul 2008 12:43:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Jul 2008 12:43:16 -0000 Received: (qmail 40234 invoked by uid 500); 19 Jul 2008 12:43:16 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 40217 invoked by uid 500); 19 Jul 2008 12:43:16 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 40204 invoked by uid 99); 19 Jul 2008 12:43:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Jul 2008 05:43:16 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.130] (HELO eos.apache.org) (140.211.11.130) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Jul 2008 12:42:30 +0000 Received: from eos.apache.org (localhost [127.0.0.1]) by eos.apache.org (Postfix) with ESMTP id 977C1118DB for ; Sat, 19 Jul 2008 12:42:55 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki To: commits@harmony.apache.org Date: Sat, 19 Jul 2008 12:42:55 -0000 Message-ID: <20080719124255.15930.48046@eos.apache.org> Subject: [Harmony Wiki] Update of "PolicytoolDev" by AndrasBelicza X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification. The following page has been changed by AndrasBelicza: http://wiki.apache.org/harmony/PolicytoolDev The comment on the change is: backup commmit ------------------------------------------------------------------------------ *The '''control''' package contains the classes handling the policy files and policy syntax, and a main Controller class which handles the user interactions and connects the view and the model. = The model package = + The base class of all entries is the PolicyEntry class. Defines 2 abstract methods to get and set the string representation of a policy entry. There are basically 2 entry types: *GrantEntry: - this is used to define access and grant to various system resources. *KeystoreEntry and KeystorePasswordURLEntry: these 2 define the location and other parameters to the keystore + The grant entries might include one or several principals and permissions which are represented with the respective classes (Principal and Permission). + + In order to remember the real structure of the editable policy file, extra spaces and comments are stored in CommentEntry instances. + + = The View package = + + The frame of policytool is represented by the MainFrame class. It contains a menu bar, a text field to display the edited policy file, and a tabbed pane for the 2 editor panel. + + The editor panels are inherited from the EditorPanel class, which defines methods for setting/getting the edited policy text as a string, and provides an interface to check if the panel contains unsaved changes. There are 2 subclasses of EditorPanel: + *DirectTextEditorPanel: provides a text area to view and edit the policy text as-is + *GraphicalEditorPanel: provides the well-known GUI with some improvements available with swing + + The data inputs regarding to the policy text are handled via BaseFormDialog-s. This dialog provides some utility methods and the 2 common OK and Cancel buttons. The classes profiting from BaseFormDialog: + *KeystoreEntryEditFormDialo: to view/edit data to locate the keystore + *GrantEntryFormDialog: to view/edit grant entries + *PrincipalEntryFormDialog: to view/edit principals + *PermissionEntryFormdialog: to view/edit permissions + + Policytool contains several entities which has to be listed, available for editing and removing, and provide an interface for adding new entities. Such entities are grant entries, principals, permissions. The generic ListAndEdit class is responsible to provide such an interface which is used parameterized when used for the listed entites. + + The LAEFormDialog is a specialized FormDialog which is intended to handle the data view/edit interface for entities available through a ListAndEdit component. +