package org.ovirt.engine.ui.uicommonweb.models.vms;
import java.util.ArrayList;
import java.util.List;
import org.ovirt.engine.core.common.businessentities.ArchitectureType;
import org.ovirt.engine.core.common.businessentities.Cluster;
import org.ovirt.engine.core.common.businessentities.Quota;
import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
import org.ovirt.engine.ui.uicommonweb.models.ListModel;
public abstract class ImportEntityData<E> extends EntityModel<E> {
boolean isExistsInSystem;
private EntityModel<Boolean> clone;
private ListModel<Cluster> cluster;
private ListModel<Quota> clusterQuota;
public ImportEntityData() {
setClone(new EntityModel<>(false));
setCluster(new ListModel<Cluster>());
setClusterQuota(new ListModel<Quota>());
}
public boolean isExistsInSystem() {
return isExistsInSystem;
}
public void setExistsInSystem(boolean isExistsInSystem) {
this.isExistsInSystem = isExistsInSystem;
}
public EntityModel<Boolean> getClone() {
return clone;
}
public void setClone(EntityModel<Boolean> clone) {
this.clone = clone;
}
public void enforceClone(String prohibitReason) {
getClone().setEntity(true);
getClone().setChangeProhibitionReason(prohibitReason);
getClone().setIsChangeable(false);
}
public ListModel<Cluster> getCluster() {
return cluster;
}
public void setCluster(ListModel<Cluster> cluster) {
this.cluster = cluster;
}
public ListModel<Quota> getClusterQuota() {
return clusterQuota;
}
public void setClusterQuota(ListModel<Quota> clusterQuota) {
this.clusterQuota = clusterQuota;
}
public void selectClusterByName(String name) {
for (Cluster cluster : getCluster().getItems()) {
if (cluster.getName().equals(name)) {
getCluster().setSelectedItem(cluster);
break;
}
}
}
public List<String> getClusterNames() {
List<String> names = new ArrayList<>();
if (getCluster().getItems() != null) {
for (Cluster cluster : getCluster().getItems()) {
names.add(cluster.getName());
}
}
return names;
}
public abstract ArchitectureType getArchType();
public abstract String getName();
}