-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Limited Context tries to instantiate invalid plugins #90
Comments
If a pending object will not be of a type compatible with the requested type, then skip resolution of that pending object. This improves performance of the get(Class) and getAll() methods in cases where there are a large number of pending objects in the index. It also helps to eliminate difficulties like those in issue #90.
PR #91 addresses the too-zealous resolution of all the pending objects. With the changes there, known-incompatible pending objects will be skipped. So the problem with the However, in general, there are still two problems. Suppose you want to use the
Both of these problems could be avoided if we were smarter about the metadata we cache for plugins. @dscho's idea is to make the SciJava plugin indexer also cache the list of parameters, so that we can interrogate each However, we are not anxious to make such changes. It would be quite a lot of work for arguable gain, since PR #91 addresses the major use case right now. If we find ourselves in a situation where this becomes relevant again, we can pursue the work further then. |
Sounds great. Thank you very much for the quick help. Let me know if I can provide a test-case or help you somehow. Christian |
If a pending object will not be of a type compatible with the requested type, then skip resolution of that pending object. This improves performance of the get(Class) and getAll() methods in cases where there are a large number of pending objects in the index. It also helps to eliminate difficulties like those in issue #90.
If a pending object will not be of a type compatible with the requested type, then skip resolution of that pending object. This improves performance of the get(Class) and getAll() methods in cases where there are a large number of pending objects in the index. It also helps to eliminate difficulties like those in issue #90.
If a pending object will not be of a type compatible with the requested type, then skip resolution of that pending object. This improves performance of the get(Class) and getAll() methods in cases where there are a large number of pending objects in the index. It also helps to eliminate difficulties like those in issue #90.
If a pending object will not be of a type compatible with the requested type, then skip resolution of that pending object. This improves performance of the get(Class) and getAll() methods in cases where there are a large number of pending objects in the index. It also helps to eliminate difficulties like those in issue #90.
When loading TIFF files using the standard SCIFIO
Context
(which does not include ImageJ services), SCIFIO needs the list ofCodec
objects, which triggers a call toObjectIndex.get(Codec.class)
, which attempts to resolve all pending objects. More specifically, in our setting this includes allnet.imagej.tool.Tool
plugins, many of which rely on ImageJ-specific services not present in a SCIFIO-onlyContext
.The text was updated successfully, but these errors were encountered: