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);


Reply via email to