Thx for investigating, I was gonna look at it when I saw your message.
Do you think this is related to the NS handler changes somehow ? Is a
null value expected in the proxy impl ?

On Mon, Feb 7, 2011 at 18:46, Timothy Ward <[email protected]> wrote:
>
> With some further investigation I found the offending code and have fixed it 
> under commit 1068021
>
> Tim
>
> ----------------------------------------
>> From: [email protected]
>> To: [email protected]; [email protected]
>> Subject: RE: svn commit: r1066828 - 
>> /aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> Date: Mon, 7 Feb 2011 16:47:37 +0000
>>
>>
>> Hi,
>>
>> Since accepting this commmit I have seen failures in 
>> org.apache.aries.samples.blog.itests.QuiesceBlogSampleWithEbaTest
>>
>> I tried reverting the changes to this file and rebuilding my stream and 
>> things started passing again. I see the following exception generated in the 
>> test log.
>>
>> java.lang.NullPointerException
>>     at 
>> org.apache.aries.proxy.impl.AsmProxyManager.getInvocationHandler(AsmProxyManager.java:99)
>>     at 
>> org.apache.aries.proxy.impl.AbstractProxyManager.isProxy(AbstractProxyManager.java:73)
>>     at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:70)
>>     at 
>> org.apache.aries.jpa.blueprint.aries.impl.$NSHandler2115075601.equals(Unknown
>>  Source)
>>     at 
>> org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl.getSchema(NamespaceHandlerRegistryImpl.java:219)
>>     at 
>> org.apache.aries.blueprint.namespace.NamespaceHandlerRegistryImpl$NamespaceHandlerSetImpl.getSchema(NamespaceHandlerRegistryImpl.java:329)
>>     at 
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:276)
>>     at 
>> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:228)
>>     at 
>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
>>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:314)
>>     at java.util.concurrent.FutureTask.run(FutureTask.java:149)
>>     at 
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:109)
>>     at 
>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:218)
>>     at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
>>     at 
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
>>     at java.lang.Thread.run(Thread.java:736)
>>
>>
>> Regards,
>>
>> Tim
>>
>> ----------------------------------------
>> > Subject: svn commit: r1066828 - 
>> > /aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> > Date: Thu, 3 Feb 2011 15:13:59 +0000
>> > To: [email protected]
>> > From: [email protected]
>> >
>> > Author: gnodet
>> > Date: Thu Feb 3 15:13:58 2011
>> > New Revision: 1066828
>> >
>> > URL: http://svn.apache.org/viewvc?rev=1066828&view=rev
>> > Log:
>> > [ARIES-563] The NamespaceHandlerRegistryImpl does not actually reuse 
>> > parsed schemas
>> >
>> > Modified:
>> > aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> >
>> > Modified: 
>> > aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> > URL: 
>> > http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java?rev=1066828&r1=1066827&r2=1066828&view=diff
>> > ==============================================================================
>> > --- 
>> > aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> >  (original)
>> > +++ 
>> > aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
>> >  Thu Feb 3 15:13:58 2011
>> > @@ -214,7 +214,14 @@ public class NamespaceHandlerRegistryImp
>> > // If it contains additional namespaces, it should not be a problem since
>> > // they won't be used at all
>> > for (Map key : schemas.keySet()) {
>> > - if (key.equals(handlers)) {
>> > + boolean found = true;
>> > + for (URI uri : handlers.keySet()) {
>> > + if (!handlers.get(uri).equals(key.get(uri))) {
>> > + found = false;
>> > + break;
>> > + }
>> > + }
>> > + if (found) {
>> > schema = schemas.get(key).get();
>> > break;
>> > }
>> > @@ -234,6 +241,22 @@ public class NamespaceHandlerRegistryImp
>> > }
>> > }
>> > schema = getSchemaFactory().newSchema(schemaSources.toArray(new 
>> > Source[schemaSources.size()]));
>> > + // Remove schemas that are fully included
>> > + for (Iterator> iterator = schemas.keySet().iterator(); 
>> > iterator.hasNext();) {
>> > + Map key = iterator.next();
>> > + boolean found = true;
>> > + for (URI uri : key.keySet()) {
>> > + if (!key.get(uri).equals(handlers.get(uri))) {
>> > + found = false;
>> > + break;
>> > + }
>> > + }
>> > + if (found) {
>> > + iterator.remove();
>> > + break;
>> > + }
>> > + }
>> > + // Add our new schema
>> > schemas.put(handlers, new SoftReference(schema));
>> > } finally {
>> > for (StreamSource s : schemaSources) {
>> >
>> >
>>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to