if (metaData.valueMetaData.isContainer()) { if (metaData.valueMetaData instanceof SetMetaData) { elementMetaData = ((SetMetaData) metaData.valueMetaData).elemMetaData;
if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { Map<Object, Object> childMap = (Map<Object, Object>)value; Map<Object, Object> childEntityMap = Maps.newHashMap(); entity.setFieldValue(f.getKey(), childEntityMap); if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { for (Entry<Object, Object> entry : childMap.entrySet()) { Object childKey = valueForBasicType(entry.getKey(), meta.keyMetaData.type);
if (metaData.valueMetaData.isContainer()) { if (metaData.valueMetaData instanceof SetMetaData) { elementMetaData = ((SetMetaData) metaData.valueMetaData).elemMetaData;
if (metaData.valueMetaData.isContainer()) { if (metaData.valueMetaData instanceof SetMetaData) { elementMetaData = ((SetMetaData) metaData.valueMetaData).elemMetaData;
if (metaData.valueMetaData.isContainer()) { if (metaData.valueMetaData instanceof SetMetaData) { elementMetaData = ((SetMetaData) metaData.valueMetaData).elemMetaData;
if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { Map<Object, Object> childMap = (Map<Object, Object>)value; Map<Object, Object> childEntityMap = Maps.newHashMap(); entity.setFieldValue(f.getKey(), childEntityMap); if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { for (Entry<Object, Object> entry : childMap.entrySet()) { Object childKey = valueForBasicType(entry.getKey(), meta.keyMetaData.type);
String newPrefix = prefix + f.getKey().getFieldName() + "."; org.apache.thrift.meta_data.MapMetaData meta = (org.apache.thrift.meta_data.MapMetaData)f.getValue().valueMetaData; if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { Map<Object, Object> map = (Map<Object, Object>)value; for (Entry<Object, Object> entry : map.entrySet()) {
String newPrefix = prefix + f.getKey().getFieldName() + "."; org.apache.thrift.meta_data.MapMetaData meta = (org.apache.thrift.meta_data.MapMetaData)f.getValue().valueMetaData; if (!meta.keyMetaData.isStruct() && !meta.keyMetaData.isContainer()) { Map<Object, Object> map = (Map<Object, Object>)value; for (Entry<Object, Object> entry : map.entrySet()) {
private boolean typesMatch(FieldDescriptor protoFieldDesc, FieldValueMetaData thriftMetadata) { if (thriftMetadata.isStruct()) { // TODO: Handle structs return false; } byte thriftType = thriftMetadata.type; // TODO: Handle Lists that are more than 1 level deep. Be all pro-style with the recursion. if (thriftMetadata.type == TType.LIST && protoFieldDesc.isRepeated()) { FieldValueMetaData listMeta = ((ListMetaData) thriftMetadata).elemMetaData; if (listMeta.isStruct() || listMeta.isContainer()) { return false; } thriftType = listMeta.type; } return (protoFieldDesc.getType().equals(thriftTypeToProtoType(thriftType)) || thriftBinSucks(protoFieldDesc.getType(), thriftType)); }