package com.constellio.data.dao.services.solr;
import com.constellio.data.utils.ImpossibleRuntimeException;
public class SolrDataStoreTypesUtils {
static SolrDataStoreTypesFactory factory = new SolrDataStoreTypesFactory();
public static String getMultivalueFieldCode(String code) {
if (code.endsWith(factory.forText(false))) {
return code.replace("_" + factory.forText(false), "_" + factory.forText(true));
}
if (code.endsWith(factory.forBoolean(false))) {
return code.replace("_" + factory.forBoolean(false), "_" + factory.forBoolean(true));
}
if (code.endsWith(factory.forDate(false))) {
return code.replace("_" + factory.forDate(false), "_" + factory.forDate(true));
}
if (code.endsWith(factory.forDateTime(false))) {
return code.replace("_" + factory.forDateTime(false), "_" + factory.forDateTime(true));
}
if (code.endsWith(factory.forDouble(false))) {
return code.replace("_" + factory.forDouble(false), "_" + factory.forDouble(true));
}
if (code.endsWith(factory.forString(false))) {
return code.replace("_" + factory.forString(false), "_" + factory.forString(true));
}
throw new ImpossibleRuntimeException("Invalid code '" + code + "'");
}
public static String getSinglevalueFieldCode(String code) {
if (code.endsWith(factory.forText(true))) {
return code.replace("_" + factory.forText(true), "_" + factory.forText(false));
}
if (code.endsWith(factory.forBoolean(true))) {
return code.replace("_" + factory.forBoolean(true), "_" + factory.forBoolean(false));
}
if (code.endsWith(factory.forDate(true))) {
return code.replace("_" + factory.forDate(true), "_" + factory.forDate(false));
}
if (code.endsWith(factory.forDateTime(true))) {
return code.replace("_" + factory.forDateTime(true), "_" + factory.forDateTime(false));
}
if (code.endsWith(factory.forDouble(true))) {
return code.replace("_" + factory.forDouble(true), "_" + factory.forDouble(false));
}
if (code.endsWith(factory.forString(true))) {
return code.replace("_" + factory.forString(true), "_" + factory.forString(false));
}
throw new ImpossibleRuntimeException("Invalid code '" + code + "'");
}
}