You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2015/03/19 20:39:07 UTC
svn commit: r1667855 - in /felix/trunk/dependencymanager: cnf/localrepo/
cnf/releaserepo/
cnf/releaserepo/org.apache.felix.dependencymanager.annotation/
cnf/releaserepo/org.apache.felix.dependencymanager.runtime/
cnf/releaserepo/org.apache.felix.depend...
Author: pderop
Date: Thu Mar 19 19:39:06 2015
New Revision: 1667855
URL: http://svn.apache.org/r1667855
Log:
Removed core/runtime/shell 3.2.0 bundles from the release repo, and replaced them by the new 4.0.0 version.
Added annotation 4.0.0 in release repo.
FELIX-4833: Fixed some javadocs in the annotations.
Updated changelogs with FELIX-4833, and FELIX-4832.
Updated runtime version to 4.0.1 (automatic baselining).
Updated core version to 4.0.1 (automatic baselining).
Added:
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/org.apache.felix.dependencymanager.annotation-4.0.0.jar (with props)
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/org.apache.felix.dependencymanager.runtime-4.0.0.jar (with props)
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.0.jar (with props)
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.0.0.jar (with props)
Removed:
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/org.apache.felix.dependencymanager.runtime-3.2.0.jar
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-3.2.0.jar
felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-3.2.0.jar
Modified:
felix/trunk/dependencymanager/cnf/localrepo/index.xml
felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha
felix/trunk/dependencymanager/cnf/releaserepo/index.xml
felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Init.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd
felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt
Modified: felix/trunk/dependencymanager/cnf/localrepo/index.xml
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/localrepo/index.xml?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
Binary files - no diff available.
Modified: felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha (original)
+++ felix/trunk/dependencymanager/cnf/localrepo/index.xml.sha Thu Mar 19 19:39:06 2015
@@ -1 +1 @@
-6985dc81e95848d75021052d7dd392b0f3eae258fdc1ed883c10f6b2be40555b
\ No newline at end of file
+2ebc056763851c77351f864aab070f3f7f808fe1fd23c24d7590140705dd0882
\ No newline at end of file
Modified: felix/trunk/dependencymanager/cnf/releaserepo/index.xml
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/index.xml?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
Binary files - no diff available.
Modified: felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha (original)
+++ felix/trunk/dependencymanager/cnf/releaserepo/index.xml.sha Thu Mar 19 19:39:06 2015
@@ -1 +1 @@
-52327447e0d3fc0d7d29dd203c14473caad9388425a7d7dff83adfcb0d814765
\ No newline at end of file
+c60665646276baa2aeaf7b160059286bf32c4a4f5fefc361135868d07b66a5c9
\ No newline at end of file
Added: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/org.apache.felix.dependencymanager.annotation-4.0.0.jar
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/org.apache.felix.dependencymanager.annotation-4.0.0.jar?rev=1667855&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.annotation/org.apache.felix.dependencymanager.annotation-4.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/zip
Added: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/org.apache.felix.dependencymanager.runtime-4.0.0.jar
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/org.apache.felix.dependencymanager.runtime-4.0.0.jar?rev=1667855&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.runtime/org.apache.felix.dependencymanager.runtime-4.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/zip
Added: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.0.jar
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.0.jar?rev=1667855&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager.shell/org.apache.felix.dependencymanager.shell-4.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/zip
Added: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.0.0.jar
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.0.0.jar?rev=1667855&view=auto
==============================================================================
Binary file - no diff available.
Propchange: felix/trunk/dependencymanager/cnf/releaserepo/org.apache.felix.dependencymanager/org.apache.felix.dependencymanager-4.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/zip
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/bnd.bnd Thu Mar 19 19:39:06 2015
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-Bundle-Version:4.0.0
+Bundle-Version: 4.0.1
-buildpath: \
osgi.core;version=4.2,\
de.twentyeleven.skysail.org.json-osgi;version=20080701.0,\
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/resources/changelog.txt Thu Mar 19 19:39:06 2015
@@ -1,3 +1,8 @@
+Release org.apache.felix.dependencymanager.r2:
+---------------------------------------------
+
+FELIX-4833: Revisit some javadocs in the DM annotations.
+
Release org.apache.felix.dependencymanager.r1:
---------------------------------------------
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/BundleDependency.java Thu Mar 19 19:39:06 2015
@@ -102,6 +102,8 @@ public @interface BundleDependency
* All unnamed dependencies will be injected before the init() method; so from the init() method, you can
* then pick up whatever information needed from already injected (unnamed) dependencies, and configure dynamically
* your named dependencies, which will then be calculated once the init() method returns.
+ *
+ * <p> See {@link Init} annotation for an example usage of a dependency dynamically configured from the init method.
*/
String name() default "";
}
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Init.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Init.java?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Init.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/Init.java Thu Mar 19 19:39:06 2015
@@ -24,33 +24,66 @@ import java.lang.annotation.RetentionPol
import java.lang.annotation.Target;
/**
- * Annotates a method which will be invoked when the Service is initializing.
- * All required dependencies are already injected before the annotated method is called, and
- * optional dependencies on class fields are injected with NullObjects if the optional
- * dependencies are not currently available.<p>
- *
- * If some dependencies are declared using a <b>named</b> @{@link ServiceDependency} annotation,
- * then the annotated method may optionally return a Map used to dynamically configure such
- * dependencies (Please refer to @{@link ServiceDependency#name()} attribute for more
- * information about this feature).<p>
- *
- * After the init method returns, the component is then invoked in the method annotated with
- * @{@link Start}, in order to notify that the component is about to be registered into the OSGi
- * registry (if this one provides a service). However, you can take control of when the service is registered,
- * using the @{@link LifecycleController} annotation).
+ * Annotates a method used to configure dynamic dependencies.
+ * When this method is invoked, all required dependencies (except the ones declared with a <code>name</code>
+ * attribute) are already injected, and optional dependencies on class fields
+ * are also already injected (possibly with NullObjects).<p>
+ *
+ * The purpose of the @Init method is to either declare more dynamic dependencies using the DM API, or to
+ * return a Map used to dynamically configure dependencies that are annotated using a <code>name</code> attribute.
+ *
+ * After the init method returns, the added or configured dependencies are then tracked, and when all dynamic
+ * dependencies are injected, then the start method (annotated with @Start) is then invoked.
*
* <h3>Usage Examples</h3>
- * Here, the "VideoPlayer" init method is called after the "log" dependency is injected.
+ * In this sample, the "PersistenceImpl" component dynamically configures the "storage" dependency from the "init" method.
+ * The dependency "required" flag and filter string are derived from an xml configuration that is already injected before the init
+ * method.
+ *
* <blockquote>
* <pre>
*
* @Component
- * public class VideoPlayer {
+ * public class PersistenceImpl implements Persistence {
+ * // Injected before init.
* @ServiceDependency
* LogService log;
*
+ * // Injected before init.
+ * @ConfigurationDependency
+ * void updated(Dictionary conf) {
+ * if (conf != null) {
+ * _xmlConfiguration = parseXmlConfiguration(conf.get("xmlConfiguration"));
+ * }
+ * }
+ *
+ * // Parsed xml configuration, where we'll get our storage service filter and required dependency flag.
+ * XmlConfiguration _xmlConfiguration;
+ *
+ * // Injected after init (dependency filter is defined dynamically from our init method).
+ * @ServiceDependency(name="storage")
+ * Storage storage;
+ *
+ * // Dynamically configure the dependency declared with a "storage" name.
* @Init
- * void init() {} // initialize our service (the "log" dependency is already injected).
+ * Map<String, String> init() {
+ * log.log(LogService.LOG_WARNING, "init: storage type=" + storageType + ", storageRequired=" + storageRequired);
+ * Map<String, String> props = new HashMap<>();
+ * props.put("storage.required", Boolean.toString(_xmlConfiguration.isStorageRequired()))
+ * props.put("storage.filter", "(type=" + _xmlConfiguration.getStorageType() + ")");
+ * return props;
+ * }
+ *
+ * // All dependencies injected, including dynamic dependencies defined from init method.
+ * @Start
+ * void start() {
+ * log.log(LogService.LOG_WARNING, "start");
+ * }
+ *
+ * @Override
+ * void store(String key, String value) {
+ * storage.store(key, value);
+ * }
* }
* </pre>
* </blockquote>
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ResourceDependency.java Thu Mar 19 19:39:06 2015
@@ -150,6 +150,8 @@ public @interface ResourceDependency
* All unnamed dependencies will be injected before the init() method; so from the init() method, you can
* then pick up whatever information needed from already injected (unnamed) dependencies, and configure dynamically
* your named dependencies, which will then be calculated once the init() method returns.
+ *
+ * <p> See {@link Init} annotation for an example usage of a dependency dynamically configured from the init method.
*/
String name() default "";
}
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/api/ServiceDependency.java Thu Mar 19 19:39:06 2015
@@ -126,54 +126,7 @@ public @interface ServiceDependency
* then pick up whatever information needed from already injected (unnamed) dependencies, and configure dynamically
* your named dependencies, which will then be calculated once the init() method returns.
*
- * <p> Usage example of a Service whose dependency filter is configured from ConfigAdmin:
- *
- * <blockquote><pre>
- * /**
- * * A Service whose service dependency "otherService" filter is configured from ConfigAdmin
- * */
- * @Service
- * class X {
- * private Dictionary m_config;
- *
- * /**
- * * Initialize our service from config ... and store the config for later usage (from our init method)
- * */
- * @ConfigurationDependency(pid="MyPid")
- * void configure(Dictionary conf) {
- * m_config = config;
- * }
- *
- * /**
- * * All unnamed dependencies are injected: we can now configure other named
- * * dependencies, using the already injected configuration.
- * * The returned Map will be used to configure our "otherService" Dependency.
- * */
- * @Init
- * Map init() {
- * return new HashMap() {{
- * put("otherService.filter", m_config.get("filter"));
- * put("otherService.required", m_config.get("required"));
- * }};
- * }
- *
- * /**
- * * This named dependency filter/required flag will be configured by our init method (see above).
- * */
- * @ServiceDependency(name="otherService")
- * void bindOtherService(OtherService other) {
- * }
- *
- * /**
- * * All dependencies are injected and our service is now ready to be published.
- * * Notice that you can also use the publisher service attribute if you need
- * * to take control on service exposition.
- * */
- * @Start
- * void start() {
- * }
- * }
- * </pre></blockquote>
+ * <p> See {@link Init} annotation for an example usage of a dependency dynamically configured from the init method.
*/
String name() default "";
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.runtime/bnd.bnd Thu Mar 19 19:39:06 2015
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-Bundle-Version: 4.0.0
+Bundle-Version: 4.0.1
-buildpath: \
osgi.core;version=4.2,\
osgi.cmpn;version=4.2,\
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager.shell/bnd.bnd Thu Mar 19 19:39:06 2015
@@ -24,7 +24,7 @@
Private-Package: \
org.apache.felix.dm.shell
Bundle-Activator:org.apache.felix.dm.shell.Activator
-Bundle-Version: 4.0.0
+Bundle-Version: 4.0.1
Include-Resource: META-INF/=resources/LICENSE,\
META-INF/=resources/NOTICE,\
META-INF/=resources/DEPENDENCIES,\
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/bnd.bnd Thu Mar 19 19:39:06 2015
@@ -34,7 +34,7 @@ Include-Resource: META-INF/=resources/LI
META-INF/=resources/changelog.txt
Import-Package: !org.junit,!org.mockito.*,*
Bundle-Activator: org.apache.felix.dm.impl.Activator
-Bundle-Version: 4.0.0
+Bundle-Version: 4.0.1
Bundle-Name: Apache Felix Dependency Manager
Bundle-Description: Provides dynamic service and component dependency management
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
Modified: felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt?rev=1667855&r1=1667854&r2=1667855&view=diff
==============================================================================
--- felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt (original)
+++ felix/trunk/dependencymanager/org.apache.felix.dependencymanager/resources/changelog.txt Thu Mar 19 19:39:06 2015
@@ -1,3 +1,8 @@
+Release org.apache.felix.dependencymanager.r2:
+---------------------------------------------
+
+FELIX-4832: ClassCastException with autoconfig Iterable fields.
+
Release org.apache.felix.dependencymanager.r1:
---------------------------------------------