From: Deepak B <ibetthisidisavailable@yahoo.ca>
To: rhdb@sources.redhat.com
Subject: Re: Final set of changes to Administrator 2.0 (Java) for PostgreSQL 7.4 series.
Date: Wed, 09 Jun 2004 19:06:00 -0000 [thread overview]
Message-ID: <20040609190651.65409.qmail@web61108.mail.yahoo.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 431 bytes --]
Sorry, this should be the last one!
I just noticed that privileges part for the CREATE
TABLE dialog was missed in previous patch due to its
isolated nature. It's a minor fix and here it is.
Since previous patch is not in the trunk yet, all
changes will go in as one commit. Incremental diff
attached.
Deepak
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca
[-- Attachment #2: incr-diff --]
[-- Type: application/octet-stream, Size: 34786 bytes --]
diff -cr rhdb-admin/ChangeLog rhdb-admin.incr/ChangeLog
*** rhdb-admin/ChangeLog 2004-06-09 01:34:47.000000000 -0400
--- rhdb-admin.incr/ChangeLog 2004-06-09 15:01:17.000000000 -0400
***************
*** 2,7 ****
--- 2,18 ----
* src/com/redhat/rhdb/admin/CheckBoxPanel.java: Added intialization
code for checkbox/boolean arrays to prevent NullPointerException's.
+ * src/com/redhat/rhdb/admin/CreateTableDialog.form: Changed by the
+ IDE.
+ * src/com/redhat/rhdb/admin/CreateTableDialog.java: Replaced
+ individual privilege checkboxes with the new PrivilegesCheckBoxPanel.
+ (adjustPrivilegeBoxes): Scaffolding function. Enabled/disables
+ privilege checkboxes as needed.
+ (adjustWithGrantBoxes): Scaffolding function. Enabled/disables
+ WITH GRANT OPTION checkboxes (if visible) as needed.
+ (addPrivilegeDef): Change function to work with the new
+ PrivilegesCheckBoxPanel widget.
+ (okAction): Ditto.
* src/com/redhat/rhdb/admin/EditPrivilegesDialog.form: Changed by the
IDE.
* src/com/redhat/rhdb/admin/EditPrivilegesDialog.java: Added
***************
*** 68,73 ****
--- 79,86 ----
(getUpdateDatabasePrivString): Ditto.
(getUpdateSchemaPrivString): Ditto.
(getUpdateTablePrivString): Ditto.
+ * src/com/redhat/rhdb/admin/TableUpdate.java (createTable): Fixed
+ function to work with the new WITH GRANT OPTION option.
* src/com/redhat/rhdb/admin/pgsql/AbstractRhdb73DatabaseMetaData.java
(getDatabasePrivileges): Change function to return 2 more fields,
GRANTOR and IS_GRANTABLE (as defined in JDBC specs for
diff -cr rhdb-admin/src/com/redhat/rhdb/admin/CreateTableDialog.form rhdb-admin.incr/src/com/redhat/rhdb/admin/CreateTableDialog.form
*** rhdb-admin/src/com/redhat/rhdb/admin/CreateTableDialog.form 2004-01-13 19:53:50.000000000 -0500
--- rhdb-admin.incr/src/com/redhat/rhdb/admin/CreateTableDialog.form 2004-06-09 14:27:54.000000000 -0400
***************
*** 1213,1218 ****
--- 1213,1221 ----
<Connection code="AdminResources.getString(AdminResources.PRIVILEGE_PUBLIC)" type="code"/>
</Property>
</Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jcbPrivilegesPublicActionPerformed"/>
+ </Events>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="3" insetsLeft="0" insetsBottom="3" insetsRight="0" anchor="17" weightX="0.0" weightY="0.0"/>
***************
*** 1233,1238 ****
--- 1236,1244 ----
<Property name="valueIsAdjusting" type="boolean" value="true"/>
<Property name="autoscrolls" type="boolean" value="false"/>
</Properties>
+ <Events>
+ <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="jlstPrivilegesUsersValueChanged"/>
+ </Events>
</Component>
</SubComponents>
</Container>
***************
*** 1250,1255 ****
--- 1256,1264 ----
<Property name="valueIsAdjusting" type="boolean" value="true"/>
<Property name="autoscrolls" type="boolean" value="false"/>
</Properties>
+ <Events>
+ <EventHandler event="valueChanged" listener="javax.swing.event.ListSelectionListener" parameters="javax.swing.event.ListSelectionEvent" handler="jlstPrivilegesGroupsValueChanged"/>
+ </Events>
</Component>
</SubComponents>
</Container>
***************
*** 1262,1351 ****
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
<SubComponents>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesSelect">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_SELECT)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesInsert">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_INSERT)" type="code"/>
! </Property>
! </Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="1" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
</Constraint>
</Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesUpdate">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_UPDATE)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="2" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesDelete">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_DELETE)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="3" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesRule">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_RULE)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="4" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesReferences">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_REFERENCES)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="5" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="17" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
! <Component class="javax.swing.JCheckBox" name="jcbPrivilegesTrigger">
! <Properties>
! <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
! <Connection code="AdminResources.getString(AdminResources.PRIVILEGE_TRIGGER)" type="code"/>
! </Property>
! </Properties>
! <Constraints>
! <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="0" gridY="6" gridWidth="1" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="1" insetsLeft="20" insetsBottom="0" insetsRight="10" anchor="18" weightX="0.0" weightY="0.0"/>
! </Constraint>
! </Constraints>
! </Component>
</SubComponents>
</Container>
<Component class="javax.swing.JLabel" name="jlPrivilegesUsers">
--- 1271,1288 ----
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
<SubComponents>
! <Container class="com.redhat.rhdb.admin.PrivilegesCheckBoxPanel" name="pcbpPriv">
! <AuxValues>
! <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new PrivilegesCheckBoxPanel(validPrivileges, "", grantOptionString);"/>
! </AuxValues>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
! <GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="0" fill="1" ipadX="0" ipadY="0" insetsTop="5" insetsLeft="5" insetsBottom="5" insetsRight="5" anchor="10" weightX="0.0" weightY="0.0"/>
</Constraint>
</Constraints>
!
! <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
! </Container>
</SubComponents>
</Container>
<Component class="javax.swing.JLabel" name="jlPrivilegesUsers">
diff -cr rhdb-admin/src/com/redhat/rhdb/admin/CreateTableDialog.java rhdb-admin.incr/src/com/redhat/rhdb/admin/CreateTableDialog.java
*** rhdb-admin/src/com/redhat/rhdb/admin/CreateTableDialog.java 2003-11-21 13:30:22.000000000 -0500
--- rhdb-admin.incr/src/com/redhat/rhdb/admin/CreateTableDialog.java 2004-06-09 14:27:54.000000000 -0400
***************
*** 43,48 ****
--- 43,61 ----
okAction = af.getAction(ActionFactory.ACTION_OK);
cancelAction = af.getAction(ActionFactory.ACTION_CANCEL);
+ AdminDatabaseMetaData dbmd;
+
+ try {
+ dbmd = backendClient.getAdminDatabaseMetaData(node.getParentClusterName(), node.getParentDatabaseName());
+ validPrivileges = dbmd.getValidTablePrivileges();
+ grantOptionString = dbmd.getGrantOptionString();
+ } catch (Exception e) {
+
+ closeDialog();
+ e.printStackTrace();
+ throw new DialogRaiseException(invocationNode, e);
+ }
+
initComponents();
// Add the listbox with 3 buttons...
***************
*** 70,76 ****
// Populate the fields in the dialog
- AdminDatabaseMetaData dbmd;
SchemaQualifiedSelectionBoxModel tabModel = new DefaultSchemaQualifiedSelectionBoxModel();
SchemaQualifiedSelectionBoxModel typModel = new DefaultSchemaQualifiedSelectionBoxModel();
--- 83,88 ----
***************
*** 368,380 ****
jspPrivilegesGroups = new javax.swing.JScrollPane();
jlstPrivilegesGroups = new javax.swing.JList();
jpPrivilegesPrivilegeTypes = new javax.swing.JPanel();
! jcbPrivilegesSelect = new javax.swing.JCheckBox();
! jcbPrivilegesInsert = new javax.swing.JCheckBox();
! jcbPrivilegesUpdate = new javax.swing.JCheckBox();
! jcbPrivilegesDelete = new javax.swing.JCheckBox();
! jcbPrivilegesRule = new javax.swing.JCheckBox();
! jcbPrivilegesReferences = new javax.swing.JCheckBox();
! jcbPrivilegesTrigger = new javax.swing.JCheckBox();
jlPrivilegesUsers = new javax.swing.JLabel();
jlPrivilegesGroups = new javax.swing.JLabel();
jbPrivilegesAddPrivileges = new javax.swing.JButton();
--- 380,386 ----
jspPrivilegesGroups = new javax.swing.JScrollPane();
jlstPrivilegesGroups = new javax.swing.JList();
jpPrivilegesPrivilegeTypes = new javax.swing.JPanel();
! pcbpPriv = new PrivilegesCheckBoxPanel(validPrivileges, "", grantOptionString);
jlPrivilegesUsers = new javax.swing.JLabel();
jlPrivilegesGroups = new javax.swing.JLabel();
jbPrivilegesAddPrivileges = new javax.swing.JButton();
***************
*** 1306,1311 ****
--- 1312,1323 ----
jpPrivilegesPrivToGrant.setBorder(new javax.swing.border.TitledBorder(AdminResources.getString(AdminResources.DLG_CREATE_TABLE_PRIVILEGES_PRIV_TO_GRANT)));
jcbPrivilegesPublic.setText(AdminResources.getString(AdminResources.PRIVILEGE_PUBLIC));
+ jcbPrivilegesPublic.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jcbPrivilegesPublicActionPerformed(evt);
+ }
+ });
+
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 0);
***************
*** 1313,1318 ****
--- 1325,1336 ----
jlstPrivilegesUsers.setValueIsAdjusting(true);
jlstPrivilegesUsers.setAutoscrolls(false);
+ jlstPrivilegesUsers.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
+ public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
+ jlstPrivilegesUsersValueChanged(evt);
+ }
+ });
+
jspPrivilegesUsers.setViewportView(jlstPrivilegesUsers);
gridBagConstraints = new java.awt.GridBagConstraints();
***************
*** 1326,1331 ****
--- 1344,1355 ----
jlstPrivilegesGroups.setValueIsAdjusting(true);
jlstPrivilegesGroups.setAutoscrolls(false);
+ jlstPrivilegesGroups.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
+ public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
+ jlstPrivilegesGroupsValueChanged(evt);
+ }
+ });
+
jspPrivilegesGroups.setViewportView(jlstPrivilegesGroups);
gridBagConstraints = new java.awt.GridBagConstraints();
***************
*** 1339,1406 ****
jpPrivilegesPrivilegeTypes.setLayout(new java.awt.GridBagLayout());
- jcbPrivilegesSelect.setText(AdminResources.getString(AdminResources.PRIVILEGE_SELECT));
gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 0;
! gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesSelect, gridBagConstraints);
!
! jcbPrivilegesInsert.setText(AdminResources.getString(AdminResources.PRIVILEGE_INSERT));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 1;
! gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesInsert, gridBagConstraints);
!
! jcbPrivilegesUpdate.setText(AdminResources.getString(AdminResources.PRIVILEGE_UPDATE));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 2;
! gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesUpdate, gridBagConstraints);
!
! jcbPrivilegesDelete.setText(AdminResources.getString(AdminResources.PRIVILEGE_DELETE));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesDelete, gridBagConstraints);
!
! jcbPrivilegesRule.setText(AdminResources.getString(AdminResources.PRIVILEGE_RULE));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 4;
! gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesRule, gridBagConstraints);
!
! jcbPrivilegesReferences.setText(AdminResources.getString(AdminResources.PRIVILEGE_REFERENCES));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 5;
! gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesReferences, gridBagConstraints);
!
! jcbPrivilegesTrigger.setText(AdminResources.getString(AdminResources.PRIVILEGE_TRIGGER));
! gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridx = 0;
! gridBagConstraints.gridy = 6;
! gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
! gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
! gridBagConstraints.insets = new java.awt.Insets(1, 20, 0, 10);
! jpPrivilegesPrivilegeTypes.add(jcbPrivilegesTrigger, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
--- 1363,1373 ----
jpPrivilegesPrivilegeTypes.setLayout(new java.awt.GridBagLayout());
gridBagConstraints = new java.awt.GridBagConstraints();
! gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
! gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
! jpPrivilegesPrivilegeTypes.add(pcbpPriv, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
***************
*** 1533,1538 ****
--- 1500,1545 ----
setBounds((screenSize.width-800)/2, (screenSize.height-635)/2, 800, 635);
}//GEN-END:initComponents
+ private void jlstPrivilegesUsersValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jlstPrivilegesUsersValueChanged
+ adjustWithGrantBoxes();
+ adjustPrivilegeBoxes();
+ }//GEN-LAST:event_jlstPrivilegesUsersValueChanged
+
+ private void jcbPrivilegesPublicActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcbPrivilegesPublicActionPerformed
+ adjustWithGrantBoxes();
+ adjustPrivilegeBoxes();
+ }//GEN-LAST:event_jcbPrivilegesPublicActionPerformed
+
+ private void jlstPrivilegesGroupsValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_jlstPrivilegesGroupsValueChanged
+ adjustWithGrantBoxes();
+ adjustPrivilegeBoxes();
+ }//GEN-LAST:event_jlstPrivilegesGroupsValueChanged
+
+ /**
+ * Adjusts privilege boxes (disables if no user/group/public is selected)
+ */
+
+ private void adjustPrivilegeBoxes() {
+ if (!jcbPrivilegesPublic.isSelected() &&
+ jlstPrivilegesGroups.getSelectedIndices().length == 0 &&
+ jlstPrivilegesUsers.getSelectedIndices().length == 0) {
+ pcbpPriv.setEnabled(false);
+ } else {
+ pcbpPriv.setEnabled(true);
+ }
+ }
+
+ /**
+ * Adjusts the availability of the WITH GRANT OPTION checkboxes.
+ */
+
+ private void adjustWithGrantBoxes() {
+ if (jcbPrivilegesPublic.isSelected() || jlstPrivilegesGroups.getSelectedIndices().length > 0)
+ pcbpPriv.setSecondaryCBEnabled(false);
+ else
+ pcbpPriv.setSecondaryCBEnabled(true);
+ }
+
private void clearConstraintFields(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearConstraintFields
// Add your handling code here:
resetAllTCFields();
***************
*** 1641,1685 ****
private int addPrivilegeDef(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addPrivilegeDef
String selectedPrivileges = "";
boolean minPrivReceiversSpecified = false;
! if (jcbPrivilegesSelect.isSelected()) {
! selectedPrivileges += " SELECT";
! }
!
! if (jcbPrivilegesInsert.isSelected()) {
! selectedPrivileges += " INSERT";
! }
!
! if (jcbPrivilegesUpdate.isSelected()) {
! selectedPrivileges += " UPDATE";
! }
! if (jcbPrivilegesDelete.isSelected()) {
! selectedPrivileges += " DELETE";
! }
! if (jcbPrivilegesRule.isSelected()) {
! selectedPrivileges += " RULE";
}
! if (jcbPrivilegesReferences.isSelected()) {
! selectedPrivileges += " REFERENCES";
! }
! if (jcbPrivilegesTrigger.isSelected()) {
! selectedPrivileges += " TRIGGER";
}
! // return if no privileges have been selected
! if (selectedPrivileges.length() == 0) {
! MessageBox.error(this, AdminResources.getString(AdminResources.WORD_ERROR), AdminResources.getString(AdminResources.DLG_CREATE_TABLE_ERR_PLS_SELECT_PRIVILEGE_TO_ADD));
return -1;
}
!
for (int i=0; i < jlstPrivilegesUsers.getSelectedValues().length; i++) {
! String toAdd = AdminMiscFunctions.getDoubleQuotedIdentifier((String) jlstPrivilegesUsers.getSelectedValues()[i]) + "(" + selectedPrivileges + ")";
! ((DefaultListModel) jlstPrivileges.getModel()).addElement(toAdd);
minPrivReceiversSpecified = true;
}
--- 1648,1695 ----
private int addPrivilegeDef(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addPrivilegeDef
String selectedPrivileges = "";
+ String selectedwithGrantPrivileges = "";
boolean minPrivReceiversSpecified = false;
! String[] selectedPrivStrings;
! selectedPrivStrings = pcbpPriv.getPrimaryOnlySelectedBoxes();
! for (int i=0; i < selectedPrivStrings.length; i++) {
! selectedPrivileges += selectedPrivStrings[i];
!
! if (i < selectedPrivStrings.length-1)
! selectedPrivileges += " ";
}
! selectedPrivStrings = pcbpPriv.getSelectedSecondaryBoxes();
! for (int i=0; i < selectedPrivStrings.length; i++) {
! selectedwithGrantPrivileges += selectedPrivStrings[i];
!
! if (i < selectedPrivStrings.length-1)
! selectedwithGrantPrivileges += " ";
}
! // return if no privileges have been selected
! if (selectedPrivileges.length() + selectedwithGrantPrivileges.length() == 0) {
! MessageBox.error(this, AdminResources.getString(AdminResources.WORD_ERROR), AdminResources.getString(AdminResources.DLG_CREATE_TABLE_ERR_PLS_SELECT_PRIVILEGE_TO_ADD));
return -1;
}
!
for (int i=0; i < jlstPrivilegesUsers.getSelectedValues().length; i++) {
! String toAdd;
!
! if (selectedPrivileges.length() > 0) {
! toAdd = AdminMiscFunctions.getDoubleQuotedIdentifier((String) jlstPrivilegesUsers.getSelectedValues()[i]) + "(" + selectedPrivileges + ")";
! ((DefaultListModel) jlstPrivileges.getModel()).addElement(toAdd);
! }
!
! if (selectedwithGrantPrivileges.length() > 0) {
! toAdd = AdminMiscFunctions.getDoubleQuotedIdentifier((String) jlstPrivilegesUsers.getSelectedValues()[i]) + "(WITH GRANT OPTION " + selectedwithGrantPrivileges + ")";
! ((DefaultListModel) jlstPrivileges.getModel()).addElement(toAdd);
! }
!
minPrivReceiversSpecified = true;
}
***************
*** 1702,1720 ****
// Clear all the checkboxes
jcbPrivilegesPublic.setSelected(false);
- jcbPrivilegesSelect.setSelected(false);
- jcbPrivilegesUpdate.setSelected(false);
- jcbPrivilegesInsert.setSelected(false);
- jcbPrivilegesDelete.setSelected(false);
- jcbPrivilegesRule.setSelected(false);
- jcbPrivilegesReferences.setSelected(false);
- jcbPrivilegesTrigger.setSelected(false);
jlstPrivilegesUsers.getSelectionModel().clearSelection();
jlstPrivilegesGroups.getSelectionModel().clearSelection();
return 0;
!
}//GEN-LAST:event_addPrivilegeDef
private void enableTCForeignKeyFields(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_enableTCForeignKeyFields
--- 1712,1724 ----
// Clear all the checkboxes
+ pcbpPriv.reset();
jcbPrivilegesPublic.setSelected(false);
jlstPrivilegesUsers.getSelectionModel().clearSelection();
jlstPrivilegesGroups.getSelectionModel().clearSelection();
return 0;
!
}//GEN-LAST:event_addPrivilegeDef
private void enableTCForeignKeyFields(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_enableTCForeignKeyFields
***************
*** 2353,2361 ****
// if privileges are defined but not added
! if (jcbPrivilegesSelect.isSelected() || jcbPrivilegesInsert.isSelected() || jcbPrivilegesUpdate.isSelected() || jcbPrivilegesDelete.isSelected()
! || jcbPrivilegesRule.isSelected() || jcbPrivilegesReferences.isSelected() || jcbPrivilegesTrigger.isSelected()) {
!
int i= JOptionPane.showConfirmDialog(
this,
--- 2357,2363 ----
// if privileges are defined but not added
! if (pcbpPriv.getPrimaryOnlySelectedBoxes().length + pcbpPriv.getSelectedSecondaryBoxes().length != 0) {
int i= JOptionPane.showConfirmDialog(
this,
***************
*** 2895,2900 ****
--- 2897,2905 ----
ConstraintColumnChooserDialog cccdTCPKConsColChooser;
ConstraintColumnChooserDialog cccdTCUConsColChooser;
+ String[] validPrivileges = new String[0];
+ String grantOptionString = "";
+
// Variables declaration - do not modify//GEN-BEGIN:variables
private com.redhat.rhdb.admin.AdminComboBox acbCCCheckTime;
private com.redhat.rhdb.admin.AdminComboBox acbCCDeferrable;
***************
*** 2923,2936 ****
private javax.swing.JButton jbTCAddTC;
private javax.swing.JButton jbTCClearFields;
private javax.swing.JButton jbUnique;
- private javax.swing.JCheckBox jcbPrivilegesDelete;
- private javax.swing.JCheckBox jcbPrivilegesInsert;
private javax.swing.JCheckBox jcbPrivilegesPublic;
- private javax.swing.JCheckBox jcbPrivilegesReferences;
- private javax.swing.JCheckBox jcbPrivilegesRule;
- private javax.swing.JCheckBox jcbPrivilegesSelect;
- private javax.swing.JCheckBox jcbPrivilegesTrigger;
- private javax.swing.JCheckBox jcbPrivilegesUpdate;
private javax.swing.JLabel jlCCCheckTime;
private javax.swing.JLabel jlCCConstraintName;
private javax.swing.JLabel jlCCDeferrable;
--- 2928,2934 ----
***************
*** 3009,3014 ****
--- 3007,3013 ----
private javax.swing.JTextField jtfTCPrimaryKey;
private javax.swing.JTextField jtfTCUnique;
private javax.swing.JTabbedPane jtpCreateOptionTabs;
+ private com.redhat.rhdb.admin.PrivilegesCheckBoxPanel pcbpPriv;
private com.redhat.rhdb.admin.SchemaQualifiedSelectionBox sqsbCCRefTable;
private com.redhat.rhdb.admin.SchemaQualifiedSelectionBox sqsbDataType;
private com.redhat.rhdb.admin.SchemaQualifiedSelectionBox sqsbTCRefTable;
diff -cr rhdb-admin/src/com/redhat/rhdb/admin/PrivilegesCheckBoxPanel.java rhdb-admin.incr/src/com/redhat/rhdb/admin/PrivilegesCheckBoxPanel.java
*** rhdb-admin/src/com/redhat/rhdb/admin/PrivilegesCheckBoxPanel.java 2004-06-09 01:51:41.000000000 -0400
--- rhdb-admin.incr/src/com/redhat/rhdb/admin/PrivilegesCheckBoxPanel.java 2004-06-09 13:47:10.000000000 -0400
***************
*** 531,537 ****
hasSecondaryCBEnabled = enabled;
for (int i=0; i < jchSecondaryButtons.length; i++) {
jchSecondaryButtons[i].setSelected(false);
! jchSecondaryButtons[i].setEnabled(enabled);
}
}
--- 531,537 ----
hasSecondaryCBEnabled = enabled;
for (int i=0; i < jchSecondaryButtons.length; i++) {
jchSecondaryButtons[i].setSelected(false);
! jchSecondaryButtons[i].setEnabled(jchButtons[i].isSelected() && enabled);
}
}
diff -cr rhdb-admin/src/com/redhat/rhdb/admin/TableUpdate.java rhdb-admin.incr/src/com/redhat/rhdb/admin/TableUpdate.java
*** rhdb-admin/src/com/redhat/rhdb/admin/TableUpdate.java 2004-05-04 13:07:57.000000000 -0400
--- rhdb-admin.incr/src/com/redhat/rhdb/admin/TableUpdate.java 2004-06-09 14:33:24.000000000 -0400
***************
*** 117,123 ****
String user = grantLine.substring(0, grantLine.lastIndexOf('('));
String privilegesToGrant = grantLine.substring((grantLine.lastIndexOf('(') + 1), (grantLine.length() - 1));
! String[] privilegeComponents = privilegesToGrant.trim().split(" ");
if (privilegeComponents.length == 0 || privilegeComponents[0].equals(""))
continue;
--- 117,141 ----
String user = grantLine.substring(0, grantLine.lastIndexOf('('));
String privilegesToGrant = grantLine.substring((grantLine.lastIndexOf('(') + 1), (grantLine.length() - 1));
! boolean isWithGrant = false;
! String grantOptionString = "";
! String[] privilegeComponents;
!
! // WITH GRANT OPTION marker
!
! String withGrantOptionMarker = "WITH GRANT OPTION ";
!
! isWithGrant = privilegesToGrant.startsWith(withGrantOptionMarker);
!
! if (isWithGrant) {
! // Skip the "WITH GRANT OPTION" marker
!
! privilegesToGrant = privilegesToGrant.substring(withGrantOptionMarker.length());
! grantOptionString = " WITH GRANT OPTION ";
! privilegeComponents = privilegesToGrant.trim().split(" ");
! } else {
! privilegeComponents = privilegesToGrant.trim().split(" ");
! }
if (privilegeComponents.length == 0 || privilegeComponents[0].equals(""))
continue;
***************
*** 127,135 ****
for (int j=1; j < privilegeComponents.length; j++)
privilegesGrantString += ", " + privilegeComponents[j];
! privilegesString += " GRANT " + privilegesGrantString + " ON TABLE " + tableName + " TO " + user + ";\n";
}
!
try {
client.performUpdate((String) parameters.get(PARAM_CLUSTER_NAME), (String) parameters.get(PARAM_DB_NAME), "BEGIN");
--- 145,153 ----
for (int j=1; j < privilegeComponents.length; j++)
privilegesGrantString += ", " + privilegeComponents[j];
! privilegesString += " GRANT " + privilegesGrantString + " ON TABLE " + tableName + " TO " + user + grantOptionString + ";\n";
}
!
try {
client.performUpdate((String) parameters.get(PARAM_CLUSTER_NAME), (String) parameters.get(PARAM_DB_NAME), "BEGIN");
next reply other threads:[~2004-06-09 19:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-09 19:06 Deepak B [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-06-09 5:58 Deepak B
2004-06-09 13:14 ` Fernando Nasser
2004-06-09 5:49 Deepak B
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040609190651.65409.qmail@web61108.mail.yahoo.com \
--to=ibetthisidisavailable@yahoo.ca \
--cc=rhdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).