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 2017/01/10 14:59:45 UTC
svn commit: r1778137 [2/2] - in /felix/trunk/osgi-r7/scr: ./
src/main/java/org/apache/felix/scr/impl/
src/main/java/org/apache/felix/scr/impl/helper/
src/main/java/org/apache/felix/scr/impl/inject/
src/main/java/org/apache/felix/scr/impl/inject/field/ ...
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ActivateMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ActivateMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ActivateMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ActivateMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ActivateMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ActivateMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ActivateMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import java.lang.reflect.InvocationTargetException;
@@ -27,15 +27,19 @@ import java.util.Comparator;
import java.util.List;
import java.util.Map;
-import org.apache.felix.scr.impl.helper.ComponentMethod;
-import org.apache.felix.scr.impl.helper.MethodResult;
import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.inject.ActivatorParameter;
+import org.apache.felix.scr.impl.inject.Annotations;
+import org.apache.felix.scr.impl.inject.ClassUtils;
+import org.apache.felix.scr.impl.inject.LifecycleMethod;
+import org.apache.felix.scr.impl.inject.MethodResult;
+import org.apache.felix.scr.impl.inject.SuitableMethodNotAccessibleException;
import org.apache.felix.scr.impl.metadata.DSVersion;
import org.osgi.service.component.ComponentContext;
import org.osgi.service.log.LogService;
-public class ActivateMethod extends BaseMethod<ActivatorParameter> implements ComponentMethod
+public class ActivateMethod extends BaseMethod<ActivatorParameter> implements LifecycleMethod
{
protected final boolean m_supportsInterfaces;
@@ -285,7 +289,7 @@ public class ActivateMethod extends Base
}
/**
- * @see org.apache.felix.scr.impl.helper.ComponentMethod#invoke(java.lang.Object, org.osgi.service.component.ComponentContext, int, org.apache.felix.scr.impl.helper.MethodResult, org.apache.felix.scr.impl.helper.SimpleLogger)
+ * @see org.apache.felix.scr.impl.inject.LifecycleMethod#invoke(java.lang.Object, org.osgi.service.component.ComponentContext, int, org.apache.felix.scr.impl.inject.MethodResult, org.apache.felix.scr.impl.helper.SimpleLogger)
*/
public MethodResult invoke(final Object componentInstance,
final ComponentContext componentContext,
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BaseMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BaseMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BaseMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BaseMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BaseMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BaseMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BaseMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import java.lang.reflect.InvocationTargetException;
@@ -27,8 +27,10 @@ import java.security.PrivilegedAction;
import java.util.Arrays;
import java.util.Map;
-import org.apache.felix.scr.impl.helper.MethodResult;
import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.inject.ClassUtils;
+import org.apache.felix.scr.impl.inject.MethodResult;
+import org.apache.felix.scr.impl.inject.SuitableMethodNotAccessibleException;
import org.apache.felix.scr.impl.metadata.DSVersion;
import org.osgi.service.log.LogService;
@@ -344,7 +346,7 @@ public abstract class BaseMethod<P>
// be loaded
if ( logger.isLogEnabled( LogService.LOG_WARNING ) )
{
- StringBuffer buf = new StringBuffer();
+ StringBuilder buf = new StringBuilder();
buf.append( "Failure loooking up method " ).append( name ).append( '(' );
for ( int i = 0; parameterTypes != null && i < parameterTypes.length; i++ )
{
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import java.lang.reflect.InvocationTargetException;
@@ -26,10 +26,11 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.apache.felix.scr.impl.helper.ComponentServiceObjectsHelper;
-import org.apache.felix.scr.impl.helper.MethodResult;
import org.apache.felix.scr.impl.helper.ReadOnlyDictionary;
import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.inject.BindParameters;
+import org.apache.felix.scr.impl.inject.ClassUtils;
+import org.apache.felix.scr.impl.inject.SuitableMethodNotAccessibleException;
import org.apache.felix.scr.impl.manager.ComponentContextImpl;
import org.apache.felix.scr.impl.manager.RefPair;
import org.apache.felix.scr.impl.metadata.DSVersion;
@@ -39,9 +40,10 @@ import org.osgi.service.log.LogService;
/**
* Component method to be invoked on service (un)binding.
+ * @param <S>
*/
public class BindMethod extends BaseMethod<BindParameters>
-implements org.apache.felix.scr.impl.helper.ReferenceMethod
+implements org.apache.felix.scr.impl.inject.ReferenceMethod
{
private final String m_referenceClassName;
@@ -639,22 +641,18 @@ implements org.apache.felix.scr.impl.hel
{ ClassUtils.MAP_CLASS }, acceptPrivate, acceptPackage, logger );
}
- public <S, T> boolean getServiceObject( ComponentContextImpl<S> key, RefPair<S, T> refPair, BundleContext context, SimpleLogger logger )
+ public <S, T> boolean getServiceObject( final BindParameters parameters, BundleContext context, SimpleLogger logger )
{
//??? this resolves which we need.... better way?
- if ( refPair.getServiceObject(key) == null && methodExists( logger ) )
+ if ( parameters.getRefPair().getServiceObject(parameters.getComponentContext()) == null && methodExists( logger ) )
{
if ( m_paramTypes.contains(ParamType.serviceType) ) {
- return refPair.getServiceObject(key, context, logger);
+ return parameters.getRefPair().getServiceObject(parameters.getComponentContext(), context, logger);
}
}
return true;
}
- public MethodResult invoke(Object componentInstance, ComponentContextImpl<?> componentContext, RefPair<?, ?> refPair, MethodResult methodCallFailureResult, SimpleLogger logger) {
- return invoke(componentInstance, new BindParameters(componentContext, refPair), methodCallFailureResult, logger);
- }
-
@Override
protected Object[] getParameters( Method method, BindParameters bp )
{
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethods.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethods.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethods.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethods.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethods.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/BindMethods.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/BindMethods.java Tue Jan 10 14:59:45 2017
@@ -16,17 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.felix.scr.impl.inject.methods;
-package org.apache.felix.scr.impl.inject;
-
-
-import org.apache.felix.scr.impl.helper.InitReferenceMethod;
-import org.apache.felix.scr.impl.helper.ReferenceMethod;
-import org.apache.felix.scr.impl.helper.ReferenceMethods;
-import org.apache.felix.scr.impl.inject.BindMethod;
-import org.apache.felix.scr.impl.inject.UnbindMethod;
-import org.apache.felix.scr.impl.inject.UpdatedMethod;
+import org.apache.felix.scr.impl.inject.InitReferenceMethod;
+import org.apache.felix.scr.impl.inject.ReferenceMethod;
+import org.apache.felix.scr.impl.inject.ReferenceMethods;
import org.apache.felix.scr.impl.metadata.DSVersion;
import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/DeactivateMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/DeactivateMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/DeactivateMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/DeactivateMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/DeactivateMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/DeactivateMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/DeactivateMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import org.apache.felix.scr.impl.metadata.DSVersion;
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ModifiedMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ModifiedMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ModifiedMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ModifiedMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ModifiedMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/ModifiedMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/ModifiedMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import org.apache.felix.scr.impl.metadata.DSVersion;
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UnbindMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UnbindMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UnbindMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UnbindMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UnbindMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UnbindMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UnbindMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import org.apache.felix.scr.impl.metadata.DSVersion;
@@ -25,7 +25,7 @@ import org.apache.felix.scr.impl.metadat
* Component method to be invoked on service unbinding.
*/
public class UnbindMethod extends BindMethod
-implements org.apache.felix.scr.impl.helper.ReferenceMethod
+implements org.apache.felix.scr.impl.inject.ReferenceMethod
{
public UnbindMethod( final String methodName,
Copied: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UpdatedMethod.java (from r1778136, felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UpdatedMethod.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UpdatedMethod.java?p2=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UpdatedMethod.java&p1=felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UpdatedMethod.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/UpdatedMethod.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/inject/methods/UpdatedMethod.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import org.apache.felix.scr.impl.metadata.DSVersion;
@@ -25,7 +25,7 @@ import org.apache.felix.scr.impl.metadat
* Component method to be invoked on service property update of a bound service.
*/
public class UpdatedMethod extends BindMethod
-implements org.apache.felix.scr.impl.helper.ReferenceMethod
+implements org.apache.felix.scr.impl.inject.ReferenceMethod
{
public UpdatedMethod( final String methodName,
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=1778137&r1=1778136&r2=1778137&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 Tue Jan 10 14:59:45 2017
@@ -40,9 +40,9 @@ import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
-import org.apache.felix.scr.impl.helper.MethodResult;
import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
+import org.apache.felix.scr.impl.inject.MethodResult;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
import org.apache.felix.scr.impl.metadata.ServiceMetadata;
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=1778137&r1=1778136&r2=1778137&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 Tue Jan 10 14:59:45 2017
@@ -28,7 +28,7 @@ import java.util.Map;
import org.apache.felix.scr.component.ExtFactoryComponentInstance;
import org.apache.felix.scr.impl.BundleComponentActivator;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
import org.apache.felix.scr.impl.metadata.TargetedPID;
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ConfigurableComponentHolder.java Tue Jan 10 14:59:45 2017
@@ -29,8 +29,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
import org.apache.felix.scr.impl.helper.SimpleLogger;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
import org.apache.felix.scr.impl.metadata.ServiceMetadata.Scope;
import org.apache.felix.scr.impl.metadata.TargetedPID;
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java Tue Jan 10 14:59:45 2017
@@ -31,9 +31,10 @@ import java.util.concurrent.atomic.Atomi
import java.util.concurrent.atomic.AtomicReference;
import org.apache.felix.scr.impl.helper.Coercions;
-import org.apache.felix.scr.impl.helper.MethodResult;
-import org.apache.felix.scr.impl.helper.ReferenceMethod;
-import org.apache.felix.scr.impl.helper.ReferenceMethods;
+import org.apache.felix.scr.impl.inject.BindParameters;
+import org.apache.felix.scr.impl.inject.MethodResult;
+import org.apache.felix.scr.impl.inject.ReferenceMethod;
+import org.apache.felix.scr.impl.inject.ReferenceMethods;
import org.apache.felix.scr.impl.metadata.ReferenceMetadata;
import org.apache.felix.scr.impl.metadata.ReferenceMetadata.ReferenceScope;
import org.apache.felix.scr.impl.metadata.ServiceMetadata.Scope;
@@ -1525,6 +1526,11 @@ public class DependencyManager<S, T> imp
return m_customizer.prebind(key);
}
+ public static final class OpenStatus<S, T> {
+ public final AtomicInteger trackingCount = new AtomicInteger();
+ public Collection<RefPair<S, T>> refs;
+ }
+
/**
* initializes a dependency. This method binds all of the service
* occurrences to the instance object
@@ -1533,32 +1539,44 @@ public class DependencyManager<S, T> imp
* @return true if the dependency is satisfied and at least the minimum
* number of services could be bound. Otherwise false is returned.
*/
- boolean open(ComponentContextImpl<S> componentContext, EdgeInfo edgeInfo)
+ OpenStatus<S, T> open(ComponentContextImpl<S> componentContext, EdgeInfo edgeInfo)
{
- if (!invokeInitMethod(componentContext))
- {
- m_componentManager.log(LogService.LOG_DEBUG, "For dependency {0}, failed to initialize object",
- new Object[] { getName() }, null);
- return false;
- }
-
int serviceCount = 0;
- AtomicInteger trackingCount = new AtomicInteger();
- Collection<RefPair<S, T>> refs;
+ final OpenStatus<S, T> status = new OpenStatus<S, T>();
CountDownLatch openLatch;
synchronized (m_tracker.tracked())
{
- refs = m_customizer.getRefs(trackingCount);
- edgeInfo.setOpen(trackingCount.get());
+ status.refs = m_customizer.getRefs(status.trackingCount);
+ edgeInfo.setOpen(status.trackingCount.get());
openLatch = edgeInfo.getOpenLatch();
}
m_componentManager.log(LogService.LOG_DEBUG, "For dependency {0}, optional: {1}; to bind: {2}",
- new Object[] { getName(), isOptional(), refs }, null);
- for (RefPair<S, T> refPair : refs)
+ new Object[] { getName(), isOptional(), status.refs }, null);
+ for (RefPair<S, T> refPair : status.refs)
+ {
+ if (!refPair.isDeleted() && !refPair.isFailed())
+ {
+ serviceCount++;
+ }
+ }
+ openLatch.countDown();
+ return (cardinalitySatisfied(serviceCount) ? status : null);
+ }
+
+ boolean bind(final ComponentContextImpl<S> componentContext, final OpenStatus<S, T> status)
+ {
+ if (!invokeInitMethod(componentContext))
+ {
+ m_componentManager.log(LogService.LOG_DEBUG, "For dependency {0}, failed to initialize object",
+ new Object[] { getName() }, null);
+ return false;
+ }
+ int serviceCount = 0;
+ for (RefPair<S, T> refPair : status.refs)
{
if (!refPair.isDeleted() && !refPair.isFailed())
{
- if (!doInvokeBindMethod(componentContext, refPair, trackingCount.get()))
+ if (!doInvokeBindMethod(componentContext, refPair, status.trackingCount.get()))
{
m_componentManager.log(LogService.LOG_DEBUG,
"For dependency {0}, failed to invoke bind method on object {1}",
@@ -1568,7 +1586,6 @@ public class DependencyManager<S, T> imp
serviceCount++;
}
}
- openLatch.countDown();
return cardinalitySatisfied(serviceCount);
}
@@ -1716,7 +1733,8 @@ public class DependencyManager<S, T> imp
private boolean doInvokeBindMethod(ComponentContextImpl<S> componentContext, RefPair<S, T> refPair,
int trackingCount)
{
- if (!getServiceObject(componentContext, m_bindMethods.getBind(), refPair))
+ final ReferenceMethod bindMethod = m_bindMethods.getBind();
+ if (!getServiceObject(componentContext, bindMethod, refPair))
{
m_componentManager.log(LogService.LOG_WARNING,
"DependencyManager : invokeBindMethod : Service not available from service registry for ServiceReference {0} for reference {1}",
@@ -1724,8 +1742,8 @@ public class DependencyManager<S, T> imp
return false;
}
- MethodResult result = m_bindMethods.getBind().invoke(componentContext.getImplementationObject(false),
- componentContext, refPair, MethodResult.VOID, m_componentManager);
+ MethodResult result = bindMethod.invoke(componentContext.getImplementationObject(false),
+ new BindParameters(componentContext, refPair), MethodResult.VOID, m_componentManager);
if (result == null)
{
return false;
@@ -1771,7 +1789,7 @@ public class DependencyManager<S, T> imp
}
final MethodResult methodResult = m_bindMethods.getUpdated().invoke(
- componentContext.getImplementationObject(false), componentContext, refPair, MethodResult.VOID,
+ componentContext.getImplementationObject(false), new BindParameters(componentContext, refPair), MethodResult.VOID,
m_componentManager);
if (methodResult != null)
{
@@ -1840,7 +1858,7 @@ public class DependencyManager<S, T> imp
}
MethodResult methodResult = m_bindMethods.getUnbind().invoke(
- componentContext.getImplementationObject(false), componentContext, refPair, MethodResult.VOID,
+ componentContext.getImplementationObject(false), new BindParameters(componentContext, refPair), MethodResult.VOID,
m_componentManager);
if (methodResult != null)
{
@@ -2203,7 +2221,7 @@ public class DependencyManager<S, T> imp
BundleContext bundleContext = m_componentManager.getBundleContext();
if (bundleContext != null)
{
- return bindMethod.getServiceObject(key, refPair, bundleContext, m_componentManager);
+ return bindMethod.getServiceObject(new BindParameters(key, refPair), bundleContext, m_componentManager);
}
else
{
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/PrototypeServiceFactoryComponentManager.java Tue Jan 10 14:59:45 2017
@@ -18,7 +18,7 @@
*/
package org.apache.felix.scr.impl.manager;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
import org.osgi.framework.PrototypeServiceFactory;
public class PrototypeServiceFactoryComponentManager<S> extends ServiceFactoryComponentManager<S> implements PrototypeServiceFactory<S>
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ServiceFactoryComponentManager.java Tue Jan 10 14:59:45 2017
@@ -24,9 +24,9 @@ import java.util.Collection;
import java.util.Dictionary;
import java.util.IdentityHashMap;
-import org.apache.felix.scr.impl.helper.ComponentMethod;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
-import org.apache.felix.scr.impl.helper.MethodResult;
+import org.apache.felix.scr.impl.inject.LifecycleMethod;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
+import org.apache.felix.scr.impl.inject.MethodResult;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentConstants;
@@ -215,7 +215,7 @@ public class ServiceFactoryComponentMana
protected MethodResult invokeModifiedMethod()
{
- ComponentMethod modifiedMethod = getComponentMethods().getModifiedMethod();
+ LifecycleMethod modifiedMethod = getComponentMethods().getModifiedMethod();
MethodResult result = MethodResult.VOID;
for ( ComponentContextImpl<S> componentContext : getComponentContexts() )
{
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=1778137&r1=1778136&r2=1778137&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 Tue Jan 10 14:59:45 2017
@@ -23,15 +23,16 @@ import java.util.ArrayList;
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Hashtable;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.TreeMap;
import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.felix.scr.impl.helper.ComponentMethod;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
-import org.apache.felix.scr.impl.helper.MethodResult;
-import org.apache.felix.scr.impl.metadata.ComponentMetadata;
+import org.apache.felix.scr.impl.inject.LifecycleMethod;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ConstructorMethod;
+import org.apache.felix.scr.impl.inject.MethodResult;
+import org.apache.felix.scr.impl.manager.DependencyManager.OpenStatus;
import org.apache.felix.scr.impl.metadata.TargetedPID;
import org.osgi.framework.Bundle;
import org.osgi.framework.Constants;
@@ -218,7 +219,7 @@ public class SingleComponentManager<S> e
protected S createImplementationObject( Bundle usingBundle, SetImplementationObject<S> setter, ComponentContextImpl<S> componentContext )
{
final Class<S> implementationObjectClass;
- final S implementationObject;
+ S implementationObject = null;
// 1. Load the component implementation class
// 2. Create the component instance and component context
@@ -229,136 +230,93 @@ public class SingleComponentManager<S> e
log( LogService.LOG_WARNING, "Bundle shut down during instantiation of the implementation object", null);
return null;
}
+
+ // bind target services
+ final List<DependencyManager.OpenStatus<S, ?>> openStatusList = new ArrayList<DependencyManager.OpenStatus<S,?>>();
- ReferenceManager<S, ?> failedDm = null;
-
- // bind target services for constructor injection
- final TreeMap<Integer, DependencyManager<S, ?>> paramMap;
- if ( ComponentMetadata.CONSTRUCTOR_MARKER.equals(getComponentMetadata().getActivate()))
- {
- paramMap = new TreeMap<Integer, DependencyManager<S,?>>();
- for ( DependencyManager<S, ?> dm : getDependencyManagers())
+ final Map<Integer, ConstructorMethod.ReferencePair<S>> paramMap = ( getComponentMetadata().isActivateConstructor() ? new HashMap<Integer, ConstructorMethod.ReferencePair<S>>() : null);
+ boolean failed = false;
+ for ( DependencyManager<S, ?> dm : getDependencyManagers())
+ {
+ // if a dependency turned unresolved since the validation check,
+ // creating the instance fails here, so we deactivate and return
+ // null.
+ DependencyManager.OpenStatus<S, ?> open = dm.open( componentContext, componentContext.getEdgeInfo( dm ) );
+ if ( open == null )
+ {
+ log( LogService.LOG_DEBUG, "Cannot create component instance due to failure to bind reference {0}",
+ new Object[] { dm.getName() }, null );
+
+ failed = true;
+ break;
+ }
+ openStatusList.add(open);
+ if ( dm.getReferenceMetadata().getParameterIndex() != null)
+ {
+ final ConstructorMethod.ReferencePair<S> pair = new ConstructorMethod.ReferencePair<S>();
+ pair.dependencyManager = dm;
+ pair.openStatus = open;
+ paramMap.put(dm.getReferenceMetadata().getParameterIndex(), pair);
+ }
+ }
+
+ if ( !failed )
+ {
+ try
{
- if ( failedDm == null )
- {
- if ( dm.getReferenceMetadata().getParameterIndex() != null)
- {
- // if a dependency turned unresolved since the validation check,
- // creating the instance fails here, so we deactivate and return
- // null.
- boolean open = dm.open( componentContext, componentContext.getEdgeInfo( dm ) );
- if ( !open )
- {
- log( LogService.LOG_DEBUG, "Cannot create component instance due to failure to bind reference {0}",
- new Object[] { dm.getName() }, null );
-
- failedDm = dm;
- }
- paramMap.put(dm.getReferenceMetadata().getParameterIndex(), dm);
- }
- }
+ // 112.4.4 The class is retrieved with the loadClass method of the component's bundle
+ implementationObjectClass = (Class<S>) bundle.loadClass(
+ getComponentMetadata().getImplementationClassName() ) ;
+
+ implementationObject = getComponentMethods().getConstructor().newInstance(implementationObjectClass,
+ componentContext,
+ paramMap,
+ this);
+
}
- if (failedDm != null)
+ catch ( Throwable t )
{
- // make sure, we keep no bindings. Only close the dm's we opened.
- boolean skip = true;
- for ( DependencyManager<S, ?> md: getReversedDependencyManagers() )
- {
- if ( skip )
- {
- if ( failedDm == md )
- {
- skip = false;
- }
- }
- else
- {
- if ( md.getReferenceMetadata().getParameterIndex() != null )
- {
- md.close( componentContext, componentContext.getEdgeInfo( md ) );
- }
- }
- md.deactivate();
- }
+ // failed to instantiate, return null
+ log( LogService.LOG_ERROR, "Error during instantiation of the implementation object", t );
return null;
}
- }
- else
- {
- paramMap = null;
- }
-
- try
- {
- // 112.4.4 The class is retrieved with the loadClass method of the component's bundle
- implementationObjectClass = (Class<S>) bundle.loadClass(
- getComponentMetadata().getImplementationClassName() ) ;
-
- implementationObject = getComponentMethods().getConstructor().newInstance(implementationObjectClass,
- componentContext,
- paramMap,
- this);
-
- }
- catch ( Throwable t )
- {
- // failed to instantiate, return null
- log( LogService.LOG_ERROR, "Error during instantiation of the implementation object", t );
- return null;
- }
-
- componentContext.setImplementationObject(implementationObject);
-
- // 3. set the implementation object prematurely
- setter.presetComponentContext( componentContext );
-
- // 4. Bind the target services
-
- for ( DependencyManager<S, ?> dm: getDependencyManagers())
- {
- if ( failedDm == null )
- {
- if (dm.getReferenceMetadata().getParameterIndex() == null)
- {
- // if a dependency turned unresolved since the validation check,
- // creating the instance fails here, so we deactivate and return
- // null.
- boolean open = dm.open( componentContext, componentContext.getEdgeInfo( dm ) );
- if ( !open )
- {
- log( LogService.LOG_DEBUG, "Cannot create component instance due to failure to bind reference {0}",
- new Object[] { dm.getName() }, null );
- failedDm = dm;
+ componentContext.setImplementationObject(implementationObject);
- }
- }
- }
- else
- {
- if ( dm.getReferenceMetadata().getParameterIndex() == null )
- {
- componentContext.getEdgeInfo( dm ).ignore();
- }
- }
- }
+ // 3. set the implementation object prematurely
+ setter.presetComponentContext( componentContext );
- if (failedDm != null)
+ // 4. Bind the target services
+ final Iterator<DependencyManager.OpenStatus<S, ?>> iter = openStatusList.iterator();
+ for ( DependencyManager<S, ?> dm: getDependencyManagers())
+ {
+ final DependencyManager.OpenStatus<S, ?> open = iter.next();
+ if ( !dm.bind(componentContext, (OpenStatus) open) )
+ {
+ log( LogService.LOG_DEBUG, "Cannot create component instance due to failure to bind reference {0}",
+ new Object[] { dm.getName() }, null );
+ failed = true;
+ break;
+ }
+ }
+ }
+ if (failed)
{
// make sure, we keep no bindings. Only close the dm's we opened.
- boolean skip = true;
+ int skipCount = getReversedDependencyManagers().size() - openStatusList.size();
for ( DependencyManager<S, ?> md: getReversedDependencyManagers() )
{
- if ( skip && failedDm == md )
- {
- skip = false;
- }
- if ( !skip || md.getReferenceMetadata().getParameterIndex() != null )
- {
- md.close( componentContext, componentContext.getEdgeInfo( md ) );
- }
+ if ( skipCount > 0 )
+ {
+ skipCount--;
+ }
+ else
+ {
+ md.close( componentContext, componentContext.getEdgeInfo( md ) );
+ }
md.deactivate();
}
+
setter.resetImplementationObject( implementationObject );
return null;
@@ -376,10 +334,13 @@ public class SingleComponentManager<S> e
md.close( componentContext, componentContext.getEdgeInfo( md ) );
}
- // make sure the implementation object is not available
- setter.resetImplementationObject( implementationObject );
+ if ( implementationObject != null )
+ {
+ // make sure the implementation object is not available
+ setter.resetImplementationObject( implementationObject );
+ }
- return null;
+ return null;
}
else
{
@@ -836,7 +797,7 @@ public class SingleComponentManager<S> e
protected MethodResult invokeModifiedMethod()
{
- ComponentMethod modifiedMethod = getComponentMethods().getModifiedMethod();
+ LifecycleMethod modifiedMethod = getComponentMethods().getModifiedMethod();
if ( getInstance() != null )
{
return modifiedMethod.invoke( getInstance(), m_componentContext, -1,
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ThreadDump.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ThreadDump.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ThreadDump.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/manager/ThreadDump.java Tue Jan 10 14:59:45 2017
@@ -32,7 +32,7 @@ public class ThreadDump implements Calla
public String call() throws Exception
{
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
- StringBuffer b = new StringBuffer( "Thread dump\n" );
+ StringBuilder b = new StringBuilder( "Thread dump\n" );
ThreadInfo[] infos = threadMXBean.dumpAllThreads( threadMXBean.isObjectMonitorUsageSupported(), threadMXBean.isSynchronizerUsageSupported() );
for ( int i = 0; i < infos.length; i++ )
{
Modified: felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java (original)
+++ felix/trunk/osgi-r7/scr/src/main/java/org/apache/felix/scr/impl/metadata/ComponentMetadata.java Tue Jan 10 14:59:45 2017
@@ -56,7 +56,7 @@ public class ComponentMetadata
private static final ServiceMetadata SERVICE_DUPLICATE = new ServiceMetadata();
/** If the activate method has this value, a constructor is used instead. */
- public static final String CONSTRUCTOR_MARKER = "-init-";
+ private static final String CONSTRUCTOR_MARKER = "-init-";
// the namespace code of the namespace declaring this component
private final DSVersion m_dsVersion;
@@ -618,7 +618,17 @@ public class ComponentMetadata
return m_activateDeclared;
}
-
+ /**
+ * Returns whether the activate is done through a constructor rather
+ * than a method
+ * @return {@code true} if a constructor is used
+ * @since 2.1.0 (DS 1.4)
+ */
+ public boolean isActivateConstructor()
+ {
+ return CONSTRUCTOR_MARKER.equals(m_activate);
+ }
+
/**
* Returns the names of the activation fields
*
@@ -1009,7 +1019,7 @@ public class ComponentMetadata
}
// constructor injection requires DS 1.4
- if ( CONSTRUCTOR_MARKER.equals(this.getActivate()) )
+ if ( this.isActivateConstructor() )
{
if ( !m_dsVersion.isDS14() )
{
Modified: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/PackageIsolationTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/PackageIsolationTest.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/PackageIsolationTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/PackageIsolationTest.java Tue Jan 10 14:59:45 2017
@@ -28,7 +28,6 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
-import junit.framework.TestCase;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassVisitor;
@@ -42,6 +41,8 @@ import org.objectweb.asm.TypePath;
import org.objectweb.asm.signature.SignatureReader;
import org.objectweb.asm.signature.SignatureVisitor;
+import junit.framework.TestCase;
+
/**
* Ensure that the helper / manager / metadata packages can actually be used
* without any other packages.
@@ -52,6 +53,9 @@ public class PackageIsolationTest extend
final List<String> packages = Arrays.asList(
"org/apache/felix/scr/component",
"org/apache/felix/scr/impl/helper",
+ "org/apache/felix/scr/impl/inject",
+ "org/apache/felix/scr/impl/inject/field",
+ "org/apache/felix/scr/impl/inject/methods",
"org/apache/felix/scr/impl/manager",
"org/apache/felix/scr/impl/metadata");
Modified: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/BindMethodTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/BindMethodTest.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/BindMethodTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/BindMethodTest.java Tue Jan 10 14:59:45 2017
@@ -19,13 +19,9 @@
package org.apache.felix.scr.impl.inject;
-import junit.framework.TestCase;
-
import org.apache.felix.scr.impl.BundleComponentActivator;
import org.apache.felix.scr.impl.MockBundle;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
-import org.apache.felix.scr.impl.inject.BindMethod;
-import org.apache.felix.scr.impl.inject.BindParameters;
+import org.apache.felix.scr.impl.inject.methods.BindMethod;
import org.apache.felix.scr.impl.manager.ComponentContainer;
import org.apache.felix.scr.impl.manager.ComponentContextImpl;
import org.apache.felix.scr.impl.manager.RefPair;
@@ -44,6 +40,8 @@ import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
+import junit.framework.TestCase;
+
public class BindMethodTest extends TestCase
{
@@ -455,7 +453,7 @@ public class BindMethodTest extends Test
FakeService.class.getName(), dsVersion, false );
RefPair refPair = new SingleRefPair( m_serviceReference );
ComponentContextImpl<T1> cc = new ComponentContextImpl(icm, new MockBundle(), null);
- assertTrue( bm.getServiceObject( cc, refPair, m_context, icm ) );
+ assertTrue( bm.getServiceObject( new BindParameters(cc, refPair), m_context, icm ) );
BindParameters bp = new BindParameters(cc, refPair);
bm.invoke( component, bp, null, icm );
assertEquals( expectCallPerformed, component.callPerformed );
Copied: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/methods/ActivateMethodTest.java (from r1778136, felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/ActivateMethodTest.java)
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/methods/ActivateMethodTest.java?p2=felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/methods/ActivateMethodTest.java&p1=felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/ActivateMethodTest.java&r1=1778136&r2=1778137&rev=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/ActivateMethodTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/inject/methods/ActivateMethodTest.java Tue Jan 10 14:59:45 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.felix.scr.impl.inject;
+package org.apache.felix.scr.impl.inject.methods;
import java.lang.reflect.Method;
@@ -28,7 +28,11 @@ import junit.framework.TestCase;
import org.apache.felix.scr.impl.BundleComponentActivator;
import org.apache.felix.scr.impl.manager.ComponentContainer;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ActivatorParameter;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ComponentMethodsImpl;
+import org.apache.felix.scr.impl.inject.methods.ActivateMethod;
+import org.apache.felix.scr.impl.inject.methods.BaseMethod;
import org.apache.felix.scr.impl.manager.SingleComponentManager;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
import org.apache.felix.scr.impl.metadata.DSVersion;
Modified: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/ConfiguredComponentHolderTest.java Tue Jan 10 14:59:45 2017
@@ -25,7 +25,8 @@ import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
+
+import org.apache.felix.scr.impl.inject.ComponentMethods;
import org.apache.felix.scr.impl.inject.ComponentMethodsImpl;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;
import org.apache.felix.scr.impl.metadata.DSVersion;
Modified: felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java?rev=1778137&r1=1778136&r2=1778137&view=diff
==============================================================================
--- felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java (original)
+++ felix/trunk/osgi-r7/scr/src/test/java/org/apache/felix/scr/impl/manager/SingleComponentManagerTest.java Tue Jan 10 14:59:45 2017
@@ -27,7 +27,7 @@ import java.util.concurrent.atomic.Atomi
import javax.imageio.spi.ServiceRegistry;
-import org.apache.felix.scr.impl.helper.ComponentMethods;
+import org.apache.felix.scr.impl.inject.ComponentMethods;
import org.apache.felix.scr.impl.inject.ComponentMethodsImpl;
import org.apache.felix.scr.impl.manager.AbstractComponentManager.State;
import org.apache.felix.scr.impl.metadata.ComponentMetadata;