So your asking to not use the sorting logic and instead do the style of Priority highestPriority = Priority.CANT_HANDLE; Priority priority = strategy.canHandle(...); if (priority.ordinal() > highestPriority.ordinal()) { highestPriority = priority; strategyToUse = strategy; }
The problem I have with the above style is that its never possible to get a sorted collection of strategies. That logic just allow you to get the best match. If you look at org.apache.cloudstack.engine.subsystem.api.storage.StorageStrategyFactory there are methods to get the first item and a collection. In terms of efficiently, it doesn't matter, were really optimizing a couple of CPU cycles. Darren On Wed, Oct 23, 2013 at 3:30 PM, SuichII, Christopher <chris.su...@netapp.com> wrote: > Take a look at revision 3 of my changes here: > https://reviews.apache.org/r/14522/diff/3/#index_header > > The changes I made were due to discussion in the reviews. It should be > simpler, cleaner and more efficient logic than using comparators. > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 6:25 PM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > > Sorry, I don't follow your question. I have time today. What would > you like me to do? As it stands right now, what is on master, I'm not > aware of any issues. > > Darren > > On Wed, Oct 23, 2013 at 3:22 PM, SuichII, Christopher > <chris.su...@netapp.com> wrote: > > Darren, > > Would you be able to look into copy the logic back into your refactoring > today or tomorrow? If not, I may be able to in the morning. > > -Chris > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 5:56 PM, SuichII, Christopher <chris.su...@netapp.com> > wrote: > > My understanding is that it is still a work in progress to get those test > back running. Is this correct, Edison? > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 5:48 PM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > > I fixed all the compilation errors in engine/storage/integration-test. > I don't know how to run those test though, so I can't validate the > changes. > > Darren > > On Wed, Oct 23, 2013 at 1:53 PM, SuichII, Christopher > <chris.su...@netapp.com> wrote: > > Yep. I’m running on a clean master. > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 4:30 PM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > > Okay let me look at that. Are you 100% sure your looking at a clean version > of master? > > Darren > > On Oct 23, 2013, at 1:17 PM, "SuichII, Christopher" <chris.su...@netapp.com> > wrote: > > Er, sorry. That was poorly worded on my part. Some classes, like > SnapshotTest.java and all the storage providers, did not get updated > references to your refactoring. They still reference > StrategyPriority.pickStrategy(), etc. Additionally, I changed the > pickStrategy() logic from using a comparator to looping over the list once > keeping a reference to the best result. This logic was lost in the merge. > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 4:13 PM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > > The transaction API was changed in the merge. I could have maybe > missed updating a class. Let me check. When you said "It looks like > the changes from us didn’t make it through your merge at all," can you > point to something specific that got lost? > > Darren > > On Wed, Oct 23, 2013 at 1:05 PM, SuichII, Christopher > <chris.su...@netapp.com> wrote: > > And it looks like some of your changes may have not merged correctly. I’m > getting compile errors like: > > The method close() is undefined for the type Transaction > > This shouldn’t have come from our merge. > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 23, 2013, at 3:52 PM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > > Chris, Edison, > > You guys just committed 'Support Revert VM Disk from Snapshot.' At > the same time I was merging both my txn-refactor and > spring-modularization branches. They are really tricky merges and > each time I have to rebase it takes awhile to figure out. Anyhow, > your change + my changes breaks master. So I quickly rebased rb14823 > and committed to master. rb14823 is the patch that makes the Storage > Strategies work with my spring work plus clean up some things. > Additionally I found out you can't inject List<SnapshotStrategy> to > the Snapshot object, so we really have to go with my change to > centralize the ownership of the strategies to a single class. > > Can you please pull master and revalidate that I didn't break > anything, if its not too much of a pain. > > Thanks, > Darren > > > > > >