Author: cziegeler
Date: Sun Jul  5 12:19:31 2009
New Revision: 791234

URL: http://svn.apache.org/viewvc?rev=791234&view=rev
Log:
SLING-1034 - Fix NPE in jcr resource listener.

Modified:
    
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java

Modified: 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java?rev=791234&r1=791233&r2=791234&view=diff
==============================================================================
--- 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 (original)
+++ 
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrResourceListener.java
 Sun Jul  5 12:19:31 2009
@@ -134,9 +134,15 @@
             final Resource resource = this.resolver.getResource(path);
             if ( resource != null ) {
                 final Dictionary<String, String> properties = new 
Hashtable<String, String>();
-                properties.put(SlingConstants.PROPERTY_PATH, 
resource.getPath());
-                properties.put(SlingConstants.PROPERTY_RESOURCE_TYPE, 
resource.getResourceType());
-                properties.put(SlingConstants.PROPERTY_RESOURCE_SUPER_TYPE, 
resource.getResourceSuperType());
+                properties.put(SlingConstants.PROPERTY_PATH, path);
+                final String resourceType = resource.getResourceType();
+                final String resourceSuperType = 
resource.getResourceSuperType();
+                if ( resourceType != null ) {
+                    properties.put(SlingConstants.PROPERTY_RESOURCE_TYPE, 
resource.getResourceType());
+                }
+                if ( resourceSuperType != null ) {
+                    
properties.put(SlingConstants.PROPERTY_RESOURCE_SUPER_TYPE, 
resource.getResourceSuperType());
+                }
 
                 localEA.postEvent(new 
org.osgi.service.event.Event(SlingConstants.TOPIC_RESOURCE_ADDED, properties));
             }
@@ -145,9 +151,15 @@
             final Resource resource = this.resolver.getResource(path);
             if ( resource != null ) {
                 final Dictionary<String, String> properties = new 
Hashtable<String, String>();
-                properties.put(SlingConstants.PROPERTY_PATH, 
resource.getPath());
-                properties.put(SlingConstants.PROPERTY_RESOURCE_TYPE, 
resource.getResourceType());
-                properties.put(SlingConstants.PROPERTY_RESOURCE_SUPER_TYPE, 
resource.getResourceSuperType());
+                properties.put(SlingConstants.PROPERTY_PATH, path);
+                final String resourceType = resource.getResourceType();
+                final String resourceSuperType = 
resource.getResourceSuperType();
+                if ( resourceType != null ) {
+                    properties.put(SlingConstants.PROPERTY_RESOURCE_TYPE, 
resource.getResourceType());
+                }
+                if ( resourceSuperType != null ) {
+                    
properties.put(SlingConstants.PROPERTY_RESOURCE_SUPER_TYPE, 
resource.getResourceSuperType());
+                }
 
                 localEA.postEvent(new 
org.osgi.service.event.Event(SlingConstants.TOPIC_RESOURCE_CHANGED, 
properties));
             }


Reply via email to