package org.ovirt.engine.ui.uicommonweb.models.gluster; import java.util.ArrayList; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.GlusterBrickEntity; import org.ovirt.engine.core.common.glusteractions.GlusterVolumeParameters; import org.ovirt.engine.ui.frontend.Frontend; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult; import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback; public class AddBrickModel extends ListModel{ private String volumeName; public AddBrickModel(){ setTitle("Add Bricks"); } ArrayList<String> curBrickList; public ArrayList<String> getCurBrickList() { return curBrickList; } public void setCurBrickList(ArrayList<String> curBrickList) { this.curBrickList = curBrickList; } public void init(){ Frontend.RunAction(VdcActionType.ListGlusterBricks, new GlusterVolumeParameters(VolumeListModel.clusterId, getVolumeName()), new IFrontendActionAsyncCallback() { @Override public void Executed(FrontendActionAsyncResult result) { ArrayList<EntityModel> list = new ArrayList<EntityModel>(); for (GlusterBrickEntity brick : (ArrayList<GlusterBrickEntity>)result.getReturnValue().getActionReturnValue()) { EntityModel eModel = new EntityModel(); eModel.setEntity(brick); list.add(eModel); } setItems(list); initSelections(); } }); } public void initSelections(){ if(getItems() != null){ for (EntityModel entity : (ArrayList<EntityModel>)getItems()) { GlusterBrickEntity brick = (GlusterBrickEntity)entity.getEntity(); for (String str : getCurBrickList()) { if(brick.getQualifiedName().equals(str)){ entity.setIsSelected(true); entity.setIsChangable(false); } } } } } public String getVolumeName() { return volumeName; } public void setVolumeName(String volumeName) { this.volumeName = volumeName; } }