Code Monkey home page Code Monkey logo

felix-search-webconsole-plugin's People

Contributors

dgriffon avatar krystian-panek-wttech avatar pun-ky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

felix-search-webconsole-plugin's Issues

Show line numbers

Thanks a lot for this great tool. :)

It would be great if you could display the line numbers when showing a decompiled class.

The procyon 0.5.32 decompiler is not compatible with JAVA 9 and above

The procyon 0.5.32 decompiler is not compatible with java 9 and above:

Reproductions steps:

  1. Run AEM on Java 11
  2. Install websearch console plugin and try to decompile something

Actual results:
image

In log I can find entries like:
Caused by: java.lang.ClassNotFoundException: sun.misc.URLClassPath not found by com.neva.felix.webconsole.plugins.search [606]

Plugin stopped working on latest AEM SDK version

With the new versions of AEM SDK, the search stopped working and ajax call to /system/console/search/by-phrase returns the content of plugin.html itself instead of returning the json output from ByPhraseServlet. Tried to debug the code but ByPhraseServlet is never called. Not sure if this is binding issue because no error appears in the log and bundle [com.neva.felix.webconsole.plugins.search] is in Active state.
The last aem-sdk working version was v2023.9.13665.20230927T063259Z-230800.

Take OSGi objectClass into account when sorting the output

Results do not seem to take the objectClass into account when sorting the output. E.g., when searching for ScriptProcessor if a service does not contain ScriptProcessor in class name it will be further down the list even if it implements com.adobe.granite.ui.clientlibs.script.ScriptProcessor.

Add Depfinder-like functionality

One of the main reasons I come to the console is to find a bundle & its dependency (maven) version, so I can add the correct version to my project (or add to my debugging libraries).

It would be nice if that were integrated into this tool as well. The Felix function can be found here (though I do recommend fixing the bug where it opens two streams but only closes one, if you do use this).

I can try to work on a PR a while later, but don't have the bandwidth at the moment.

'See other classes' while previewing class source

To see class source that comes from same package, there is no link to click to jump to sibling classes.
It can be covered by creating a button that will open bundle class tree for current class.

Readme improvement

Please add a screen which presents how to open search feature (OSGi -> Search).

Error starting

ERROR: Bundle com.neva.felix.webconsole.plugins.search [7] Error starting file:/Users/zhengbin/Documents/applications/felix-framework-5.6.4/search-webconsole-plugin-1.1.1-SNAPSHOT.jar (org.osgi.framework.BundleException: Unable to resolve com.neva.felix.webconsole.plugins.search [7](R 7.0): missing requirement [com.neva.felix.webconsole.plugins.search [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.5.0)(!(version>=2.0.0))) Unresolved requirements: [[com.neva.felix.webconsole.plugins.search [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.5.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve com.neva.felix.webconsole.plugins.search [7](R 7.0): missing requirement [com.neva.felix.webconsole.plugins.search [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.5.0)(!(version>=2.0.0))) Unresolved requirements: [[com.neva.felix.webconsole.plugins.search [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j)(version>=1.5.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4133)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.lang.Thread.run(Thread.java:745)

Gathering selected elements

After searching elements by phrase and then selecting some element, it should stay after searching with another phrase. This will give user opportunity to collect mixed set of elements to be later decompiled.

Adding 'Search' button instead of typeahead

IMHO it would be more user friendly if button "Search" will be addded.
Now the search is starting when search field lost focus and every time we change something in filters.
It would be easier to set filters to desired options and then run search. As it is now, we generate unnecessery search queries in beetween...

Pure Felix cases

to be fixed:

  • org.osgi.framework.storage / on pure distribution ZIP could be empty
  • class loading issue when decompile servlet is being called
11:36:36.300 [qtp1456240109-30] WARN org.eclipse.jetty.servlet.ServletHandler - Error for /system/console/search/class-decompile
java.lang.NoClassDefFoundError: Could not initialize class com.strobel.assembler.metadata.MetadataSystem
        at com.strobel.decompiler.Decompiler.decompile(Decompiler.java:34)
        at com.neva.felix.webconsole.plugins.search.core.OsgiExplorer.decompileClass(OsgiExplorer.java:130)
        at com.neva.felix.webconsole.plugins.search.rest.ClassDecompileServlet.doGet(ClassDecompileServlet.java:64)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at org.apache.felix.http.base.internal.handler.ServletHandler.hand

Extend pipeline to push jars into branch to simplify maven usage.

Are you able to update pipeline to push maven release artifacts into a branch so that we can use this in project without any setup ok tokens.

There is a guide on how to do this https://gist.github.com/cleberjamaral/6c9b0a615e51e26c94ffe407a641f531

Currently, if we add this to our project it needs auth:

  <repositories>
    <repository>
      <id>github-neva-dev-felix-search-webconsole-plugin</id>
      <url>https://maven.pkg.github.com/neva-dev/felix-search-webconsole-plugin</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

<distributionManagement>
   <repository>
     <id>github-neva-dev-felix-search-webconsole-plugin</id>
     <url>https://maven.pkg.github.com/neva-dev/felix-search-webconsole-plugin</url>
   </repository>
</distributionManagement>

It would streamline adoption to do this without auth, as updating setting.xml is a bit 1990's.

After this update we can just add this to our POM without any other hidden updates.

  <repositories>
    <repository>
      <id>github-neva-dev-felix-search-webconsole-plugin</id>
      <url>https://github.com/neva-dev/felix-search-webconsole-plugin/raw/maven2</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

<distributionManagement>
   <repository>
     <id>github-neva-dev-felix-search-webconsole-plugin</id>
     <url>https://github.com/neva-dev/felix-search-webconsole-plugin/raw/maven2</url>
   </repository>
</distributionManagement>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.