Skip to content

Commit

Permalink
[HWKMETRICS-326] Simplified the generics structure of MetricRequest, …
Browse files Browse the repository at this point in the history
…only one type needed now.
  • Loading branch information
Stefan Negrea committed Nov 24, 2015
1 parent a22b369 commit c95c694
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 26 deletions.
12 changes: 6 additions & 6 deletions api/diff.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1002,12 +1002,12 @@ diff -r '--exclude-from=api/diff-excludes' api/metrics-api-jaxrs/src/main/java/o
< @ApiResponse(code = 500, message = "Unexpected error happened while storing the data points",
< response = ApiError.class)
< })
< public void addData(@Suspended final AsyncResponse asyncResponse,
< @ApiParam(value = "List of metrics", required = true)
< List<MetricRequest<Long, DataPoint<Long>>> counters
< public void addData(
< @Suspended final AsyncResponse asyncResponse,
< @ApiParam(value = "List of metrics", required = true) List<MetricRequest<Long>> counters
< ) {
---
> public Response addData(List<MetricRequest<Long, DataPoint<Long>>> counters) {
> public Response addData(List<MetricRequest<Long>> counters) {
236,237c191,196
< Observable<Void> observable = metricsService.addDataPoints(COUNTER, metrics);
< observable.subscribe(new ResultSetObserver(asyncResponse));
Expand Down Expand Up @@ -1599,10 +1599,10 @@ diff -r '--exclude-from=api/diff-excludes' api/metrics-api-jaxrs/src/main/java/o
< })
< public void addGaugeData(
< @Suspended final AsyncResponse asyncResponse,
< @ApiParam(value = "List of metrics", required = true) List<MetricRequest<Double, DataPoint<Double>>> gauges
< @ApiParam(value = "List of metrics", required = true) List<MetricRequest<Double>> gauges
---
> public Response addGaugeData(
> List<MetricRequest<Double, DataPoint<Double>>> gauges
> List<MetricRequest<Double>> gauges
256,257c209,214
< Observable<Void> observable = metricsService.addDataPoints(GAUGE, metrics);
< observable.subscribe(new ResultSetObserver(asyncResponse));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ public Response addAvailabilityForMetric(
@POST
@Path("/data")
public Response addAvailabilityData(
List<MetricRequest<AvailabilityType, DataPoint<AvailabilityType>>> availabilities
List<MetricRequest<AvailabilityType>> availabilities
) {
Observable<Metric<AvailabilityType>> metrics = MetricRequest.toObservable(tenantId, availabilities,
AVAILABILITY);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ public Response deleteMetricTags(

@POST
@Path("/data")
public Response addData(List<MetricRequest<Long, DataPoint<Long>>> counters) {
public Response addData(List<MetricRequest<Long>> counters) {
Observable<Metric<Long>> metrics = MetricRequest.toObservable(tenantId, counters, COUNTER);
try {
metricsService.addDataPoints(COUNTER, metrics).toBlocking().lastOrDefault(null);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ public Response addDataForMetric(
@POST
@Path("/data")
public Response addGaugeData(
List<MetricRequest<Double, DataPoint<Double>>> gauges
List<MetricRequest<Double>> gauges
) {
Observable<Metric<Double>> metrics = MetricRequest.toObservable(tenantId, gauges, GAUGE);
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ public void addAvailabilityData(
@Suspended final AsyncResponse asyncResponse,
@ApiParam(value = "List of availability metrics", required = true)
@JsonDeserialize()
List<MetricRequest<AvailabilityType, DataPoint<AvailabilityType>>> availabilities
List<MetricRequest<AvailabilityType>> availabilities
) {
Observable<Metric<AvailabilityType>> metrics = MetricRequest.toObservable(tenantId, availabilities,
AVAILABILITY);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,9 +228,9 @@ public void deleteMetricTags(
@ApiResponse(code = 500, message = "Unexpected error happened while storing the data points",
response = ApiError.class)
})
public void addData(@Suspended final AsyncResponse asyncResponse,
@ApiParam(value = "List of metrics", required = true)
List<MetricRequest<Long, DataPoint<Long>>> counters
public void addData(
@Suspended final AsyncResponse asyncResponse,
@ApiParam(value = "List of metrics", required = true) List<MetricRequest<Long>> counters
) {
Observable<Metric<Long>> metrics = MetricRequest.toObservable(tenantId, counters, COUNTER);
Observable<Void> observable = metricsService.addDataPoints(COUNTER, metrics);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ public void addDataForMetric(
})
public void addGaugeData(
@Suspended final AsyncResponse asyncResponse,
@ApiParam(value = "List of metrics", required = true) List<MetricRequest<Double, DataPoint<Double>>> gauges
@ApiParam(value = "List of metrics", required = true) List<MetricRequest<Double>> gauges
) {
Observable<Metric<Double>> metrics = MetricRequest.toObservable(tenantId, gauges, GAUGE);
Observable<Void> observable = metricsService.addDataPoints(GAUGE, metrics);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
* @author John Sanda
*/
@ApiModel(description = "A typed metric with one or more data points")
public class MetricRequest<S, T extends DataPoint<S>> {
public class MetricRequest<S> {
private final String id;
private final List<DataPoint<S>> data;

Expand All @@ -52,7 +52,7 @@ public MetricRequest(
String id,
@JsonProperty("data")
@org.codehaus.jackson.annotate.JsonProperty("data")
List<T> data
List<DataPoint<S>> data
) {
checkArgument(id != null, "Data id is null");
this.id = id;
Expand Down Expand Up @@ -81,6 +81,7 @@ public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) {
return false;
}
@SuppressWarnings("rawtypes")
MetricRequest metric = (MetricRequest) o;
return id.equals(metric.id);
}
Expand All @@ -99,7 +100,7 @@ public String toString() {
.toString();
}

public static <S, U extends DataPoint<S>, T extends MetricRequest<S, U>> Observable<Metric<S>> toObservable(
public static <S, T extends MetricRequest<S>> Observable<Metric<S>> toObservable(
String tenantId, List<T> metrics, MetricType<S> type) {
return Observable.from(metrics).map(g -> {
return new Metric<S>(new MetricId<S>(tenantId, type, g.getId()), g.getData());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,37 +34,37 @@
*/
@ApiModel(description = "Data points to store, grouped by metric type")
public class MixedMetricsRequest {
private final List<MetricRequest<Double, DataPoint<Double>>> gauges;
private final List<MetricRequest<AvailabilityType, DataPoint<AvailabilityType>>> availabilities;
private final List<MetricRequest<Long, DataPoint<Long>>> counters;
private final List<MetricRequest<Double>> gauges;
private final List<MetricRequest<AvailabilityType>> availabilities;
private final List<MetricRequest<Long>> counters;

@JsonCreator(mode = Mode.PROPERTIES)
@org.codehaus.jackson.annotate.JsonCreator
public MixedMetricsRequest(
@JsonProperty("gauges")
@org.codehaus.jackson.annotate.JsonProperty("gauges")
List<MetricRequest<Double, DataPoint<Double>>> gauges,
List<MetricRequest<Double>> gauges,
@JsonProperty("availabilities")
@org.codehaus.jackson.annotate.JsonProperty("availabilities")
List<MetricRequest<AvailabilityType, DataPoint<AvailabilityType>>> availabilities,
List<MetricRequest<AvailabilityType>> availabilities,
@JsonProperty("counters")
@org.codehaus.jackson.annotate.JsonProperty("counters")
List<MetricRequest<Long, DataPoint<Long>>> counters
List<MetricRequest<Long>> counters
) {
this.gauges = gauges == null ? emptyList() : unmodifiableList(gauges);
this.availabilities = availabilities == null ? emptyList() : unmodifiableList(availabilities);
this.counters = counters == null ? emptyList() : unmodifiableList(counters);
}

public List<MetricRequest<Double, DataPoint<Double>>> getGauges() {
public List<MetricRequest<Double>> getGauges() {
return gauges;
}

public List<MetricRequest<AvailabilityType, DataPoint<AvailabilityType>>> getAvailabilities() {
public List<MetricRequest<AvailabilityType>> getAvailabilities() {
return availabilities;
}

public List<MetricRequest<Long, DataPoint<Long>>> getCounters() {
public List<MetricRequest<Long>> getCounters() {
return counters;
}

Expand Down

0 comments on commit c95c694

Please sign in to comment.