Author: cziegeler
Date: Fri Jul 29 07:42:10 2011
New Revision: 1152134
URL: http://svn.apache.org/viewvc?rev=1152134&view=rev
Log:
Minor update: handle state for more than three resources for the same entity
Modified:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java
Modified:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java
URL:
http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java?rev=1152134&r1=1152133&r2=1152134&view=diff
==============================================================================
---
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java
(original)
+++
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java
Fri Jul 29 07:42:10 2011
@@ -203,6 +203,20 @@ public class EntityResourceList implemen
// and now set resource to uninstalled
state = ResourceState.UNINSTALLED;
}
+ } else if ( state == ResourceState.INSTALLED ) {
+ // make sure that no other resource has state INSTALLED
+ if ( this.resources.size() > 1 ) {
+ // to get the second item in the set we have to use an
iterator!
+ final Iterator<TaskResource> i = this.resources.iterator();
+ i.next(); // skip first
+ while ( i.hasNext() ) {
+ final TaskResource rsrc = i.next();
+ if ( rsrc.getState() == ResourceState.INSTALLED ) {
+
((RegisteredResourceImpl)rsrc).setState(ResourceState.INSTALL);
+ }
+ }
+ }
+
}
((RegisteredResourceImpl)toActivate).setState(state);
if ( state == ResourceState.UNINSTALLED ) {