Yes, I suppose that was what Fabio suggested....

2008/12/19 Tuna Toksöz <[email protected]>

> Create a jira issue, attach your patch ?
>
>
> On Sat, Dec 20, 2008 at 12:20 AM, Oscar Orduz Acosta <[email protected]>wrote:
>
>> Hi Fabio,
>> I don't make JIRA for that matter, but I'm willing to contribute to Burrow
>> becouse is so useful to me, so What have to do?
>>
>> Oscar
>>
>> 2008/12/19 Fabio Maulo <[email protected]>
>>
>>> mmm...There is not your JIRA....
>>> Probably you want to maintain your version of Burrow in some place
>>> and incentive people to do the same.
>>> Very good to know.
>>>
>>> 2008/12/19 Fabio Maulo <[email protected]>
>>>
>>> Hi Oscar.Do you have add a JIRA ticket with your problem and solution ?
>>>>
>>>> 2008/12/19 Oscar Orduz Acosta <[email protected]>
>>>>
>>>> Hello Manu:
>>>>>
>>>>> I had similar experience, what I needed were have the same entities but
>>>>> in different databases (even in different Engines i.e Oracle, MsSQl, etc),
>>>>> so we can support almost transparently several client implementations in
>>>>> Database but with the same design.
>>>>>
>>>>> I have to custom the code of Burrow in the following files:
>>>>>
>>>>> BurrowFramework.cs:
>>>>>         /// <summary>
>>>>>         /// Numero método incluido para Framework
>>>>>         /// </summary>
>>>>>         /// <param name="configurationId"></param>
>>>>>         /// <returns></returns>
>>>>>         public ISessionFactory GetSessionFactoryByName(string
>>>>> configurationId)
>>>>>         {
>>>>>             if (PersistenceUnitRepo.Instance == null)
>>>>>
>>>>>  PersistenceUnitRepo.Initialize(BurrowEnvironment.Configuration);
>>>>>             return
>>>>> PersistenceUnitRepo.Instance.GetPUByName(configurationId).SessionFactory;
>>>>>         }
>>>>>         /// <summary>
>>>>>         /// Oscar Orduz.
>>>>>         /// </summary>
>>>>>         /// <param name="configurationId"></param>
>>>>>         /// <returns></returns>
>>>>>         public ISession GetSessionByName(string configurationId)
>>>>>         {
>>>>>             AbstractConversation c =
>>>>> ((AbstractConversation)CurrentConversation);
>>>>>             return c.GetSessionByName(configurationId);
>>>>>         }
>>>>>
>>>>> AbstractConversation.cs
>>>>>
>>>>>        /// <summary>
>>>>>         /// Oscar Orduz
>>>>>         /// </summary>
>>>>>         /// <param name="configurationId"></param>
>>>>>         /// <returns></returns>
>>>>>         public ISession GetSessionByName(string configurationId)
>>>>>         {
>>>>>             SessionManager sm = string.IsNullOrEmpty(configurationId) ?
>>>>> GetSessionManager() : GetSessionManagerByName(configurationId);
>>>>>             return GetSession(sm);
>>>>>         }
>>>>>         /// <summary>
>>>>>         /// Método creado para el manejo de la sesión para el framework
>>>>> de PS
>>>>>         /// </summary>
>>>>>         /// <param name="configurationId"></param>
>>>>>         /// <returns></returns>
>>>>>         internal SessionManager GetSessionManagerByName(string
>>>>> configurationId)
>>>>>         {
>>>>>             return
>>>>> sessManagers[PersistenceUnitRepo.Instance.GetPUByName(configurationId)];
>>>>>         }
>>>>>
>>>>> PersistenceUnitRepo.cs
>>>>>         /// <summary>
>>>>>         /// Método creado para la recuperación por nombre
>>>>>         /// </summary>
>>>>>         /// <param name="configurationId"></param>
>>>>>         /// <returns></returns>
>>>>>         public PersistenceUnit GetPUByName(string configurationId)
>>>>>         {
>>>>>             if (PersistenceUnits.Count == 1)
>>>>>             {
>>>>>                 return PersistenceUnits[0];
>>>>>             }
>>>>>             foreach (PersistenceUnit pu in persistenceUnits)
>>>>>             {
>>>>>                 if (pu.Name == configurationId)
>>>>>                 {
>>>>>                     return pu;
>>>>>                 }
>>>>>             }
>>>>>
>>>>>             throw new GeneralException("Persistence Unit cannot be
>>>>> found for " + configurationId);
>>>>>         }
>>>>>
>>>>> I have mantained this code for three releases of burrow and until now
>>>>> it works fine
>>>>>
>>>>> Hope this help.
>>>>>
>>>>> Oscar
>>>>>
>>>>> 2008/12/18 Manu <[email protected]>
>>>>>
>>>>>
>>>>>> I have been looking at the Burrow source code and I'm not sure if I
>>>>>> can use its GenericDAO to handle multiple databases the way I want.
>>>>>>
>>>>>> I have see that the Session property of the GenericDAO class calls
>>>>>> BurrowFramework().GetSession(_NHEntityType) and that works good if the
>>>>>> multiples databases you're working with have different entities.
>>>>>> However, it can't handle multiple databases with the same mapped
>>>>>> entities as the GetSession method always returns the first
>>>>>> PersistenceUnit. So I think GenericDAO needs an overload to specify a
>>>>>> session factory name to retrieve the proper PersistenceUnit by name
>>>>>> instead of by type.
>>>>>>
>>>>>> As I have started today to look at Burrow I may be wrong, so if anyone
>>>>>> is familiar with it I'd appreciate if he can show some light about
>>>>>> that problem.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Fabio Maulo
>>>>
>>>
>>>
>>>
>>> --
>>> Fabio Maulo
>>>
>>>
>>>
>>
>>
>>
>
>
> --
> Tuna Toksöz
> http://tunatoksoz.com
>
> Typos included to enhance the readers attention!
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to