Mercurial > hg > openmind
diff src/main/java/org/mpi/openmind/cache/WrapperService.java @ 69:bde6212babfd
106: translit normalization should ignore all '-equivalent chars
Task-Url: https://it-dev.mpiwg-berlin.mpg.de/tracs/ismi/ticket/106
author | casties |
---|---|
date | Wed, 01 Feb 2017 19:54:12 +0100 |
parents | 677492395dc0 |
children | aeb29e362a67 |
line wrap: on
line diff
--- a/src/main/java/org/mpi/openmind/cache/WrapperService.java Wed Feb 01 12:22:43 2017 +0100 +++ b/src/main/java/org/mpi/openmind/cache/WrapperService.java Wed Feb 01 19:54:12 2017 +0100 @@ -25,6 +25,7 @@ import org.mpi.openmind.repository.services.PersistenceService; import org.mpi.openmind.repository.services.utils.AttributeFilter; import org.mpi.openmind.repository.services.utils.EditIntent; +import org.mpi.openmind.repository.utils.ArabicTranslitNormalizer; import org.mpi.openmind.repository.utils.ImportOM3Util; import org.mpi.openmind.repository.utils.NormalizerUtils; import org.mpi.openmind.repository.utils.RomanizationLoC; @@ -151,26 +152,23 @@ txLog.debug("** END remove entity: user="+user+" entity="+entity.toSmallString()); } - public Map<Entity, Attribute> searchEntityByAttributeFilter0(String term, - List<AttributeFilter> filters, int maxResults) { + public Map<Entity, Attribute> searchEntityByAttributeFilter(String term, List<AttributeFilter> filters, + int maxResults) { Map<Entity, Attribute> map = new HashMap<Entity, Attribute>(); List<Long> usedIds = new ArrayList<Long>(); boolean mustBreak = false; int count = 0; if (StringUtils.isNotEmpty(term)) { - String normalizedTerm = NormalizerUtils.normalize(term); + // TODO: better normalization + String normalizedTerm = ArabicTranslitNormalizer.normalize(term); for (AttributeFilter filter : filters) { if (mustBreak) { break; } - for (Attribute att : getAttributesByDefByAttName( - filter.getEntObjectClass(), filter.getName(), -1)) { - if (!usedIds.contains(att.getSourceId()) - && StringUtils.isNotEmpty(att - .getNormalizedOwnValue()) - && att.getNormalizedOwnValue().contains( - normalizedTerm)) { + for (Attribute att : getAttributesByDefByAttName(filter.getEntObjectClass(), filter.getName(), -1)) { + if (!usedIds.contains(att.getSourceId()) && StringUtils.isNotEmpty(att.getNormalizedOwnValue()) + && att.getNormalizedOwnValue().contains(normalizedTerm)) { map.put(getEntityById(att.getSourceId()), att); usedIds.add(att.getSourceId()); count++;