Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Spring 2019 Sprint 3, Spring 2019 Sprint 4, Spring 2019 Sprint 5, Spring 2019 Sprint 6, Summer 2019 Sprint 7

      Description

      The format of the request should be as follows:-
      Request type : POST
      Request URL : http://<host:port>/manageApp
      Request body :

      { "symbolicName" : "ProtAnnot", "action" : "install / update / uninstall / getInfo" }

      Response body :

      { "status" : "installed / updated / uninstalled / not found", "version" : "<app version>", "symbolicName" : "<one in request param>", "igbVersion" : "<Current version of IGB>" }
      1. IGBF-1624_Test_document.xlsx
        11 kB
        Riddhi Jagdish Patil
      1. getInfo.PNG
        41 kB
      2. Install_success.PNG
        86 kB
      3. no_app_found.PNG
        38 kB
      4. uninstall_success.PNG
        245 kB
      5. unknown_action.PNG
        37 kB
      6. update_success.PNG
        110 kB

        Issue Links

          Activity

          Hide
          aloraine Ann Loraine added a comment -

          https://nexus.bioviz.org is back on-line. Your branch should now build.

          Show
          aloraine Ann Loraine added a comment - https://nexus.bioviz.org is back on-line. Your branch should now build.
          Hide
          aloraine Ann Loraine added a comment -

          Riddhi and I discussed (in person) some requested improvements.

          Main request:

          • please Implement different way for PluginManagerServiceImpl to obtain IGB version string, instead of reading a file in "core" bundle in the constructor. We need a service that reports IGB's version.

          To-Do: Look at how "About IGB" menu is working. Is it reading this same file? If yes, probably this is a good time to implement a "getIgbVersion" service of some type.

          Suggestion: Do Bundles have a getVersion method? The OSGi runtime needs access to bundle version strings. Maybe what we need is already impelmented.

          Next steps:

          Riddhi mentioned she would like to work on this branch further before merging it into master. Moving this back to To-Do and re-assigning to RP.

          Show
          aloraine Ann Loraine added a comment - Riddhi and I discussed (in person) some requested improvements. Main request: please Implement different way for PluginManagerServiceImpl to obtain IGB version string, instead of reading a file in "core" bundle in the constructor. We need a service that reports IGB's version. To-Do: Look at how "About IGB" menu is working. Is it reading this same file? If yes, probably this is a good time to implement a "getIgbVersion" service of some type. Suggestion: Do Bundles have a getVersion method? The OSGi runtime needs access to bundle version strings. Maybe what we need is already impelmented. Next steps: Riddhi mentioned she would like to work on this branch further before merging it into master. Moving this back to To-Do and re-assigning to RP.
          Hide
          aloraine Ann Loraine added a comment -

          Working on resolving OSGi wiring problem:

          13:07:30.359 INFO o.l.igb.appstore.IgbAppServer - contextRoot: manageApp
          Exception in thread "NanoHttpd Request Processor (#1)" 13:07:30.379 INFO o.l.igb.appstore.IgbAppServer - contextRoot: manageApp
          java.lang.LinkageError: loader constraint violation: when resolving interface method "org.lorainelab.igb.plugin.manager.service.PluginManagerService.manageApp(Lcom/google/gson/JsonObject;)Lfi/iki/elonen/NanoHTTPD$Response;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, org/lorainelab/igb/appstore/IgbAppServer, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) for the method's defining class, org/lorainelab/igb/plugin/manager/service/PluginManagerService, have different Class objects for the type com/google/gson/JsonObject used in the signature
          at org.lorainelab.igb.appstore.IgbAppServer.manageApp(IgbAppServer.java:123)
          at org.lorainelab.igb.appstore.IgbAppServer.processRequest(IgbAppServer.java:94)
          at org.lorainelab.igb.appstore.IgbAppServer.serve(IgbAppServer.java:64)
          at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:904)
          at fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:188)
          at java.lang.Thread.run(Thread.java:748)
          Exception in thread "NanoHttpd Request Processor (#2)" java.lang.LinkageError: loader constraint violation: when resolving interface method "org.lorainelab.igb.plugin.manager.service.PluginManagerService.manageApp(Lcom/google/gson/JsonObject;)Lfi/iki/elonen/NanoHTTPD$Response;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, org/lorainelab/igb/appstore/IgbAppServer, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) for the method's defining class, org/lorainelab/igb/plugin/manager/service/PluginManagerService, have different Class objects for the type com/google/gson/JsonObject used in the signature
          at org.lorainelab.igb.appstore.IgbAppServer.manageApp(IgbAppServer.java:123)
          at org.lorainelab.igb.appstore.IgbAppServer.processRequest(IgbAppServer.java:94)
          at org.lorainelab.igb.appstore.IgbAppServer.serve(IgbAppServer.java:64)
          at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:904)
          at fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:188)
          at java.lang.Thread.run(Thread.java:748)

          Show
          aloraine Ann Loraine added a comment - Working on resolving OSGi wiring problem: 13:07:30.359 INFO o.l.igb.appstore.IgbAppServer - contextRoot: manageApp Exception in thread "NanoHttpd Request Processor (#1)" 13:07:30.379 INFO o.l.igb.appstore.IgbAppServer - contextRoot: manageApp java.lang.LinkageError: loader constraint violation: when resolving interface method "org.lorainelab.igb.plugin.manager.service.PluginManagerService.manageApp(Lcom/google/gson/JsonObject;)Lfi/iki/elonen/NanoHTTPD$Response;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, org/lorainelab/igb/appstore/IgbAppServer, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) for the method's defining class, org/lorainelab/igb/plugin/manager/service/PluginManagerService, have different Class objects for the type com/google/gson/JsonObject used in the signature at org.lorainelab.igb.appstore.IgbAppServer.manageApp(IgbAppServer.java:123) at org.lorainelab.igb.appstore.IgbAppServer.processRequest(IgbAppServer.java:94) at org.lorainelab.igb.appstore.IgbAppServer.serve(IgbAppServer.java:64) at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:904) at fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:188) at java.lang.Thread.run(Thread.java:748) Exception in thread "NanoHttpd Request Processor (#2)" java.lang.LinkageError: loader constraint violation: when resolving interface method "org.lorainelab.igb.plugin.manager.service.PluginManagerService.manageApp(Lcom/google/gson/JsonObject;)Lfi/iki/elonen/NanoHTTPD$Response;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) of the current class, org/lorainelab/igb/appstore/IgbAppServer, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5) for the method's defining class, org/lorainelab/igb/plugin/manager/service/PluginManagerService, have different Class objects for the type com/google/gson/JsonObject used in the signature at org.lorainelab.igb.appstore.IgbAppServer.manageApp(IgbAppServer.java:123) at org.lorainelab.igb.appstore.IgbAppServer.processRequest(IgbAppServer.java:94) at org.lorainelab.igb.appstore.IgbAppServer.serve(IgbAppServer.java:64) at fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:904) at fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:188) at java.lang.Thread.run(Thread.java:748)
          Hide
          aloraine Ann Loraine added a comment -

          Made changes to pom.xml files to obtain gson and NanoHTTPD libraries from shared-lib-wrapper.
          Re-based Riddhi's branch onto latest master, pushed Riddhi's re-based branch to alorainefork, and merged pull request from there into lorainelab/master.
          Installers are now available for testing at https://bitbucket.org/lorainelab/integrated-genome-browser/downloads/.

          To test:

          • Download and install master branch IGB
          • Launch master branch IGB version
          • Visit testappstore.bioviz.org
          • Click on an App page
          • Observe "install" button
          • Click "install" to install the App
          • Observe that the App is now installed into IGB
          Show
          aloraine Ann Loraine added a comment - Made changes to pom.xml files to obtain gson and NanoHTTPD libraries from shared-lib-wrapper. Re-based Riddhi's branch onto latest master, pushed Riddhi's re-based branch to alorainefork, and merged pull request from there into lorainelab/master. Installers are now available for testing at https://bitbucket.org/lorainelab/integrated-genome-browser/downloads/ . To test: Download and install master branch IGB Launch master branch IGB version Visit testappstore.bioviz.org Click on an App page Observe "install" button Click "install" to install the App Observe that the App is now installed into IGB
          Hide
          sameer Sameer Shanbhag added a comment -

          Downloaded the Latest Build.

          Case:
          install the App from Biowiz (Test App Store).

          Observation:
          It is perfectly getting installed and is showing up on the IGB Desktop application.

          Will mark this as Complete.

          Show
          sameer Sameer Shanbhag added a comment - Downloaded the Latest Build. Case: install the App from Biowiz (Test App Store). Observation: It is perfectly getting installed and is showing up on the IGB Desktop application. Will mark this as Complete.

            People

            • Assignee:
              rpatil14 Riddhi Jagdish Patil
              Reporter:
              rpatil14 Riddhi Jagdish Patil
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development

                  Agile