From 4024f124b9d5b0b9ba20873a6487d23d8c088aa1 Mon Sep 17 00:00:00 2001 From: Ben Alex Date: Thu, 26 Jan 2006 10:27:32 +0000 Subject: [PATCH] SEC-154: Support Hibernate/CGLIB modified domain objects. --- .../acl/basic/NamedEntityObjectIdentity.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java b/core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java index edf32a8eed..775ee5dc18 100644 --- a/core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java +++ b/core/src/main/java/org/acegisecurity/acl/basic/NamedEntityObjectIdentity.java @@ -1,4 +1,4 @@ -/* Copyright 2004, 2005 Acegi Technology Pty Limited +/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,6 +15,8 @@ package org.acegisecurity.acl.basic; +import org.apache.commons.lang.ClassUtils; + import org.springframework.util.Assert; import java.lang.reflect.InvocationTargetException; @@ -64,7 +66,10 @@ public class NamedEntityObjectIdentity implements AclObjectIdentity { throws IllegalAccessException, InvocationTargetException { Assert.notNull(object, "object cannot be null"); - this.classname = object.getClass().getName(); + this.classname = (object.getClass().getPackage() == null) + ? ClassUtils.getShortClassName(object.getClass()) + : (object.getClass().getPackage().getName() + "." + + ClassUtils.getShortClassName(object.getClass())); Class clazz = object.getClass();