Package com.sissi.pipeline.in.iq.search.get

Source Code of com.sissi.pipeline.in.iq.search.get.SearchGetMultiProcessor

package com.sissi.pipeline.in.iq.search.get;

import java.util.List;

import com.sissi.context.JIDContext;
import com.sissi.field.Field;
import com.sissi.pipeline.Input;
import com.sissi.protocol.Protocol;
import com.sissi.protocol.ProtocolType;
import com.sissi.protocol.iq.data.XData;
import com.sissi.protocol.iq.data.XDataType;
import com.sissi.protocol.iq.data.XField;
import com.sissi.protocol.iq.data.XFieldType;
import com.sissi.protocol.iq.data.XReported;
import com.sissi.protocol.iq.data.XValue;
import com.sissi.protocol.iq.search.Search;
import com.sissi.ucenter.search.SearchContext;

/**
* 表单用户查询
*
* @author kim 2014年6月6日
*/
public class SearchGetMultiProcessor implements Input {

  private final XData data;

  private final SearchContext searchContext;

  /**
   * @param reports 报表
   * @param searchContext
   */
  public SearchGetMultiProcessor(List<Field<?>> reports, SearchContext searchContext) {
    super();
    this.searchContext = searchContext;
    this.data = new XData().setType(XDataType.RESULT.toString()).add(new XField().setType(XFieldType.HIDDEN.toString()).setVar(XDataType.FORM_TYPE.toString()).add(new XValue(Search.XMLNS))).add(Field.class.cast(new XReported().add(reports)));
  }

  @Override
  public boolean input(JIDContext context, Protocol protocol) {
    Search search = protocol.cast(Search.class);
    context.write(search.clear().x(this.searchContext.search(search.getX(), this.data.clone(), XData.class)).parent().reply().setType(ProtocolType.RESULT));
    return true;
  }
}
TOP

Related Classes of com.sissi.pipeline.in.iq.search.get.SearchGetMultiProcessor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.