8000 Scorpio ISD Prototype - No Fork by dngomez · Pull Request #86 · gemini-hlsw/gmp · GitHub
[go: up one dir, main page]

Skip to content

Scorpio ISD Prototype - No Fork - #86

Merged
cquiroz merged 27 commits into
mainfrom
pr-85
Nov 2, 2026
Merged

cquiroz merged 27 commits into
mainfrom
pr-85

Conversation

@dngomez
@dngomez dngomez commented Apr 23, 2026
Copy link
Copy Markdown
Contributor

This is a local branch started from #85 uploaded by Alejandro Villarroel plus some small additional changes.

@mergify
mergify Bot commented Oct 30, 2026
Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Copilot AI left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Unresolved critical defects leave Jetty running after bundle shutdown, can cause clients to permanently miss WebSocket updates, and make prism movement loop indefinitely for accepted targets.

6 open issues
What changed in this PR

Introduces the Scorpio ISD prototype backend from PR #85 as a GMP module, bridging GIAPI instrument status updates to web clients.

Changes:

  • Adds status configuration, name translation, caching, and WebSocket delivery.
  • Integrates the new OSGi module and removes Pax Web dependencies and configuration.
  • Adds simulation scripts, setup instructions, and architecture documentation.
File Description
src/​main/​config/​services/​org.ops4j.pax.web.cfg Removes Pax Web server settings.
src/​main/​config/​services/​edu.gemini.isd.statusItemsConfiguration.json Maps Scorpio status names to frontend identifiers.
pom.xml Registers the ISD module and removes Pax Web configuration.
integration-tests/​pom.xml Removes Pax Web test dependencies.
edu.gemini.isd/​src/​main/​resources/​temperatures.sh Simulates detector and bench temperatures.
edu.gemini.isd/​src/​main/​resources/​prism.sh Simulates prism movement.
edu.gemini.isd/​src/​main/​resources/​overallStatus.sh Sets component health statuses.
edu.gemini.isd/​src/​main/​resources/​observation.sh Simulates observation status and progress.
edu.gemini.isd/​src/​main/​resources/​obs1.sh Adds an observation scenario with cover and shutter updates.
edu.gemini.isd/​src/​main/​resources/​mainGeneralTest.sh Provides interactive component-status scenarios.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​utils/​StatusNameDictionary.java Translates GIAPI names into frontend identifiers.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​repository/​StatusRepository.java Stores current status data in memory.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​osgi/​Activator.java Registers the status handler and manages server lifecycle.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​handler/​StatusCacheHandler.java Filters updates and provides snapshots and changes.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​dto/​StatusMapper.java Converts GIAPI status items into frontend data.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​dto/​StatusDTO.java Defines the transmitted status fields.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​controller/​WebsocketController.java Sends initial snapshots and periodic changes over WebSockets.
edu.gemini.isd/​src/​main/​java/​edu/​gemini/​isd/​scorpio/​config/​ConfigurationReader.java Loads status subscriptions and translations from JSON.
edu.gemini.isd/​src/​main/​docs/​devDiary.md Documents architecture, configuration, and development steps.
edu.gemini.isd/​src/​main/​docs/​classDiagram.plantuml Illustrates module classes and relationships.
edu.gemini.isd/​README.md Documents installation, operation, and simulation scripts.
edu.gemini.isd/​pom.xml Defines the ISD bundle and dependencies.
edu.gemini.isd/​osgi.bnd Configures bundle activation, packaging, and imports.

Review effort: Balanced

dngomez and others added 6 commits October 30, 2026 14:32
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Implement equals and hashCode methods for StatusDTO.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Refactor observation.sh to calculate time left using a deadline variable and sleep for 1 second in the loop.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@mergify
mergify Bot commented Nov 1, 2026
Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@cquiroz cquiroz mentioned this pull request Nov 2, 2026
@cquiroz cquiroz left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@cquiroz
cquiroz merged commit 635327b into main Nov 2, 2026
4 checks passed
@cquiroz
cquiroz deleted the pr-85 branch November 2, 2026 18:29
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.

5 participants

0