2011/9/8 Alasdair Nottingham <[email protected]>

> On 8 September 2011 10:10, Rex Wang <[email protected]> wrote:
>
> > 2011/9/8 Timothy Ward <[email protected]>
> >
> > >
> > > Hi,
> > >
> > > I'm afraid I've not been paying as much attention as I should to this
> > > thread. Reading back over the issues. I would currently vote -1 on this
> > > release. I am not at all happy with the fact that users of this support
> > will
> > > see different, potentially erroneous, behaviour depending on the
> presence
> > or
> > > absence of an optional dependency. Our previous statement has always
> been
> > > "If a blueprint bundle wants to use some non-standard function it
> should
> > > declare that using an additional namespace".
> > >
> > Do you mean the statement in spec 121.4:
> > "The Blueprint XML resources in a bundle are the definitions. Each
> > definition can include multiple
> > namespaces. Implementations of the Blueprint core namespace must strictly
> > follow this specification,
> > if they add additional behavior they must add additional namespaces that
> > are
> > actually used in
> > the definitions to signal the deviation from this specification."?
> >
> > We are improving the blueprint-ext, which has been already an additional
> > namespace to blueprint core schema. Why must we add a new namespace to
> > extend the ability of blueprint-ext?
> >
> >
> Blueprint ext is a part of our core implementation. Adding it to
> blueprint-ext means that if you want to use ANY part of blueprint ext you
> MUST have apache-jexl even if you don't wan to use the ${a+b} syntax. This
> is wrong.
>

Hi Alasdair,
The itests passes without adding the commons-jexl bundle now.
If you don't have commons-jexl installed, the current code can work as
before. Unless you want to use ${a+b}, you need  guarantee the commons-jexl
is present. Otherwise it will record this exception in logger. I know this
is not that convenient, but at least user can know what he need to do to get
things right from the log..

On the other hand, Java EE EL supports such style of calculation natively, I
think we should support it in blueprint-ext directly to keep the consistent
of the current development experiences. In other words, if we don't use
commons-jexl to implement such ability, instead, we write codes by ourselves
to do that. Do you think it is a good idea to support this? After all, there
is no spec for blueprint-ext.

thanks,
-Rex







>
>
> >
> > > In my view this new function should only be available if the optional
> > > dependency is satisfied, and blueprint bundles must enable this
> function
> > > using a custom namespace. Otherwise I see two problems.
> > >
> > >
> > > I want this new support, but have no way to ensure it is present, as a
> > > result I am sometimes injected with "1+2" instead of "3". This leads to
> > > intermittent NumberFormatExceptions
> > >
> >  I do not want this new support, but as the dependency is available I am
> > > injected with "3" instead of "1+2". This leads to inconsistent and
> > confusing
> > > behaviour.
> > >
> > I am not sure I understand this..
> > If you want 3,  you need   <xxx value="${1+2}">
> > If you want 1+2, you should use   <xxx value="1+2">
> > Only the expression in ${..} will trigger the calculation, no matter if
> the
> > dependency if available.
> >
> >
> I think tim is saying you want the string literal "${1+2}" not the string
> 1+2. With your change if I had ${1+2} I now get 3 rather than ${1+2}. This
> is a change in behaviour and should be enabled using a new namespace. Of
> course you could just reversion the namespace from v1.x to v2 as a breaking
> change, but we would need to support both versions of the schema.
>
> As with Tim I would currently -1 any release of blueprint 3.2 until this is
> addressed.
>
> Alasdair
>
> -Rex
> >
> >
> > >
> > >
> > > Adding a namespace for this function elegantly solves both these issues
> > in
> > > a way that is consistent with other blueprint extensions, and I think
> is
> > > essential before this function can be released.
> > >
> > > Regards,
> > >
> > > Tim
> > >
> > >
> > > > From: [email protected]
> > > > Date: Thu, 8 Sep 2011 11:58:22 +0800
> > > > Subject: Re: [Release Discussion] ship maintenance releases of
> > > application-0.2.2 / util-0.2.1 / blueprint-0.3.2 ?
> > > > To: [email protected]
> > > >
> > > > I still think adding a new namespace only for such simple calculation
> > is
> > > too
> > > > heavy and not consumalbe for users..
> > > >
> > > > Anyway, could anybody help with the release of *
> > > > org.apache.aries.application/0.2.2-SNAPSHOT* *and
> > > > org.apache.aries.util/0.2.1-SNAPSHOT* first? or chould anyone help
> > check
> > > why
> > > > I can not deploy artifacts to apache.snapshot? Maybe I can try
> release
> > > the 2
> > > > components. Geronimo does not have much time targeting the 3.0-beta
> > > release.
> > > >
> > > > thanks,
> > > >
> > > > -Rex
> > > >
> > > >
> > > >
> > > > 2011/9/7 Alasdair Nottingham <[email protected]>
> > > >
> > > > > If we release blueprint as is we will never be able to make the
> > change
> > > as
> > > > > we
> > > > > would cause a major breaking change. I think we need to get this
> > right
> > > > > before a release is done.
> > > > >
> > > > > On 6 September 2011 04:37, Rex Wang <[email protected]> wrote:
> > > > >
> > > > > > 2011/9/6 Alasdair Nottingham <[email protected]>
> > > > > >
> > > > > > > On 1 September 2011 07:41, Valentin Mahrwald <
> > > [email protected]
> > > > > > > >wrote:
> > > > > > >
> > > > > > > > Comments inline :)
> > > > > > > >
> > > > > > > > Kind regards,
> > > > > > > >
> > > > > > > > Valentin
> > > > > > > >
> > > > > > > > On 31 Aug 2011, at 20:02, Alasdair Nottingham wrote:
> > > > > > > >
> > > > > > > > > I'm sorry for being slow I'm on holiday with limited access
> > to
> > > > > email.
> > > > > > > > >
> > > > > > > > > The goal (I thought) was to ensure that the support for
> > ${a+b}
> > > > > would
> > > > > > be
> > > > > > > > > optional. When we make it optional we have two problems:
> > > > > > > > >
> > > > > > > > >   1. How do we make it optional (usually gate any call with
> a
> > > > > > > > >    Class.forName check to ensures we can load a class.
> > > > > > > > >   2. How do we fail when the support isn't there and
> someone
> > is
> > > > > using
> > > > > > > it.
> > > > > > > > >
> > > > > > > > > The first problem is trivial to fix, the latter is harder
> to
> > > > > define.
> > > > > > It
> > > > > > > > > isn't until you build the bean that you find the ${a+b}
> > doesn't
> > > > > work
> > > > > > > and
> > > > > > > > > with lazy activation that could take a while. I would
> suggest
> > > that
> > > > > if
> > > > > > > we
> > > > > > > > > have ${a+b} in use, and the apache-jexl bundle is not
> > present,
> > > then
> > > > > > the
> > > > > > > > bean
> > > > > > > > > creation would most likely fail (or you would get the wrong
> > > > > > behaviour).
> > > > > > > > This
> > > > > > > > > is obviously not desirable.
> > > > > > > > >
> > > > > > > > > An alternative would be to make use of the default
> behaviour
> > of
> > > > > > > blueprint
> > > > > > > > > for namespace extensions. By using a separate namespace to
> > > indicate
> > > > > > the
> > > > > > > > > desire to use this behaviour blueprint will delay
> > > initialisation of
> > > > > a
> > > > > > > > > bundle's blueprint container until the namespace is
> > available.
> > > The
> > > > > > > result
> > > > > > > > > would be if apache-jexl is not present the namespace
> handler
> > > would
> > > > > > not
> > > > > > > be
> > > > > > > > > registered and the blueprint container would not be
> > configured.
> > > In
> > > > > > > > addition
> > > > > > > > > you can now register the namesake when apache-jexl becomes
> > > > > available
> > > > > > > > > allowing it to be brought up later.
> > > > > > > >
> > > > > > > > I think that this definitely the right way to go. In
> practical
> > > terms
> > > > > > > though
> > > > > > > > it might be quite a bit tricky to implement.
> > > > > > > > In particular I am wondering how to link the usage of the
> > > extended
> > > > > > > property
> > > > > > > > replacement syntax to a namespace reference. I can think of
> > > > > > > > the following ways to do this:
> > > > > > > >
> > > > > > > > a) Have two  different property placeholder brackets like
> > ${...}
> > > for
> > > > > > the
> > > > > > > > non-arithmetic one and $[...] for the one doing arithmetic.
> The
> > > > > second
> > > > > > > > one is defined via a tag from the new namespace.
> > > > > > > > b) Support property placeholders only if we can support the
> > whole
> > > > > > shebang
> > > > > > > > (which is kind of step back?)
> > > > > > > > c) Have a kind of unrelated namespace import which we check
> for
> > > when
> > > > > we
> > > > > > > > decide whether to do arithmetic (that could be quite
> > non-obvious
> > > to
> > > > > the
> > > > > > > > user).
> > > > > > > >
> > > > > > > >
> > > > > > > The blueprint specification says any non-standard extensions to
> > > > > blueprint
> > > > > > > must be enabled via namespace handlers. I don't like the ext of
> > cm
> > > > > > > namespaces to require apache-jexl since it means more
> > dependencies
> > > are
> > > > > > > pulled in when they may never be used.
> > > > > > >
> > > > > > Hi Alasdair,
> > > > > > Since the current code does not hard depend on the commons-jexl,
> > and
> > > I
> > > > > > think
> > > > > > the only difference from your desire is adding a new namespace
> > which
> > > can
> > > > > > delay the blueprint container initialization if the commons-jexl
> is
> > > not
> > > > > > present,
> > > > > > I consider this as an improvement to the current solution. And I
> > > think it
> > > > > > would be better to let user hold the option that if he would use
> > the
> > > new
> > > > > > namespace, and if he don't use it, the ${a+b} can still work.
> Hope
> > > the
> > > > > > current solution meets the criteria to start release..
> > > > > >
> > > > > > BTW, seems Aries community is not that active in last two month.
> Is
> > > there
> > > > > > still a release manager help the release works?
> > > > > >
> > > > > > -Rex
> > > > > >
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > Looking at your options a) doesn't work because it isn't using
> > > > > namespace
> > > > > > > handlers, b) sucks big time and would mean to meat the spec  we
> > > would
> > > > > > need
> > > > > > > apache-jexl and the whole point is to allow the spec to be
> > > implemented
> > > > > > > without apache-jexl being required.  So I think something like
> > > option c
> > > > > > > should be gone for. For instance you could add an attribute in
> a
> > > > > > > non-standard namespace that says to enable this capability.
> > > > > > >
> > > > > > >
> > > > > > > > Is any of that what you were thinking of?
> > > > > > > >
> > > > > > > > > Does that make any sense?
> > > > > > > > >
> > > > > > > > > Alasdair
> > > > > > > > >
> > > > > > > > > On 30 August 2011 07:36, Rex Wang <[email protected]>
> wrote:
> > > > > > > > >
> > > > > > > > >> Sorry, I will add the corresponding tests. But I am not
> > quite
> > > > > > > > understanding
> > > > > > > > >> your suggestion in Aries-727 of  "use a different
> namespace
> > to
> > > the
> > > > > > ext
> > > > > > > > >> one".  The current implement add the ability to
> > blueprint-ext
> > > and
> > > > > > also
> > > > > > > > >> blueprint-cm, because the CmPropertyPlaceholder is the
> > > subclass of
> > > > > > the
> > > > > > > > >> PropertyPlaceholder. Could a different namespace handle
> > this?
> > > > > > > > >> After the change is final, will definitely port it to the
> > > trunk.
> > > > > > > > >>
> > > > > > > > >> thanks,
> > > > > > > > >> -Rex
> > > > > > > > >>
> > > > > > > > >> 2011/8/30 Alasdair Nottingham <[email protected]>
> > > > > > > > >>
> > > > > > > > >>> Hi,
> > > > > > > > >>>
> > > > > > > > >>> I'm not happy with the current fix for ARIES-727. There
> are
> > > no
> > > > > > tests
> > > > > > > > and
> > > > > > > > >> as
> > > > > > > > >>> I commented on the bug the dependency on jexl is not
> > optional
> > > > > when
> > > > > > it
> > > > > > > > >> should
> > > > > > > > >>> be. It also doesn't exist in trunk which is dangerous.
> This
> > > > > affects
> > > > > > > the
> > > > > > > > >>> programming model so it needs to be right.
> > > > > > > > >>>
> > > > > > > > >>> Alasdair Nottingham
> > > > > > > > >>>
> > > > > > > > >>> On 29 Aug 2011, at 23:17, Rex Wang <[email protected]>
> > wrote:
> > > > > > > > >>>
> > > > > > > > >>>> Hi Devs,
> > > > > > > > >>>>
> > > > > > > > >>>> Geronimo 3.0-beta has passed the Java EE 6 full profile
> > tck,
> > > and
> > > > > >  is
> > > > > > > > >>> going
> > > > > > > > >>>> to release soon. But some dependencies are from Aries
> > > project,
> > > > > so
> > > > > > we
> > > > > > > > >> are
> > > > > > > > >>>> requesting your supports to release the following 3
> > > components
> > > > > > with
> > > > > > > > the
> > > > > > > > >>>> important fixes to our users. Could anybody please help?
> > > > > > > > >>>>
> > > > > > > > >>>> *1. **org.apache.aries.application/0.2.2-SNAPSHOT*
> > > > > > > > >>>> ARIES-521: handles zip files without directory entries
> > > > > > > > >>>> ARIES-635: Move the resource bundle to the right
> directory
> > > > > > > > >>>> ARIES-638: Logging improvements for
> > > AriesApplicationManagerImpl
> > > > > > > > >>>> ARIES-667: OBRAriesResolver can return bundle
> information
> > > for
> > > > > > > bundles
> > > > > > > > >>> with
> > > > > > > > >>>> higher version than expected
> > > > > > > > >>>> ARIES-689: Application OBR resolution fails for optional
> > > imports
> > > > > > > > >>>> ARIES-734: Back port improvements made to resolution
> error
> > > > > > messages
> > > > > > > in
> > > > > > > > >>> OBR
> > > > > > > > >>>> application resolver
> > > > > > > > >>>>
> > > > > > > > >>>> *2. org.apache.aries.util/0.2.1-SNAPSHOT*
> > > > > > > > >>>> ARIES-667: OBRAriesResolver can return bundle
> information
> > > for
> > > > > > > bundles
> > > > > > > > >>> with
> > > > > > > > >>>> higher version than expected
> > > > > > > > >>>>
> > > > > > > > >>>> *3. org.apache.aries.blueprint/0.3.2-SNAPSHOT*
> > > > > > > > >>>> ARIES-727 support syntax : ${a+b} in blueprint-ext
> > > > > > > > >>>>
> > > > > > > > >>>> regards,
> > > > > > > > >>>> --
> > > > > > > > >>>> Lei Wang (Rex)
> > > > > > > > >>>> rwonly AT apache.org
> > > > > > > > >>>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> --
> > > > > > > > >> Lei Wang (Rex)
> > > > > > > > >> rwonly AT apache.org
> > > > > > > > >>
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > --
> > > > > > > > > Alasdair Nottingham
> > > > > > > > > [email protected]
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Alasdair Nottingham
> > > > > > > [email protected]
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Lei Wang (Rex)
> > > > > > rwonly AT apache.org
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Alasdair Nottingham
> > > > > [email protected]
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Lei Wang (Rex)
> > > > rwonly AT apache.org
> > >
> > >
> >
> >
> >
> > --
> > Lei Wang (Rex)
> > rwonly AT apache.org
> >
>
>
>
> --
> Alasdair Nottingham
> [email protected]
>



-- 
Lei Wang (Rex)
rwonly AT apache.org

Reply via email to