package com.sissi.pipeline.in.presence.init;
import com.sissi.context.JID;
import com.sissi.context.JIDContext;
import com.sissi.pipeline.in.ProxyProcessor;
import com.sissi.protocol.Protocol;
import com.sissi.protocol.presence.Presence;
/**
* 当前JID被订阅者(To)所有资源出席通知
*
* @author kim 2014年1月21日
*/
public class PresenceInit4SelfsProcessor extends ProxyProcessor {
@Override
public boolean input(JIDContext context, Protocol protocol) {
return this.writePresence(protocol.cast(Presence.class).clone(), context);
}
private boolean writePresence(Presence presence, JIDContext context) {
for (JID resource : super.resources(context.jid())) {
context.write(new Presence().setFrom(resource).clauses(super.findOne(resource, true).status().clauses()), true);
}
return true;
}
}