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