You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2021/08/10 04:37:38 UTC
[felix-dev] branch master updated: FELIX-6442 : NPE when generating
ServiceReferenceDTOs (#87)
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new f0d8815 FELIX-6442 : NPE when generating ServiceReferenceDTOs (#87)
f0d8815 is described below
commit f0d88159bcafe65ceabd7df937a63bfcbf26ce72
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Tue Aug 10 06:37:34 2021 +0200
FELIX-6442 : NPE when generating ServiceReferenceDTOs (#87)
---
.../java/org/apache/felix/framework/DTOFactory.java | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/framework/src/main/java/org/apache/felix/framework/DTOFactory.java b/framework/src/main/java/org/apache/felix/framework/DTOFactory.java
index 2133e61..06c40ff 100644
--- a/framework/src/main/java/org/apache/felix/framework/DTOFactory.java
+++ b/framework/src/main/java/org/apache/felix/framework/DTOFactory.java
@@ -335,27 +335,18 @@ public class DTOFactory
if (svcs == null)
return new ServiceReferenceDTO[0];
- List<ServiceReferenceDTO> dtos = new ArrayList<>();
+ ServiceReferenceDTO[] dtos = new ServiceReferenceDTO[svcs.length];
for (int i=0; i < svcs.length; i++)
{
- ServiceReferenceDTO dto = createServiceReferenceDTO(svcs[i]);
- if ( dto != null )
- {
- dtos.add(dto);
- }
+ dtos[i] = createServiceReferenceDTO(svcs[i]);
}
- return dtos.toArray(new ServiceReferenceDTO[dtos.size()]);
+ return dtos;
}
private static ServiceReferenceDTO createServiceReferenceDTO(ServiceReference<?> svc)
{
- final Bundle bundle = svc.getBundle();
- if ( bundle == null )
- {
- return null;
- }
ServiceReferenceDTO dto = new ServiceReferenceDTO();
- dto.bundle = bundle.getBundleId();
+ dto.bundle = (Long)svc.getProperty(Constants.SERVICE_BUNDLEID);
dto.id = (Long) svc.getProperty(Constants.SERVICE_ID);
Map<String, Object> props = new HashMap<String, Object>();
for (String key : svc.getPropertyKeys())