Jason van Zyl <[EMAIL PROTECTED]> writes:

>On 11/17/01 9:59 AM, "Sven Homburg" <[EMAIL PROTECTED]> wrote:

>> 
>> Hi there
>> 
>> since i checked out the Turbine-HEAD from CVS
>> i have a problem with data.getACL().
>> 
>> i saw that the AccessContolList was changed to abstract

No, it's not. It is now an Interface, not an abstract class.

>> and DbSecurityService.getACL() returns TurbineAccessControlList.
>> 
>> So if i get data.getACL() all is ok, but if i call
>> data.getACL().hasRole("turbine_role") the VM throws an
>> IncompatibleClassChangeError-Exception.
>> 
>> whats going wrong ?

>I'm not sure, this was Henning's change and I haven't tried to build a TDK
>so I will let people know when I try to make one.

>Henning? Any comments about compatibility? I assumed you tried the sample
>TDK app to make sure everything was working as it's the only testbed we
>have.

Sure. I use the TDK all the time and it works fine.

The solution is pretty simple. You must recompile your application if
it was compiled against the non-Interface version. Your application
.jar (or .class) files still have references to the methods inside
AccessControlList which is now an interface and no longer contains
code. This confuses (rightfully so) the runtime and it throws the
aforementioned error as the reference is to a class and the runtime
now gets an interface. This is (for the runtime) an incompatible class
change and it throws the exception.

.hasRole() is still in the interface but no longer in
AccessControlList ifself but in the implementation of the interface
(TurbineAccessControlList).

Sorry, I should've mentioned this explicity in the CVS checkin. 

But in my understanding, if you're changing the used version of the
turbine.jar, recompiling the application is always a good idea.

        Regards
                Henning

BTW: Just as you did, I don't recommend using the 2.1 TDK with turbine-2 HEAD.

-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen       -- Geschaeftsfuehrer
INTERMETA - Gesellschaft fuer Mehrwertdienste mbH     [EMAIL PROTECTED]

Am Schwabachgrund 22  Fon.: 09131 / 50654-0   [EMAIL PROTECTED]
D-91054 Buckenhof     Fax.: 09131 / 50654-20   

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to