On Tue, Mar 8, 2011 at 2:58 PM, Emmanuel Lecharny <elecharny@gmail.com> wrote:
On 3/8/11 9:09 AM, Pierre-Arnaud Marcelot wrote:
Hi Alex,

That's something I had also noticed a few weeks ago.
See [1].

I wanted to decouple the SchemaObjects from the SchemaManager, but I guess I ran into other work and couldn't complete it.

AFAIR there are around 5 methods in the SchemaObject interface/abstract class that needed to be removed and added in the SchemaManager utilities.
I'm not sure they are that much used outside of SchemaManager related classes.

On the lack of interfaces for schema objects, it's probably a little more complex to move them back and requires more refactoring from depending parts.

SNIP ...
This was a choice, may be not the best one, but it helped me to get this refactoring done.

It's not important what's done is done. What can we learn from that is the key. Having too many casts is not enough justification to remove these interfaces. 
Remember that it took me 3 months to get the SchemaManager working fine in the server, with the extra benefit of being usable in Studio, even if Pierre-Arnaud has spent one week to get it working as expected for his need.

Not saying we did not have gains. You did some great work there. We just want to maximize gains. This is not a crucifixion. We made a mistake, let's learn from it and move on.  I should have been more vocal at that time but I was not so I failed too just as much. But I am trying now. This is the best we can all do.

No one can say we're perfect and we don't fall below optimal solutions. Yes we fall short sometimes and make the wrong choices. This does not have any moral connotation. All of us do that. The key is to learn from them and move on. 

So what did we learn from this? When in doubt leave the interface alone. Additional casting or and extra Java files in a congested package is not sufficient justification. We're not always going be able to work communally on everything. Otherwise everyone needs to know everything about everything right? So if we see each other learning together then we know we're healthy which builds trust and confidence.

So let's carry on, this is not a crucifixion. Please let's not insinuate that one of us is trying to hit others over the head with a club. That just impedes constructive criticism which is important.

 No need to crucify anyone for such things.

Let's be exact here. Are you saying that you were crucified? 

We can't have people accusing others of trying to crucifying people every time they give constructive criticism to help put things on track.

I hope you understand where I am coming from here. I'm not trying to belittle anyones involvement but just trying to increase efficiency. We have lots of work to do so let's not be too sensitive and carry on with it.