Skip to content
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

Abstract file access pattern for DSS provider #87

Merged
merged 1 commit into from
Sep 22, 2020

Conversation

twsouthwick
Copy link
Collaborator

This is an intial change to abstract file access using
IPlateTilePyramid. This interface provides a single method that will
take a plate file name along with the desired level and coordinates and
will retrieve the associated image.

This change includes two implementations of this:

  • ConfigurationManagerFilePlateTilePyramid allows for a request to a
    given plate file and returns a stream for the level and coordinates
    specified.
  • AzurePlateTilePyramid retrieves the file from Azure blob storage

This new access method has been incorporated into the DSS.aspx page and
will surface the content via Azure or local storage via a configuration
flag (requires a restart of the service).

Copy link
Collaborator

@coderandhiker coderandhiker left a comment

Choose a reason for hiding this comment

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

Looks solid. Let's add a work item to perf test both providers and compare the results.

Copy link
Contributor

@pkgw pkgw left a comment

Choose a reason for hiding this comment

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

A few comments below:

WWTWebservices/ConfigurationManagerFilePlateTilePyramid.cs Outdated Show resolved Hide resolved
src/WWT.Providers/Providers/DSSProvider.cs Outdated Show resolved Hide resolved
src/WWT.Providers/Providers/DSSProvider.cs Show resolved Hide resolved
src/WWT.Providers/QueryRequestProvider.cs Outdated Show resolved Hide resolved
Copy link
Contributor

@pkgw pkgw left a comment

Choose a reason for hiding this comment

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

Looks good now; there's just a merge conflict from the GetHashCode PR.

@twsouthwick
Copy link
Collaborator Author

@pkgw Fixed the merge conflict

This is an intial change to abstract file access using
IPlateTilePyramid. This interface provides a single method that will
take a plate file name along with the desired level and coordinates and
will retrieve the associated image.

This change includes two implementations of this:

- ConfigurationManagerFilePlateTilePyramid allows for a request to a
  given plate file and returns a stream for the level and coordinates
  specified.
- AzurePlateTilePyramid retrieves the file from Azure blob storage

This new access method has been incorporated into the DSS.aspx page and
will surface the content via Azure or local storage via a configuration
flag (requires a restart of the service).
@pkgw pkgw merged commit 54c4778 into WorldWideTelescope:master Sep 22, 2020
@twsouthwick twsouthwick deleted the DSS-provider branch September 22, 2020 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants