It's all about the answers!

Ask a question

Setting Restricted Access programmatically


0
1
Mohan K M (1111511) | asked Mar 04 '11, 2:42 a.m.
Hi All,
Am using Restricted Access feature provided in RTC v3.0 for controlling view access for couple of work items for list of users. I understand that we can have it enabled on web client by including "Restricted Access" attribute in our editor presentation. Now I have a scenario wherein, I would need to create work items programmatically. I would want these newly created ones also to be set for access controlling by default. Can I set this attribute "Restricted Access" also in my program to achieve this?? Any pointers in this direction would greatly help. Thanks

Thanks & regards,
Mohan

One answer



permanent link
Jorge Diaz (8664234) | answered Aug 04 '11, 3:40 a.m.
JAZZ DEVELOPER
Hello Mohan,

yes you can set the Restricted Access att of a WorkItem programmatically. You basically need to get the UUID from the Project Area you want to set the value for and set the contextId attribute. Here I add you some snippets to try to help out:




// Assume pArea1 is WI's Project Area
// and PArea2 is to what you want to set security context
// Both assignable to IProjectArea

IWorkItemClient service = (IWorkItemClient) repo.getClientLibrary(IWorkItemClient.class);

// Retrieve Restricted Attribute
IAttribute restrictedAtt = service.findAttribute(pArea1, "contextId", monitor);

// I assume you already have your WorkItem WorkingCopy

IWorkItem workItem = <workingCopy>.getWorkItem();

// From a Project Area, you have to get the UUID

UUID secContext = pArea2.getContextId();

workItem.setValue(restrictedAtt, secContext);

...


Hope this eskeleton snippets help.

Regads,

Jorge

		                                        

Comments
Neal McKegney commented Jul 04 '13, 7:17 a.m. | edited Jul 04 '13, 1:55 p.m.

I'm using 4.0.3, and I'd like to programatically set Restricted Access to an Access Group.  Is this possible?  I haven't figured out how to return the UUID for the Access Group. 


Ralph Schoon commented Jul 04 '13, 7:40 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

The code above would work for 4.0.3 as well.


Neal McKegney commented Jul 04 '13, 1:50 p.m.

That code is getting the UUID for the Project Area though... I'm trying to get the UUID for an Access Group.  Or am I missing something?


Ralph Schoon commented Jul 05 '13, 1:23 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

See https://rsjazz.wordpress.com/2013/06/26/attribute-customization-java-based-value-providers-conditions-and-validators/ and look into how I get the SecurityContextProvider that actually uses them. Look into the code.

I think it is

workItemCommon.getAuditableCommon().getAccessGroups()

So you get them from an AuditableCommon service or client library.

Your answer


Register or to post your answer.