Skip to content

fix millisecond parsing errors - #895

Merged
elharo merged 2 commits into
masterfrom
time
Nov 25, 2019
Merged

fix millisecond parsing errors#895
elharo merged 2 commits into
masterfrom
time

Conversation

@elharo

Copy link
Copy Markdown
Contributor

@elharo
elharo requested review from a team and olavloiteNovember 25, 2019 18:57
@googlebotgooglebot added the cla: yes This human has signed the Contributor License Agreement. label Nov 25, 2019
* time zone shift but no time.
*/
public static DateTime parseRfc3339(String str) throws NumberFormatException {
public static DateTime parseRfc3339(String str) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. NumberFormatException is a RuntimeException and thus no need to explicitly mark it.
https://docs.oracle.com/javase/8/docs/api/java/lang/NumberFormatException.html


public void testOneSecondBeforeEpoch() {
assertParsedRfc3339(
"1969-12-31T23:59:59.000Z", SecondsAndNanos.ofSecondsAndNanos(-1, 0));

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great test.

public void testOneSecondBeforeEpoch() {
assertParsedRfc3339(
"1969-12-31T23:59:59.000Z", SecondsAndNanos.ofSecondsAndNanos(-1, 0));
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you add the following test too?

public void testGregorianCalendarStartDate() {
assertParsedRfc3339(
"1582-10-15T01:23:45.123Z", SecondsAndNanos.ofSecondsAndNanos(-12219287774L, -877000000));
}

(not 100% sure about the value of nanosecond part to represent -12219287774877 milliseconds)

As per Beam's PubsubClientTest, date 1582-10-15 is an important date when Gregorian Calendar was adopted.
https://github.com/apache/beam/blob/master/sdks/java/io/google-cloud-platform/src/test/java/org/apache/beam/sdk/io/gcp/pubsub/PubsubClientTest.java#L144

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't verify that this value is correct, so I don't want to add it here.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will try to add this in a separate PR then.

package com.google.api.client.util;

import com.google.api.client.util.DateTime.SecondsAndNanos;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@elharo
elharo merged commit 38e3a53 into masterNov 25, 2019
@elharo
elharo deleted the time branch November 25, 2019 21:16
clundin25 pushed a commit to clundin25/google-http-java-client that referenced this pull request Aug 11, 2022
* feat: Adds Pluggable Auth support to ADC (googleapis#895)
* chore(deps): update dependency com.google.http-client:google-http-client-bom to v1.41.5 (googleapis#896)
[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.http-client:google-http-client-bom](https://togithub.com/googleapis/google-http-java-client) | `1.41.4` -> `1.41.5` | [![age](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/compatibility-slim/1.41.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/confidence-slim/1.41.4)](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>googleapis/google-http-java-client</summary>
### [`v1.41.5`](https://togithub.com/googleapis/google-http-java-client/blob/HEAD/CHANGELOG.md#&#8203;1415-httpsgithubcomgoogleapisgoogle-http-java-clientcomparev1414v1415-2022-03-21)
[Compare Source](https://togithub.com/googleapis/google-http-java-client/compare/v1.41.4...v1.41.5)
</details>
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **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.
---
This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-auth-library-java).
* feat: Add ability to provide PrivateKey as Pkcs8 encoded string googleapis#883 (googleapis#889)
* feat: Add ability to provide PrivateKey as Pkcs8 encoded string googleapis#883
This change adds a new method `setPrivateKeyString` in `ServiceAccountCredentials.Builder` to accept Pkcs8 encoded string representation of private keys.
Co-authored-by: Timur Sadykov <stim@google.com>
* chore: fix downstream check (googleapis#898)
* fix: update branding in ExternalAccountCredentials (googleapis#893)
These changes align the Javadoc comments with the branding that Google uses externally:
+ STS -> Security Token Service
+ GCP -> Google Cloud
+ Remove references to a Google-internal token type
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-auth-library-java/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass: Tests are failing, but I don't think that was caused by the changes in this PR
- [ ] Code coverage does not decrease (if any source code was changed): n/a
- [ ] Appropriate docs were updated (if necessary): n/a
* feat: Adds the ExecutableHandler interface for Pluggable Auth
* feat: Adds a Pluggable Auth specific exception
* feat: Adds new PluggableAuthCredentials class that plug into ADC
* feat: Adds unit tests for PluggableAuthCredentials and ExternalAccountCredentials
* Add units tests for GoogleCredentials
* fix: update javadoc/comments
* fix: A concrete ExecutableOptions implementation is not needed
* review: javadoc changes + constants
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Navina Ramesh <navi.trinity@gmail.com>
Co-authored-by: Timur Sadykov <stim@google.com>
Co-authored-by: Neenu Shaji <Neenu1995@users.noreply.github.com>
Co-authored-by: Jeff Williams <jeffrey.l.williams@gmail.com>
* feat: finalizes PluggableAuth implementation (googleapis#906)
* Adds ExecutableResponse class
* Adds unit tests for ExecutableResponse
* Adds 3rd party executable handler
* Adds unit tests for PluggableAuthHandler
* Fix build issues
* don't fail on javadoc errors
* feat: Improve Pluggable Auth error handling (googleapis#912)
* feat: improves pluggable auth error handling
* cleanup
* fix: consume input stream immediately for Pluggable Auth (googleapis#915)
* feat: improves pluggable auth error handling
* cleanup
* fix: consume input stream immediately so that the spawned process will not hang if the STDOUT buffer is filled.
* fix: fix merge
* fix: review comments
* fix: refactor to keep ImpersonatedCredentials final (googleapis#917)
* fix: adds more documentation for InternalProcessBuilder and moves it to the bottom of the file
* fix: keep ImpersonatedCredentials final
* fix: make sure executor is shutdown
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Navina Ramesh <navi.trinity@gmail.com>
Co-authored-by: Timur Sadykov <stim@google.com>
Co-authored-by: Neenu Shaji <Neenu1995@users.noreply.github.com>
Co-authored-by: Jeff Williams <jeffrey.l.williams@gmail.com>
Co-authored-by: Emily Ball <emilyball@google.com>
clundin25 pushed a commit to clundin25/google-http-java-client that referenced this pull request Aug 11, 2022
* feat: Adds Pluggable Auth support to ADC (googleapis#895)
* chore(deps): update dependency com.google.http-client:google-http-client-bom to v1.41.5 (googleapis#896)
[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.http-client:google-http-client-bom](https://togithub.com/googleapis/google-http-java-client) | `1.41.4` -> `1.41.5` | [![age](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/compatibility-slim/1.41.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.http-client:google-http-client-bom/1.41.5/confidence-slim/1.41.4)](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>googleapis/google-http-java-client</summary>
### [`v1.41.5`](https://togithub.com/googleapis/google-http-java-client/blob/HEAD/CHANGELOG.md#&#8203;1415-httpsgithubcomgoogleapisgoogle-http-java-clientcomparev1414v1415-2022-03-21)
[Compare Source](https://togithub.com/googleapis/google-http-java-client/compare/v1.41.4...v1.41.5)
</details>
---
### Configuration
📅 **Schedule**: At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **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.
---
This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-auth-library-java).
* feat: Add ability to provide PrivateKey as Pkcs8 encoded string googleapis#883 (googleapis#889)
* feat: Add ability to provide PrivateKey as Pkcs8 encoded string googleapis#883
This change adds a new method `setPrivateKeyString` in `ServiceAccountCredentials.Builder` to accept Pkcs8 encoded string representation of private keys.
Co-authored-by: Timur Sadykov <stim@google.com>
* chore: fix downstream check (googleapis#898)
* fix: update branding in ExternalAccountCredentials (googleapis#893)
These changes align the Javadoc comments with the branding that Google uses externally:
+ STS -> Security Token Service
+ GCP -> Google Cloud
+ Remove references to a Google-internal token type
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-auth-library-java/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass: Tests are failing, but I don't think that was caused by the changes in this PR
- [ ] Code coverage does not decrease (if any source code was changed): n/a
- [ ] Appropriate docs were updated (if necessary): n/a
* feat: Adds the ExecutableHandler interface for Pluggable Auth
* feat: Adds a Pluggable Auth specific exception
* feat: Adds new PluggableAuthCredentials class that plug into ADC
* feat: Adds unit tests for PluggableAuthCredentials and ExternalAccountCredentials
* Add units tests for GoogleCredentials
* fix: update javadoc/comments
* fix: A concrete ExecutableOptions implementation is not needed
* review: javadoc changes + constants
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Navina Ramesh <navi.trinity@gmail.com>
Co-authored-by: Timur Sadykov <stim@google.com>
Co-authored-by: Neenu Shaji <Neenu1995@users.noreply.github.com>
Co-authored-by: Jeff Williams <jeffrey.l.williams@gmail.com>
* feat: finalizes PluggableAuth implementation (googleapis#906)
* Adds ExecutableResponse class
* Adds unit tests for ExecutableResponse
* Adds 3rd party executable handler
* Adds unit tests for PluggableAuthHandler
* Fix build issues
* don't fail on javadoc errors
* feat: Improve Pluggable Auth error handling (googleapis#912)
* feat: improves pluggable auth error handling
* cleanup
* fix: consume input stream immediately for Pluggable Auth (googleapis#915)
* feat: improves pluggable auth error handling
* cleanup
* fix: consume input stream immediately so that the spawned process will not hang if the STDOUT buffer is filled.
* fix: fix merge
* fix: review comments
* fix: refactor to keep ImpersonatedCredentials final (googleapis#917)
* fix: adds more documentation for InternalProcessBuilder and moves it to the bottom of the file
* fix: keep ImpersonatedCredentials final
* feat: documents pluggable auth in README
* fix: provider
* fix: update table of contents
* fix: update
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Navina Ramesh <navi.trinity@gmail.com>
Co-authored-by: Timur Sadykov <stim@google.com>
Co-authored-by: Neenu Shaji <Neenu1995@users.noreply.github.com>
Co-authored-by: Jeff Williams <jeffrey.l.williams@gmail.com>
Co-authored-by: Emily Ball <emilyball@google.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yesThis human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

One second off with pre epoch dates

5 participants

@elharo@suztomo@olavloite@codyoss@googlebot