[rules-users] ShadowProxy & PersistentSet
vdelbart
delbart.v at mipih.fr
Mon Apr 28 09:59:07 EDT 2008
I create a JIRA : http://jira.jboss.com/jira/browse/JBRULES-1590
it's to complicate to me to create an unit test with a hibernate session.
thanks,
V.
Mark Proctor wrote:
>
> Can you open a JIRA for this? If you provide a unit test with it, we'll
> see if we can include this in 4.0.7. 5.0 will now have shadow proxies
> any more, as default.
>
> Mark
> vdelbart wrote:
>> I think the method cloneObject 'ShadowProxyUtils' could be improve like
>> follow :
>>
>> public static Object cloneObject(Object original) {
>> Object clone = null;
>> if ( original instanceof Cloneable ) {
>> try {
>> Method cloneMethod = original.getClass().getMethod(
>> "clone",
>> new
>> Class[0] );
>> clone = cloneMethod.invoke( original,
>> new Object[0] );
>> } catch ( Exception e ) {
>> /* Failed to clone. Don't worry about it, and just
>> return
>> * the original object. */
>> clone = null;
>> }
>> }
>>
>> if ( clone == null ) {
>> try {
>> if ( original instanceof Map &&
>> original != Collections.EMPTY_MAP &&
>> !UNMODIFIABLE_MAP.isAssignableFrom(
>> original.getClass()
>> ) ) {
>>
>> /* empty and unmodifiable maps can't (and don't need
>> to)
>> be shadowed */
>> clone = original.getClass().newInstance();
>> ((Map) clone).putAll( (Map) original );
>>
>> } else if ( original instanceof Collection &&
>> original != Collections.EMPTY_LIST &&
>> original != Collections.EMPTY_SET &&
>> !UNMODIFIABLE_COLLECTION.isAssignableFrom(
>> original.getClass() ) ) {
>>
>> /* empty and unmodifiable collections can't (and
>> don't
>> need to) be shadowed */
>> clone = original.getClass().newInstance();
>> ((Collection) clone).addAll( (Collection) original );
>>
>> } else if ( original.getClass().isArray() ) {
>> clone = cloneArray( original );
>> }
>>
>> } catch ( Exception e ) {
>> /* Failed to clone. Don't worry about it, and just
>> return
>> * the original object. */
>> clone = null;
>> }
>> }
>>
>> if ( clone == null ) {
>> clone = original;
>> }
>>
>> return clone;
>> }
>>
>>
>> In this way my PersistentSet will be not clone and I will be able to
>> continue to use shadow fact
>>
>> What do you think about ?
>>
>> V.
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
View this message in context: http://www.nabble.com/ShadowProxy---PersistentSet-tp16824934p16939583.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list