Esempio n. 1
0
  @Inject
  public QueryParser(
      AggregatorFactory aggregatorFactory,
      GroupByFactory groupByFactory,
      QueryPluginFactory pluginFactory) {
    m_aggregatorFactory = aggregatorFactory;
    m_groupByFactory = groupByFactory;
    m_pluginFactory = pluginFactory;

    m_descriptorMap = new HashMap<Class, Map<String, PropertyDescriptor>>();

    GsonBuilder builder = new GsonBuilder();
    builder.registerTypeAdapterFactory(new LowercaseEnumTypeAdapterFactory());
    builder.registerTypeAdapter(TimeUnit.class, new TimeUnitDeserializer());
    builder.registerTypeAdapter(DateTimeZone.class, new DateTimeZoneDeserializer());
    builder.registerTypeAdapter(Metric.class, new MetricDeserializer());
    builder.registerTypeAdapter(SetMultimap.class, new SetMultimapDeserializer());
    builder.registerTypeAdapter(RelativeTime.class, new RelativeTimeSerializer());
    builder.registerTypeAdapter(SetMultimap.class, new SetMultimapSerializer());
    builder.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES);

    m_gson = builder.create();
  }