You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Esteban Franqueiro <es...@bea.com> on 2008/04/03 17:30:54 UTC

Jackrabbit expects a particular Oracle driver

Hi all.
I'm testing Jackrabbit 1.4 with Oracle, and I'm having a little problem.
In OracleFileSystem.init(), there's a call to initialize oracle.sql.BLOB. The problem is that I'm 
not using the standard Oracle driver, and it doesn't provide that class.
There are a few solutions to this that I can take care of in my app, but I think Jackrabbit should 
not fail just because you're not using the driver it expects to. The bigger problem is that it 
shouldn't expect a particular driver.
WDYT?
Regards,

Esteban Franqueiro
esteban.franqueiro@bea.com 


Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.

Re: Jackrabbit expects a particular Oracle driver

Posted by Esteban Franqueiro <es...@bea.com>.
> sounds good. do you want to create to create a related jira issue?

Done.
I'll try to make this changes as soon as I can finish with my current work.
Regards,

Esteban Franqueiro
esteban.franqueiro@bea.com

Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.

Re: Jackrabbit expects a particular Oracle driver

Posted by Stefan Guggisberg <st...@gmail.com>.
On Fri, Apr 4, 2008 at 11:00 PM, Esteban Franqueiro
<es...@bea.com> wrote:
> > Yes, I thought of that aswell. However, just renaming the existing  class is probably not an
>  > option since it would break backward  compatibility.
>  >
>  > What do you suggest? Any other good ideas?
>
>  You're right. Maybe we can create a new class for Oracle 10+, Make it inherit from DbFileSystem, and
>  override the createSchema(), and table space related methods, which are the ones that need special
>  handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases,
>  one of them to keep the current behavior and a new one to keep the common code (which we could
>  rename to OracleBaseFileSystem or similar, for the reason you said). Then we make the
>  Oracle10FileSystem inherit from the latter.
>  WDYT?

sounds good. do you want to create to create a related jira issue?

cheers
stefan

>  Regards,
>
>
>
>  Esteban Franqueiro
>  esteban.franqueiro@bea.com
>
>
>  Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.
>

Re: Jackrabbit expects a particular Oracle driver

Posted by Esteban Franqueiro <es...@bea.com>.
> Yes, I thought of that aswell. However, just renaming the existing  class is probably not an 
> option since it would break backward  compatibility.
>
> What do you suggest? Any other good ideas?

You're right. Maybe we can create a new class for Oracle 10+, Make it inherit from DbFileSystem, and 
override the createSchema(), and table space related methods, which are the ones that need special 
handling. Furthermore, we could refactor the current OracleFileSystem and break it into two clases, 
one of them to keep the current behavior and a new one to keep the common code (which we could 
rename to OracleBaseFileSystem or similar, for the reason you said). Then we make the 
Oracle10FileSystem inherit from the latter.
WDYT?
Regards,

Esteban Franqueiro
esteban.franqueiro@bea.com 


Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.

Re: Jackrabbit expects a particular Oracle driver

Posted by Stefan Guggisberg <st...@gmail.com>.

On 04.04.2008, at 20:44, "Esteban Franqueiro" <esteban.franqueiro@bea.com 
 > wrote:

> Hi Stefan.
>
>> in an ideal world we'd only need one DbFileSystem and
>> DbPersistenceManager implementation
>> in jackrabbit ;) however, certain (more or less subtle)
>> vendor-specific differences/features
>> needed to be addressed in specialized subclasses.
>>
>> OracleFileSystem is just an example of this. the oracle jdbc drivers
>> prior to version 10.?
>> only exposed Blob support through vendor specific classes, hence the
>> oracle.sql.BLOB
>> reference.
>
> Maybe we should rename this class as Oracle9FileSystem or  
> Oracle101FileSystem, or something similar,
> and provide another impl that works with newer versions and doesn't  
> depend on that class?

Yes, I thought of that aswell. However, just renaming the existing  
class is probably not an option since it would break backward  
compatibility.

What do you suggest? Any other good ideas?

Cheers
Stefan

>
> Thanks!
>
> Esteban Franqueiro
> esteban.franqueiro@bea.com
>
>
> Notice:  This email message, together with any attachments, may  
> contain information  of  BEA Systems,  Inc.,  its subsidiaries  and   
> affiliated entities,  that may be confidential,  proprietary,   
> copyrighted  and/or legally privileged, and is intended solely for  
> the use of the individual or entity named in this message. If you  
> are not the intended recipient, and have received this message in  
> error, please immediately return this by email and then delete it.

Re: Jackrabbit expects a particular Oracle driver

Posted by Esteban Franqueiro <es...@bea.com>.
Hi Stefan.

> in an ideal world we'd only need one DbFileSystem and
> DbPersistenceManager implementation
> in jackrabbit ;) however, certain (more or less subtle)
> vendor-specific differences/features
> needed to be addressed in specialized subclasses.
>
> OracleFileSystem is just an example of this. the oracle jdbc drivers
> prior to version 10.?
> only exposed Blob support through vendor specific classes, hence the
> oracle.sql.BLOB
> reference.

Maybe we should rename this class as Oracle9FileSystem or Oracle101FileSystem, or something similar, 
and provide another impl that works with newer versions and doesn't depend on that class?
Thanks!

Esteban Franqueiro
esteban.franqueiro@bea.com 


Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.

Re: Jackrabbit expects a particular Oracle driver

Posted by Stefan Guggisberg <st...@gmail.com>.
hi esteban

On Thu, Apr 3, 2008 at 5:30 PM, Esteban Franqueiro
<es...@bea.com> wrote:
> Hi all.
>  I'm testing Jackrabbit 1.4 with Oracle, and I'm having a little problem.
>  In OracleFileSystem.init(), there's a call to initialize oracle.sql.BLOB. The problem is that I'm
>  not using the standard Oracle driver, and it doesn't provide that class.
>  There are a few solutions to this that I can take care of in my app, but I think Jackrabbit should
>  not fail just because you're not using the driver it expects to. The bigger problem is that it
>  shouldn't expect a particular driver.
>  WDYT?

in an ideal world we'd only need one DbFileSystem and
DbPersistenceManager implementation
in jackrabbit ;) however, certain (more or less subtle)
vendor-specific differences/features
needed to be addressed in specialized subclasses.

OracleFileSystem is just an example of this. the oracle jdbc drivers
prior to version 10.?
only exposed Blob support through vendor specific classes, hence the
oracle.sql.BLOB
reference.

cheers
stefan

>  Regards,
>
>  Esteban Franqueiro
>  esteban.franqueiro@bea.com
>
>
>  Notice:  This email message, together with any attachments, may contain information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated entities,  that may be confidential,  proprietary,  copyrighted  and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.
>