Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ConcatFieldsClassBridge implements FieldBridge, ParameterizedBridge
- {
- private String sepChar;
- private String[] toConcatFields;
- public void setParameterValues(Map parameters)
- {
- this.sepChar = (String)parameters.get("sepChar");
- this.toConcatFields = (String[])parameters.get("fields");
- }
- public void set(String name, Object object, Document document, LuceneOptions luceneOptions)
- {
- Class aClass = object.getClass();
- Class[] paramTypes = new Class[1];
- paramTypes[0] = String.class; // get the actual param type
- String fieldValue = "";
- for (int i = 0; i < this.toConcatFields.length; i++) {
- String methodName = "get" + toConcatFields[i];
- Method m = null;
- try {
- m = aClass.getMethod(methodName, paramTypes);
- } catch (NoSuchMethodException nsme) {
- nsme.printStackTrace();
- }
- String objectValue;
- try {
- objectValue = m.invoke(object);
- } catch (IllegalAccessException iae) {
- iae.printStackTrace();
- } catch (InvocationTargetException ite) {
- ite.printStackTrace();
- }
- if (objectValue == null) {
- fieldValue += "";
- } else {
- fieldValue += objectValue + sepChar;
- }
- }
- Field field = new Field(name, fieldValue, luceneOptions.getStore(), luceneOptions.getIndex(), luceneOptions.getTermVector());
- field.setBoost(luceneOptions.getBoost());
- document.add(field);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement