Author: cziegeler Date: Sun Oct 16 12:49:14 2016 New Revision: 1765149 URL: http://svn.apache.org/viewvc?rev=1765149&view=rev Log: SLING-4867 : EntityResourceList should be thread-safe
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java?rev=1765149&r1=1765148&r2=1765149&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerImpl.java Sun Oct 16 12:49:14 2016 @@ -1322,7 +1322,16 @@ implements OsgiInstaller, ResourceChange final String alias = group.getAlias(); final List<Resource> resources = new ArrayList<Resource>(); + boolean first = true; + boolean isActive = false; for(final TaskResource tr : group.getResources()) { + final ResourceState resourceState = tr.getState(); + if ( first ) { + if ( resourceState == ResourceState.INSTALL || resourceState == ResourceState.UNINSTALL ) { + isActive = true; + } + first = false; + } resources.add(new Resource() { @Override @@ -1367,7 +1376,7 @@ implements OsgiInstaller, ResourceChange @Override public ResourceState getState() { - return tr.getState(); + return resourceState; } @Override @@ -1417,7 +1426,7 @@ implements OsgiInstaller, ResourceChange return "group[" + resources + "]"; } }; - if ( group.getActiveResource() != null ) { + if ( isActive ) { state.getActiveResources().add(rg); } else { state.getInstalledResources().add(rg);