Re: 3.1 IoC

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu May 27 2010 - 08:01:20 UTC

  • Next message: Andrey Razumovsky: "Re: 3.1 IoC"

    I think at some point we will reorg the unit tests to be based on a DI
    stack. Need to think about a good design for this...

    In the meantime, can you be more specific - which class will have that
    injectable var? Maybe it can be initialized without injection?

    And on a general note, in Cayenne not all stack objects are created
    via injection. Either by design (there has to be some level of
    granularity at which DI stops and where an object can decide on its
    own on how to initialize its composite state) or because we haven't
    switched them yet. DI enabled are the high-level stack objects
    (DataDomain), and common user extension points, such as DbAdapter or
    DataSourcFactory.

    Andrus

    On May 27, 2010, at 10:42 AM, Andrey Razumovsky wrote:

    > No. in main Cayenne code, I want to add injectable var and put code
    > that
    > injects default implementation in CayenneServerModule. But that
    > wouldn't
    > work at least for unit tests, since injection does not get invoked
    > there.
    > What's the best way to fix the situation?
    >
    > 2010/5/27 Andrus Adamchik <andru..bjectstyle.org>
    >
    >> Are we still talking about unit tests? Can you give an example of
    >> what you
    >> are trying to accomplish?
    >>
    >> Andrus
    >>
    >>
    >> On May 27, 2010, at 10:33 AM, Andrey Razumovsky wrote:
    >>
    >> So does that mean I never can rely on injecting, and must always
    >> have a
    >>> insurance of default injectable interface implementation in my code?
    >>>
    >>> 2010/5/27 Andrus Adamchik <andru..bjectstyle.org>
    >>>
    >>> Not to the unit tests inheriting from CayenneCase and friends.
    >>> Unit tests
    >>>> were always bootstrapped in their own way, even in the past
    >>>> (mostly for
    >>>> performance reasons). However if you need to define mock
    >>>> services, etc.
    >>>> via
    >>>> IoC this can be done with a great deal of flexibility. E.g. see
    >>>> DataDomainProviderTest.java,
    >>>> DefaultDataSourceFactoryLoaderTest.java and
    >>>> other tests in the same package.
    >>>>
    >>>> Andrus
    >>>>
    >>>>
    >>>>
    >>>>
    >>>> On May 27, 2010, at 9:21 AM, Andrey Razumovsky wrote:
    >>>>
    >>>> Hi Andrus,
    >>>>
    >>>>>
    >>>>> Are new 3.1 DI "modules" (CayenneServerModule) bound to Cayenne
    >>>>> bootstrap
    >>>>> process? At least, I don't think they are when we're running JUnit
    >>>>> tests.
    >>>>> Or
    >>>>> otherwise, how to "turn on" injecting?
    >>>>>
    >>>>> --
    >>>>> Andrey
    >>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>> --
    >>> Andrey
    >>>
    >>
    >>
    >
    >
    > --
    > Andrey



    This archive was generated by hypermail 2.0.0 : Thu May 27 2010 - 08:01:51 UTC