package com.sissi.ucenter.search.impl; import java.util.List; import com.mongodb.DBObject; import com.sissi.config.Dictionary; import com.sissi.config.MongoConfig; import com.sissi.config.impl.MongoUtils; import com.sissi.context.JIDBuilder; import com.sissi.field.Field; import com.sissi.field.FieldMapping; import com.sissi.field.Fields; import com.sissi.protocol.iq.data.XField; import com.sissi.protocol.iq.data.XItem; import com.sissi.protocol.iq.data.XValue; import com.sissi.ucenter.vcard.VCardContext; /** * 表单搜索 * * @author kim 2014年6月8日 */ public class MultiMongoSearchContext extends MongoSearchContext { public MultiMongoSearchContext(MongoConfig config, JIDBuilder jidBuilder, short limit, List<String> filters, FieldMapping mapping) { super(config, jidBuilder, limit, filters, mapping); } @Override protected Fields build(DBObject each, Fields target) { return target.add(Field.class.cast(new XItem().add(new XField().setVar(Dictionary.FIELD_JID).add(new XValue(super.jidBuilder.build(MongoUtils.asString(each, Dictionary.FIELD_USERNAME), null).asStringWithBare()))).add(new XField().setVar(VCardContext.FIELD_NICK.toLowerCase()).add(new XValue(MongoUtils.asString(each, VCardContext.FIELD_NICK)))))); } }