[cvs] expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj RowSecuredDBObject.java

JCorporate Ltd jcorp at jcorp2.servlets.net
Fri Aug 13 00:55:10 PDT 2004


Update of /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj
In directory jcorp2.servlets.net:/tmp/cvs-serv25762/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj

Modified Files:
	RowSecuredDBObject.java 
Log Message:
fix setPermissions() logic


Index: RowSecuredDBObject.java
===================================================================
RCS file: /home/javacorp/.cvs/expresso/expresso/expresso-web/WEB-INF/src/com/jcorporate/expresso/core/dbobj/RowSecuredDBObject.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** RowSecuredDBObject.java	19 May 2004 08:22:35 -0000	1.27
--- RowSecuredDBObject.java	13 Aug 2004 07:55:08 -0000	1.28
***************
*** 114,117 ****
--- 114,121 ----
  
      /**
+      * flag for getPermission() if it must create new
+      */
+     private static final String CREATED_NEW = "CREATED_NEW";
+     /**
       * constructor without parameters is required by framework, but if you use
       * this constructor, be sure to set the requesting userid after
***************
*** 282,285 ****
--- 286,290 ----
          // set owner if this is a new set of permissions
          if (!found) {
+             rowPermissions.setAttribute(CREATED_NEW, "1");
              rowPermissions.owner(getRequestingUid());
          }
***************
*** 885,889 ****
  
      /**
!      * set permissions as indicated
       *
       * @param owner new owner
--- 890,894 ----
  
      /**
!      * set permissions as indicated and persist, either calling db actions add() or update()
       *
       * @param owner new owner
***************
*** 897,904 ****
          rowPermissions.owner(owner);
          rowPermissions.permissions(perm);
!         if (rowPermissions.find()) {
!             rowPermissions.update();
!         } else {
              rowPermissions.add();
          }
  
--- 902,910 ----
          rowPermissions.owner(owner);
          rowPermissions.permissions(perm);
!         if (rowPermissions.getAttribute(CREATED_NEW) != null) {
              rowPermissions.add();
+             rowPermissions.removeAttribute(CREATED_NEW);
+         } else {
+             rowPermissions.update();
          }
  



More information about the cvs mailing list