@Nullable static LongRunningConfig createLongRunningConfig( Method method, DiagCollector diagCollector, LongRunningConfigProto longRunningConfigProto, ProtoParser protoParser) { LongRunningConfig longRunningConfig = createLongRunningConfigFromProtoFile( method, diagCollector, longRunningConfigProto, protoParser); if (longRunningConfig != null) { return longRunningConfig; } if (!LongRunningConfigProto.getDefaultInstance().equals(longRunningConfigProto)) { return LongRunningConfig.createLongRunningConfigFromGapicConfig( method.getModel(), diagCollector, longRunningConfigProto); } return null; }
TypeRef returnType = model.getSymbolTable().lookupType(longRunningConfigProto.getReturnType()); TypeRef metadataType = model.getSymbolTable().lookupType(longRunningConfigProto.getMetadataType()); SimpleLocation.TOPLEVEL, "Type not found for long running config: '%s'", longRunningConfigProto.getReturnType())); } else if (!returnType.isMessage()) { diagCollector.addDiag( SimpleLocation.TOPLEVEL, "Type for long running config is not a message: '%s'", longRunningConfigProto.getReturnType())); SimpleLocation.TOPLEVEL, "Metadata type not found for long running config: '%s'", longRunningConfigProto.getMetadataType())); } else if (!metadataType.isMessage()) { diagCollector.addDiag( SimpleLocation.TOPLEVEL, "Metadata type for long running config is not a message: '%s'", longRunningConfigProto.getMetadataType())); Duration.ofMillis(longRunningConfigProto.getInitialPollDelayMillis()); if (initialPollDelay.compareTo(Duration.ZERO) < 0) { diagCollector.addDiag( SimpleLocation.TOPLEVEL,
@Test public void testCreateLROWithNonLROMethod() { DiagCollector diagCollector = new BoundedDiagCollector(); LongRunningConfig longRunningConfig = LongRunningConfig.createLongRunningConfig( simpleMethod, diagCollector, LongRunningConfigProto.getDefaultInstance(), protoParser); assertThat(diagCollector.getErrorCount()).isEqualTo(0); assertThat(longRunningConfig).isNull(); } }
qualifyLroTypeName(operationTypes.getMetadataType(), method, protoParser); if (responseTypeName.equals(longRunningConfigProto.getReturnType()) && metadataTypeName.equals(longRunningConfigProto.getMetadataType())) {
@Test public void testCreateLROWithoutGapicConfig() { DiagCollector diagCollector = new BoundedDiagCollector(); LongRunningConfig longRunningConfig = LongRunningConfig.createLongRunningConfig( lroAnnotatedMethod, diagCollector, LongRunningConfigProto.getDefaultInstance(), protoParser); assertThat(diagCollector.getErrorCount()).isEqualTo(0); assertThat(longRunningConfig).isNotNull(); ProtoTypeRef metadataTypeModel = (ProtoTypeRef) longRunningConfig.getMetadataType(); assertThat(metadataTypeModel.getProtoType()).isEqualTo(annotationsMetadataType); ProtoTypeRef returnTypeModel = (ProtoTypeRef) longRunningConfig.getReturnType(); assertThat(returnTypeModel.getProtoType()).isEqualTo(annotationsReturnType); assertThat(longRunningConfig.getInitialPollDelay().toMillis()) .isEqualTo(LongRunningConfig.LRO_INITIAL_POLL_DELAY_MILLIS); assertThat(longRunningConfig.getMaxPollDelay().toMillis()) .isEqualTo(LongRunningConfig.LRO_MAX_POLL_DELAY_MILLIS); assertThat(longRunningConfig.getPollDelayMultiplier()) .isEqualTo(LongRunningConfig.LRO_POLL_DELAY_MULTIPLIER); assertThat(longRunningConfig.getTotalPollTimeout().toMillis()) .isEqualTo(LongRunningConfig.LRO_TOTAL_POLL_TIMEOUT_MILLS); assertThat(longRunningConfig.implementsCancel()) .isEqualTo(LongRunningConfig.LRO_IMPLEMENTS_CANCEL); assertThat(longRunningConfig.implementsDelete()) .isEqualTo(LongRunningConfig.LRO_IMPLEMENTS_DELETE); }