Before customization:

After customization:

This example demonstrates how to modify the ACL of an attribute using Strategy Web SDK Java API
package com.Strategy.sdk.samples.webobjects;
import com.Strategy.web.objects.WebAccessControlList;
import com.Strategy.web.objects.WebAttribute;
import com.Strategy.web.objects.WebIServerSession;
import com.Strategy.web.objects.WebObjectInfo;
import com.Strategy.web.objects.WebObjectSecurity;
import com.Strategy.web.objects.WebObjectSource;
import com.Strategy.web.objects.WebObjectsException;
import com.Strategy.web.objects.WebObjectsFactory;
import com.Strategy.webapi.EnumDSSXMLAccessEntryType;
import com.Strategy.webapi.EnumDSSXMLAccessRightFlags;
import com.Strategy.webapi.EnumDSSXMLApplicationType;
import com.Strategy.webapi.EnumDSSXMLObjectFlags;
import com.Strategy.webapi.EnumDSSXMLObjectTypes;
public class ACLModify {
private static WebObjectsFactory factory = null;
private static WebIServerSession serverSession = null;
public static void main(String[] args) throws WebObjectsException {
factory = WebObjectsFactory.getInstance();
serverSession = factory.getIServerSession();
serverSession.setServerName("SERVERNAME"); //IServer name
serverSession.setServerPort(0);
serverSession.setProjectName("Strategy Tutorial"); //Project to create the session
serverSession.setLogin("Administrator"); //UserID
serverSession.setPassword(""); //Password
serverSession.setApplicationType(EnumDSSXMLApplicationType.DssXmlApplicationCustomApp); //change source for userconnection - Desktop
//Initialize the session with the above parameters
WebObjectSource objSource = serverSession.getFactory().getObjectSource();
int flags = objSource.getFlags();
objSource.setFlags(flags | EnumDSSXMLObjectFlags.DssXmlObjectTotalObject);
WebObjectInfo woi = objSource.getObject("8D679D5111D3E4981000E787EC6DE8A4", EnumDSSXMLObjectTypes.DssXmlTypeAttribute, true);
WebAttribute attribute = (WebAttribute) woi;
System.out.println(attribute.getDisplayName());
WebObjectSecurity wos = woi.getSecurity();
WebAccessControlList acl = wos.getACL();
for (int i = 0; i < acl.size(); i++) {
//gets the users/group under Security for this object
System.out.println("Trustee " + acl.get(i).getTrustee().getDisplayName());
//get the rights for each user/group
System.out.println("Rights " + acl.get(i).getRights());
//change acl to modify for all group/users
acl.get(i).setRights(223);
objSource.save(woi);
}
}