[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