1e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin/*
2e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Copyright (C) 2012 Google Inc.
3e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin *
4e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Licensed under the Apache License, Version 2.0 (the "License");
5e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * you may not use this file except in compliance with the License.
6e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * You may obtain a copy of the License at
7e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin *
8e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * http://www.apache.org/licenses/LICENSE-2.0
9e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin *
10e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * Unless required by applicable law or agreed to in writing, software
11e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * distributed under the License is distributed on an "AS IS" BASIS,
12e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * See the License for the specific language governing permissions and
14e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * limitations under the License.
15e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin */
16e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
17e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinpackage com.google.caliper.runner;
18e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
19e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.google.caliper.api.ResultProcessor;
20e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.google.caliper.config.CaliperConfig;
21e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.google.caliper.config.InvalidConfigurationException;
22e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.google.caliper.util.Stdout;
23e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.google.gson.Gson;
24e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
25e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport com.sun.jersey.api.client.Client;
26e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
27e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport java.io.PrintWriter;
28e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
29e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinimport javax.inject.Inject;
30e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin
31e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin/**
32e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * A {@link ResultProcessor} implementation that publishes results to the webapp using an HTTP
33e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin * request.
34e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin */
35e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffinpublic class HttpUploader extends ResultsUploader {
36e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin  @Inject HttpUploader(@Stdout PrintWriter stdout, Gson gson, CaliperConfig config)
37e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin      throws InvalidConfigurationException {
38e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin    super(stdout, gson, Client.create(), config.getResultProcessorConfig(HttpUploader.class));
39e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin  }
40e236301e5fc778bffe1748ed80d7936e6c807012Paul Duffin}
41