package org.ovirt.engine.ui.uicommonweb.models.quota;
import java.util.ArrayList;
import org.ovirt.engine.core.common.businessentities.Permission;
import org.ovirt.engine.core.common.businessentities.Quota;
import org.ovirt.engine.core.common.queries.GetPermissionsForObjectParameters;
import org.ovirt.engine.core.common.queries.VdcQueryReturnValue;
import org.ovirt.engine.core.common.queries.VdcQueryType;
import org.ovirt.engine.ui.frontend.Frontend;
import org.ovirt.engine.ui.uicommonweb.auth.ApplicationGuids;
import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel;
import org.ovirt.engine.ui.uicommonweb.models.users.AdElementListModel;
import org.ovirt.engine.ui.uicompat.ConstantsManager;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class QuotaPermissionListModel extends PermissionListModel<Quota> {
@Inject
public QuotaPermissionListModel(Provider<AdElementListModel> adElementListModelProvider) {
super(adElementListModelProvider);
setTitle(ConstantsManager.getInstance().getConstants().permissionsTitle());
setHelpTag(HelpTag.permissions);
setHashName("permissions"); //$NON-NLS-1$
}
@Override
protected void syncSearch() {
GetPermissionsForObjectParameters tempVar = new GetPermissionsForObjectParameters();
tempVar.setObjectId(getEntityGuid());
tempVar.setVdcObjectType(getObjectType());
tempVar.setDirectOnly(false);
tempVar.setRefresh(getIsQueryFirstTime());
tempVar.setRefresh(getIsQueryFirstTime());
Frontend.getInstance().runQuery(VdcQueryType.GetPermissionsForObject, tempVar, new AsyncQuery<VdcQueryReturnValue>(returnValue -> {
ArrayList<Permission> list = returnValue.getReturnValue();
ArrayList<Permission> newList = new ArrayList<>();
for (Permission permission : list) {
if (!permission.getRoleId().equals(ApplicationGuids.quotaConsumer.asGuid())) {
newList.add(permission);
}
}
setItems(newList);
}));
setIsQueryFirstTime(false);
}
@Override
protected void onEntityChanged() {
super.onEntityChanged();
getSearchCommand().execute();
}
@Override
protected String getListName() {
return "QuotaPermissionListModel"; //$NON-NLS-1$
}
}