Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-2566

Get jidesoft code from maven central or other centralized repository

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1.5
    • Sprint:
      Fall 4 Oct 26 - Nov 6, Fall 5 Nov 9 - Nov 20, Fall 6 Nov 30 - Dec 11, Fall 7 Dec 14 - Dec 23, Winter 1 Dec 28 - Jan 8, Winter 2 Jan 11 - Jan 22

      Description

      IGB uses GUI components from Jidesoft.

      For many years, the IGB project has imported these components by including the following configuration in the parent POM:

          <properties>
      ...
             <jide.version>3.5.15</jide.version>
      ...
          </properties>
      ...
          <dependencyManagement>
      ...
                  <dependency>
                      <groupId>com.jidesoft</groupId>
                      <artifactId>jide-ultimate</artifactId>
                      <version>${jide.version}</version>
                  </dependency>
      ...
          </dependencyManagement>
      

      The jide-ultimate artifact is available from legacy maven repository 2, specified in the parent POM with:

          <repositories>
      ...
              <repository>
                  <id>repo2</id>
                  <url>https://maven.bioviz.org/repo2</url>
              </repository>
      ...
          </repositories>
      

      Sai Supreeth Segu investigated obtaining jide-ultimate artifact from maven central. He could not find it there, but he did find some other artifacts that appear to contain packages from jide-ultimate.

      For this task, review the packages he found. Compare them jide-ultimate. Answer the question:

      • Which combination of packages contain all the packages used by jide-ultimate?

      Next, use the IGB Docker image to test building IGB, or use your local environment after removing all artifacts from your local .m2 repository to avoid getting confused by local caching.
      Recommended steps:

      • Make a branch on your IGB fork
      • Replace jide-ultimate artifact in the top level POM with the other artifacts.
      • Modify shared-lib-wrapper code to import the packages from the other artifacts into our large OSGi bundle, as is currently being done with jide-ultimate
      • Remove jide-ultimate artifact from the project
      • Test the build on a totally clean environment, e.g., no jidesoft artifacts in the repository local to the build process; ensure it can built on bitbucket using bitbucket pipelines as usual
      • Run the built application; check the log for OSGi-related errors, e.g., can't find a package

      Tip: IGB contains a Felix Web Console you can use to check whether or not a bundle has been loaded and resolve properly. Errors occur when a bundles dependencies can't be resolved due the framework not being able to locate them. See IGB repository top-level README for how to access and use the Felix Web console.

      Also, read: https://www.jidesoft.com/products/. Note that this documentation says that the first 14 artifacts are packaged with JIDE Ultimate Suite, which is probably the human-friendly name for the jide-ultimate.jar artifact. Do a global search of the IGB code base for all jidesoft imports and determine: Which classes and packages are being used? Use this information to identify the subset of artifacts we need for the IGB project.

      JIDE Software products are focused on feature-rich Swing components to simplify the development of rich-client applications. We currently offer 15 component products - the JIDE Docking Framework, JIDE Action Framework, JIDE Components, JIDE Grids, JIDE Dialogs, JIDE Shortcut Editor, JIDE Pivot Grid, JIDE Data Grids, JIDE Code Editor, JIDE Feed Reader, JIDE Dashboard, JIDE Charts, JIDE Gantt Chart, and JIDE Diff - which cover almost every aspect of Swing development. All those products above are bundled into JIDE Ultimate Suite. We also have JIDE Professional Suite and JIDE Enterprise Suite which bundle the first two and the first five products respectively.

      Also, note this message from Jidesoft:

      As of April 2007, we decided to open source the JIDE Common Layer - the foundation of all JIDE other products. You can get the JIDE Common Layer release or access the github repository from github (it was formally hosted on java.net which is now discontinued). If you use maven for your project, all released versions of JIDE Common Layer are also available on the centeral maven repository through sonatype. If you are paid JIDE customers, the source code for JIDE Common Layer is always included in the release under src subfolder.

      The above quote is from: https://www.jidesoft.com/products/oss.htm

        Attachments

          Issue Links

            Activity

            Hide
            ssegu Sai Supreeth Segu (Inactive) added a comment - - edited

            These packages are used by jidesoft artifact which I have replaced(jide-grids, jide-components, jide-common). We can't remove them.

            Show
            ssegu Sai Supreeth Segu (Inactive) added a comment - - edited These packages are used by jidesoft artifact which I have replaced(jide-grids, jide-components, jide-common). We can't remove them.
            Hide
            ann.loraine Ann Loraine added a comment -

            OK.

            Please submit pull request.

            Show
            ann.loraine Ann Loraine added a comment - OK. Please submit pull request.
            Show
            ssegu Sai Supreeth Segu (Inactive) added a comment - Pull request submitted. Please review it. Link for pull request: https://bitbucket.org/lorainelab/integrated-genome-browser/pull-requests/846/igbf-2566-replace-dependency-for-jidesoft
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            An exception occurred once I started IGB and also when app repository - https://bioviz.org/igbserver was refreshed.

            Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
            at org.lorainelab.igb.plugin.manager.BundleInfoManager.lambda$isVersionOfBundleInstalled$9(BundleInfoManager.java:149)
            at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
            at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
            at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
            at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
            at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
            at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
            at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
            at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
            at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
            at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
            at org.lorainelab.igb.plugin.manager.BundleInfoManager.isVersionOfBundleInstalled(BundleInfoManager.java:149)
            at org.lorainelab.igb.plugin.manager.AppManagerFxPanel.lambda$null$27(AppManagerFxPanel.java:150)
            at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
            at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
            at org.lorainelab.igb.plugin.manager.AppManagerFxPanel.lambda$udpateDataEventNotification$28(AppManagerFxPanel.java:149)
            at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
            at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - An exception occurred once I started IGB and also when app repository - https://bioviz.org/igbserver was refreshed. Exception in thread "JavaFX Application Thread" java.lang.NullPointerException at org.lorainelab.igb.plugin.manager.BundleInfoManager.lambda$isVersionOfBundleInstalled$9(BundleInfoManager.java:149) at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90) at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230) at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449) at org.lorainelab.igb.plugin.manager.BundleInfoManager.isVersionOfBundleInstalled(BundleInfoManager.java:149) at org.lorainelab.igb.plugin.manager.AppManagerFxPanel.lambda$null$27(AppManagerFxPanel.java:150) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580) at org.lorainelab.igb.plugin.manager.AppManagerFxPanel.lambda$udpateDataEventNotification$28(AppManagerFxPanel.java:149) at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
            Hide
            ann.loraine Ann Loraine added a comment -

            Above issue was not resolved. Closing.

            Show
            ann.loraine Ann Loraine added a comment - Above issue was not resolved. Closing.

              People

              • Assignee:
                ssegu Sai Supreeth Segu (Inactive)
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: