This technote explains how to get the MD security filter for a user or a user group using Strategy Web SDK.
package com.Strategy.standalone;
import java.util.Enumeration;
import com.Strategy.web.objects.*;
import com.Strategy.web.objects.admin.users.WebMDSecurityFilter;
import com.Strategy.web.objects.admin.users.WebUser;
import com.Strategy.web.objects.admin.users.WebUserEntity;
import com.Strategy.web.objects.admin.users.WebUserGroup;
import com.Strategy.web.objects.admin.users.WebUserList;
import com.Strategy.web.objects.admin.users.WebUserSecurityFilters;
import com.Strategy.webapi.EnumDSSXMLObjectSubTypes;
import com.Strategy.webapi.EnumDSSXMLObjectTypes;
import com.Strategy.webapi.EnumDSSXMLSearchDomain;
import com.Strategy.webapi.EnumDSSXMLSearchFlags;
public class AccessSecurityMDfilterObject {
private WebIServerSession isession;
private WebObjectsFactory factory;
private WebInboxSource inbox;
private WebSubscriptionsSource subSource;
public AccessSecurityMDfilterObject() {
factory = WebObjectsFactory.getInstance();
isession = factory.getIServerSession();
isession.setServerName("I-Server");
isession.setProjectName("Strategy Tutorial");
isession.setLogin("userName");
isession.setPassword("password");
isession.setClientID("127.0.0.1");
try {
isession.refresh();
} catch (WebObjectsException e) {
e.printStackTrace();
}
try{
WebObjectInfo woi = isession.getUserInfo();
woi.populate();
WebUserEntity wue = (WebUserEntity)woi;
WebUser wu = (WebUser)woi;
//WebUserGroup wue = (WebUserGroup)woi;
WebProject wp = (WebProject) isession.getFactory().getObjectSource().getObject(isession.getProjectID(), EnumDSSXMLObjectTypes.DssXmlTypeProject);
WebUserList groups = wu.getParents();
Enumeration groupsEnum = groups.elements();
// Getting the Security Filter for the Group that users belong to.
while (groupsEnum.hasMoreElements()) {
WebUserEntity userGroup = (WebUserEntity) groupsEnum.nextElement();
System.out.println("Group name: "+userGroup.getDisplayName());
WebUserSecurityFilters wsf_group = userGroup.getSecurityFilters();
System.out.println("security filter: "+wsf_group.size());
WebMDSecurityFilter wmdsf_group = wsf_group.get(wp);
if(wmdsf_group!=null)
System.out.println("security filter Name: "+ wmdsf_group.getDisplayName());
}
// Getting the Security filter for a user
WebUserSecurityFilters wsf = wue.getSecurityFilters();
System.out.println("security filter: "+wsf.size());
System.out.println("UserName: " + wue.getDisplayName());
WebMDSecurityFilter wmdsf = wsf.get(wp);
if(wmdsf != null)
{
System.out.println("security filter Name: "+ wmdsf.getDisplayName());
}
}catch(WebObjectsException e){
System.out.println(e.toString());
}
}
public static void main(String[] args) {
AccessSecurityMDfilterObject test = new AccessSecurityMDfilterObject();
}
}