public inbox for rhdb@sourceware.org
 help / color / mirror / Atom feed
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, &quot;&quot;, 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");
  			

             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).