package org.ovirt.engine.core.searchbackend;
import org.ovirt.engine.core.common.businessentities.ArchitectureType;
import org.ovirt.engine.core.common.businessentities.VmPoolType;
public class PoolConditionFieldAutoCompleter extends BaseConditionFieldAutoCompleter {
public static final String NAME = "NAME";
public static final String DESCRIPTION = "DESCRIPTION";
public static final String TYPE = "TYPE";
public static final String CLUSTER = "CLUSTER";
public static final String DATACENTER = "DATACENTER";
public static final String ARCHITECTURE = "ARCHITECTURE";
public static final String ASSIGNED_VM_COUNT = "ASSIGNED_VM_COUNT";
public static final String RUNNING_VM_COUNT = "RUNNING_VM_COUNT";
public PoolConditionFieldAutoCompleter() {
// Building the basic vervs Dict
verbs.add(NAME);
verbs.add(DESCRIPTION);
verbs.add(TYPE);
verbs.add(CLUSTER);
verbs.add(DATACENTER);
verbs.add(ARCHITECTURE);
verbs.add(ASSIGNED_VM_COUNT);
verbs.add(RUNNING_VM_COUNT);
// Building the autoCompletion Dict
buildCompletions();
// Building the types dict
getTypeDictionary().put(NAME, String.class);
getTypeDictionary().put(DESCRIPTION, String.class);
getTypeDictionary().put(TYPE, VmPoolType.class);
getTypeDictionary().put(CLUSTER, String.class);
getTypeDictionary().put(DATACENTER, String.class);
getTypeDictionary().put(ARCHITECTURE, ArchitectureType.class);
getTypeDictionary().put(ASSIGNED_VM_COUNT, Integer.class);
getTypeDictionary().put(RUNNING_VM_COUNT, Integer.class);
// building the ColumnName Dict
columnNameDict.put(NAME, "vm_pool_name");
columnNameDict.put(DESCRIPTION, "vm_pool_description");
columnNameDict.put(TYPE, "vm_pool_type");
columnNameDict.put(CLUSTER, "cluster_name");
columnNameDict.put(DATACENTER, "storage_pool_name");
columnNameDict.put(ARCHITECTURE, "architecture");
columnNameDict.put(ASSIGNED_VM_COUNT, "assigned_vm_count");
columnNameDict.put(RUNNING_VM_COUNT, "vm_running_count");
// Building the validation dict
buildBasicValidationTable();
}
@Override
public IAutoCompleter getFieldRelationshipAutoCompleter(String fieldName) {
return StringConditionRelationAutoCompleter.INSTANCE;
}
@Override
public IConditionValueAutoCompleter getFieldValueAutoCompleter(String fieldName) {
IConditionValueAutoCompleter retval = null;
if (TYPE.equals(fieldName)) {
retval = new EnumValueAutoCompleter(VmPoolType.class);
} else if (ARCHITECTURE.equals(fieldName)) {
retval = new EnumValueAutoCompleter(ArchitectureType.class);
}
return retval;
}
}