// then the LDAP server datas
Set<Integer> servers = data.ldapStates.keySet();
for (Integer sid : servers)
{
ServerState statei = data.ldapStates.get(sid).state;
Long outime = data.ldapStates.get(sid).approxFirstMissingDate;
// retrieves the change numbers as an arrayList of ANSN1OctetString
cnOctetList = statei.toASN1ArrayList();
writer.writeStartSequence();
// a fake changenumber helps storing the LDAP server ID
ChangeNumber cn = new ChangeNumber(outime,1,sid);
writer.writeOctetString(cn.toString());
// the changenumbers that make the state
for (ByteString soci : cnOctetList)
{
writer.writeOctetString(soci);
}
writer.writeEndSequence();
}
// then the RS server datas
servers = data.rsStates.keySet();
for (Integer sid : servers)
{
ServerState statei = data.rsStates.get(sid).state;
Long outime = data.rsStates.get(sid).approxFirstMissingDate;
// retrieves the change numbers as an arrayList of ANSN1OctetString
cnOctetList = statei.toASN1ArrayList();
writer.writeStartSequence();
// a fake changenumber helps storing the LDAP server ID
ChangeNumber cn = new ChangeNumber(outime,0,sid);
writer.writeOctetString(cn.toString());