package org.ovirt.engine.ui.uicommonweb.models.users; import java.util.Collections; import org.ovirt.engine.core.compat.*; import org.ovirt.engine.ui.uicompat.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.common.vdscommands.*; import org.ovirt.engine.core.common.queries.*; import org.ovirt.engine.core.common.action.*; import org.ovirt.engine.ui.frontend.*; import org.ovirt.engine.ui.uicommonweb.*; import org.ovirt.engine.ui.uicommonweb.models.*; import org.ovirt.engine.core.common.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.ui.uicommonweb.*; import org.ovirt.engine.ui.uicommonweb.models.*; @SuppressWarnings("unused") public class UserGroupListModel extends SearchableListModel { public DbUser getEntity() { return (DbUser)((super.getEntity() instanceof DbUser) ? super.getEntity() : null); } public void setEntity(DbUser value) { super.setEntity(value); } public UserGroupListModel() { setTitle("Directory Groups"); } @Override protected void OnEntityChanged() { super.OnEntityChanged(); if (getEntity() != null) { java.util.ArrayList<UserGroup> items = new java.util.ArrayList<UserGroup>(); for (String groupFullName : getEntity().getgroups().split("[,]", -1)) { items.add(CreateUserGroup(groupFullName)); } setItems(items); } else { setItems(null); } } private static UserGroup CreateUserGroup(String groupFullName) { // Parse 'groupFullName' (representation: Domain/OrganizationalUnit/Group) int firstIndexOfSlash = groupFullName.indexOf('/'); int lastIndexOfSlash = groupFullName.lastIndexOf('/'); String domain = firstIndexOfSlash >= 0 ? groupFullName.substring(0, firstIndexOfSlash) : ""; String groupName = lastIndexOfSlash >= 0 ? groupFullName.substring(lastIndexOfSlash+1) : ""; String organizationalUnit = lastIndexOfSlash > firstIndexOfSlash ? groupFullName.substring(0, lastIndexOfSlash).substring(firstIndexOfSlash+1) : ""; UserGroup tempVar = new UserGroup(); tempVar.setGroupName(groupName); tempVar.setOrganizationalUnit(organizationalUnit); tempVar.setDomain(domain); return tempVar; } @Override protected String getListName() { return "UserGroupListModel"; } }