Author: cziegeler
Date: Fri Jan 21 09:41:42 2011
New Revision: 1061707
URL: http://svn.apache.org/viewvc?rev=1061707&view=rev
Log:
SLING-1945 : Remove resource from untransformed resources if resource is
removed by provider
Modified:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/PersistentResourceList.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceImpl.java
Modified:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/PersistentResourceList.java
URL:
http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/PersistentResourceList.java?rev=1061707&r1=1061706&r2=1061707&view=diff
==============================================================================
---
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/PersistentResourceList.java
(original)
+++
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/PersistentResourceList.java
Fri Jan 21 09:41:42 2011
@@ -191,6 +191,10 @@ public class PersistentResourceList {
t.addOrUpdate(input);
} else {
+ // check if there is an old resource and remove it first
+ if ( this.untransformedResources.contains(input) ) {
+ this.untransformedResources.remove(input);
+ }
this.untransformedResources.add(input);
}
}
@@ -203,13 +207,25 @@ public class PersistentResourceList {
}
/**
- * Remove a resource by url
+ * Remove a resource by url.
+ * Check all resource groups and the list of untransformed resources.
* @param url The url to remove
*/
public void remove(final String url) {
+ // iterate over all resource groups and remove resources
+ // with the given url
for(final EntityResourceList group : this.data.values()) {
group.remove(url);
}
+ // iterate over untransformed resources and remove
+ // the resource with that url
+ for(final RegisteredResource rr : this.untransformedResources) {
+ if ( rr.getURL().equals(url) ) {
+ ((RegisteredResourceImpl)rr).cleanup();
+ this.untransformedResources.remove(rr);
+ break;
+ }
+ }
}
/**
Modified:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceImpl.java
URL:
http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceImpl.java?rev=1061707&r1=1061706&r2=1061707&view=diff
==============================================================================
---
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceImpl.java
(original)
+++
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceImpl.java
Fri Jan 21 09:41:42 2011
@@ -293,7 +293,7 @@ public class RegisteredResourceImpl
return false;
}
if ( this.entity == null ) {
- return super.equals(obj);
+ return
this.getURL().equals(((RegisteredResourceImpl)obj).getURL());
}
return compareTo((RegisteredResourceImpl)obj) == 0;
}