public ImmutableErrorRecordImpl(Record record, CheckTreeItem item) {
ImmutableMap.Builder<String,Field> fieldsBuilder = new ImmutableMap.Builder<String,Field>();
for (Map.Entry<String,Field> e : record.getFields().entrySet()) {
fieldsBuilder.put(e.getKey(), new ImmutableFieldImpl(e.getValue()));
}
fieldsBuilder.put("class_name", new ImmutableFieldImpl("class_name",
item.getResult().getSourceInfoContainer().getClass().getName()));
fieldsBuilder.put("field", new ImmutableFieldImpl("field", item.getResult().getField()));
fieldsBuilder.put("field_value",
new ImmutableFieldImpl("field_value", item.getResult().getValue()));
fieldsBuilder.put("details",
new ImmutableFieldImpl("details", item.getResult().getDetails()));
if(item.getResult().getSourceInfoContainer().getSourceInfo() == null) {
System.out.println(record.getFields().values().toString());
}
fieldsBuilder.put("document_url", new ImmutableFieldImpl("document_url",
item.getResult().getSourceInfoContainer().getSourceInfo().getDocumentUrl()));
fieldsBuilder.put("document_line", new ImmutableFieldImpl("document_line",
Integer.toString(item.getResult().getSourceInfoContainer()
.getSourceInfo().getLine())));
fieldsBuilder.put("document_column", new ImmutableFieldImpl("document_column",
Integer.toString(item.getResult().getSourceInfoContainer()
.getSourceInfo().getColumn())));
fieldsBuilder.put("check_result",
new ImmutableFieldImpl("check_result",
Boolean.toString(item.getResult().isPassed())));
fieldsBuilder.put("check_parent_id", new ImmutableFieldImpl("check_parent_id",
(item.getCheckParentId() > 0) ?
Long.toString(item.getCheckParentId()) : null));
fieldsBuilder.put("check_id",
new ImmutableFieldImpl("check_id", Long.toString(item.getCheckId())));
fieldsBuilder.put("check_tree_id",
new ImmutableFieldImpl("check_tree_id", Long.toString(item.getCheckTreeId())));
fieldsBuilder.put("check_level",
new ImmutableFieldImpl("check_level", Integer.toString(item.getCheckLevel())));
fields = fieldsBuilder.build();
}