Update to latest DS api
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1656030 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java b/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
index 42331da..438591a 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/runtime/ServiceComponentRuntimeImpl.java
@@ -310,19 +310,12 @@
dto.bind = r.getBind();
dto.cardinality = r.getCardinality();
dto.field = r.getField();
+ dto.fieldOption = r.getFieldOption();
dto.interfaceName = r.getInterface();
dto.name = r.getName();
dto.policy = r.getPolicy();
dto.policyOption = r.getPolicyOption();
dto.scope = r.getScope().name();
- if ( r.getField() != null )
- {
- dto.strategy = r.isReplace() ? ReferenceDTO.STRATEGY_FIELD_REPLACE : ReferenceDTO.STRATEGY_FIELD_UPDATE;
- }
- else
- {
- dto.strategy = r.getBind() != null ? ReferenceDTO.STRATEGY_METHOD : ReferenceDTO.STRATEGY_LOOKUP;
- }
dto.target = r.getTarget();
dto.unbind = r.getUnbind();
dto.updated = r.getUpdated();
diff --git a/scr/src/main/java/org/osgi/service/component/ComponentConstants.java b/scr/src/main/java/org/osgi/service/component/ComponentConstants.java
index c8d3fa1..de3a41a 100644
--- a/scr/src/main/java/org/osgi/service/component/ComponentConstants.java
+++ b/scr/src/main/java/org/osgi/service/component/ComponentConstants.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) OSGi Alliance (2004, 2014). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2015). 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.
@@ -21,7 +21,7 @@
/**
* Defines standard names for Service Component constants.
*
- * @author $Id: 93b7c4e0215afc23d3f2dce477cdf4298fd366a4 $
+ * @author $Id: 624eb5610c2127d24ce76f16b3cc146cbcf6db57 $
*/
@ProviderType
public interface ComponentConstants {
@@ -123,4 +123,20 @@
* @since 1.1
*/
public static final int DEACTIVATION_REASON_BUNDLE_STOPPED = 6;
+
+ /**
+ * Capability name for Service Component Runtime.
+ *
+ * <p>
+ * Used in {@code Provide-Capability} and {@code Require-Capability}
+ * manifest headers with the {@code osgi.extender} namespace. For example:
+ *
+ * <pre>
+ * Require-Capability: osgi.extender;
+ * filter:="(&(osgi.extender=osgi.component)(version>=1.3)(!(version>=2.0)))"
+ * </pre>
+ *
+ * @since 1.3
+ */
+ public static final String COMPONENT_CAPABILITY_NAME = "osgi.component";
}
diff --git a/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java b/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java
index 7d7fc31..8f7c5b1 100755
--- a/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java
+++ b/scr/src/main/java/org/osgi/service/component/runtime/dto/ReferenceDTO.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) OSGi Alliance (2013, 2014). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2013, 2015). 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.
@@ -23,56 +23,11 @@
*
* @since 1.3
* @NotThreadSafe
- * @author $Id: 906b26512776b149670ec3048a8714dc99ff447a $
+ * @author $Id: fca2413271fcded16b4ebe3c6628fe8660e2575e $
*/
public class ReferenceDTO extends DTO {
/**
- * Constant for the lookup strategy
- *
- * @see #strategy
- */
- public static final String STRATEGY_LOOKUP = "LOOKUP";
-
- /**
- * Constant for the method strategy
- *
- * @see #strategy
- */
- public static final String STRATEGY_METHOD = "METHOD";
-
- /**
- * Constant for the field replace strategy
- *
- * @see #strategy
- */
- public static final String STRATEGY_FIELD_REPLACE = "FIELD_REPLACE";
-
- /**
- * Constant for the field update strategy
- *
- * @see #strategy
- */
- public static final String STRATEGY_FIELD_UPDATE = "FIELD_UPDATE";
-
- /**
- * The strategy of the reference.
- *
- * <p>
- * This field returns the strategy used for this reference. If the value is
- * either {@code #STRATEGY_FIELD_REPLACE} or {@code #STRATEGY_FIELD_UPDATE},
- * {@link #field} returns the name of the field. If the strategy is
- * {@code #STRATEGY_METHOD} {@link #bind}, {@link #unbind}, and
- * {@link #updated} return the name of the methods.
- *
- * @see #STRATEGY_FIELD_REPLACE
- * @see #STRATEGY_FIELD_UPDATE
- * @see #STRATEGY_LOOKUP
- * @see #STRATEGY_METHOD
- */
- public String strategy;
-
- /**
* The name of the reference.
*
* <p>
@@ -136,9 +91,8 @@
*
* <p>
* This is declared in the {@code bind} attribute of the {@code reference}
- * element. This must be {@code null} if the component is not using the
- * method strategy or the component description does not declare a bind
- * method for the reference.
+ * element. This must be {@code null} if the component description does not
+ * declare a bind method for the reference.
*/
public String bind;
@@ -147,11 +101,8 @@
*
* <p>
* This is declared in the {@code unbind} attribute of the {@code reference}
- * element. This must be {@code null} if the component is not using the
- * method strategy or the component description does not declare an unbind
- * method for the reference.
- *
- * @see #strategy
+ * element. This must be {@code null} if the component description does not
+ * declare an unbind method for the reference.
*/
public String unbind;
@@ -160,11 +111,8 @@
*
* <p>
* This is declared in the {@code updated} attribute of the
- * {@code reference} element. This must be {@code null} if the component is
- * not using the method strategy or the component description does not
- * declare an updated method for the reference.
- *
- * @see #strategy
+ * {@code reference} element. This must be {@code null} if the component
+ * description does not declare an updated method for the reference.
*/
public String updated;
@@ -173,14 +121,22 @@
*
* <p>
* This is declared in the {@code field} attribute of the {@code reference}
- * element. This must be {@code null} if the component is using the lookup
- * or method strategy.
- *
- * @see #strategy
+ * element. This must be {@code null} if the component description does not
+ * declare a field for the reference.
*/
public String field;
/**
+ * The field option of the reference.
+ *
+ * <p>
+ * This is declared in the {@code field-option} attribute of the
+ * {@code reference} element. This must be {@code null} if the component
+ * description does not declare a field for the reference.
+ */
+ public String fieldOption;
+
+ /**
* The scope of the reference.
*
* <p>