Summary: | BundleWiring and Wiring lists must be snapshot/mutable | ||
---|---|---|---|
Product: | [Eclipse Project] Equinox | Reporter: | Thomas Watson <tjwatson> |
Component: | Framework | Assignee: | Thomas Watson <tjwatson> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | wellmann.hannes1 |
Version: | 4.21 | Keywords: | regression |
Target Milestone: | 4.21 RC1 | ||
Hardware: | PC | ||
OS: | Mac OS X | ||
See Also: |
https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184329 https://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=d231f4aaf90c9fcee6069ced7e5cf836a0f4183c https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184541 https://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=f2d9c2ca7f83e21a5761c42025d0c41cb789675d |
||
Whiteboard: |
Description
Thomas Watson
2021-08-23 12:33:08 EDT
I'm working on a fix for this for RC1. FYI, I expect a clarification to come in relation to this from OSGi issue: https://github.com/osgi/osgi/issues/175 New Gerrit change created: https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184329 OK, that is is too bad. Is there a reason why it is now required that the returned list is mutable? Do you think the specification gets more precise in the future and the returned list can become immutable again? Gerrit change https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184329 was merged to [master]. Commit: http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=d231f4aaf90c9fcee6069ced7e5cf836a0f4183c @Thomas do you agree to BJ Hargrave's suggestion on the GitHub issue? https://github.com/osgi/osgi/issues/175#issuecomment-903978287 If yes, I can offer to implement it in a follow-up gerrit or bug into InternalUtils.asCopy(). Using a AbstractList, this could be done quite easily. (In reply to Hannes Wellmann from comment #6) > @Thomas do you agree to BJ Hargrave's suggestion on the GitHub issue? > https://github.com/osgi/osgi/issues/175#issuecomment-903978287 > > If yes, I can offer to implement it in a follow-up gerrit or bug into > InternalUtils.asCopy(). Using a AbstractList, this could be done quite > easily. Yes, I had discussed that with BJ in the review. This is why I created the method org.eclipse.osgi.internal.container.InternalUtils.asCopy(List<T>) so we could just place the specialized list there without impacting the rest of the code. But please open a separate defect for that. I think we would hold off and do that in 4.22. (In reply to Thomas Watson from comment #7) > > Yes, I had discussed that with BJ in the review. This is why I created the > method org.eclipse.osgi.internal.container.InternalUtils.asCopy(List<T>) so > we could just place the specialized list there without impacting the rest of > the code. But please open a separate defect for that. I think we would > hold off and do that in 4.22. Ok, perfect. I'll create a separate bug. New Gerrit change created: https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184541 Gerrit change https://git.eclipse.org/r/c/equinox/rt.equinox.framework/+/184541 was merged to [master]. Commit: http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=f2d9c2ca7f83e21a5761c42025d0c41cb789675d |