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 2018/01/08 15:27:04 UTC
svn commit: r1820570 - in /felix/trunk/osgi-r7/scr/src/main/java/org:
apache/felix/scr/impl/manager/ apache/felix/scr/impl/runtime/
osgi/service/component/runtime/ osgi/service/component/runtime/dto/
Author: cziegeler
Date: Mon Jan 8 15:27:04 2018
New Revision: 1820570
URL: http://svn.apache.org/viewvc?rev=1820570&view=rev
Log:
FELIX-5460 : DTO Updates - add service reference to ComponentConfigurationDTO
Modified:
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/ServiceComponentRuntime.java
felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentConfigurationDTO.java
felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentDescriptionDTO.java
felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java Mon Jan 8 15:27:04 2018
@@ -1422,4 +1422,9 @@ public abstract class AbstractComponentM
public abstract void getComponentManagers(List<AbstractComponentManager<S>> cms);
+ @Override
+ public ServiceReference<S> getRegisteredServiceReference()
+ {
+ return null;
+ }
}
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java Mon Jan 8 15:27:04 2018
@@ -340,13 +340,6 @@ public int hashCode()
//---------- Component interface
- public ComponentInstance getComponentInstance()
- {
- // a ComponentFactory is not a real component and as such does
- // not have a ComponentInstance
- return null;
- }
-
/**
* Disposes off all components ever created by this component holder. This
* method is called if either the Declarative Services runtime is stopping
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentManager.java Mon Jan 8 15:27:04 2018
@@ -21,6 +21,7 @@ package org.apache.felix.scr.impl.manage
import java.util.List;
import java.util.Map;
+import org.osgi.framework.ServiceReference;
import org.osgi.service.component.runtime.dto.ComponentConfigurationDTO;
@@ -42,4 +43,6 @@ public interface ComponentManager<S> {
List<? extends ReferenceManager<S, ?>> getReferenceManagers();
+ ServiceReference<S> getRegisteredServiceReference();
+
}
\ No newline at end of file
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java Mon Jan 8 15:27:04 2018
@@ -998,4 +998,14 @@ public class SingleComponentManager<S> e
cms.add(this);
}
+ @Override
+ public ServiceReference<S> getRegisteredServiceReference()
+ {
+ final ComponentContextImpl<S> ctx = this.m_componentContext;
+ if ( ctx != null )
+ {
+ return ctx.getServiceReference();
+ }
+ return null;
+ }
}
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java Mon Jan 8 15:27:04 2018
@@ -212,6 +212,10 @@ public class ServiceComponentRuntimeImpl
{
dto.failure = manager.getFailureReason();
}
+ else if ( dto.state == ComponentConfigurationDTO.ACTIVE )
+ {
+ dto.service = serviceReferenceToDTO(manager.getRegisteredServiceReference());
+ }
return dto;
}
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/ServiceComponentRuntime.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/ServiceComponentRuntime.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/ServiceComponentRuntime.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/ServiceComponentRuntime.java Mon Jan 8 15:27:04 2018
@@ -1,5 +1,5 @@
/*
- * Copyright (c) OSGi Alliance (2013, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2013, 2017). All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentConfigurationDTO.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentConfigurationDTO.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentConfigurationDTO.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentConfigurationDTO.java Mon Jan 8 15:27:04 2018
@@ -19,6 +19,7 @@ package org.osgi.service.component.runti
import java.util.Map;
import org.osgi.dto.DTO;
+import org.osgi.framework.dto.ServiceReferenceDTO;
import org.osgi.service.component.ComponentContext;
/**
@@ -147,4 +148,14 @@ public class ComponentConfigurationDTO e
* @since 1.4
*/
public String failure;
+
+ /**
+ * The registered service of the component configuration.
+ * <p>
+ * This must be non-{@code null} if the component configuration is
+ * registered as a service. Otherwise it must be {@code null}.
+ *
+ * @since 1.4
+ */
+ public ServiceReferenceDTO service;
}
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentDescriptionDTO.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentDescriptionDTO.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentDescriptionDTO.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ComponentDescriptionDTO.java Mon Jan 8 15:27:04 2018
@@ -174,8 +174,8 @@ public class ComponentDescriptionDTO ext
* The factory properties.
* <p>
* These are declared in the component description by the
- * {@code factoryProperty} and {@code factoryProperties} elements. This must
- * be {@code null} if the component description is not declared as a
+ * {@code factory-property} and {@code factory-properties} elements. This
+ * must be {@code null} if the component description is not declared as a
* {@link #factory factory component}.
*
* @since 1.4
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java?rev=1820570&r1=1820569&r2=1820570&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java Mon Jan 8 15:27:04 2018
@@ -1,5 +1,5 @@
/*
- * Copyright (c) OSGi Alliance (2013, 2016). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2013, 2017). All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.