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