Skip to content

Commit

Permalink
[HWKMETRICS-113] more clean up, checkstyle fix
Browse files Browse the repository at this point in the history
  • Loading branch information
John Sanda committed Jun 1, 2015
1 parent 6f2a5e9 commit b93c516
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 43 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,32 @@

import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
import static org.hawkular.metrics.api.jaxrs.filter.TenantFilter.TENANT_HEADER_NAME;
import static org.hawkular.metrics.api.jaxrs.util.ApiUtils.executeAsync;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.container.AsyncResponse;
import javax.ws.rs.container.Suspended;
import javax.ws.rs.core.Response;

import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.wordnik.swagger.annotations.Api;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
import com.wordnik.swagger.annotations.ApiResponse;
import com.wordnik.swagger.annotations.ApiResponses;
import org.hawkular.metrics.api.jaxrs.ApiError;
import org.hawkular.metrics.api.jaxrs.request.MixedMetricsRequest;
import org.hawkular.metrics.api.jaxrs.util.ApiUtils;
import org.hawkular.metrics.core.api.MetricType;
import org.hawkular.metrics.core.api.MetricsService;
Expand Down Expand Up @@ -86,45 +92,45 @@ public void findMetrics(
}
}

// @POST
// @Path("/data")
// @ApiOperation(value = "Add data for multiple metrics in a single call.")
// @ApiResponses(value = {
// @ApiResponse(code = 200, message = "Adding data succeeded."),
// @ApiResponse(code = 500, message = "Unexpected error happened while storing the data",
// response = ApiError.class) })
// public void addMetricsData(
// @Suspended final AsyncResponse asyncResponse,
// @ApiParam(value = "List of metrics", required = true) MixedMetricsRequest metricsRequest
// ) {
// executeAsync(asyncResponse, () -> {
// if ((metricsRequest.getGaugeMetrics() == null || !metricsRequest.getGaugeMetrics().isEmpty())
// && (metricsRequest.getAvailabilityMetrics() == null || metricsRequest.getAvailabilityMetrics()
// .isEmpty())) {
// return Futures.immediateFuture(Response.ok().build());
// }
//
// List<ListenableFuture<Void>> simpleFuturesList = new ArrayList<>();
//
// if (metricsRequest.getGaugeMetrics() != null && !metricsRequest.getGaugeMetrics().isEmpty()) {
// metricsRequest.getGaugeMetrics().forEach(m -> m.setTenantId(tenantId));
// // TODO This needs to be fix - this needs to refactored..
// // Temporarily commented out to get it to compile as we midst of updating MetricsService
// // to use rx.Observable instead of ListenableFuture
//
// // Observable<Void> voidObservable = metricsService.addGaugeData(Observable.
// // from(metricsRequest.getGaugeMetrics()));
// // simpleFuturesList.add(metricsService.addGaugeData(metricsRequest.getGaugeMetrics()));
// }
//
// if (metricsRequest.getAvailabilityMetrics() != null && !metricsRequest.getAvailabilityMetrics().isEmpty()) {
// metricsRequest.getAvailabilityMetrics().forEach(m -> m.setTenantId(tenantId));
// metricsService.addAvailabilityData(metricsRequest.getAvailabilityMetrics())
// .subscribe(r -> asyncResponse.resume(Response.ok().build()),
// t -> asyncResponse.resume(ApiUtils.serverError(t)));
// }
//
// return Futures.transform(Futures.successfulAsList(simpleFuturesList), ApiUtils.MAP_LIST_VOID);
// });
// }
@POST
@Path("/data")
@ApiOperation(value = "Add data for multiple metrics in a single call.")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "Adding data succeeded."),
@ApiResponse(code = 500, message = "Unexpected error happened while storing the data",
response = ApiError.class) })
public void addMetricsData(
@Suspended final AsyncResponse asyncResponse,
@ApiParam(value = "List of metrics", required = true) MixedMetricsRequest metricsRequest
) {
executeAsync(asyncResponse, () -> {
if ((metricsRequest.getGaugeMetrics() == null || !metricsRequest.getGaugeMetrics().isEmpty())
&& (metricsRequest.getAvailabilityMetrics() == null || metricsRequest.getAvailabilityMetrics()
.isEmpty())) {
return Futures.immediateFuture(Response.ok().build());
}

List<ListenableFuture<Void>> simpleFuturesList = new ArrayList<>();

if (metricsRequest.getGaugeMetrics() != null && !metricsRequest.getGaugeMetrics().isEmpty()) {
metricsRequest.getGaugeMetrics().forEach(m -> m.setTenantId(tenantId));
// TODO This needs to be fix - this needs to refactored..
// Temporarily commented out to get it to compile as we midst of updating MetricsService
// to use rx.Observable instead of ListenableFuture

// Observable<Void> voidObservable = metricsService.addGaugeData(Observable.
// from(metricsRequest.getGaugeMetrics()));
// simpleFuturesList.add(metricsService.addGaugeData(metricsRequest.getGaugeMetrics()));
}

if (metricsRequest.getAvailabilityMetrics() != null && !metricsRequest.getAvailabilityMetrics().isEmpty()) {
metricsRequest.getAvailabilityMetrics().forEach(m -> m.setTenantId(tenantId));
metricsService.addAvailabilityData(metricsRequest.getAvailabilityMetrics())
.subscribe(r -> asyncResponse.resume(Response.ok().build()),
t -> asyncResponse.resume(ApiUtils.serverError(t)));
}

return Futures.transform(Futures.successfulAsList(simpleFuturesList), ApiUtils.MAP_LIST_VOID);
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,14 @@ public interface DataPoint<T> {
Comparator<DataPoint> TIMESTAMP_COMPARATOR = Comparator.comparing(DataPoint::getTimestamp);

/**
* The UNIX timestamp of the {@link #getTimeUUID() timeUUID}
* The UNIX timestamp at which the data point was collected
*/
long getTimestamp();

/**
*
* The collected value
*/
T getValue();

Map<String, String> getTags();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public String toString() {
return com.google.common.base.Objects.toStringHelper("GaugeDataPoint")
.add("timestamp", timestamp)
.add("value", value)
.add("taga", tags)
.add("tags", tags)
.toString();
}
}

0 comments on commit b93c516

Please sign in to comment.