Hi,

ANSI Webmaster wrote:

Heureka!

I finally got the zebra-antelope app to run... And seeing it uses the
turbine 2.4 pipeline, and review stuff, I wanted to know if I should build
my website on this stuff - instead of the old 2.3... I don't want to be in a
situation where I'm building up the whole stuff and then finding out the 2.4
stuff in there isn't the future...



I think based on what Peter said it should be there. It is also worth saying that Antelope abstracts you from the change to the pipeline Peter is talking about as you only access that feature via the pull tool called Pengiun. This wlil be modified to handle whatever method they come up with in the final 2.4.

Also Anite the company that produced the original Antelope, Zebra etc - have got 3 large projects (over 20 developers) working on this framework and are not going to stop keeping it working with the latest Turbine at any point in the near future.

It was all written as we wanted a good template for our projects and an easy getting started sample for new staff. As we discovered that although Turbine (with all our extra bits) is easy to use - it is hard to find good documentation on how to get started.

On the subject of the docs - I think they have been fixed - little problem with forgetting to comit the latest version to Tigris!

Thanks

Ben

So should I use this?

Anyhow, it looks great otherwise and works well, you should check it out.
Just a bit of a warning, the help files for antelope are incomplete (3 ways
on 3 different pages, where you have to take the stuff that works)...

/M


-----Original Message-----
From: Jones Michael, Slough [mailto:[EMAIL PROTECTED] Sent: 25. juni 2004 10:39
To: Turbine Users List
Subject: RE: Fulcrum SecuritySet error


Hi,
I recently set up the Fulcrum security using the dynamic model using
hibernate for Antelope (a sample app for turbine found at
http://zebra.tigris.org ). I am not sure exactly what you are trying to achieve and I am sorry if I
have got the wrong end of the stick, but when you are adding the security
elements you should use the managers. These encapsulate all the hibernate
code for getting them into the database.


However if you are writing a manager you cannot use the securitySet.add()
method directly because it throws a "unimplemented exception" as you stated.
You have to use the methods on the subclass. To get round this I did
something along these lines:

SecuritySet ss;
...
if (shouldAdd) {
if (ss instanceof GroupSet)
((GroupSet) ss).add((Group) e1);
if (ss instanceof RoleSet) ((RoleSet) ss).add((Role) e1); if (ss instanceof PermissionSet)
((PermissionSet) ss).add((Permission) e1);
}


If you have a look at Antelope though if will give you a lot more info on
how I set it all up.
Cheers
Mike


-----Original Message-----
From: Lester Ward [mailto:[EMAIL PROTECTED] Sent: 24 June 2004 18:31
To: Turbine User Mailing List (E-mail)
Subject: Fulcrum SecuritySet error


I'm using Fulcrum's security component to use Hibernate with Turbine 2.3.
Using the dynamic security model, I'm running into an issue. I'm subclassing
the security objects from Fulcrum such as
org.apache.fulcrum.security.model.dynamic.entity.DynamicGroup. I have code
that looks like this:

     Set roles = a_Group.getRolesAsSet();
     Role role = (Role)m_RolesByName.get(k_RoleUser);
     roles.add(role);

I get this exception:

java.lang.RuntimeException: not implemented
        at
org.apache.fulcrum.security.util.SecuritySet.add(SecuritySet.java:257)
        at net.sf.hibernate.collection.Set.add(Set.java:156)
        at com.tagaudit.humpback.Humpback.attachRoles(Humpback.java:424)
        at com.tagaudit.humpback.Humpback.translateUser(Humpback.java:366)
        at com.tagaudit.humpback.Humpback.walkUsers(Humpback.java:316)
        at com.tagaudit.humpback.Humpback.run(Humpback.java:111)
        at com.tagaudit.humpback.Humpback.main(Humpback.java:87)

This appears to be caused be an odd combination of things:

1) The SecuritySet.add(Object) method throws an unimplemented exception,
apparently because it's subclasses have typed add() method that the author
wants to be called instead of the generic add(Object) method.

2) In the code, my roles object is a net.sf.hibernate.collection.Set object.
This object is evidently a proxy wrapped around another Set, in this case an
org.apache.fulcrum.security.util.RoleSet.

3) The RoleSet object has an add(Role) method and is a subclass of
SecuritySet.

4) Hibernate's Set.add method looks like this:

        public boolean add(Object value)
        {
                write();
                return set.add(value);
        }

5) Since the Hibernate add takes an object, when it calls set.add(), it ends
up invoking the add(Object) call of the RoleSet object. Since this object
doesn't have one of those, it invokes the add(Object) method of its
superclass, which throws the unimplemented exception (see item 1 above).

Now, as near as I can tell, this means I'm pretty much hosed. I have to
alter either Fulcrum's set objects, Hibernate's set objects or both to fix
this problem.

Anyone have any advice for solving this?

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



Scanned for viruses by MessageLabs



Scanned for viruses by MessageLabs. The integrity and security of this
message cannot be guaranteed. This email is intended for the named recipient
only, and may contain confidential information and proprietary material. Any
unauthorised use or disclosure is prohibited.


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






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



Reply via email to