Package com.sissi.ucenter.relation.muc.apply.register

Source Code of com.sissi.ucenter.relation.muc.apply.register.MongoRegisterRejectContext

package com.sissi.ucenter.relation.muc.apply.register;

import com.mongodb.BasicDBObjectBuilder;
import com.sissi.config.Dictionary;
import com.sissi.config.MongoConfig;
import com.sissi.context.JID;
import com.sissi.context.JIDBuilder;
import com.sissi.field.Fields;
import com.sissi.protocol.iq.data.XField;
import com.sissi.ucenter.relation.muc.apply.RequestConfig;

/**
* 拒绝更新个人信息请求(Information).索引策略:{"jid":1,"affiliations.jid":1}
*
* @author kim 2014年5月4日
*/
public class MongoRegisterRejectContext extends RegisterApplyContext {

  private final MongoConfig config;

  private final JIDBuilder jidBuilder;

  public MongoRegisterRejectContext(MongoConfig config, JIDBuilder jidBuilder) {
    super("0");
    this.config = config;
    this.jidBuilder = jidBuilder;
  }

  @Override
  public boolean apply(JID invoker, JID target, Fields fields) {
    JID jid = this.jidBuilder.build(fields.findField(RequestConfig.JID.toString(), XField.class).getValue().toString());
    this.config.collection().update(BasicDBObjectBuilder.start().add(Dictionary.FIELD_JID, target.asStringWithBare()).add(Dictionary.FIELD_INFORMATIONS + "." + Dictionary.FIELD_JID, jid.asStringWithBare()).get(), BasicDBObjectBuilder.start("$pull", BasicDBObjectBuilder.start(Dictionary.FIELD_INFORMATIONS, BasicDBObjectBuilder.start(Dictionary.FIELD_JID, jid.asStringWithBare()).get()).get()).get());
    return false;
  }
}
TOP

Related Classes of com.sissi.ucenter.relation.muc.apply.register.MongoRegisterRejectContext

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.