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
Add Eclipse Collections as a dependency. #134
Conversation
I think replacing the internal usages is pretty important because it'll flush out some of the interactions with the pseudo-public methods (see below) that you're having trouble with. For ByteArraySet, use the same solution as primitives: create a new one and deprecate the old. Use the com.gs.reladomo.util package for the new one. The other methods you've listed is what I would call "pseudo-public". Convert all of them to EC. |
Thanks @gs-rezaem for your comment! It is very helpful. I've added a commit to replace GSC impl with EC impl. Now only 3 impl usages are left after the change. Because of these, we still cannot get rid of GSC lib dependency itself.
FYI, along with converting GSC impl to EC, I've optimized imports as well, so it may look more changes than necessary in imports. Please let me know for further comments or suggestions. |
Fixed issues in hiroshi_ito.dco commit.
|
asGscList is in the generated code and it's optional, so it's not a real dependency.
|
Sure, let me put together a guide. As for two remaining GSC dependencies, do you want me to get rid of them or leave them as is for now? |
Let's remove the two. |
Now all GSC impl dependencies have been removed 👍. I added a guide ( Please let me know for any feedback. |
GSC_TO_EC_MIGRATION_GUIDE.md
Outdated
``` | ||
|
||
2. Replace `asGscList()` with `asEcList()` in your code. | ||
3. Replace `com.gs.collections.*` imports with `eclipse.collections.*` in your code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be
Replace com.gs.collections.*
imports with org.eclipse.collections.*
in your code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@donraab Good catch! I'll fix it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed!
Merged with some minor changes. Thanks for this huge piece of work 😄 |
There are couple of open issues I want to consult with @gs-rezaem . Please kindly advise.
FastList
/UnifiedSet
/UnifiedMap
as internal storage, so I left them as is for now.ByteArraySet
, but this caused conflict in get(Object) and get(K), also signature conflict in collect(). So I didn't touch this class for now. Please advise how you want to handle this class.MithraFastList
andAdhocFastList
extendFastList
. Please advise how you want to handle these classes.AbstractDatedCache.MatchAllAsOfDatesProcedureForMany#getResult()
returnsFastList
. Please advise how you want to handle this.MasterSyncResult#getBuffers()
returnsFastList
. Please advise how you want to handle this.MithraCompositeList#getLists()
returnsFastList
. Please advise how you want to handle this.AsOfEqualityChecker#getMsiPool()
returnsUnifiedMap
. Please advise how you want to handle this.ConcurrentIntObjectHashMap#parallelForEachValue()
takesList<IntObjectProcedure<V>>
in its signature. Introducing EC equivalent method would cause same erasure issue. Please advise how you want to handle this.ListFactory
has couple of create() methods that returnFixedSizeList
. We can either have GSC version or EC version for this class. Making it EC version may cause wide impact as it's used widely in reladomo. Please advise how you want to handle this class.