com.google.protobuf.UInt64Value#com.google.protobuf.DoubleValue源码实例Demo

下面列出了com.google.protobuf.UInt64Value#com.google.protobuf.DoubleValue 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Creates a campaign criterion from an address and proximity radius.
 *
 * @param campaignResourceName the campaign resource name to target.
 * @return a campaign criterion object with the specified address and targeting radius.
 */
private static CampaignCriterion buildProximityLocation(String campaignResourceName) {
  Builder builder =
      CampaignCriterion.newBuilder().setCampaign(StringValue.of(campaignResourceName));

  ProximityInfo.Builder proximityBuilder = builder.getProximityBuilder();
  proximityBuilder.setRadius(DoubleValue.of(10.0)).setRadiusUnits(ProximityRadiusUnits.MILES);

  AddressInfo.Builder addressBuilder = proximityBuilder.getAddressBuilder();
  addressBuilder
      .setStreetAddress(StringValue.of("38 avenue de l'Opéra"))
      .setCityName(StringValue.of("Paris"))
      .setPostalCode(StringValue.of("75002"))
      .setCountryCode(StringValue.of("FR"));

  return builder.build();
}
 
源代码2 项目: titus-control-plane   文件: GrpcModelConverters.java
private static StepAdjustments toStepAdjustments(StepAdjustment stepAdjustment) {
    StepAdjustments.Builder stepAdjustmentsBuilder = StepAdjustments.newBuilder()
            .setScalingAdjustment(Int32Value.newBuilder()
                    .setValue(stepAdjustment.getScalingAdjustment())
                    .build());
    stepAdjustment.getMetricIntervalLowerBound().ifPresent(
            metricIntervalLowerBound ->
                    stepAdjustmentsBuilder.setMetricIntervalLowerBound(DoubleValue.newBuilder()
                            .setValue(metricIntervalLowerBound)
                            .build())
    );
    stepAdjustment.getMetricIntervalUpperBound().ifPresent(
            metricIntervalUpperBound ->
                    stepAdjustmentsBuilder.setMetricIntervalUpperBound(DoubleValue.newBuilder()
                            .setValue(metricIntervalUpperBound)
                            .build())
    );

    return stepAdjustmentsBuilder.build();
}
 
源代码3 项目: opencensus-java   文件: MetricsProtoUtils.java
private static SummaryValue.Snapshot toSnapshotProto(
    io.opencensus.metrics.export.Summary.Snapshot snapshot) {
  SummaryValue.Snapshot.Builder builder = SummaryValue.Snapshot.newBuilder();
  if (snapshot.getSum() != null) {
    builder.setSum(DoubleValue.of(snapshot.getSum()));
  }
  if (snapshot.getCount() != null) {
    builder.setCount(Int64Value.of(snapshot.getCount()));
  }
  for (io.opencensus.metrics.export.Summary.Snapshot.ValueAtPercentile valueAtPercentile :
      snapshot.getValueAtPercentiles()) {
    builder.addPercentileValues(
        SummaryValue.Snapshot.ValueAtPercentile.newBuilder()
            .setValue(valueAtPercentile.getValue())
            .setPercentile(valueAtPercentile.getPercentile())
            .build());
  }
  return builder.build();
}
 
@Test
public void itSetsFieldsWhenZeroInJson() throws IOException {
  String json = camelCase().writeValueAsString(defaultPopulatedJsonNode(camelCase()));
  HasWrappedPrimitives message = camelCase().readValue(json, HasWrappedPrimitives.class);
  assertThat(message.hasDoubleWrapper()).isTrue();
  assertThat(message.getDoubleWrapper()).isEqualTo(DoubleValue.getDefaultInstance());
  assertThat(message.hasFloatWrapper()).isTrue();
  assertThat(message.getFloatWrapper()).isEqualTo(FloatValue.getDefaultInstance());
  assertThat(message.hasInt64Wrapper()).isTrue();
  assertThat(message.getInt64Wrapper()).isEqualTo(Int64Value.getDefaultInstance());
  assertThat(message.hasUint64Wrapper()).isTrue();
  assertThat(message.getUint64Wrapper()).isEqualTo(UInt64Value.getDefaultInstance());
  assertThat(message.hasInt32Wrapper()).isTrue();
  assertThat(message.getInt32Wrapper()).isEqualTo(Int32Value.getDefaultInstance());
  assertThat(message.hasUint32Wrapper()).isTrue();
  assertThat(message.getUint32Wrapper()).isEqualTo(UInt32Value.getDefaultInstance());
  assertThat(message.hasBoolWrapper()).isTrue();
  assertThat(message.getBoolWrapper()).isEqualTo(BoolValue.getDefaultInstance());
  assertThat(message.hasStringWrapper()).isTrue();
  assertThat(message.getStringWrapper()).isEqualTo(StringValue.getDefaultInstance());
  assertThat(message.hasBytesWrapper()).isTrue();
  assertThat(message.getBytesWrapper()).isEqualTo(BytesValue.getDefaultInstance());
}
 
源代码5 项目: google-ads-java   文件: AddCampaignBidModifier.java
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param campaignId the ID of the campaign where the bid modifier will be added.
 * @param bidModifier the value of the bid modifier to add.
 * @throws GoogleAdsException if an API request failed with one or more service errors.
 */
private void runExample(
    GoogleAdsClient googleAdsClient, long customerId, long campaignId, double bidModifier) {

  String campaignResourceName = ResourceNames.campaign(customerId, campaignId);

  // Constructs a campaign bid modifier.
  CampaignBidModifier campaignBidModifier =
      CampaignBidModifier.newBuilder()
          .setCampaign(StringValue.of(campaignResourceName))
          // Makes the bid modifier apply to call interactions.
          .setInteractionType(
              InteractionTypeInfo.newBuilder().setType(InteractionTypeEnum.InteractionType.CALLS))
          // Uses the specified bid modifier value.
          .setBidModifier(DoubleValue.of(bidModifier))
          .build();

  // Constructs an operation to create the campaign bid modifier.
  CampaignBidModifierOperation op =
      CampaignBidModifierOperation.newBuilder().setCreate(campaignBidModifier).build();

  // Sends the operation in a mutate request.
  try (CampaignBidModifierServiceClient agcServiceClient =
      googleAdsClient.getLatestVersion().createCampaignBidModifierServiceClient()) {
    MutateCampaignBidModifiersResponse response =
        agcServiceClient.mutateCampaignBidModifiers(
            Long.toString(customerId), ImmutableList.of(op));
    System.out.printf("Added %d campaign bid modifiers:%n", response.getResultsCount());
    for (MutateCampaignBidModifierResult result : response.getResultsList()) {
      System.out.printf("\t%s%n", result.getResourceName());
    }
  }
}
 
源代码6 项目: google-ads-java   文件: AddAdGroupBidModifier.java
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param adGroupId the ID of the ad group.
 * @param bidModifier the bid modifier value to set
 * @throws GoogleAdsException if an API request failed with one or more service errors.
 */
private void runExample(
    GoogleAdsClient googleAdsClient, long customerId, long adGroupId, double bidModifier) {

  // Creates an ad group bid modifier for mobile devices with the specified ad group ID and
  // bid modifier value.
  AdGroupBidModifier adGroupBidModifier =
      AdGroupBidModifier.newBuilder()
          .setAdGroup(
              StringValue.of(
                  AdGroupName.format(Long.toString(customerId), Long.toString(adGroupId))))
          .setBidModifier(DoubleValue.of(bidModifier))
          .setDevice(DeviceInfo.newBuilder().setType(Device.MOBILE))
          .build();

  // Creates an ad group bid modifier operation for creating an ad group bid modifier.
  AdGroupBidModifierOperation adGroupBidModifierOperation =
      AdGroupBidModifierOperation.newBuilder().setCreate(adGroupBidModifier).build();

  // Issues a mutate request to add the ad group bid modifier.
  try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient =
      googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) {
    MutateAdGroupBidModifiersResponse response =
        adGroupBidModifierServiceClient.mutateAdGroupBidModifiers(
            Long.toString(customerId), ImmutableList.of(adGroupBidModifierOperation));

    System.out.printf("Added %d ad group bid modifiers:%n", response.getResultsCount());
    for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult :
        response.getResultsList()) {
      System.out.printf("\t%s%n", mutateAdGroupBidModifierResult.getResourceName());
    }
  }
}
 
源代码7 项目: google-ads-java   文件: SetupRemarketing.java
/**
 * Updates the bid modifier on an ad group criterion.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param adGroupCriterionResourceName the ad group criterion to update.
 * @param bidModifier the bid modifier.
 */
private void modifyAdGroupBids(
    GoogleAdsClient googleAdsClient,
    long customerId,
    String adGroupCriterionResourceName,
    double bidModifier) {
  // Creates the ad group criterion with a bid modifier. You may alternatively set the bid for
  // the ad group criterion directly.
  AdGroupCriterion adGroupCriterion =
      AdGroupCriterion.newBuilder()
          .setResourceName(adGroupCriterionResourceName)
          .setBidModifier(DoubleValue.of(bidModifier))
          .build();

  // Creates the update operation.
  AdGroupCriterionOperation operation =
      AdGroupCriterionOperation.newBuilder()
          .setUpdate(adGroupCriterion)
          .setUpdateMask(FieldMasks.allSetFieldsOf(adGroupCriterion))
          .build();

  // Creates the ad group criterion service.
  try (AdGroupCriterionServiceClient adGroupCriterionServiceClient =
      googleAdsClient.getLatestVersion().createAdGroupCriterionServiceClient()) {
    // Updates the ad group criterion.
    MutateAdGroupCriteriaResponse response =
        adGroupCriterionServiceClient.mutateAdGroupCriteria(
            Long.toString(customerId), ImmutableList.of(operation));
    // Prints the results.
    System.out.printf(
        "Successfully updated the bid for ad group criterion with resource name '%s'.%n",
        response.getResults(0).getResourceName());
  }
}
 
源代码8 项目: google-ads-java   文件: AddConversionAction.java
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @throws GoogleAdsException if an API request failed with one or more service errors.
 */
private void runExample(GoogleAdsClient googleAdsClient, long customerId) {

  // Creates a ConversionAction.
  ConversionAction conversionAction =
      ConversionAction.newBuilder()
          .setName(
              StringValue.of("Earth to Mars Cruises Conversion #" + System.currentTimeMillis()))
          .setCategory(ConversionActionCategory.DEFAULT)
          .setType(ConversionActionType.WEBPAGE)
          .setStatus(ConversionActionStatus.ENABLED)
          .setViewThroughLookbackWindowDays(Int64Value.of(15L))
          .setValueSettings(
              ValueSettings.newBuilder()
                  .setDefaultValue(DoubleValue.of(23.41))
                  .setAlwaysUseDefaultValue(BoolValue.of(true))
                  .build())
          .build();

  // Creates the operation.
  ConversionActionOperation operation =
      ConversionActionOperation.newBuilder().setCreate(conversionAction).build();

  try (ConversionActionServiceClient conversionActionServiceClient =
      googleAdsClient.getLatestVersion().createConversionActionServiceClient()) {
    MutateConversionActionsResponse response =
        conversionActionServiceClient.mutateConversionActions(
            Long.toString(customerId), Collections.singletonList(operation));
    System.out.printf("Added %d conversion actions:%n", response.getResultsCount());
    for (MutateConversionActionResult result : response.getResultsList()) {
      System.out.printf(
          "New conversion action added with resource name: '%s'%n", result.getResourceName());
    }
  }
}
 
源代码9 项目: titus-control-plane   文件: GrpcModelConverters.java
private static AlarmConfiguration toAlarmConfiguration(com.netflix.titus.api.appscale.model.AlarmConfiguration alarmConfiguration) {
    AlarmConfiguration.Builder alarmConfigBuilder = AlarmConfiguration.newBuilder();
    alarmConfiguration.getActionsEnabled().ifPresent(
            actionsEnabled ->
                    alarmConfigBuilder.setActionsEnabled(BoolValue.newBuilder()
                            .setValue(actionsEnabled)
                            .build())
    );

    AlarmConfiguration.ComparisonOperator comparisonOperator =
            toComparisonOperator(alarmConfiguration.getComparisonOperator());
    AlarmConfiguration.Statistic statistic =
            toStatistic(alarmConfiguration.getStatistic());
    return AlarmConfiguration.newBuilder()
            .setComparisonOperator(comparisonOperator)
            .setEvaluationPeriods(Int32Value.newBuilder()
                    .setValue(alarmConfiguration.getEvaluationPeriods())
                    .build())
            .setPeriodSec(Int32Value.newBuilder()
                    .setValue(alarmConfiguration.getPeriodSec())
                    .build())
            .setThreshold(DoubleValue.newBuilder()
                    .setValue(alarmConfiguration.getThreshold())
                    .build())
            .setMetricNamespace(alarmConfiguration.getMetricNamespace())
            .setMetricName(alarmConfiguration.getMetricName())
            .setStatistic(statistic)
            .build();
}
 
源代码10 项目: titus-control-plane   文件: GrpcModelConverters.java
private static TargetTrackingPolicyDescriptor toTargetTrackingPolicyDescriptor(TargetTrackingPolicy targetTrackingPolicy) {
    TargetTrackingPolicyDescriptor.Builder targetTrackingPolicyDescBuilder = TargetTrackingPolicyDescriptor.newBuilder();
    targetTrackingPolicyDescBuilder.setTargetValue(DoubleValue.newBuilder()
            .setValue(targetTrackingPolicy.getTargetValue())
            .build());

    targetTrackingPolicy.getScaleOutCooldownSec().ifPresent(
            scaleOutCoolDownSec -> targetTrackingPolicyDescBuilder.setScaleOutCooldownSec(
                    Int32Value.newBuilder().setValue(scaleOutCoolDownSec).build())
    );
    targetTrackingPolicy.getScaleInCooldownSec().ifPresent(
            scaleInCoolDownSec -> targetTrackingPolicyDescBuilder.setScaleInCooldownSec(
                    Int32Value.newBuilder().setValue(scaleInCoolDownSec).build())
    );
    targetTrackingPolicy.getDisableScaleIn().ifPresent(
            disableScaleIn -> targetTrackingPolicyDescBuilder.setDisableScaleIn(
                    BoolValue.newBuilder().setValue(disableScaleIn).build())
    );
    targetTrackingPolicy.getPredefinedMetricSpecification().ifPresent(
            predefinedMetricSpecification ->
                    targetTrackingPolicyDescBuilder.setPredefinedMetricSpecification(
                            toPredefinedMetricSpecification(targetTrackingPolicy.getPredefinedMetricSpecification().get()))
    );
    targetTrackingPolicy.getCustomizedMetricSpecification().ifPresent(
            customizedMetricSpecification ->
                    targetTrackingPolicyDescBuilder.setCustomizedMetricSpecification(
                            toCustomizedMetricSpecification(targetTrackingPolicy.getCustomizedMetricSpecification().get()))
    );

    return targetTrackingPolicyDescBuilder.build();
}
 
源代码11 项目: titus-control-plane   文件: AutoScalingTestUtils.java
public static UpdatePolicyRequest generateUpdateTargetTrackingPolicyRequest(String policyRefId, double targetValue) {
    ScalingPolicy scalingPolicy = generateTargetPolicy();
    TargetTrackingPolicyDescriptor targetPolicyDescriptor = scalingPolicy.getTargetPolicyDescriptor();
    TargetTrackingPolicyDescriptor targetPolicyWithUpdatedValue = targetPolicyDescriptor.toBuilder().setTargetValue(DoubleValue.newBuilder().setValue(targetValue).build()).build();
    ScalingPolicy scalingPolicyTobeUpdated = scalingPolicy.toBuilder().setTargetPolicyDescriptor(targetPolicyWithUpdatedValue).build();
    UpdatePolicyRequest updatePolicyRequest = UpdatePolicyRequest.newBuilder().setPolicyId(ScalingPolicyID.newBuilder().setId(policyRefId).build())
            .setScalingPolicy(scalingPolicyTobeUpdated).build();
    return updatePolicyRequest;
}
 
源代码12 项目: titus-control-plane   文件: AutoScalingTestUtils.java
public static UpdatePolicyRequest generateUpdateStepScalingPolicyRequest(String policyRefId, double threshold) {
    ScalingPolicy scalingPolicy = generateStepPolicy();
    AlarmConfiguration alarmConfig = scalingPolicy.getStepPolicyDescriptor().getAlarmConfig().toBuilder().setThreshold(DoubleValue.newBuilder().setValue(threshold).build()).build();
    StepScalingPolicyDescriptor stepScalingPolicyDescriptor = scalingPolicy.getStepPolicyDescriptor().toBuilder().setAlarmConfig(alarmConfig).build();
    ScalingPolicy scalingPolicyToBeUpdated = scalingPolicy.toBuilder().setStepPolicyDescriptor(stepScalingPolicyDescriptor).build();
    UpdatePolicyRequest updatePolicyRequest = UpdatePolicyRequest.newBuilder().setPolicyId(ScalingPolicyID.newBuilder().setId(policyRefId).build())
            .setScalingPolicy(scalingPolicyToBeUpdated).build();
    return updatePolicyRequest;
}
 
源代码13 项目: titus-control-plane   文件: AutoScalingTestUtils.java
public static ScalingPolicy generateTargetPolicy() {
    CustomizedMetricSpecification customizedMetricSpec = CustomizedMetricSpecification.newBuilder()
            .addDimensions(MetricDimension.newBuilder()
                    .setName("testName")
                    .setValue("testValue")
                    .build())
            .setMetricName("testMetric")
            .setNamespace("NFLX/EPIC")
            .setStatistic(AlarmConfiguration.Statistic.Sum)
            .setMetricName("peanuts")
            .build();

    TargetTrackingPolicyDescriptor targetTrackingPolicyDescriptor = TargetTrackingPolicyDescriptor.newBuilder()
            .setTargetValue(DoubleValue.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextDouble())
                    .build())
            .setScaleInCooldownSec(Int32Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextInt())
                    .build())
            .setScaleOutCooldownSec(Int32Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextInt())
                    .build())
            .setDisableScaleIn(BoolValue.newBuilder()
                    .setValue(false)
                    .build())
            .setCustomizedMetricSpecification(customizedMetricSpec)
            .build();
    return ScalingPolicy.newBuilder().setTargetPolicyDescriptor(targetTrackingPolicyDescriptor).build();
}
 
源代码14 项目: opencensus-java   文件: MetricsProtoUtils.java
private static SummaryValue toSummaryProto(io.opencensus.metrics.export.Summary summary) {
  SummaryValue.Builder builder = SummaryValue.newBuilder();
  if (summary.getSum() != null) {
    builder.setSum(DoubleValue.of(summary.getSum()));
  }
  if (summary.getCount() != null) {
    builder.setCount(Int64Value.of(summary.getCount()));
  }
  builder.setSnapshot(toSnapshotProto(summary.getSnapshot()));
  return builder.build();
}
 
源代码15 项目: api-compiler   文件: TypesBuilderFromDescriptor.java
/**
 * Creates additional types (Value, Struct and ListValue) to be added to the Service config.
 * TODO (guptasu): Fix this hack. Find a better way to add the predefined types.
 * TODO (guptasu): Add them only when required and not in all cases.
 */

static Iterable<Type> createAdditionalServiceTypes() {
  Map<String, DescriptorProto> additionalMessages = Maps.newHashMap();
  additionalMessages.put(Struct.getDescriptor().getFullName(),
      Struct.getDescriptor().toProto());
  additionalMessages.put(Value.getDescriptor().getFullName(),
      Value.getDescriptor().toProto());
  additionalMessages.put(ListValue.getDescriptor().getFullName(),
      ListValue.getDescriptor().toProto());
  additionalMessages.put(Empty.getDescriptor().getFullName(),
      Empty.getDescriptor().toProto());
  additionalMessages.put(Int32Value.getDescriptor().getFullName(),
      Int32Value.getDescriptor().toProto());
  additionalMessages.put(DoubleValue.getDescriptor().getFullName(),
      DoubleValue.getDescriptor().toProto());
  additionalMessages.put(BoolValue.getDescriptor().getFullName(),
      BoolValue.getDescriptor().toProto());
  additionalMessages.put(StringValue.getDescriptor().getFullName(),
      StringValue.getDescriptor().toProto());

  for (Descriptor descriptor : Struct.getDescriptor().getNestedTypes()) {
    additionalMessages.put(descriptor.getFullName(), descriptor.toProto());
  }

  // TODO (guptasu): Remove this hard coding. Without this, creation of Model from Service throws.
  // Needs investigation.
  String fileName = "struct.proto";
  List<Type> additionalTypes = Lists.newArrayList();
  for (String typeName : additionalMessages.keySet()) {
    additionalTypes.add(TypesBuilderFromDescriptor.createType(typeName,
        additionalMessages.get(typeName), fileName));
  }
  return additionalTypes;
}
 
private static HasWrappedPrimitives defaultPopulatedMessage() {
  return HasWrappedPrimitives
          .newBuilder()
          .setDoubleWrapper(DoubleValue.getDefaultInstance())
          .setFloatWrapper(FloatValue.getDefaultInstance())
          .setInt64Wrapper(Int64Value.getDefaultInstance())
          .setUint64Wrapper(UInt64Value.getDefaultInstance())
          .setInt32Wrapper(Int32Value.getDefaultInstance())
          .setUint32Wrapper(UInt32Value.getDefaultInstance())
          .setBoolWrapper(BoolValue.getDefaultInstance())
          .setStringWrapper(StringValue.getDefaultInstance())
          .setBytesWrapper(BytesValue.getDefaultInstance())
          .build();
}
 
源代码17 项目: google-ads-java   文件: UploadCallConversion.java
/**
 * Runs the example.
 *
 * @param googleAdsClient the client.
 * @param customerId the customer ID.
 * @param conversionActionId the conversion action ID.
 * @param callerId the caller ID.
 * @param callStartDateTime the call start date time
 * @param conversionValue the value of the conversion in USD.
 */
private void runExample(
    GoogleAdsClient googleAdsClient,
    long customerId,
    String conversionActionId,
    String callerId,
    String callStartDateTime,
    double conversionValue) {
  // Create a call conversion by specifying currency as USD.
  CallConversion conversion =
      CallConversion.newBuilder()
          .setConversionAction(StringValue.of(conversionActionId))
          .setCallerId(StringValue.of(callerId))
          .setCallStartDateTime(StringValue.of(callStartDateTime))
          .setConversionValue(DoubleValue.of(conversionValue))
          .setCurrencyCode(StringValue.of("USD"))
          .build();

  // Uploads the call conversion to the API.
  try (ConversionUploadServiceClient conversionUploadServiceClient =
      googleAdsClient.getLatestVersion().createConversionUploadServiceClient()) {
    // Partial failure MUST be enabled for this request.
    UploadCallConversionsResponse response =
        conversionUploadServiceClient.uploadCallConversions(
            String.valueOf(customerId), ImmutableList.of(conversion), true, false);

    // Prints any partial failure errors returned.
    if (response.hasPartialFailureError()) {
      throw new RuntimeException(
          "Partial failure occurred " + response.getPartialFailureError().getMessage());
    }

    // Prints the result if valid.
    CallConversionResult result = response.getResults(0);
    System.out.printf(
        "Uploaded call conversion that occurred at '%' for caller ID '%' to the conversion"
            + " action with resource name '%'.%n",
        result.getCallStartDateTime().getValue(),
        result.getCallerId().getValue(),
        result.getConversionAction().getValue());
  }
}
 
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param conversionActionId conversion action ID associated with this conversion.
 * @param gclid the GCLID for the conversion.
 * @param adjustmentType the type of adjustment, e.g. RETRACTION, RESTATEMENT.
 * @param conversionDateTime date and time of the conversion.
 * @param adjustmentDateTime date and time of the adjustment.
 * @param restatementValue the adjusted value for adjustment type RESTATEMENT.
 */
private void runExample(
    GoogleAdsClient googleAdsClient,
    long customerId,
    long conversionActionId,
    String gclid,
    String adjustmentType,
    String conversionDateTime,
    String adjustmentDateTime,
    @Nullable Float restatementValue) {
  // Gets the conversion adjustment enum value from the adjustmentType String.
  ConversionAdjustmentType conversionAdjustmentType =
      ConversionAdjustmentType.valueOf(adjustmentType);

  // Associates conversion adjustments with the existing conversion action.
  // The GCLID should have been uploaded before with a conversion.
  ConversionAdjustment conversionAdjustment =
      ConversionAdjustment.newBuilder()
          .setConversionAction(
              StringValue.of(ResourceNames.conversionAction(customerId, conversionActionId)))
          .setAdjustmentType(conversionAdjustmentType)
          .setGclidDateTimePair(
              GclidDateTimePair.newBuilder()
                  .setGclid(StringValue.of(gclid))
                  .setConversionDateTime(StringValue.of(conversionDateTime))
                  .build())
          .setAdjustmentDateTime(StringValue.of(adjustmentDateTime))
          .build();

  // Sets adjusted value for adjustment type RESTATEMENT.
  if (restatementValue != null
      && conversionAdjustmentType == ConversionAdjustmentType.RESTATEMENT) {
    conversionAdjustment =
        conversionAdjustment.toBuilder()
            .setRestatementValue(
                RestatementValue.newBuilder()
                    .setAdjustedValue(DoubleValue.of(restatementValue))
                    .build())
            .build();
  }

  // Creates the conversion upload service client.
  try (ConversionAdjustmentUploadServiceClient conversionUploadServiceClient =
      googleAdsClient.getLatestVersion().createConversionAdjustmentUploadServiceClient()) {
    // Uploads the click conversion. Partial failure should always be set to true.
    UploadConversionAdjustmentsResponse response =
        conversionUploadServiceClient.uploadConversionAdjustments(
            Long.toString(customerId),
            ImmutableList.of(conversionAdjustment),
            // Enables partial failure (must be true).
            true,
            // Disables validate only.
            false);

    // Prints any partial errors returned.
    if (response.hasPartialFailureError()) {
      System.out.printf(
          "Partial error encountered: '%s'.%n", response.getPartialFailureError().getMessage());
    } else {
      // Prints the result.
      ConversionAdjustmentResult result = response.getResults(0);
      System.out.printf(
          "Uploaded conversion adjustment of '%s' for Google Click ID '%s'.%n",
          result.getConversionAction().getValue(),
          result.getGclidDateTimePair().getGclid().getValue());
    }
  }
}
 
源代码19 项目: google-ads-java   文件: UploadOfflineConversion.java
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param conversionActionId conversion action ID associated with this conversion.
 * @param gclid the GCLID for the conversion.
 * @param conversionDateTime date and time of the conversion.
 * @param conversionValue the value of the conversion.
 */
private void runExample(
    GoogleAdsClient googleAdsClient,
    long customerId,
    long conversionActionId,
    String gclid,
    String conversionDateTime,
    Double conversionValue) {
  // Gets the conversion action resource name.
  String conversionActionResourceName =
      ResourceNames.conversionAction(customerId, conversionActionId);

  // Creates the click conversion.
  ClickConversion clickConversion =
      ClickConversion.newBuilder()
          .setConversionAction(StringValue.of(conversionActionResourceName))
          .setConversionDateTime(StringValue.of(conversionDateTime))
          .setConversionValue(DoubleValue.of(conversionValue))
          .setCurrencyCode(StringValue.of("USD"))
          .setGclid(StringValue.of(gclid))
          .build();

  // Creates the conversion upload service client.
  try (ConversionUploadServiceClient conversionUploadServiceClient =
      googleAdsClient.getLatestVersion().createConversionUploadServiceClient()) {
    // Uploads the click conversion. Partial failure should always be set to true.
    UploadClickConversionsResponse response =
        conversionUploadServiceClient.uploadClickConversions(
            Long.toString(customerId),
            ImmutableList.of(clickConversion),
            // Enables partial failure (must be true).
            true,
            // Disables validate only.
            false);

    // Prints any partial errors returned.
    if (response.hasPartialFailureError()) {
      System.out.printf(
          "Partial error encountered: '%s'.%n", response.getPartialFailureError().getMessage());
    }

    // Prints the result.
    ClickConversionResult result = response.getResults(0);
    // Only prints valid results.
    if (result.hasGclid()) {
      System.out.printf(
          "Uploaded conversion that occurred at '%s' from Google Click ID '%s' to '%s'.%n",
          result.getConversionDateTime().getValue(),
          result.getGclid().getValue(),
          result.getConversionAction().getValue());
    }
  }
}
 
/**
 * Runs the example.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param adGroupId the ID of the ad group.
 * @throws GoogleAdsException if an API request failed with one or more service errors.
 */
private void runExample(GoogleAdsClient googleAdsClient, long customerId, long adGroupId) {
  List<AdGroupBidModifierOperation> operations = new ArrayList<>();

  // Constructs the ad group resource name to use for each bid modifier.
  String adGroupResourceName = ResourceNames.adGroup(customerId, adGroupId);

  // 1) Creates an ad group bid modifier based on the hotel check-in day.
  AdGroupBidModifier checkInDayAdGroupBidModifier =
      AdGroupBidModifier.newBuilder()
          // Sets the resource name to the ad group resource name joined with the criterion ID
          // whose value corresponds to the desired check-in day.
          .setAdGroup(StringValue.of(adGroupResourceName))
          .setHotelCheckInDay(HotelCheckInDayInfo.newBuilder().setDayOfWeek(DayOfWeek.MONDAY))
          // Sets the bid modifier value to 150%.
          .setBidModifier(DoubleValue.of(1.5d))
          .build();
  operations.add(
      AdGroupBidModifierOperation.newBuilder().setCreate(checkInDayAdGroupBidModifier).build());

  // 2) Creates an ad group bid modifier based on the hotel length of stay.
  AdGroupBidModifier lengthOfStayAdGroupBidModifier =
      AdGroupBidModifier.newBuilder()
          // Sets the ad group.
          .setAdGroup(StringValue.of(adGroupResourceName))
          // Creates the hotel length of stay info.
          .setHotelLengthOfStay(
              HotelLengthOfStayInfo.newBuilder()
                  .setMinNights(Int64Value.of(3L))
                  .setMaxNights(Int64Value.of(7L))
                  .build())
          // Sets the bid modifier value to 170%.
          .setBidModifier(DoubleValue.of(1.7d))
          .build();
  operations.add(
      AdGroupBidModifierOperation.newBuilder().setCreate(lengthOfStayAdGroupBidModifier).build());

  // Issues a mutate request to add the ad group bid modifiers.
  try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient =
      googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) {
    MutateAdGroupBidModifiersResponse response =
        adGroupBidModifierServiceClient.mutateAdGroupBidModifiers(
            Long.toString(customerId), operations);

    // Prints the resource names of the added ad group bid modifiers.
    System.out.printf("Added %d hotel ad group bid modifiers:%n", response.getResultsCount());
    for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult :
        response.getResultsList()) {
      System.out.printf("  %s%n", mutateAdGroupBidModifierResult.getResourceName());
    }
  }
}
 
源代码21 项目: google-ads-java   文件: AddShoppingSmartAd.java
/**
 * Creates a new shopping campaign for Smart Shopping ads in the specified client account.
 *
 * @param googleAdsClient the Google Ads API client.
 * @param customerId the client customer ID.
 * @param budgetResourceName the resource name of the budget for the campaign.
 * @param merchantCenterAccountId the Merchant Center account ID.
 * @return resource name of the newly created campaign.
 * @throws GoogleAdsException if an API request failed with one or more service errors.
 */
private String addSmartShoppingCampaign(
    GoogleAdsClient googleAdsClient,
    long customerId,
    String budgetResourceName,
    long merchantCenterAccountId) {

  // Configures the shopping settings for Smart Shopping campaigns.
  ShoppingSetting shoppingSetting =
      ShoppingSetting.newBuilder()
          // Sets the sales country of products to include in the campaign.
          // Only products from Merchant Center targeting this country will appear in the
          // campaign.
          .setSalesCountry(StringValue.of("US"))
          .setMerchantId(Int64Value.of(merchantCenterAccountId))
          .build();

  // Creates the campaign.
  Campaign campaign =
      Campaign.newBuilder()
          .setName(StringValue.of("Interplanetary Cruise #" + System.currentTimeMillis()))
          // Configures settings related to shopping campaigns including advertising channel type,
          // advertising sub-type and shopping setting.
          .setAdvertisingChannelType(AdvertisingChannelType.SHOPPING)
          .setAdvertisingChannelSubType(AdvertisingChannelSubType.SHOPPING_SMART_ADS)
          .setShoppingSetting(shoppingSetting)
          // Recommendation: Sets the campaign to PAUSED when creating it to prevent
          // the ads from immediately serving. Set to ENABLED once you've added
          // targeting and the ads are ready to serve.
          .setStatus(CampaignStatus.PAUSED)
          // Bidding strategy must be set directly on the campaign.
          // Setting a portfolio bidding strategy by resourceName is not supported.
          // Maximize conversion value is the only strategy supported for Smart Shopping
          // campaigns.
          // An optional ROAS (Return on Advertising Spend) can be set for
          // MaximizeConversionValue.
          // The ROAS value must be specified as a ratio in the API. It is calculated by dividing
          // "total value" by "total spend".
          // For more information on maximize conversion value, see the support article:
          // http://support.google.com/google-ads/answer/7684216)
          .setMaximizeConversionValue(
              MaximizeConversionValue.newBuilder().setTargetRoas(DoubleValue.of(3.5)).build())
          // Sets the budget.
          .setCampaignBudget(StringValue.of(budgetResourceName))
          .build();

  // Creates a campaign operation.
  CampaignOperation operation = CampaignOperation.newBuilder().setCreate(campaign).build();

  // Issues a mutate request to add the campaign.
  try (CampaignServiceClient campaignServiceClient =
      googleAdsClient.getLatestVersion().createCampaignServiceClient()) {
    MutateCampaignResult result =
        campaignServiceClient
            .mutateCampaigns(Long.toString(customerId), Collections.singletonList(operation))
            .getResults(0);
    System.out.printf(
        "Added a Smart Shopping campaign with resource name: '%s'%n", result.getResourceName());
    return result.getResourceName();
  }
}
 
源代码22 项目: curiostack   文件: WellKnownTypeMarshaller.java
DoubleValueMarshaller() {
  super(DoubleValue.getDefaultInstance());
}
 
源代码23 项目: curiostack   文件: WellKnownTypeMarshaller.java
@Override
protected final void doMerge(JsonParser parser, int unused, Message.Builder messageBuilder)
    throws IOException {
  DoubleValue.Builder builder = (DoubleValue.Builder) messageBuilder;
  builder.setValue(ParseSupport.parseDouble(parser));
}
 
源代码24 项目: curiostack   文件: WellKnownTypeMarshaller.java
@Override
protected final void doWrite(DoubleValue message, JsonGenerator gen) throws IOException {
  SerializeSupport.printDouble(message.getValue(), gen);
}
 
源代码25 项目: curiostack   文件: MessageMarshallerTest.java
@Test
public void anyFields() throws Exception {
  TestAllTypes content = TestAllTypes.newBuilder().setOptionalInt32(1234).build();
  TestAny message = TestAny.newBuilder().setAnyValue(Any.pack(content)).build();
  assertMatchesUpstream(message, TestAllTypes.getDefaultInstance());

  TestAny messageWithDefaultAnyValue =
      TestAny.newBuilder().setAnyValue(Any.getDefaultInstance()).build();
  assertMatchesUpstream(messageWithDefaultAnyValue);

  // Well-known types have a special formatting when embedded in Any.
  //
  // 1. Any in Any.
  Any anyMessage = Any.pack(Any.pack(content));
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 2. Wrappers in Any.
  anyMessage = Any.pack(Int32Value.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(UInt32Value.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(Int64Value.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(UInt64Value.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(FloatValue.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(DoubleValue.newBuilder().setValue(12345).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(BoolValue.newBuilder().setValue(true).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage = Any.pack(StringValue.newBuilder().setValue("Hello").build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
  anyMessage =
      Any.pack(BytesValue.newBuilder().setValue(ByteString.copyFrom(new byte[] {1, 2})).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 3. Timestamp in Any.
  anyMessage = Any.pack(Timestamps.parse("1969-12-31T23:59:59Z"));
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 4. Duration in Any
  anyMessage = Any.pack(Durations.parse("12345.10s"));
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 5. FieldMask in Any
  anyMessage = Any.pack(FieldMaskUtil.fromString("foo.bar,baz"));
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 6. Struct in Any
  Struct.Builder structBuilder = Struct.newBuilder();
  structBuilder.putFields("number", Value.newBuilder().setNumberValue(1.125).build());
  anyMessage = Any.pack(structBuilder.build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 7. Value (number type) in Any
  Value.Builder valueBuilder = Value.newBuilder();
  valueBuilder.setNumberValue(1);
  anyMessage = Any.pack(valueBuilder.build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());

  // 8. Value (null type) in Any
  anyMessage = Any.pack(Value.newBuilder().setNullValue(NullValue.NULL_VALUE).build());
  assertMatchesUpstream(anyMessage, TestAllTypes.getDefaultInstance());
}
 
源代码26 项目: titus-control-plane   文件: AutoScalingTestUtils.java
/**
 * Builds a random scaling policy for use with tests.
 *
 * @return
 */
public static ScalingPolicy generateStepPolicy() {
    // TODO(Andrew L): Add target tracking support
    AlarmConfiguration alarmConfig = AlarmConfiguration.newBuilder()
            .setActionsEnabled(BoolValue.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextBoolean())
                    .build())
            .setComparisonOperator(AlarmConfiguration.ComparisonOperator.GreaterThanThreshold)
            .setEvaluationPeriods(Int32Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextInt())
                    .build())
            .setPeriodSec(Int32Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextInt())
                    .build())
            .setThreshold(DoubleValue.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextDouble())
                    .build())
            .setMetricNamespace("NFLX/EPIC")
            .setMetricName("Metric-" + ThreadLocalRandom.current().nextInt())
            .setStatistic(AlarmConfiguration.Statistic.Sum)
            .build();

    StepScalingPolicy stepScalingPolicy = StepScalingPolicy.newBuilder()
            .setAdjustmentType(StepScalingPolicy.AdjustmentType.ChangeInCapacity)
            .setCooldownSec(Int32Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextInt())
                    .build())
            .setMinAdjustmentMagnitude(Int64Value.newBuilder()
                    .setValue(ThreadLocalRandom.current().nextLong())
                    .build())
            .setMetricAggregationType(StepScalingPolicy.MetricAggregationType.Maximum)
            .addStepAdjustments(StepAdjustments.newBuilder()
                    .setMetricIntervalLowerBound(DoubleValue.newBuilder()
                            .setValue(ThreadLocalRandom.current().nextDouble())
                            .build())
                    .setMetricIntervalUpperBound(DoubleValue.newBuilder()
                            .setValue(ThreadLocalRandom.current().nextDouble())
                            .build())
                    .setScalingAdjustment(Int32Value.newBuilder()
                            .setValue(ThreadLocalRandom.current().nextInt())
                            .build()))
            .build();

    StepScalingPolicyDescriptor stepScalingPolicyDescriptor = StepScalingPolicyDescriptor.newBuilder()
            .setAlarmConfig(alarmConfig)
            .setScalingPolicy(stepScalingPolicy)
            .build();
    return ScalingPolicy.newBuilder().setStepPolicyDescriptor(stepScalingPolicyDescriptor).build();
}
 
@Test
public void createAndUpdatePolicyForJobIdFromTwoCells() {
    ScalingPolicyID policy1 = ScalingPolicyID.newBuilder().setId(POLICY_1).build();
    ScalingPolicyID policy2 = ScalingPolicyID.newBuilder().setId(POLICY_2).build();

    ScalingPolicyResult policyOneResult = ScalingPolicyResult.newBuilder().setId(policy1).setJobId(JOB_1).build();
    ScalingPolicyResult policyTwoResult = ScalingPolicyResult.newBuilder().setId(policy2).setJobId(JOB_2).build();

    CellWithPolicies cellOneService = new CellWithPolicies(Collections.singletonList(policyOneResult));
    CellWithPolicies cellTwoService = new CellWithPolicies(Collections.singletonList(policyTwoResult));

    CellWithJobIds cellOneJobsService = new CellWithJobIds(Collections.singletonList(JOB_1));
    CellWithJobIds cellTwoJobsService = new CellWithJobIds(Collections.singletonList(JOB_2));
    cellOne.getServiceRegistry().addService(cellOneService);
    cellOne.getServiceRegistry().addService(cellOneJobsService);
    cellTwo.getServiceRegistry().addService(cellTwoService);
    cellTwo.getServiceRegistry().addService(cellTwoJobsService);

    final AutoScalingResource autoScalingResource = new AutoScalingResource(service, callMetadataResolver);
    final ScalingPolicyID scalingPolicyID = autoScalingResource.setScalingPolicy(PutPolicyRequest.newBuilder().setJobId(JOB_2).build());

    assertThat(scalingPolicyID).isNotNull();
    assertThat(scalingPolicyID.getId()).isNotEmpty();

    final GetPolicyResult scalingPolicyForJob = autoScalingResource.getScalingPolicyForJob(JOB_2);
    assertThat(scalingPolicyForJob).isNotNull();
    assertThat(scalingPolicyForJob.getItemsCount()).isEqualTo(2);
    assertThat(scalingPolicyForJob.getItems(0).getJobId()).isEqualTo(JOB_2);
    assertThat(scalingPolicyForJob.getItems(1).getJobId()).isEqualTo(JOB_2);

    UpdatePolicyRequest updatePolicyRequest = UpdatePolicyRequest.newBuilder()
            .setPolicyId(ScalingPolicyID.newBuilder().setId(POLICY_2))
            .setScalingPolicy(ScalingPolicy.newBuilder()
                    .setTargetPolicyDescriptor(TargetTrackingPolicyDescriptor.newBuilder()
                            .setTargetValue(DoubleValue.newBuilder().setValue(100.0).build()).build()).build()).build();

    final Response updateScalingPolicyResponse = autoScalingResource.updateScalingPolicy(updatePolicyRequest);
    assertThat(updateScalingPolicyResponse.getStatus()).isEqualTo(200);

    final GetPolicyResult updatedScalingPolicy = autoScalingResource.getScalingPolicy(POLICY_2);
    assertThat(updatedScalingPolicy.getItemsCount()).isEqualTo(1);
    assertThat(updatedScalingPolicy.getItems(0).getJobId()).isEqualTo(JOB_2);
    assertThat(updatedScalingPolicy.getItems(0).getId().getId()).isEqualTo(POLICY_2);
    final DoubleValue targetValue = updatedScalingPolicy.getItems(0).getScalingPolicy().getTargetPolicyDescriptor().getTargetValue();
    assertThat(targetValue.getValue()).isEqualTo(100.0);
}
 
@Test
public void createAndUpdatePolicyForJobIdFromTwoCells() {
    ScalingPolicyID policy1 = ScalingPolicyID.newBuilder().setId(POLICY_1).build();
    ScalingPolicyID policy2 = ScalingPolicyID.newBuilder().setId(POLICY_2).build();

    ScalingPolicyResult policyOneResult = ScalingPolicyResult.newBuilder().setId(policy1).setJobId(JOB_1).build();
    ScalingPolicyResult policyTwoResult = ScalingPolicyResult.newBuilder().setId(policy2).setJobId(JOB_2).build();

    CellWithPolicies cellOneService = new CellWithPolicies(Collections.singletonList(policyOneResult));
    CellWithPolicies cellTwoService = new CellWithPolicies(Collections.singletonList(policyTwoResult));

    CellWithJobIds cellOneJobsService = new CellWithJobIds(Collections.singletonList(JOB_1));
    CellWithJobIds cellTwoJobsService = new CellWithJobIds(Collections.singletonList(JOB_2));
    cellOne.getServiceRegistry().addService(cellOneService);
    cellOne.getServiceRegistry().addService(cellOneJobsService);
    cellTwo.getServiceRegistry().addService(cellTwoService);
    cellTwo.getServiceRegistry().addService(cellTwoJobsService);

    AssertableSubscriber<ScalingPolicyID> testSubscriber = service.setAutoScalingPolicy(PutPolicyRequest.newBuilder().setJobId(JOB_2).build(), JUNIT_REST_CALL_METADATA).test();
    testSubscriber.awaitValueCount(1, 1, TimeUnit.SECONDS);
    testSubscriber.assertNoErrors();

    List<ScalingPolicyID> onNextEvents = testSubscriber.getOnNextEvents();
    assertThat(onNextEvents).isNotNull();
    assertThat(onNextEvents.size()).isEqualTo(1);
    assertThat(onNextEvents.get(0).getId()).isNotEmpty();

    AssertableSubscriber<GetPolicyResult> testSubscriber2 = service.getJobScalingPolicies(JobId.newBuilder().setId(JOB_2).build(), JUNIT_REST_CALL_METADATA).test();
    testSubscriber2.awaitValueCount(1, 1, TimeUnit.SECONDS);

    List<GetPolicyResult> onNextEvents1 = testSubscriber2.getOnNextEvents();
    assertThat(onNextEvents1).isNotNull();
    assertThat(onNextEvents1.size()).isEqualTo(1);
    assertThat(onNextEvents1.get(0).getItemsCount()).isEqualTo(2);
    assertThat(onNextEvents1.get(0).getItems(0).getJobId()).isEqualTo(JOB_2);
    assertThat(onNextEvents1.get(0).getItems(1).getJobId()).isEqualTo(JOB_2);

    UpdatePolicyRequest updatePolicyRequest = UpdatePolicyRequest.newBuilder()
            .setPolicyId(ScalingPolicyID.newBuilder().setId(POLICY_2))
            .setScalingPolicy(ScalingPolicy.newBuilder()
                    .setTargetPolicyDescriptor(TargetTrackingPolicyDescriptor.newBuilder()
                            .setTargetValue(DoubleValue.newBuilder().setValue(100.0).build()).build()).build()).build();

    AssertableSubscriber<Void> testSubscriber3 = service.updateAutoScalingPolicy(updatePolicyRequest, JUNIT_REST_CALL_METADATA).test();
    testSubscriber3.assertNoErrors();

    AssertableSubscriber<GetPolicyResult> testSubscriber4 = service.getScalingPolicy(ScalingPolicyID.newBuilder().setId(POLICY_2).build(), JUNIT_REST_CALL_METADATA).test();
    testSubscriber2.awaitValueCount(1, 1, TimeUnit.SECONDS);

    List<GetPolicyResult> onNextEvents2 = testSubscriber4.getOnNextEvents();
    assertThat(onNextEvents2).isNotNull();
    assertThat(onNextEvents2.size()).isEqualTo(1);
    assertThat(onNextEvents2.get(0).getItemsCount()).isEqualTo(1);
    assertThat(onNextEvents2.get(0).getItems(0).getJobId()).isEqualTo(JOB_2);
    assertThat(onNextEvents2.get(0).getItems(0).getId().getId()).isEqualTo(POLICY_2);
    ScalingPolicy scalingPolicy = onNextEvents2.get(0).getItems(0).getScalingPolicy();
    double updatedValue = scalingPolicy.getTargetPolicyDescriptor().getTargetValue().getValue();
    assertThat(updatedValue).isEqualTo(100);
}
 
源代码29 项目: opencensus-java   文件: MetricsProtoUtilsTests.java
@Test
public void toMetricProto_Summary() {
  Metric metric = Metric.create(DESCRIPTOR_2, Collections.singletonList(TIME_SERIES_2));
  io.opencensus.proto.metrics.v1.Metric expected =
      io.opencensus.proto.metrics.v1.Metric.newBuilder()
          .setMetricDescriptor(
              io.opencensus.proto.metrics.v1.MetricDescriptor.newBuilder()
                  .setName(METRIC_NAME_2)
                  .setDescription(METRIC_DESCRIPTION)
                  .setUnit(UNIT)
                  .setType(io.opencensus.proto.metrics.v1.MetricDescriptor.Type.SUMMARY)
                  .addLabelKeys(
                      io.opencensus.proto.metrics.v1.LabelKey.newBuilder()
                          .setKey(KEY_1.getKey())
                          .setDescription(KEY_1.getDescription())
                          .build())
                  .addLabelKeys(
                      io.opencensus.proto.metrics.v1.LabelKey.newBuilder()
                          .setKey(KEY_2.getKey())
                          .setDescription(KEY_2.getDescription())
                          .build())
                  .build())
          .addTimeseries(
              io.opencensus.proto.metrics.v1.TimeSeries.newBuilder()
                  .setStartTimestamp(MetricsProtoUtils.toTimestampProto(TIMESTAMP_5))
                  .addLabelValues(
                      io.opencensus.proto.metrics.v1.LabelValue.newBuilder()
                          .setHasValue(true)
                          .setValue(VALUE_2.getValue())
                          .build())
                  .addLabelValues(
                      io.opencensus.proto.metrics.v1.LabelValue.newBuilder()
                          .setHasValue(false)
                          .build())
                  .addPoints(
                      io.opencensus.proto.metrics.v1.Point.newBuilder()
                          .setTimestamp(MetricsProtoUtils.toTimestampProto(TIMESTAMP_3))
                          .setSummaryValue(
                              SummaryValue.newBuilder()
                                  .setCount(Int64Value.of(5))
                                  .setSum(DoubleValue.of(45.0))
                                  .setSnapshot(
                                      SummaryValue.Snapshot.newBuilder()
                                          .setCount(Int64Value.of(3))
                                          .setSum(DoubleValue.of(25.0))
                                          .addPercentileValues(
                                              SummaryValue.Snapshot.ValueAtPercentile.newBuilder()
                                                  .setValue(11)
                                                  .setPercentile(0.4)
                                                  .build())
                                          .build())
                                  .build())
                          .build())
                  .build())
          .build();
  io.opencensus.proto.metrics.v1.Metric actual = MetricsProtoUtils.toMetricProto(metric, null);
  assertThat(actual).isEqualTo(expected);
}
 
源代码30 项目: jackson-datatype-protobuf   文件: ProtobufModule.java
@Override
public void setupModule(SetupContext context) {
  SimpleSerializers serializers = new SimpleSerializers();
  serializers.addSerializer(new MessageSerializer(config));
  serializers.addSerializer(new DurationSerializer());
  serializers.addSerializer(new FieldMaskSerializer());
  serializers.addSerializer(new ListValueSerializer());
  serializers.addSerializer(new NullValueSerializer());
  serializers.addSerializer(new StructSerializer());
  serializers.addSerializer(new TimestampSerializer());
  serializers.addSerializer(new ValueSerializer());
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(DoubleValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(FloatValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(Int64Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(UInt64Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(Int32Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(UInt32Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(BoolValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(StringValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(BytesValue.class));

  context.addSerializers(serializers);

  context.addDeserializers(new MessageDeserializerFactory(config));
  SimpleDeserializers deserializers = new SimpleDeserializers();
  deserializers.addDeserializer(Duration.class, new DurationDeserializer());
  deserializers.addDeserializer(FieldMask.class, new FieldMaskDeserializer());
  deserializers.addDeserializer(ListValue.class, new ListValueDeserializer().buildAtEnd());
  deserializers.addDeserializer(NullValue.class, new NullValueDeserializer());
  deserializers.addDeserializer(Struct.class, new StructDeserializer().buildAtEnd());
  deserializers.addDeserializer(Timestamp.class, new TimestampDeserializer());
  deserializers.addDeserializer(Value.class, new ValueDeserializer().buildAtEnd());
  deserializers.addDeserializer(DoubleValue.class, wrappedPrimitiveDeserializer(DoubleValue.class));
  deserializers.addDeserializer(FloatValue.class, wrappedPrimitiveDeserializer(FloatValue.class));
  deserializers.addDeserializer(Int64Value.class, wrappedPrimitiveDeserializer(Int64Value.class));
  deserializers.addDeserializer(UInt64Value.class, wrappedPrimitiveDeserializer(UInt64Value.class));
  deserializers.addDeserializer(Int32Value.class, wrappedPrimitiveDeserializer(Int32Value.class));
  deserializers.addDeserializer(UInt32Value.class, wrappedPrimitiveDeserializer(UInt32Value.class));
  deserializers.addDeserializer(BoolValue.class, wrappedPrimitiveDeserializer(BoolValue.class));
  deserializers.addDeserializer(StringValue.class, wrappedPrimitiveDeserializer(StringValue.class));
  deserializers.addDeserializer(BytesValue.class, wrappedPrimitiveDeserializer(BytesValue.class));
  context.addDeserializers(deserializers);
  context.setMixInAnnotations(MessageOrBuilder.class, MessageOrBuilderMixin.class);
}