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
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
.
As Bintray was sunsetted in 2021 (https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/), maybe it's time to publish to Maven Central instead?
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.
Idea is to generate zip package with source files.
e.g.
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.
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
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>
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]
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
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)
instead of searching bundles using '*', changing result limit to '9999' and clicking 'assemble bundles'
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
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...
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.
Thanks a lot for this great tool. :)
It would be great if you could display the line numbers when showing a decompiled class.
Please add a screen which presents how to open search feature (OSGi -> Search).
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.