neva-dev / felix-search-webconsole-plugin Goto Github PK
View Code? Open in Web Editor NEWSearch Web Console Plugin for Apache Felix
Home Page: https://bintray.com/neva-dev/maven-public/felix-search-webconsole-plugin
License: Apache License 2.0
Search Web Console Plugin for Apache Felix
Home Page: https://bintray.com/neva-dev/maven-public/felix-search-webconsole-plugin
License: Apache License 2.0
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:
Reproductions steps:
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]
Idea is to generate zip package with source files.
e.g.
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.
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
.
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.
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.
Please add a screen which presents how to open search feature (OSGi -> Search).
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)
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.
As in title
https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js is not available anymore. It has been deprecated a while back: https://groups.google.com/g/js-code-prettifier/c/IFHev_kLm30. We possible need to replace the url with https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js
instead of searching bundles using '*', changing result limit to '9999' and clicking 'assemble bundles'
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...
to be fixed:
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
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>
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.