Issue Details (XML | Word | Printable)

Key: GALAXY-288
Type: New Feature New Feature
Status: Open Open
Priority: To be reviewed To be reviewed
Assignee: Dan Diephouse
Reporter: Dan Diephouse
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Galaxy

Advanced searching of JARs

Created: 03/Jun/08 04:43 PM   Updated: 25/Aug/08 01:01 PM
Component/s: Core
Affects Version/s: 1.0-beta-3
Fix Version/s: 1.x Backlog

Time Tracking:
Not Specified

Labels:
User impact: Medium


 Description  « Hide
We should support the following:

1. Searching for all jars which have a class which implements/extends a class
2. Searching for all jars which have a class which is annotated with a specific annotation.
3. Searching for all jars which use a specific class

I believe this is probably best done via query functions.



 All   Comments   Work Log   Change History   Transitions   FishEye      Sort Order: Ascending order - Click to sort in descending order
Andrew Perepelytsya added a comment - 03/Jun/08 04:58 PM
Some comments:

1 will have to be implemented
2 is almost possible today (search for a class and also for a class annotation). unless there is a queryable way to store complex graphs, I don't see how we could combine class+annotation search)
3 do you mean jars with depend on the class? (not ones containing it?)


Dan Diephouse added a comment - 03/Jun/08 05:03 PM
#2 - we can actually see what jars import/use the annotation?
#3 - yes.

Andrew Perepelytsya added a comment - 03/Jun/08 05:10 PM
#2 yes, just run a query with those Java XXX-Level Annotations. The quirk we briefly touched on before was the awkward query clause (natural would be IN, but smth else had to be used). freeform would give more options, of course
#3 that's a major enhancement (just think that this is exactly what IDEA/Eclipse do), but with our ASM infrastructure already integrated in Galaxy should be possible. Other classes can be detected via imports analysis, the trick is the 'same-package' classes, will have to bounce some ideas here. it will be quite an intensive operation, but we can easily detect when it has to be done (e.g. on new version upload only), so the risk can be controlled.