public static List<ColumnDescription> getColumnDescriptionsFromFeedInfo(FeedInfo feedInfo)
throws FeedServerAdapterException {
List<ColumnDescription> columnDescriptions = new ArrayList<ColumnDescription>();
EntityInfo entityInfo = feedInfo.getEntityInfo();
Collection<PropertyInfo> properties = entityInfo.getProperityInfo();
for (PropertyInfo property : properties) {
Set<String> set = new HashSet<String>();
if (GVizTypeConverter.isRecursiveType(
entityInfo,
entityInfo.getType(property.getTypeName()),
set)) {
throw new FeedServerAdapterException(
FeedServerAdapterException.Reason.INVALID_INPUT,
"recursive type " + property.getTypeName());
}