Mercurial Hosting > luan
diff lucene/src/luan/modules/lucene/FieldTable.java @ 234:b25feac318d8
add lucene jar and minor changes
git-svn-id: https://luan-java.googlecode.com/svn/trunk@235 21e917c8-12df-6dd8-5cb6-c86387c605b9
author | fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9> |
---|---|
date | Thu, 02 Oct 2014 20:08:39 +0000 |
parents | ef39bc4d3f70 |
children | 3e68917a0dc6 |
line wrap: on
line diff
--- a/lucene/src/luan/modules/lucene/FieldTable.java Thu Oct 02 02:58:55 2014 +0000 +++ b/lucene/src/luan/modules/lucene/FieldTable.java Thu Oct 02 20:08:39 2014 +0000 @@ -27,8 +27,15 @@ if( !(value instanceof String) ) throw new UnsupportedOperationException("value must be string"); String field = (String)value; - map.put(name,field); - reverseMap.put(field,name); + String oldField = map.put(name,field); + if( oldField != null ) + reverseMap.remove(oldField); + String oldName = reverseMap.put(field,name); + if( oldName != null ) { + reverseMap.put(field,oldName); + map.remove(name); + throw new IllegalArgumentException("field '"+oldName+"' is already assigned to '"+field+"'"); + } } @Override public final Object get(Object key) {