-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: Implement DIREGAPIC LRO annotations #832
Feat: Implement DIREGAPIC LRO annotations #832
Conversation
Codecov Report
@@ Coverage Diff @@
## diregapic-lro #832 +/- ##
================================================
Coverage ? 89.43%
================================================
Files ? 141
Lines ? 15518
Branches ? 1113
================================================
Hits ? 13878
Misses ? 1332
Partials ? 308 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good! A few initial comments. I will do a more thorough review later today.
@@ -121,11 +120,21 @@ protected MethodDefinition createOperationCallableMethod(TypeStore typeStore) { | |||
|
|||
List<Statement> createOperationCallableBody = new ArrayList<Statement>(2); | |||
|
|||
List<VariableExpr> arguments = method.arguments(); | |||
List<VariableExpr> arguments = new ArrayList<>(method.arguments()); | |||
// arguments.set( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove all comments like this (debugging artifacts)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still here...
@@ -380,9 +384,74 @@ protected Expr createTransportSettingsInitExpr( | |||
return Collections.singletonList(expr); | |||
} | |||
|
|||
// Generates expr.methodName(); | |||
private MethodInvocationExpr invokeMethodfromVar(Expr expr, String methodName) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
YOu probably don't need this method and use the MethodInvocationExpr construction code directly where you need it It will make it a bit more verbose, but oddly enough it will make it more idiomatic for gapic-generator-java. The same applies to the staticBuilder() method below
ImmutableSet<String> fieldNames = inputOperationMessage.fieldMap().keySet(); | ||
ArrayList<String> nonResponseAnnotationFields = new ArrayList<String>(); | ||
for (String fieldName : fieldNames) { | ||
if (!responseFields.containsValue(fieldName)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not correct usage of maps. map.containsValue()
will give you the linear time (do not confuse with containsKey(), which will give amortized O(1)).
This is not critical for this application, since there will never be many elements in the map, but basically if you need both keys and values to be indexed, you may consider using two-way index (direct and reverse, assuming that values are also unique).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Collection
is just an interface it can have many implementations. Here you did the same thing but in a more convoluded synax: responseFieldName = map.values()
- which is still a non-indexed "array" of values. In other words, the proposed solution is exactly the same as it was, but a more verbose.
In IntelliJ you can go to the SDK library classes implementations the same way as you go to your code implementation (ctrl + lef_mouse_click in most basic case). Reading the code is usually the best way to asses how it works and which time properties it has.
Basically only key operations are O(1) in maps.
Side note: Please consider posting code as text instead of posting as a picture (it makes it mucheasier to work with
There is a way to post it higlighted:
public static void main(String[] args) {}
import com.google.auto.value.AutoValue; | ||
import javax.annotation.Nullable; | ||
|
||
// In composer: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this, and all similar artifacts in comments.
@@ -663,6 +697,14 @@ private static boolean isMapType(Descriptor messageDescriptor) { | |||
/* protoPakkage */ protoMethod.getFile().getPackage(), | |||
serviceDescriptor.getName(), | |||
protoMethod.getName()); | |||
boolean operationPollingMethod = false; | |||
if (protoMethod.getOptions().hasExtension(ExtendedOperationsProto.operationPollingMethod)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please never use if statements without {}
. If you have ever used them like that elswere, please add curly brackets there too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the polling stubs (HttpJsonRegionOprationStub
, i.e. the ones marked with
operation_polling_method = true
these parts should be generated too:
this.longRunningClient =
new HttpJsonLongRunningClient<GetRegionOperationRequest, Operation>(
getCallable,
getMethodDescriptor.getOperationSnapshotFactory(),
getMethodDescriptor.getPollingRequestFactory());
@Override
public LongRunningClient longRunningClient() {
return longRunningClient;
}
private final LongRunningClient longRunningClient;
Apart from the stuff above and some other relatively minor comments, looks good!
repositories.bzl
Outdated
@@ -76,6 +76,15 @@ def gapic_generator_java_repositories(): | |||
], | |||
) | |||
|
|||
# local( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove
@@ -121,11 +120,21 @@ protected MethodDefinition createOperationCallableMethod(TypeStore typeStore) { | |||
|
|||
List<Statement> createOperationCallableBody = new ArrayList<Statement>(2); | |||
|
|||
List<VariableExpr> arguments = method.arguments(); | |||
List<VariableExpr> arguments = new ArrayList<>(method.arguments()); | |||
// arguments.set( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still here...
TypeNode statusType = | ||
TypeNode.withReference( | ||
VaporReference.builder() | ||
.setName("Status") | ||
.setPakkage("com.google.cloud.compute.v1") | ||
.setPakkage("com.google.cloud.compute.v1.Operation") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All explicit mentions of "compute" must be gone. Why is this still needed?
Please check for all other mentions of compute in your codebase. There should be 0 mentions of compute in gapic-generator-java codebase.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So status is generated somewhere else in compute, and is used in this (genrated) class. I am not using compute to generate anything. This is a Vapor reference and that is just the package that will be imported in the generated class.
ImmutableSet<String> fieldNames = inputOperationMessage.fieldMap().keySet(); | ||
ArrayList<String> nonResponseAnnotationFields = new ArrayList<String>(); | ||
for (String fieldName : fieldNames) { | ||
if (!responseFields.containsValue(fieldName)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Collection
is just an interface it can have many implementations. Here you did the same thing but in a more convoluded synax: responseFieldName = map.values()
- which is still a non-indexed "array" of values. In other words, the proposed solution is exactly the same as it was, but a more verbose.
In IntelliJ you can go to the SDK library classes implementations the same way as you go to your code implementation (ctrl + lef_mouse_click in most basic case). Reading the code is usually the best way to asses how it works and which time properties it has.
Basically only key operations are O(1) in maps.
Side note: Please consider posting code as text instead of posting as a picture (it makes it mucheasier to work with
There is a way to post it higlighted:
public static void main(String[] args) {}
StringBuilder opName = new StringBuilder(response.getId()); | ||
opName.append(":").append(request.getProject()); | ||
opName.append(":").append(request.getRegion()); | ||
StringBuilder opName = new StringBuilder(response.getName()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I missed it during the previous review, can you generate the line 92 a bit differently. Instead of
response.getStatus().equals(Status.DONE)
do it in reverse instead?
Status.DONE.equals(response.getStatus())
This should give the same result but is safer, because the second variant will not produce null pointer exception if response.getStatus()
is null (it is a general well known trick of doing comparisons in reverse)
@@ -663,6 +697,16 @@ private static boolean isMapType(Descriptor messageDescriptor) { | |||
/* protoPakkage */ protoMethod.getFile().getPackage(), | |||
serviceDescriptor.getName(), | |||
protoMethod.getName()); | |||
boolean operationPollingMethod = false; | |||
if (protoMethod.getOptions().hasExtension(ExtendedOperationsProto.operationPollingMethod)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
consider using ternary operator (?
) for stuff like this (this is basically its mos common usage pattern).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming you will add those few missing pieces which we discussed offline
🤖 I have created a release \*beep\* \*boop\* --- ## [2.2.0](https://www.github.com/googleapis/gapic-generator-java/compare/v2.1.0...v2.2.0) (2021-10-09) ### Features * Add REST AIP-151 LRO suport ([cb1b534](https://www.github.com/googleapis/gapic-generator-java/commit/cb1b534701b95781e5195e57eacf6d0abff252bf)) * enable self signed JWT for http ([#850](https://www.github.com/googleapis/gapic-generator-java/issues/850)) ([aba0ec0](https://www.github.com/googleapis/gapic-generator-java/commit/aba0ec00dc912400e1c0457d971d8f4120c5d03a)) * Implement DIREGAPIC LRO annotations ([#832](https://www.github.com/googleapis/gapic-generator-java/issues/832)) ([d7b29e0](https://www.github.com/googleapis/gapic-generator-java/commit/d7b29e05d7cfda1eb1a3b09d7ad7d625cab4bde1)) * REGAPIC initial implementation ([#824](https://www.github.com/googleapis/gapic-generator-java/issues/824)) ([fdcfe70](https://www.github.com/googleapis/gapic-generator-java/commit/fdcfe705b5fb42e11dfd511ccf7fdee40bcba131)) * REGAPIC Multitransport implementation (grpc+rest) ([#833](https://www.github.com/googleapis/gapic-generator-java/issues/833)) ([445daf4](https://www.github.com/googleapis/gapic-generator-java/commit/445daf472b337520f108b485abfdbe8b20b16b01)) ### Bug Fixes * [bazel] fix rest transport handling in assembly rule ([#835](https://www.github.com/googleapis/gapic-generator-java/issues/835)) ([92f7c1c](https://www.github.com/googleapis/gapic-generator-java/commit/92f7c1cf7b343947a64943fd7ee7ffb4d67a9d5a)) * DIREGAPIC LRO generated tests logic ([#838](https://www.github.com/googleapis/gapic-generator-java/issues/838)) ([8ae8e6f](https://www.github.com/googleapis/gapic-generator-java/commit/8ae8e6f111d0f3849986cd0445d6003601ced148)) * fix diregapic-lro logic ([#834](https://www.github.com/googleapis/gapic-generator-java/issues/834)) ([957f69a](https://www.github.com/googleapis/gapic-generator-java/commit/957f69a0dc063e77b5e49da28f0a6d9a4a6c3bdb)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [importlib-metadata](https://github.com/python/importlib_metadata) | `==4.8.3` -> `==4.12.0` | [![age](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/compatibility-slim/4.8.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/importlib-metadata/4.12.0/confidence-slim/4.8.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-shared-dependencies). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMDguMiIsInVwZGF0ZWRJblZlciI6IjMyLjIwOC4yIn0=-->
🤖 I have created a release *beep* *boop* --- ## [3.0.4](https://github.com/googleapis/java-shared-dependencies/compare/v3.0.3...v3.0.4) (2022-10-03) ### Dependencies * Update dependency cachetools to v5 ([#816](https://github.com/googleapis/java-shared-dependencies/issues/816)) ([bd2569c](https://github.com/googleapis/java-shared-dependencies/commit/bd2569c8c26e177a83cbcf8ed63fed1c3fce2c4b)) * Update dependency certifi to v2022.9.24 ([#818](https://github.com/googleapis/java-shared-dependencies/issues/818)) ([5406a0c](https://github.com/googleapis/java-shared-dependencies/commit/5406a0ca7e4e2b47f87a39c0fc696fbfd7a6a196)) * Update dependency charset-normalizer to v2.1.1 ([#822](https://github.com/googleapis/java-shared-dependencies/issues/822)) ([5c998e4](https://github.com/googleapis/java-shared-dependencies/commit/5c998e4d05d47882743cdb5a871a6af728b9d920)) * Update dependency click to v8.1.3 ([#823](https://github.com/googleapis/java-shared-dependencies/issues/823)) ([2ad211a](https://github.com/googleapis/java-shared-dependencies/commit/2ad211abb259b0fc225303f695a2f0399e19cd66)) * Update dependency com.google.protobuf:protobuf-bom to v3.21.7 ([#837](https://github.com/googleapis/java-shared-dependencies/issues/837)) ([d5472aa](https://github.com/googleapis/java-shared-dependencies/commit/d5472aa3a98c7a10737b6a9137dba8140087a31b)) * Update dependency gcp-releasetool to v1.8.8 ([#819](https://github.com/googleapis/java-shared-dependencies/issues/819)) ([bfef3b0](https://github.com/googleapis/java-shared-dependencies/commit/bfef3b0cf05bc200e707dfbf0330d672d824004c)) * Update dependency gcp-releasetool to v1.8.9 ([#846](https://github.com/googleapis/java-shared-dependencies/issues/846)) ([533c6a6](https://github.com/googleapis/java-shared-dependencies/commit/533c6a6382c2e933b2e87834b5b94913c1dc4943)) * Update dependency google-api-core to v2.10.1 ([#824](https://github.com/googleapis/java-shared-dependencies/issues/824)) ([1a5d233](https://github.com/googleapis/java-shared-dependencies/commit/1a5d233efa85f1dbd3aa272d2d305d24a35a7576)) * Update dependency google-auth to v2.12.0 ([#825](https://github.com/googleapis/java-shared-dependencies/issues/825)) ([cbca860](https://github.com/googleapis/java-shared-dependencies/commit/cbca860ae78c7ddf4541ed8b7c057710299162a8)) * Update dependency google-cloud-core to v2.3.2 ([#820](https://github.com/googleapis/java-shared-dependencies/issues/820)) ([65a1310](https://github.com/googleapis/java-shared-dependencies/commit/65a1310f50ce6914a67cb5e0e4d258f9f4466f11)) * Update dependency google-cloud-storage to v2.5.0 ([#826](https://github.com/googleapis/java-shared-dependencies/issues/826)) ([5fd7983](https://github.com/googleapis/java-shared-dependencies/commit/5fd7983489b971344e64010c7cfef0a2f60be667)) * Update dependency google-crc32c to v1.5.0 ([#827](https://github.com/googleapis/java-shared-dependencies/issues/827)) ([ee9e013](https://github.com/googleapis/java-shared-dependencies/commit/ee9e013106173cefbc10563d5d51dd906997c658)) * Update dependency google-resumable-media to v2.4.0 ([#838](https://github.com/googleapis/java-shared-dependencies/issues/838)) ([fb02810](https://github.com/googleapis/java-shared-dependencies/commit/fb02810c4a975fc75b26d680266ac48f85779a70)) * Update dependency googleapis-common-protos to v1.56.4 ([#821](https://github.com/googleapis/java-shared-dependencies/issues/821)) ([49d6423](https://github.com/googleapis/java-shared-dependencies/commit/49d64234d57d99c07689d0dd66697bb94d69e958)) * Update dependency importlib-metadata to v4.12.0 ([#832](https://github.com/googleapis/java-shared-dependencies/issues/832)) ([33ef522](https://github.com/googleapis/java-shared-dependencies/commit/33ef5228cb4fda9ef24e2b4396f970bc5ab67322)) * Update dependency importlib-metadata to v4.13.0 ([#843](https://github.com/googleapis/java-shared-dependencies/issues/843)) ([333b61b](https://github.com/googleapis/java-shared-dependencies/commit/333b61baf0f42d64699626bbc57315b3a826c3d3)) * Update dependency importlib-metadata to v5 ([#845](https://github.com/googleapis/java-shared-dependencies/issues/845)) ([7dc299d](https://github.com/googleapis/java-shared-dependencies/commit/7dc299da70133bb0fa9a363816ea804d540edc22)) * Update dependency io.grpc:grpc-bom to v1.49.1 ([#802](https://github.com/googleapis/java-shared-dependencies/issues/802)) ([a810f58](https://github.com/googleapis/java-shared-dependencies/commit/a810f587a5551e5f36a0b161bc350ebcb636acd5)) * Update dependency io.grpc:grpc-bom to v1.49.2 ([#842](https://github.com/googleapis/java-shared-dependencies/issues/842)) ([064a166](https://github.com/googleapis/java-shared-dependencies/commit/064a1666dd030c5f9fe35da7ebbda3dad2421427)) * Update dependency jeepney to v0.8.0 ([#833](https://github.com/googleapis/java-shared-dependencies/issues/833)) ([d1a5a67](https://github.com/googleapis/java-shared-dependencies/commit/d1a5a672089424d3ef9f85ae5d87b669484466e5)) * Update dependency jinja2 to v3.1.2 ([#834](https://github.com/googleapis/java-shared-dependencies/issues/834)) ([ad63e98](https://github.com/googleapis/java-shared-dependencies/commit/ad63e988d2407a62491a309160e1b87b4cc06d9a)) * Update dependency keyring to v23.9.3 ([#828](https://github.com/googleapis/java-shared-dependencies/issues/828)) ([8fed728](https://github.com/googleapis/java-shared-dependencies/commit/8fed728e6c84c8cade5bb24a827c558345149cff)) * Update dependency markupsafe to v2.1.1 ([#829](https://github.com/googleapis/java-shared-dependencies/issues/829)) ([6a93716](https://github.com/googleapis/java-shared-dependencies/commit/6a93716f6f161ced9a08840037bbfe7bfeee0814)) * Update dependency org.threeten:threetenbp to v1.6.2 ([#808](https://github.com/googleapis/java-shared-dependencies/issues/808)) ([f03792d](https://github.com/googleapis/java-shared-dependencies/commit/f03792d49370e0abbe6f90d37c513920759d6581)) * Update dependency protobuf to v3.20.2 ([#830](https://github.com/googleapis/java-shared-dependencies/issues/830)) ([544c20f](https://github.com/googleapis/java-shared-dependencies/commit/544c20f9b45fc42ba6b0071153c05034ea08ddc3)) * Update dependency protobuf to v3.20.3 ([#839](https://github.com/googleapis/java-shared-dependencies/issues/839)) ([69db6d7](https://github.com/googleapis/java-shared-dependencies/commit/69db6d7e56d4673a68e1f49a805635d054856326)) * Update dependency protobuf to v4 ([#817](https://github.com/googleapis/java-shared-dependencies/issues/817)) ([d2df74f](https://github.com/googleapis/java-shared-dependencies/commit/d2df74f6f456acbcccee7120b0ab164f73b8af93)) * Update dependency pyjwt to v2.5.0 ([#812](https://github.com/googleapis/java-shared-dependencies/issues/812)) ([8439533](https://github.com/googleapis/java-shared-dependencies/commit/843953365e464c72aa62df1a512a0ca6086a1c37)) * Update dependency requests to v2.28.1 ([#813](https://github.com/googleapis/java-shared-dependencies/issues/813)) ([de1d896](https://github.com/googleapis/java-shared-dependencies/commit/de1d896da6d7dcaedb520117d675290826d23505)) * Update dependency typing-extensions to v4.3.0 ([#814](https://github.com/googleapis/java-shared-dependencies/issues/814)) ([eb8b96b](https://github.com/googleapis/java-shared-dependencies/commit/eb8b96b916281aad8f330eb506a7d4be420c4263)) * Update dependency zipp to v3.8.1 ([#815](https://github.com/googleapis/java-shared-dependencies/issues/815)) ([74ee8f7](https://github.com/googleapis/java-shared-dependencies/commit/74ee8f75795091303236322e6c090a6a2b3f30e5)) * Update gax.version to v2.19.2 ([#847](https://github.com/googleapis/java-shared-dependencies/issues/847)) ([63228ac](https://github.com/googleapis/java-shared-dependencies/commit/63228ac05cfa27c6ecfee44eb91a8fabb94c5f59)) * Update google.common-protos.version to v2.9.3 ([#803](https://github.com/googleapis/java-shared-dependencies/issues/803)) ([cdf3fe6](https://github.com/googleapis/java-shared-dependencies/commit/cdf3fe6f7b7abbb9ef0c4a7cd1e4783dbbe0e238)) * Update google.common-protos.version to v2.9.5 ([#831](https://github.com/googleapis/java-shared-dependencies/issues/831)) ([62b5617](https://github.com/googleapis/java-shared-dependencies/commit/62b5617fa7960a1fdbad5743e44f14e2b6014b47)) * Update google.common-protos.version to v2.9.6 ([#844](https://github.com/googleapis/java-shared-dependencies/issues/844)) ([0cd42ae](https://github.com/googleapis/java-shared-dependencies/commit/0cd42aee75de5e3ddcde03165620aebae3ce2df0)) * Update google.core.version to v2.8.13 ([#804](https://github.com/googleapis/java-shared-dependencies/issues/804)) ([d1b585e](https://github.com/googleapis/java-shared-dependencies/commit/d1b585eb836fa55a97ca059426bce15cafcb2b5e)) * Update google.core.version to v2.8.14 ([#805](https://github.com/googleapis/java-shared-dependencies/issues/805)) ([3743485](https://github.com/googleapis/java-shared-dependencies/commit/37434855f0ec5bef09a8e8b0a062aa1df93da102)) * Update google.core.version to v2.8.15 ([#807](https://github.com/googleapis/java-shared-dependencies/issues/807)) ([614586e](https://github.com/googleapis/java-shared-dependencies/commit/614586ed92f203901c80ab5539f5c514bb5fe131)) * Update google.core.version to v2.8.16 ([#810](https://github.com/googleapis/java-shared-dependencies/issues/810)) ([6d04bef](https://github.com/googleapis/java-shared-dependencies/commit/6d04bef8689e87a7505ecb18e556b7d55a05d649)) * Update google.core.version to v2.8.17 ([#835](https://github.com/googleapis/java-shared-dependencies/issues/835)) ([5e84cc5](https://github.com/googleapis/java-shared-dependencies/commit/5e84cc533778443b798550fe9e3cb0888ad9b8ac)) * Update google.core.version to v2.8.18 ([#840](https://github.com/googleapis/java-shared-dependencies/issues/840)) ([203e8b4](https://github.com/googleapis/java-shared-dependencies/commit/203e8b4681186f863bc8d2f7e79c3c0102e592b4)) * Update google.core.version to v2.8.19 ([#841](https://github.com/googleapis/java-shared-dependencies/issues/841)) ([35bf0dc](https://github.com/googleapis/java-shared-dependencies/commit/35bf0dcb1b8e6143fb7750dc3e8eeeb6bfac9a3b)) * Update google.core.version to v2.8.20 ([#848](https://github.com/googleapis/java-shared-dependencies/issues/848)) ([047dc3f](https://github.com/googleapis/java-shared-dependencies/commit/047dc3f6f1b1a0c27079c8bc07046793c96f8dfc)) * Update iam.version to v1.6.1 ([#806](https://github.com/googleapis/java-shared-dependencies/issues/806)) ([b2fc57a](https://github.com/googleapis/java-shared-dependencies/commit/b2fc57a99d63554f456f185c136954c688300ab7)) * Update iam.version to v1.6.2 ([#849](https://github.com/googleapis/java-shared-dependencies/issues/849)) ([1251c42](https://github.com/googleapis/java-shared-dependencies/commit/1251c42fd0e9f31991236a1bfd2ff7010ab22e70)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
The module itself has been removed in #820.
Generated methods that were previously hard coded now use the new annotations.
Annotations implemented:
-operation_polling_service
-operation_service
-operation_field
-operation_request_field
-operation_response_field
The parts which appends fields for
opName
are in alphabetical order based on the field name and read from annotationsThe
.get[FIELD]
methods are also read from annotations.The
.set[FIELD]
methods are read from annotations. The order is as follows: First go the fields that have theoperation_response_field
annotation, and they are listed alphabetically based on the value of the annotation. The fields that do not have the annotation are listed alphabetically based on the name of the field itself.Fixed logic to determine which methods require new LRO machinery using
operation_polling_method
andoperation_service
.Data model classes
Message.java
andMethod.java
were changed to hold the new data from the annotations