Re: VOTE graduation (was Re: Next steps? (was Re: Is trinidad ready for graduation ?))

2007-04-12 Thread Bruno Aranda

[X] graduate as a subproject of the Apache MyFaces community
[ ] graduate as a TLP
[ ] not ready to graduate, because...

On 12/04/07, Grant Smith [EMAIL PROTECTED] wrote:

[X] graduate as a subproject of the Apache MyFaces community
[ ] graduate as a TLP
[ ] not ready to graduate, because...

On 4/11/07, Adam Winer [EMAIL PROTECTED] wrote:

 [X] graduate as a subproject of the Apache MyFaces community
 [ ] graduate as a TLP
 [ ] not ready to graduate, because...


 On 4/11/07, Jeanne Waldman [EMAIL PROTECTED] wrote:
  [X] graduate as a subproject of the Apache MyFaces community
  [ ] graduate as a TLP
  [ ] not ready to graduate, because...
 
  Simon Lessard wrote:
   [X] graduate as a subproject of the Apache MyFaces community
   [ ] graduate as a TLP
   [ ] not ready to graduate, because...
  
  
   On 4/11/07, Craig McClanahan [EMAIL PROTECTED] wrote:
  
   On 4/11/07, Matthias Wessendorf [EMAIL PROTECTED] wrote:
[X] graduate as a subproject of the Apache MyFaces community
  
   Craig
  
   PS:  Note that binding is only relevant on release votes, where
 it's
   a PMC member doing the voting.  For procedural issues (like this
 one),
   all committers are equal.
  
  
 




--
Grant Smith



Re: [Fwd: Re: return an Iterator vs a List]

2007-04-12 Thread Scott O'Bryan
I agree with Blake.  We'll get ourselves into trouble is we begin 
switching objects around, because if people need the other access 
methods they'll do a cast and we'll break them.


Furthermore, if we use the generic Collections (like List, Set, etc.) 
then it is more clear as to what constraints are on returned data.  A 
set, for instance, cannot have duplicate items, etc. etc.  These are 
things that we best not violate, contractually, within the API.


Scott

Blake Sullivan wrote:

Adam Winer wrote:

I don't think there's that much reason not to return
a List.  All I'm saying is that if you had an API
that was Iterator, and your desire was to support
the fun SE 5 for construct, then Iterable is the
simplest change.  The question then is why the
original API was ever Iterator, and if it should
have been List, or Collection, etc.
In looking at the code, it doesn't appear to have been much rhyme or 
reason  to when we returned Iterators or even arrays. For the methods 
that currently return Iterators, my point is that the big step is 
agreeing to return Iterables instead (switching from Iterators to a 
factory for Iterators).  Once you decide to return Iterables for 
immutable objects, then you might as well return the correct 
Collection classes--Collection, List, Set as returning these classes 
places no additional api burden on the implementor as I believe that 
even in the worst case where the implementor only had an Iterable and 
not the actual Collection class in question, a simple adapter could be 
written to convert an Iterable into the appropriate unmodifiable 
Collection class.


-- Blake Sullivan



I'm not thrilled with exposing List if you think that
you might someday want it to be a Set - Collection
is safer in that regard.

-- Adam


On 4/9/07, Blake Sullivan [EMAIL PROTECTED] wrote:

Adam,

Actually the reason for the switch to List versus Iterable would be for
general convenience of developers consuming the api (with efficiency a
much smaller issue).

Which methods on java.util.List do you think are providing too broad of
a contract?  Do you believe that returning a List is limiting the
implementations choices severely enough that it outweighs the
convenience of using a Collection class?

-- Blake Sullivan



Jeanne Waldman wrote:
 three out of six

  Original Message 
 Subject: Re: return an Iterator vs a List
 Date: Wed, 4 Apr 2007 15:42:17 -0700
 From: Adam Winer [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 References:
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]
 [EMAIL PROTECTED]



 If the only reason is to enable the fun new for syntax,
 then we should change the type from Iterator to Iterable,
 instead of List.  List is a much larger contract.

 -- Adam


 On 3/28/07, Jeanne Waldman [EMAIL PROTECTED] wrote:
 Hi there,
 I'm in the Skinning StyleNode code and I see that the 'get' methods
 return Iterators
 from the good ol' days.
 It seems to me that it is better if they just return Lists so the 
code

 that iterates over
 the values is cleaner using 5.0's for(String foo : yyy) construct.
 Does anyone see why I wouldn't want these to return List instead of
 Iterator?

 Here's a code snippet. Thanks, Jeanne
 --

   public IteratorIncludePropertyNode getIncludedProperties()
   {
 if(_includedProperties == null)
 {
   ListIncludePropertyNode list = Collections.emptyList();
   return list.iterator();
 }
 else
   return (Arrays.asList(_includedProperties)).iterator();
   }

   /**
* Gets the properties specified by this node's parent that 
should be

* ignored. This method will return an empty iterator if
* [EMAIL PROTECTED] #isInhibitingAll()} returns codetrue/code
*
* @return an iterator over the properties that should be 
ignored, an

* empty iterator if all properties should be.
*/
   public IteratorString getInhibitedProperties()
   {
 if(_inhibitedProperties == null)
 {
   ListString list = Collections.emptyList();
   return list.iterator();
 }
 else
 {
   return _inhibitedProperties.iterator();
 }
   }











Re: VOTE graduation (was Re: Next steps? (was Re: Is trinidad ready for graduation ?))

2007-04-12 Thread Martin van den Bemt
+1 to start graduating :)

Mvgr,
Martin

Matthias Wessendorf wrote:
 Hello Trinidad PPMC members and Trinidad community,
 
 [X] graduate as a TLP
 




Re: Next steps? (was Re: Is trinidad ready for graduation ?)

2007-04-12 Thread Martin van den Bemt
 
 And a jakarta-style JSF components project.
 
 Let's assume we start the myfaces commons stuff in the near future,
 this JSF components TLP could have the following subprojects:
 -Tomahawk
 -Tobago
 -Trinidad
 -commons (non-renderkit-goodies)
 
 Martin, you are the man that know best about Jakarta, what are your
 thoughts on that?
 

I won't bore you with the details that don't matter in this discussion and I 
won't state here that I
know best, just because I am VP of Jakarta.
First of all :
- Jakarta is very big with about 109 projects and almost everyone at the ASF is 
committer, yes even
you Matthias.
- Jakarta has big PMC. In our scenario committers are not automatically on the 
PMC (there are
projects doing that).

Besides the benefits of being on the PMC (legal protection, binding votes on 
release, etc) you also
have the obligation to give oversight to the project you are on the PMC for. 
Let's sketch a MyFaces
scenario, with me as a potential committer.

- I send a lot of patches for Trinidad
- You get sick and tired of me and start a committer vote, so I can start 
applying patches myself.
- I am a committer on the MyFaces TLP now. Even though I don't care about the 
JSF impl, I am
committer there (ignoring svn karma rules that may have been set up)
- If I end up on the PMC I am only interested in representing Trinidad (in fact 
I am just a Trinidad
committer), so in fact I am not representing and giving oversight to the 
complete MyFaces TLP project.
- The disconnect has happened between oversight and what is happening in the 
project.
- Multiply above by many times and also don't assume people end up on the PMC 
and add a highly
moving community to the mix (which means, important people become inactive and 
some new blood enters.
- If a lot of old timers become inactive without looking for replacements and 
keeping the PMC in a
good size, projects are going to have a hard time, new people don't have a 
possibility to make new
releases (not enough votes) or don't know how to properly create releases, etc 
,etc

Not saying this is going to happen to MyFaces, just a scenario that is at 
Jakarta and also happens
at smaller projects.
So any symptoms of that are going to emerge at MyFaces, my advice is to fix the 
situation with going
TLP for that subproject or making the PMC healthy again.

Another problem with umbrella projects is that the board is not aware of any 
problems, dead code,
etc, unless the chair or community writes that in the board report. So in fact 
you are
(unintentionally) hiding possible problems. Hence the huge size of most Jakarta 
board reports to
prevent hiding.

Mvgr,
Martin