DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=38849>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=38849





------- Additional Comments From [EMAIL PROTECTED]  2006-03-04 05:31 -------
This sounds similar to something I've seen in a financial record keeping 
system.  They defined a hierarchy of permissions on resources that were data 
centric.

This was an interesting design because it was difference than your standard 
groups, users and roles.  It added a OO spin that was also relational.  

You created a generalization template defining the order of evaluation of 
rules assigned to context state.  In the snippet below (stylized for JSF and 
XML), the individual would override the group, group override the profile and 
the providing company would be the most general.
 
<generalization  id="TOP_MENU">
      <context id="PROV_COMPANY" expr="#{sessionScope['prov']}" level="0"/>
      <context id="PROFILE" expr="#{sessionScope['prof']}" level="2"/>
      <context id="GROUP" expr="#{sessionScope['grp']}" level="4"/>
      <context id="INDV" expr="#{requestScope['ind_id']}" level="6"/>
</generalization>

Define arbitrary resources associated with visual widgets, transactions or 
operations.

<resources id="view_balance" description="Participant Balance"/>
<resources id="transfer_history" description="Transfer History"/>

Define rules that associate a resource with a relationship used in its 
evaluation based on a know data state.

<rule resourceId="view_balance" generalizationId="TOP_MENU" 
contextId="PROV_COMPANY" contextRuleValue="ABC LLC"  status="OFF" />
 
<rule resourceId="view_balance" generalizationId="TOP_MENU" contextId="GROUP" 
contextRuleValue="1234" status="OFF"/> 

<rule resourceId="view_balance" generalizationId="TOP_MENU" contextId="GROUP" 
contextRuleValue="4321" status="ON"/> 


Pseudo code:

//find the relationship used to evaluation the status of a resource
Generalization gen = Factory.getGeneralization("TOP_MENU");

//populate the relationship with context state data   
GenContext genContext =  new GenContext(gen, facesContext);

//find all rules for a resource ordered by the relationship
ResourceRules rules = Factory.getResourceRules("view_balance", gen);

// evaluation the status of a resource based on the current state and the 
relationships
rules.evaluate(genContext) 


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to