package org.ovirt.engine.core.searchbackend;
public class NetworkConditionFieldAutoCompleter extends BaseConditionFieldAutoCompleter {
public static final String NAME = "NAME";
public static final String DESCRIPTION = "DESCRIPTION";
public static final String COMMENT = "COMMENT";
public static final String VLAN_ID = "VLANID";
public static final String STP = "STP";
public static final String MTU = "MTU";
public static final String VM_NETWORK = "VMNETWORK";
public static final String DATA_CENTER = "DATACENTER";
public static final String LABEL = "LABEL";
public static final String PROVIDER_NAME = "PROVIDER_NAME";
public static final String QOS = "QOS_NAME";
public NetworkConditionFieldAutoCompleter() {
// Building the basic verbs dict.
verbs.add(NAME);
verbs.add(DESCRIPTION);
verbs.add(COMMENT);
verbs.add(VLAN_ID);
verbs.add(STP);
verbs.add(MTU);
verbs.add(VM_NETWORK);
verbs.add(DATA_CENTER);
verbs.add(LABEL);
verbs.add(PROVIDER_NAME);
verbs.add(QOS);
// Building the autoCompletion dict.
buildCompletions();
// Building the types dict.
getTypeDictionary().put(NAME, String.class);
getTypeDictionary().put(DESCRIPTION, String.class);
getTypeDictionary().put(COMMENT, String.class);
getTypeDictionary().put(VLAN_ID, Integer.class);
getTypeDictionary().put(STP, Boolean.class);
getTypeDictionary().put(MTU, Integer.class);
getTypeDictionary().put(VM_NETWORK, Boolean.class);
getTypeDictionary().put(DATA_CENTER, String.class);
getTypeDictionary().put(LABEL, String.class);
getTypeDictionary().put(PROVIDER_NAME, String.class);
getTypeDictionary().put(QOS, String.class);
// building the ColumnName dict.
columnNameDict.put(NAME, "name");
columnNameDict.put(DESCRIPTION, "description");
columnNameDict.put(COMMENT, "free_text_comment");
columnNameDict.put(VLAN_ID, "vlan_id");
columnNameDict.put(STP, "stp");
columnNameDict.put(MTU, "mtu");
columnNameDict.put(VM_NETWORK, "vm_network");
columnNameDict.put(DATA_CENTER, "storage_pool_name");
columnNameDict.put(LABEL, "label");
columnNameDict.put(PROVIDER_NAME, "provider_name");
columnNameDict.put(QOS, "qos_name");
// Building the validation dict.
buildBasicValidationTable();
}
@Override
public IAutoCompleter getFieldRelationshipAutoCompleter(final String fieldName) {
final Class<?> clazz = getTypeDictionary().get(fieldName);
if (clazz == Integer.class) {
return NumericConditionRelationAutoCompleter.INSTANCE;
}
return StringConditionRelationAutoCompleter.INSTANCE;
}
@Override
public IConditionValueAutoCompleter getFieldValueAutoCompleter(String fieldName) {
IConditionValueAutoCompleter completer = null;
if (STP.equals(fieldName) || VM_NETWORK.equals(fieldName)) {
completer = new BitValueAutoCompleter();
}
return completer;
}
}