I'd say in both cases an IllegalStateException should be thrown - but let's see what Pete did in the TCK and the latest Spec.
At least both functions should throw the same Exception for the same problem ;) LieGrue, strub --- Gurkan Erdogdu <[email protected]> schrieb am Fr, 27.2.2009: > Von: Gurkan Erdogdu <[email protected]> > Betreff: Re: svn commit: r748198 - > /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > An: [email protected] > Datum: Freitag, 27. Februar 2009, 12:21 > You mean, in both cases will we throw > "IllegalStateException"? Or for third party > contexts, will we throw > "IllegalArgumentException"? > > Thanks; > > /Gurkan > > > > ________________________________ > From: Mark Struberg <[email protected]> > To: [email protected] > Sent: Friday, February 27, 2009 10:41:19 AM > Subject: Re: svn commit: r748198 - > /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > I had a discussion with Pete over at the jsr299 list about > this yesterday: > > http://markmail.org/message/3ecfzddplb4shf4i > > Pete now will throw an IllegalStateException in both cases. > Have to pull in the latest TCK today and change our > behaviour. > > In praxis this will not do much for our _current_ standard > contexts, because imho this cannot happen for them. > But it may happen for 3rd party contexts, so we imho have > to implement the check. WDYT? > > LieGrue, > strub > > > > --- Gurkan Erdogdu <[email protected]> schrieb > am Fr, 27.2.2009: > > > Von: Gurkan Erdogdu <[email protected]> > > Betreff: Re: svn commit: r748198 - > /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > An: [email protected] > > Datum: Freitag, 27. Februar 2009, 7:48 > > Hi Mark; > > > > Is it still valid ? > > > > /Gurkan > > > > > > > > > > ________________________________ > > From: "[email protected]" > > <[email protected]> > > To: [email protected] > > Sent: Thursday, February 26, 2009 6:29:38 PM > > Subject: svn commit: r748198 - > > > /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > > > Author: struberg > > Date: Thu Feb 26 16:29:37 2009 > > New Revision: 748198 > > > > URL: > http://svn.apache.org/viewvc?rev=748198&view=rev > > Log: > > OWB-82 throw IllegalArbumentException if 2 active > scopes > > are being registered > > > > Modified: > > > > > incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > > > Modified: > > > incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > URL: > > > http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java?rev=748198&r1=748197&r2=748198&view=diff > > > ============================================================================== > > --- > > > incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > (original) > > +++ > > > incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/ManagerImpl.java > > Thu Feb 26 16:29:37 2009 > > @@ -118,15 +118,15 @@ > > > > List<Context> contexts = new > > ArrayList<Context>(); > > > > - Context standartContext = null; > > + Context standardContext = null; > > > > - standartContext = > > ContextFactory.getStandardContext(scopType); > > + standardContext = > > ContextFactory.getStandardContext(scopType); > > > > - if(standartContext != null) > > + if(standardContext != null) > > { > > - if(standartContext.isActive()) > > + if(standardContext.isActive()) > > { > > - contexts.add(standartContext); > > + contexts.add(standardContext); > > } > > } > > > > @@ -422,6 +422,10 @@ > > } > > else > > { > > + if (context.isActive() && > > containsActiveContext(contextList)) > > + { > > + throw new > > IllegalArgumentException("There is already an > active > > Context registered for this scope! Context=" + > > context); > > + } > > contextList.add(context); > > } > > > > @@ -445,4 +449,20 @@ > > return this; > > } > > > > + /** > > + * Check if the given contextList contains an > active > > Context > > + * @param contextList > > + * @return <code>true</code> if the > given > > contextList contains an active Context, > > <code>false</code> otherwise > > + */ > > + private boolean > > containsActiveContext(List<Context> contextList) > > + { > > + for (Context c : contextList) > > + { > > + if (c.isActive()) > > + { > > + return true; > > + } > > + } > > + return false; > > + } > > } > > \ No newline at end of file
