Details

    • Epic Name:
      Implement r6 Annotations in IGB

      Description

      Situation: In order to update the maven-bundle-plugin update to be compatible with JDK 11 we need to implement the new r6 declarative service component annotations in IGB.

      Task: Update each module (core/plugin) in IGB to use the new annotations (see comments below). Each updated module should be its own commit.

      Development Workflow:

      1. Make or pick a ticket representing work on updating a module or set of modules. Assign it to yourself.
      2. Branch from the latest tip of main-JDK8-r6 (as usual) to create a topic branch for this task.
      3. Make code changes to new OSGI annotations.
      4. Delete the .m2 folder
      5. Delete the .igb folder (appData/igb folder on Windows).
      6. Run mvn clean install (Do not skip tests).
        1. If any test fails, do not commit changes to any branch. Instead, (1) create a new ticket documenting the error and (2) discard the changes on your local system. Later either you or someone else will attempt investigate.
      7. Start IGB, check log/standard output for any warnings/errors.
        1. If there are relevant warnings/errors make a new ticket, do not commit changes to branch. (See 6.)
      8. Check the Felix Web Console in your browser (link).
        1. If any bundles are listed as fragments/installed then make a new ticket, do not commit changes to branch. (See 6.)
      9. Click on the Arabidopsis genome.
      10. Test the individual module functionality. See "smoke testing documentation" for how to test a module.
        1. If unclear as to how to test module functionality, ask Dr. Loraine.
        2. If module functionality appears to be broken, make a new ticket, do not commit changes to branch. (See 6.)
      11. Reset preferences to default; doing this will quit IGB.
      12. Commit change for that specific module to your topic branch. Format your commit message following this example: Update annotations for Plugin - Graph Tab. Each module should be modified in a single commit.
      13. Push branch to your fork.
      14. Mark the module as completed below.

      Git:
      Branch: https://bitbucket.org/lorainelab/integrated-genome-browser/commits/branch/main-JDK8-r6
      Create a pull request from your branch to main-JDK8-r6

      Reference:
      Smoke testing documentation: https://wiki.bioviz.org/confluence/display/ITD/How+to+test+-+read+this+first

        Attachments

          Activity

          Hide
          nfreese Nowlan Freese added a comment -
          • @Component
            • provide :: service
          • @Reference
            • 'multiple = true, optional = true' :: cardinality = ReferenceCardinality.MULTIPLE
              'multiple = true, optional = false' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
              'multiple=false & optional = true' :: cardinality = ReferenceCardinality.OPTIONAL
              'multiple = true' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
              'optional=false' :: cardinality = ReferenceCardinality.MANDATORY
              'dynamic = true' :: policy = ReferencePolicy.DYNAMIC
          Show
          nfreese Nowlan Freese added a comment - @Component provide :: service @Reference 'multiple = true, optional = true' :: cardinality = ReferenceCardinality.MULTIPLE 'multiple = true, optional = false' :: cardinality = ReferenceCardinality.AT_LEAST_ONE 'multiple=false & optional = true' :: cardinality = ReferenceCardinality.OPTIONAL 'multiple = true' :: cardinality = ReferenceCardinality.AT_LEAST_ONE 'optional=false' :: cardinality = ReferenceCardinality.MANDATORY 'dynamic = true' :: policy = ReferencePolicy.DYNAMIC
          Hide
          nfreese Nowlan Freese added a comment - - edited

          Core - Heatmap Editor
          Core - Affymetrix Common
          (Fails test, may be due to not handling spaces in file/path names) Core - Genometry (Data Models)
          Core - IGB
          Core - IGB Swing Extensions
          Core - IGB Services API
          Core - Window Service
          Core - Bundle wrapper, deployer
          Core - Logging Config
          Core - Genoviz Extensions
          Core - Preferences
          Core - Web Links
          Core - Quickload (data source)
          (Fails test on Mac) Core - DAS (data source)
          Core - Frame Manager
          Core - Synonym Lookup
          Core - JavaFX Utilities
          Core - Menu API
          Core - Context Menu Service
          Plugin - Apollo Library
          (COMPLETE) Plugin - Annotation Tab
          (COMPLETE) Plugin - Console Tab
          Plugin - Track Operations API, GUI
          Plugin - Bigbed data format handler
          Plugin - Bigwig data format handler
          Plugin - Bookmarks and REST API
          Plugin - External View
          (COMPLETE) Plugin - Graph Tab
          Plugin - Script handler
          Plugin - Keyword Search
          Plugin - NCBI Blast
          (COMPLETE) Plugin - Selection Info tab
          (COMPLETE) Plugin - Restriction Sites tab
          Plugin - Search Id or Props
          (COMPLETE) Plugin - Advanced Search Tab
          Plugin - Sequence Viewer GUI
          Plugin - Survey GUI
          Plugin - Graph thresholding visual analytics
          Plugin - Update
          Plugin - App Manager GUI
          Plugin - Paired-end Read Preprocessor
          (COMPLETE) Plugin - Save Image GUI
          (COMPLETE) Plugin - Save Session Manager
          Plugin - Toolbar Preferences GUI
          Plugin - Data caching GUI
          Plugin - Data caching API
          Plugin - Feedback
          Plugin - Sorting API and Impl
          Plugin - Narrowpeak data format handler
          Plugin - File Handler - Genotyping Results
          Plugin - BED file format handler
          Plugin - BAM data format handler
          Plugin - BAI index visualization handler
          Plugin - App Store REST API

          Show
          nfreese Nowlan Freese added a comment - - edited Core - Heatmap Editor Core - Affymetrix Common (Fails test, may be due to not handling spaces in file/path names) Core - Genometry (Data Models) Core - IGB Core - IGB Swing Extensions Core - IGB Services API Core - Window Service Core - Bundle wrapper, deployer Core - Logging Config Core - Genoviz Extensions Core - Preferences Core - Web Links Core - Quickload (data source) (Fails test on Mac) Core - DAS (data source) Core - Frame Manager Core - Synonym Lookup Core - JavaFX Utilities Core - Menu API Core - Context Menu Service Plugin - Apollo Library (COMPLETE) Plugin - Annotation Tab (COMPLETE) Plugin - Console Tab Plugin - Track Operations API, GUI Plugin - Bigbed data format handler Plugin - Bigwig data format handler Plugin - Bookmarks and REST API Plugin - External View (COMPLETE) Plugin - Graph Tab Plugin - Script handler Plugin - Keyword Search Plugin - NCBI Blast (COMPLETE) Plugin - Selection Info tab (COMPLETE) Plugin - Restriction Sites tab Plugin - Search Id or Props (COMPLETE) Plugin - Advanced Search Tab Plugin - Sequence Viewer GUI Plugin - Survey GUI Plugin - Graph thresholding visual analytics Plugin - Update Plugin - App Manager GUI Plugin - Paired-end Read Preprocessor (COMPLETE) Plugin - Save Image GUI (COMPLETE) Plugin - Save Session Manager Plugin - Toolbar Preferences GUI Plugin - Data caching GUI Plugin - Data caching API Plugin - Feedback Plugin - Sorting API and Impl Plugin - Narrowpeak data format handler Plugin - File Handler - Genotyping Results Plugin - BED file format handler Plugin - BAM data format handler Plugin - BAI index visualization handler Plugin - App Store REST API
          Show
          nfreese Nowlan Freese added a comment - Smoke testing documentation: https://wiki.bioviz.org/confluence/display/ITD/How+to+test+-+read+this+first
          Hide
          kgopu Kaushik Gopu added a comment - - edited

          created a subtask to work on the following plugins:
          Plugin - Toolbar Preferences GUI
          Plugin - Data caching GUI
          Plugin - Data caching API
          Plugin - Feedback
          Plugin - Sorting API and Impl
          Plugin - Narrowpeak data format handler
          Plugin - File Handler - Genotyping Results
          Plugin - BED file format handler
          Plugin - BAM data format handler
          Plugin - BAI index visualization handler
          Plugin - App Store REST API

          Show
          kgopu Kaushik Gopu added a comment - - edited created a subtask to work on the following plugins: Plugin - Toolbar Preferences GUI Plugin - Data caching GUI Plugin - Data caching API Plugin - Feedback Plugin - Sorting API and Impl Plugin - Narrowpeak data format handler Plugin - File Handler - Genotyping Results Plugin - BED file format handler Plugin - BAM data format handler Plugin - BAI index visualization handler Plugin - App Store REST API
          Hide
          kgopu Kaushik Gopu added a comment - - edited
          • @Component
            provide :: service
          • @Reference
            'multiple = true, optional = true' :: cardinality = ReferenceCardinality.MULTIPLE
            'multiple = true, optional = false' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
            'multiple=false & optional = true' :: cardinality = ReferenceCardinality.OPTIONAL
            'multiple = true' :: cardinality = ReferenceCardinality.AT_LEAST_ONE
            'optional=false' :: cardinality = ReferenceCardinality.MANDATORY
            'dynamic = true' :: policy = ReferencePolicy.DYNAMIC
          • properties = "name=" + ThresholdingAction.COMPONENT_NAME :: property = {"name=" + ThresholdingAction.COMPONENT_NAME}
          Show
          kgopu Kaushik Gopu added a comment - - edited @Component provide :: service @Reference 'multiple = true, optional = true' :: cardinality = ReferenceCardinality.MULTIPLE 'multiple = true, optional = false' :: cardinality = ReferenceCardinality.AT_LEAST_ONE 'multiple=false & optional = true' :: cardinality = ReferenceCardinality.OPTIONAL 'multiple = true' :: cardinality = ReferenceCardinality.AT_LEAST_ONE 'optional=false' :: cardinality = ReferenceCardinality.MANDATORY 'dynamic = true' :: policy = ReferencePolicy.DYNAMIC properties = "name=" + ThresholdingAction.COMPONENT_NAME :: property = {"name=" + ThresholdingAction.COMPONENT_NAME}
          Hide
          kgopu Kaushik Gopu added a comment - - edited

          List of plugins using new OSGI v6 annotations:
          Plugin - Graph thresholding visual analytics
          Plugin - Track Operations API, GUI
          Plugin - App Manager GUI
          Plugin - Save Image GUI
          Plugin - Save Session Manager
          Plugin - Advanced Search Tab
          Plugin - Selection Info tab
          Plugin - Graph Tab
          Plugin - Selection Info tab
          Plugin - BAM data format handler
          Plugin - Restriction Sites tab
          Plugin - Bigbed data format handler
          Plugin - Bigwig data format handler
          Plugin - Annotation Tab
          Plugin - App Store REST API
          Plugin - BAI index visualization handler
          Plugin - Console Tab
          Plugin - Sorting API and Impl
          Plugin - BED file format handler
          Plugin - Feedback
          Plugin - Bookmarks and REST API
          Plugin - Data caching GUI
          Plugin - Toolbar Preferences GUI
          Plugin - Keyword Search
          Plugin - Data caching API
          Plugin - External View
          Plugin - Sequence Viewer GUI
          Plugin - File Handler - Genotyping Results
          Plugin - Script handler
          Plugin - Paired-end Read Preprocessor
          Plugin - Search Id or Props

          Show
          kgopu Kaushik Gopu added a comment - - edited List of plugins using new OSGI v6 annotations: Plugin - Graph thresholding visual analytics Plugin - Track Operations API, GUI Plugin - App Manager GUI Plugin - Save Image GUI Plugin - Save Session Manager Plugin - Advanced Search Tab Plugin - Selection Info tab Plugin - Graph Tab Plugin - Selection Info tab Plugin - BAM data format handler Plugin - Restriction Sites tab Plugin - Bigbed data format handler Plugin - Bigwig data format handler Plugin - Annotation Tab Plugin - App Store REST API Plugin - BAI index visualization handler Plugin - Console Tab Plugin - Sorting API and Impl Plugin - BED file format handler Plugin - Feedback Plugin - Bookmarks and REST API Plugin - Data caching GUI Plugin - Toolbar Preferences GUI Plugin - Keyword Search Plugin - Data caching API Plugin - External View Plugin - Sequence Viewer GUI Plugin - File Handler - Genotyping Results Plugin - Script handler Plugin - Paired-end Read Preprocessor Plugin - Search Id or Props
          Hide
          kgopu Kaushik Gopu added a comment -
          • reverted 'combined commits' commit and made individual commit for each plugin.
          • branch that needs to be tested.
          Show
          kgopu Kaushik Gopu added a comment - reverted 'combined commits' commit and made individual commit for each plugin. branch that needs to be tested.
          Hide
          kgopu Kaushik Gopu added a comment -
          Show
          kgopu Kaushik Gopu added a comment - pull request submitted .
          Hide
          ann.loraine Ann Loraine added a comment -

          PR is merged and installers are built. Get installers from https://bitbucket.org/lorainelab/integrated-genome-browser/downloads as usual.

          Show
          ann.loraine Ann Loraine added a comment - PR is merged and installers are built. Get installers from https://bitbucket.org/lorainelab/integrated-genome-browser/downloads as usual.
          Hide
          nfreese Nowlan Freese added a comment -

          As of IGBF-3451 we have merged all of the changes from this epic into main-JDK8.

          Closing ticket.

          Show
          nfreese Nowlan Freese added a comment - As of IGBF-3451 we have merged all of the changes from this epic into main-JDK8. Closing ticket.

            People

            • Assignee:
              Unassigned
              Reporter:
              nfreese Nowlan Freese
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: