Author: cziegeler
Date: Fri Dec 17 13:58:43 2010
New Revision: 1050386
URL: http://svn.apache.org/viewvc?rev=1050386&view=rev
Log:
Fix potential NPE
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=1050386&r1=1050385&r2=1050386&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 Dec 17 13:58:43 2010
@@ -66,30 +66,31 @@ public class EntityResourceList implemen
*/
public void setFinishState(RegisteredResource.State state) {
final RegisteredResource toActivate = getActiveResource();
- if ( toActivate != null
- && toActivate.getState() == RegisteredResource.State.UNINSTALL
- && this.resources.size() > 1 ) {
-
- // to get the second item in the set we have to use an iterator!
- final Iterator<RegisteredResource> i = this.resources.iterator();
- i.next(); // skip first
- final RegisteredResource second = i.next();
- if ( state == RegisteredResource.State.UNINSTALLED ) {
- // first resource got uninstalled, go back to second
- if (second.getState() == RegisteredResource.State.IGNORED || second.getState()
== RegisteredResource.State.INSTALLED) {
- LOGGER.debug("Reactivating for next cycle: {}", second);
- second.setState(RegisteredResource.State.INSTALL);
- }
- } else {
- // don't install as the first did not get uninstalled
- if ( second.getState() == RegisteredResource.State.INSTALL ) {
- second.setState(RegisteredResource.State.IGNORED);
+ if ( toActivate != null ) {
+ if ( toActivate.getState() == RegisteredResource.State.UNINSTALL
+ && this.resources.size() > 1 ) {
+
+ // to get the second item in the set we have to use an iterator!
+ final Iterator<RegisteredResource> i = this.resources.iterator();
+ i.next(); // skip first
+ final RegisteredResource second = i.next();
+ if ( state == RegisteredResource.State.UNINSTALLED ) {
+ // first resource got uninstalled, go back to second
+ if (second.getState() == RegisteredResource.State.IGNORED || second.getState()
== RegisteredResource.State.INSTALLED) {
+ LOGGER.debug("Reactivating for next cycle: {}", second);
+ second.setState(RegisteredResource.State.INSTALL);
+ }
+ } else {
+ // don't install as the first did not get uninstalled
+ if ( second.getState() == RegisteredResource.State.INSTALL ) {
+ second.setState(RegisteredResource.State.IGNORED);
+ }
+ // and now set resource to uninstalled
+ state = RegisteredResource.State.UNINSTALLED;
}
- // and now set resource to uninstalled
- state = RegisteredResource.State.UNINSTALLED;
}
+ toActivate.setState(state);
}
- toActivate.setState(state);
}
public Collection<RegisteredResource> getResources() {
|