value = value.substring(0, value.indexOf(':'));
}
// look up the value and authority in solr
List<AuthorityValue> byValue = authorityValueFinder.findByValue(c, schema, element, qualifier, value);
AuthorityValue authorityValue = null;
if (byValue.isEmpty()) {
String toGenerate = fromAuthority.generateString() + value;
String field = schema + "_" + element + (StringUtils.isNotBlank(qualifier) ? "_" + qualifier : "");
authorityValue = AuthorityValueGenerator.generate(toGenerate, value, field);
dcv.authority = toGenerate;
} else {
authorityValue = byValue.get(0);
dcv.authority = authorityValue.getId();
}
dcv.value = authorityValue.getValue();
dcv.confidence = Choices.CF_ACCEPTED;
} else if (value == null || !value.contains(DSpaceCSV.authoritySeparator)) {
simplyCopyValue(value, dcv);
} else {
String[] parts = value.split(DSpaceCSV.escapedAuthoritySeparator);