jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grégory Joseph <gregory.jos...@magnolia-cms.com>
Subject Re: [31392] MAGNOLIA-2988 ntReg.getNodeTypeDef() has a different return type in jackrabbit 2.0, so this causes a binary incompatibility if we compile the provider class with jackrabbit 1 .6
Date Mon, 01 Feb 2010 12:57:20 GMT
Sorry, wrong list, obviously.

On Feb 1, 2010, at 1:50 PM, Grégory Joseph wrote:

> Why don't we use a different implementation and module for this instead ?
> 
> -g
> 
> On Jan 31, 2010, at 10:07 PM, svn@magnolia-cms.com wrote:
> 
>> Revision
>> 31392
>> Author
>> fgiust
>> Date
>> 2010-01-31 22:07:49 +0100 (Sun, 31 Jan 2010)
>> Log Message
>> 
>> MAGNOLIA-2988  ntReg.getNodeTypeDef() has a different return type in jackrabbit 2.0,
so this causes a binary incompatibility if we compile the provider class with jackrabbit 1.6
>> Modified Paths
>> 
>> 	• community/magnolia/trunk/magnolia-core/src/main/java/info/magnolia/jackrabbit/ProviderImpl.java
>> Diff
>> 
>> Modified: community/magnolia/trunk/magnolia-core/src/main/java/info/magnolia/jackrabbit/ProviderImpl.java
(31391 => 31392)
>> 
>> --- community/magnolia/trunk/magnolia-core/src/main/java/info/magnolia/jackrabbit/ProviderImpl.java
2010-01-31 18:15:13 UTC (rev 31391)
>> +++ community/magnolia/trunk/magnolia-core/src/main/java/info/magnolia/jackrabbit/ProviderImpl.java
2010-01-31 21:07:49 UTC (rev 31392)
>> 
>> @@ -73,6 +73,7 @@
>> 
>> import java.io.FileNotFoundException;
>> 
>> import java.io.IOException;
>> 
>> import java.io.InputStream;
>> 
>> +import java.lang.reflect.InvocationTargetException;
>> 
>> import java.lang.reflect.Method;
>> 
>> import java.util.Hashtable;
>> 
>> import java.util.Iterator;
>> 
>> @@ -333,18 +334,45 @@
>> 
>>                 }
>> 
>> 
>> 
>>                 try {
>> 
>> -                    ntReg.getNodeTypeDef(ntname);
>> 
>> +
>> +                    // return value has changed in jackrabbit 2, we still have to
use reflection here
>> +                    // ntReg.getNodeTypeDef(ntname);
>> +
>> +                    Method method = ntReg.getClass().getMethod("getNodeTypeDef",
Name.class);
>> +                    method.invoke(ntReg, ntname);
>> 
>>                 }
>> 
>> -                catch (NoSuchNodeTypeException nsne) {
>> -                    log.info("Registering nodetype {}", ntname); //$NON-NLS-1$
>> 
>> +                catch (IllegalArgumentException e)
>> +                {
>> +                    throw new RepositoryException(e.getMessage(), e);
>> +                }
>> +                catch (IllegalAccessException e)
>> +                {
>> +                    throw new RepositoryException(e.getMessage(), e);
>> +                }
>> +                catch (SecurityException e)
>> +                {
>> +                    throw new RepositoryException(e.getMessage(), e);
>> +                }
>> +                catch (NoSuchMethodException e)
>> +                {
>> +                    throw new RepositoryException(e.getMessage(), e);
>> +                }
>> +                catch (InvocationTargetException ite)
>> +                {
>> +                    if (ite.getTargetException() instanceof NoSuchNodeTypeException)
>> +                    {
>> +                        log.info("Registering nodetype {}", ntname); //$NON-NLS-1$
>> 
>> 
>> 
>> -                    try {
>> -                        // reflection for jackrabbit 1+2 compatibility
>> -                        getMethod(NodeTypeRegistry.class, "registerNodeType").invoke(ntReg,
new Object[]{def});
>> 
>> +                        try
>> +                        {
>> +                            // reflection for jackrabbit 1+2 compatibility
>> +                            getMethod(NodeTypeRegistry.class, "registerNodeType").invoke(ntReg,
new Object[]{def });
>> +                        }
>> +                        catch (Exception e)
>> +                        {
>> +                            throw new RepositoryException(e.getMessage(), e);
>> +                        }
>> 
>>                     }
>> 
>> -                    catch (Exception e) {
>> -                        throw new RepositoryException(e.getMessage(), e);
>> -                    }
>> 
>>                 }
>> 
>>             }
>> 
>> 
>> 
>> 
>> 
>> ----------------------------------------------------------------
>> For list details see
>> http://www.magnolia-cms.com/home/community/mailing-lists.html
>> To unsubscribe, E-mail to: <svn-list-unsubscribe@magnolia-cms.com>
>> ----------------------------------------------------------------
> 
> 



Mime
View raw message