Cygnus не хранит метаданные атрибутов в MongoDB. Это связано с тем, что мы используем внутреннее использование Лебедя, когда оно сохраняется в MongoDB, что накладывает серьезные ограничения на эту проблему.
В любом случае, изменение кода в вилке себя, чтобы исправить это должно быть относительно легко. Просто посмотрите на этот метод:
private Document createDoc(long recvTimeTs, String entityId, String entityType, String attrName, String attrType, String attrValue) {
Passing дополнительный параметр String attrMd
и добавляющим это значение переменной doc
должен сделать трюк:
private Document createDoc(long recvTimeTs, String entityId, String entityType, String attrName, String attrType, String attrValue, String attrMd) {
Document doc = new Document("recvTime", new Date(recvTimeTs));
switch (dataModel) {
case DMBYSERVICEPATH:
doc.append("entityId", entityId)
.append("entityType", entityType)
.append("attrName", attrName)
.append("attrType", attrType)
.append("attrValue", attrValue)
.append("attrMd", attrMd);
break;
case DMBYENTITY:
doc.append("attrName", attrName)
.append("attrType", attrType)
.append("attrValue", attrValue)
.append("attrMd", attrMd);
break;
case DMBYATTRIBUTE:
doc.append("attrType", attrType)
.append("attrValue", attrValue)
.append("attrMd", attrMd);
break;
default:
return null; // this will never be reached
} // switch
return doc;
} // createDoc