diff --git a/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml b/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml index 413e72ccca..8994b27b0d 100644 --- a/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml +++ b/blueprint-maven-plugin/blueprint-maven-plugin/pom.xml @@ -57,7 +57,7 @@ 1.2-b03 3.16.0 3.10.0 - 1.0.1 + 1.0.2 1.3.2 1.10.3 1.0.4 @@ -96,25 +96,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - resource-dependencies - process-test-resources - - unpack-dependencies - - - - **/aries/**/*.xsd - ${project.build.directory}/test-classes/schema - true - - - - @@ -255,9 +236,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${org.apache.aries.blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} test diff --git a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java index fef8333d27..d03ea8071d 100644 --- a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java +++ b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/java/org/apache/aries/blueprint/plugin/BlueprintFileWriterTest.java @@ -686,7 +686,7 @@ public void generatedXmlIsValid() throws Exception { List sources = Arrays.asList( "/schema/example.xsd", - "/schema/org/apache/aries/blueprint/blueprint.xsd", + "/schema/blueprint.xsd", "/schema/org/apache/aries/blueprint/ext/impl/blueprint-ext.xsd", "/schema/org/apache/aries/blueprint/ext/impl/blueprint-ext-1.1.xsd", "/schema/org/apache/aries/blueprint/ext/impl/blueprint-ext-1.2.xsd", diff --git a/blueprint-maven-plugin/blueprint-maven-plugin/src/test/resources/schema/blueprint.xsd b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/resources/schema/blueprint.xsd new file mode 100644 index 0000000000..66c03e0685 --- /dev/null +++ b/blueprint-maven-plugin/blueprint-maven-plugin/src/test/resources/schema/blueprint.xsd @@ -0,0 +1,1233 @@ + + + + + + + + + if used as a qualified namespace, "bp" is the recommended + namespace prefix. + ]]> + + + + + + + + + , , + and elements are all derived from + the Tcomponent type. This type defines an id attribute + that is used create references between different components. + Component elements can also be inlined within other component + definitions. The id attribute is not valid when inlined. + ]]> + + + + + + + + + element. + ]]> + + + + + + + + or elements with unstatisfied + manadatory references, then the depends-on relationship will also + be used to determine whether this service is enabled or not. + ]]> + + + + + + + + + element is the root element for a blueprint + configuration file. A blueprint configuration has two sections. + The first section (contained within the element) + identifies components that are used for converting values into + different target types. The type converters are optional, so + the file does not need to specify a type converter section. + + Following the type converters are the component definitions. + Components are , , , and + elements that identify the bundle components that will + be managed by the blueprint service. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element can override the specified configuration + default. + ]]> + + + + + + + , and components. The + normal default is "mandatory", and can be changed by individual + service reference components. + ]]> + + + + + + + + + + element. The + section is a set of , , or + elements that identify the type converter components. + ]]> + + + + + + + + + + + + + + + + element + or an inlined or . + ]]> + + + + + + + + + + + + + + , , , and . + ]]> + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + component. The + attributes provide the characteristics for how to create a + bean instance. Constructor arguments and injected properties + are specified via child and elements. + ]]> + + + + + + + + + + + + + + + + + + + + elements. Those elements have some restrictions on + the attributes that can be used to define them. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + component. The elements are the arguments for the + bean class constructor or passed to the bean factory method. + + The type, if specified, is used to disambiguate the constructor + or method signature. Arguments may also be matched up with + arguments by explicitly specifying the index position. If the + index is used, then all elements for the bean must + also specify the index. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + + + component. The elements correspond to named + JavaBean setting methods for a created bean object. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + element. These + are instances of the TserviceReference type, with the addition + of a timeout attribute. If the timeout is not specified, + the default-timeout value is inherited from the encapsulating + definition. + ]]> + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + . This adds in the characteristics that + only apply to collections of references (e.g., member-type). + ]]> + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + and elements. This type defines all of the + characteristics common to both sorts of references. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + to a or element, or an inline + or . + ]]> + + + + + + + + + + or element. The listener + object can be specified as a or as an inline or + component. Listener events are mapped to the indicated + bind or unbind methods. + ]]> + + + + + + + + + + + + + + default-activation attribute and the + activation attribute. + ]]> + + + + + + + + + + + + default-availability attribute and the + and availability attribute. + ]]> + + + + + + + + + + + + + + to a component or an + bean component. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + element also has + a shortcut interface attribute for the usual case of just + a single interface being used. This also cannot be used if + the auto-export attribute is used. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + to a or component, or an inline + or component definition. The registration-method and + unregistration-method attributes define the methods that will be called + for the respective events. + + For the very common case of using a to a listener component, the + ref attribute may also be used as a shortcut. + ]]> + + + + + + + + + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, any of the + collection types (, , , , ), and the + type to inject a null value. + ]]> + + + + + + + + + + + + value type. + ]]> + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, and any of the + collection types (, , , , ). + + The type is NOT a member of this group. + ]]> + + + + + + + + + + + + + + + + + + elements. This specifies a required + component id for the reference component. + ]]> + + + + + + + + + elements. The element + is used for types that can be created from a single string value. + The string value is the data value for the element. The optional + type attribute allows a target conversion value to be explicitly + specified. + ]]> + + + + + + + + + + + + + + + + + + + + , , and elements. + ]]> + + + + + + + + + + + + + value element. The prop elements + are pairs of string-valued keys and values. + ]]> + + + + + + + + + + + value type. The property + value can be specified using either the attribute, or as value data for + the property element. + ]]> + + + + + + + + + + + elements. A map may have a + default value type specified, so it inherits from the TtypeCollection + type. A key type can also be specified, and the map members are + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + + + + elements nested inside of a element. + Each instance defines a key/value pair that will be added to the + Map. Both the keys and values may be arbitrary types. Keys must not + be but is permitted for entry values. A default type + can be specified for both the keys and the values, but individual keys + or values can override the default. + ]]> + + + + + + + + + + + + + + + + + elements. + The syntax is similar to what is defined for , but keys must be + string values and there are no type defaults that can be specified. + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + element. This does not allow a child element and there are no + key-ref or value-ref attributes. + ]]> + + + + + + + + + + + + + + + element type to allow documentation to added to the + blueprint configuration. + ]]> + + + + + + + + + element used for + ]]> + + + + + + + + + + + element. + This is just a xxxxx element where the contained + value is the name of an interface class. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/blueprint/blueprint-api/LICENSE b/blueprint/blueprint-api/LICENSE deleted file mode 100644 index 6b0b1270ff..0000000000 --- a/blueprint/blueprint-api/LICENSE +++ /dev/null @@ -1,203 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - diff --git a/blueprint/blueprint-api/NOTICE b/blueprint/blueprint-api/NOTICE deleted file mode 100644 index 10e11c01c9..0000000000 --- a/blueprint/blueprint-api/NOTICE +++ /dev/null @@ -1,9 +0,0 @@ - -Apache Aries -Copyright 2009-2011 The Apache Software Foundation - -This product includes software developed at -The Apache Software Foundation (http://www.apache.org/). - -This product includes software developed at -the OSGi Alliance (http://www.osgi.org/). diff --git a/blueprint/blueprint-api/pom.xml b/blueprint/blueprint-api/pom.xml deleted file mode 100644 index dd295aa215..0000000000 --- a/blueprint/blueprint-api/pom.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - 4.0.0 - - - org.apache.aries - parent - 3.2.0 - ../../parent/pom.xml - - - org.apache.aries.blueprint - org.apache.aries.blueprint.api - bundle - 1.0.2-SNAPSHOT - Apache Aries Blueprint API - - This bundle contains the blueprint api 1.0.1 and the corresponding xml schema. - - - - scm:git:git@github.com:apache/aries.git - scm:git:git@github.com:apache/aries.git - https://github.com/apache/aries - - - - - - !org.osgi.service.blueprint, - org.osgi.service.blueprint.* - - - org.osgi.framework - - - - none - 1.0.0 - - 4.3.1 - - - - - org.osgi - osgi.core - ${osgi.core.version} - provided - - - diff --git a/blueprint/blueprint-api/src/main/appended-resources/META-INF/NOTICE.vm b/blueprint/blueprint-api/src/main/appended-resources/META-INF/NOTICE.vm deleted file mode 100644 index 3e5ad36629..0000000000 --- a/blueprint/blueprint-api/src/main/appended-resources/META-INF/NOTICE.vm +++ /dev/null @@ -1,2 +0,0 @@ -This product includes software developed at -the OSGi Alliance (http://www.osgi.org/). \ No newline at end of file diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java deleted file mode 100644 index 73c2905f9f..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -import java.util.Collection; -import java.util.Set; - -import org.osgi.service.blueprint.reflect.BeanMetadata; -import org.osgi.service.blueprint.reflect.ComponentMetadata; -import org.osgi.service.blueprint.reflect.ReferenceListMetadata; -import org.osgi.service.blueprint.reflect.ReferenceMetadata; -import org.osgi.service.blueprint.reflect.ServiceMetadata; -import org.osgi.service.blueprint.reflect.ServiceReferenceMetadata; - -/** - * A Blueprint Container represents the managed state of a Blueprint bundle. - * - * A Blueprint Container provides access to all managed components. These are - * the beans, services, and service references. Only bundles in the - * ACTIVE state (and also the STARTING state for - * bundles awaiting lazy activation) can have an associated Blueprint Container. - * A given Bundle Context has at most one associated Blueprint Container. - * - * A Blueprint Container can be obtained by injecting the predefined - * "blueprintContainer" component id. The Blueprint Container is also - * registered as a service and its managed components can be queried. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface BlueprintContainer { - /** - * Returns the set of component ids managed by this Blueprint Container. - * - * @return An immutable Set of Strings, containing the ids of all of the - * components managed within this Blueprint Container. - */ - Set getComponentIds(); - - /** - * Return the component instance for the specified component id. - * - * If the component's manager has not yet been activated, calling this - * operation will atomically activate it. If the component has singleton - * scope, the activation will cause the component instance to be created and - * initialized. If the component has prototype scope, then each call to this - * method will return a new component instance. - * - * @param id The component id for the requested component instance. - * @return A component instance for the component with the specified - * component id. - * @throws NoSuchComponentException If no component with the specified - * component id is managed by this Blueprint Container. - */ - Object getComponentInstance(String id); - - /** - * Return the Component Metadata object for the component with the specified - * component id. - * - * @param id The component id for the requested Component Metadata. - * @return The Component Metadata object for the component with the - * specified component id. - * @throws NoSuchComponentException If no component with the specified - * component id is managed by this Blueprint Container. - */ - ComponentMetadata getComponentMetadata(String id); - - /** - * Return all {@link ComponentMetadata} objects of the specified Component - * Metadata type. The supported Component Metadata types are - * {@link ComponentMetadata} (which returns the Component Metadata for all - * defined manager types), {@link BeanMetadata} , - * {@link ServiceReferenceMetadata} (which returns both - * {@link ReferenceMetadata} and {@link ReferenceListMetadata} objects), and - * {@link ServiceMetadata}. The collection will include all Component - * Metadata objects of the requested type, including components that are - * declared inline. - * - * @param type The super type or type of the requested Component Metadata - * objects. - * @return An immutable collection of Component Metadata objects of the - * specified type. - */ - Collection getMetadata( - Class type); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java deleted file mode 100644 index c758238213..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java +++ /dev/null @@ -1,370 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -import org.osgi.framework.Bundle; - -/** - * A Blueprint Event. - * - *

- * BlueprintEvent objects are delivered to all registered - * {@link BlueprintListener} services. Blueprint Events must be asynchronously - * delivered in chronological order with respect to each listener. - * - *

- * In addition, after a Blueprint Listener is registered, the Blueprint extender - * will synchronously send to this Blueprint Listener the last Blueprint Event - * for each ready Blueprint bundle managed by this extender. This - * replay of Blueprint Events is designed so that the new Blueprint - * Listener can be informed of the state of each Blueprint bundle. Blueprint - * Events sent during this replay will have the {@link #isReplay()} flag set. - * The Blueprint extender must ensure that this replay phase does not interfere - * with new Blueprint Events so that the chronological order of all Blueprint - * Events received by the Blueprint Listener is preserved. If the last Blueprint - * Event for a given Blueprint bundle is {@link #DESTROYED}, the extender must - * not send it during this replay phase. - * - *

- * A type code is used to identify the type of event. The following event types - * are defined: - *

    - *
  • {@link #CREATING}
  • - *
  • {@link #CREATED}
  • - *
  • {@link #DESTROYING}
  • - *
  • {@link #DESTROYED}
  • - *
  • {@link #FAILURE}
  • - *
  • {@link #GRACE_PERIOD}
  • - *
  • {@link #WAITING}
  • - *
- * - *

- * In addition to calling the registered {@link BlueprintListener} services, the - * Blueprint extender must also send those events to the Event Admin service, if - * it is available. - * - * @see BlueprintListener - * @see EventConstants - * @Immutable - * @version $Revision$ - */ -public class BlueprintEvent { - - /** - * The Blueprint extender has started creating a Blueprint Container for the - * bundle. - */ - public static final int CREATING = 1; - /** - * The Blueprint extender has created a Blueprint Container for the bundle. - * This event is sent after the Blueprint Container has been registered as a - * service. - */ - public static final int CREATED = 2; - /** - * The Blueprint extender has started destroying the Blueprint Container for - * the bundle. - */ - public static final int DESTROYING = 3; - /** - * The Blueprint Container for the bundle has been completely destroyed. - * This event is sent after the Blueprint Container has been unregistered as - * a service. - */ - public static final int DESTROYED = 4; - /** - * The Blueprint Container creation for the bundle has failed. If this event - * is sent after a timeout in the Grace Period, the - * {@link #getDependencies()} method must return an array of missing - * mandatory dependencies. The event must also contain the cause of the - * failure as a Throwable through the {@link #getCause()} - * method. - */ - public static final int FAILURE = 5; - /** - * The Blueprint Container has entered the grace period. The list of missing - * dependencies must be made available through the - * {@link #getDependencies()} method. During the grace period, a - * {@link #GRACE_PERIOD} event is sent each time the set of unsatisfied - * dependencies changes. - */ - public static final int GRACE_PERIOD = 6; - /** - * The Blueprint Container is waiting on the availability of a service to - * satisfy an invocation on a referenced service. The missing dependency - * must be made available through the {@link #getDependencies()} method - * which will return an array containing one filter object as a String. - */ - public static final int WAITING = 7; - - /** - * Type of this event. - * - * @see #getType() - */ - private final int type; - /** - * The time when the event occurred. - * - * @see #getTimestamp() - */ - private final long timestamp; - /** - * The Blueprint bundle. - * - * @see #getBundle() - */ - private final Bundle bundle; - /** - * The Blueprint extender bundle. - * - * @see #getExtenderBundle() - */ - private final Bundle extenderBundle; - /** - * An array containing filters identifying the missing dependencies. Must - * not be null when the event type requires it. - * - * @see #getDependencies() - */ - private final String[] dependencies; - /** - * Cause of the failure. - * - * @see #getCause() - */ - private final Throwable cause; - /** - * Indicate if this event is a replay event or not. - * - * @see #isReplay() - */ - private final boolean replay; - - /** - * Create a simple BlueprintEvent object. - * - * @param type The type of this event. - * @param bundle The Blueprint bundle associated with this event. This - * parameter must not be null. - * @param extenderBundle The Blueprint extender bundle that is generating - * this event. This parameter must not be null. - */ - public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle) { - this(type, bundle, extenderBundle, null, null); - } - - /** - * Create a BlueprintEvent object associated with a set of - * dependencies. - * - * @param type The type of this event. - * @param bundle The Blueprint bundle associated with this event. This - * parameter must not be null. - * @param extenderBundle The Blueprint extender bundle that is generating - * this event. This parameter must not be null. - * @param dependencies An array of String filters for each - * dependency associated with this event. Must be a non-empty array - * for event types {@link #FAILURE}, {@link #GRACE_PERIOD} and - * {@link #WAITING}. Must be null for other event types. - */ - public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, - String[] dependencies) { - this(type, bundle, extenderBundle, dependencies, null); - } - - /** - * Create a BlueprintEvent object associated with a failure - * cause. - * - * @param type The type of this event. - * @param bundle The Blueprint bundle associated with this event. This - * parameter must not be null. - * @param extenderBundle The Blueprint extender bundle that is generating - * this event. This parameter must not be null. - * @param cause A Throwable object describing the root cause of - * the event. May be null. - */ - public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, - Throwable cause) { - this(type, bundle, extenderBundle, null, cause); - } - - /** - * Create a BlueprintEvent object associated with a failure - * cause and a set of dependencies. - * - * @param type The type of this event. - * @param bundle The Blueprint bundle associated with this event. This - * parameter must not be null. - * @param extenderBundle The Blueprint extender bundle that is generating - * this event. This parameter must not be null. - * @param dependencies An array of String filters for each - * dependency associated with this event. Must be a non-empty array - * for event types {@link #GRACE_PERIOD} and (@link #WAITING}. It - * is optional for {@link #FAILURE} event types. - * Must be null for other event types. - * @param cause A Throwable object describing the root cause of - * this event. May be null. - */ - public BlueprintEvent(int type, Bundle bundle, Bundle extenderBundle, - String[] dependencies, Throwable cause) { - this.type = type; - this.timestamp = System.currentTimeMillis(); - this.bundle = bundle; - this.extenderBundle = extenderBundle; - this.dependencies = dependencies == null ? null - : (String[]) dependencies.clone();; - this.cause = cause; - this.replay = false; - if (bundle == null) { - throw new NullPointerException("bundle must not be null"); - } - if (extenderBundle == null) { - throw new NullPointerException("extenderBundle must not be null"); - } - switch (type) { - case WAITING : - case GRACE_PERIOD : - if (dependencies == null) { - throw new NullPointerException( - "dependencies must not be null"); - } - if (dependencies.length == 0) { - throw new IllegalArgumentException( - "dependencies must not be length zero"); - } - break; - case FAILURE : - // not all FAILURE events have a dependency list, but if there - // is one, it must be non-empty. - if (dependencies != null) { - if (dependencies.length == 0) { - throw new IllegalArgumentException( - "dependencies must not be length zero"); - } - } - break; - default : - if (dependencies != null) { - throw new IllegalArgumentException( - "dependencies must be null"); - } - break; - } - } - - /** - * Create a new BlueprintEvent from the specified - * BlueprintEvent. The timestamp property will be - * copied from the original event and only the replay property will be - * overridden with the given value. - * - * @param event The original BlueprintEvent to copy. Must not - * be null. - * @param replay true if this event should be used as a replay - * event. - */ - public BlueprintEvent(BlueprintEvent event, boolean replay) { - this.type = event.type; - this.timestamp = event.timestamp; - this.bundle = event.bundle; - this.extenderBundle = event.extenderBundle; - this.dependencies = event.dependencies; - this.cause = event.cause; - this.replay = replay; - } - - /** - * Return the type of this event. - *

- * The type values are: - *

    - *
  • {@link #CREATING}
  • - *
  • {@link #CREATED}
  • - *
  • {@link #DESTROYING}
  • - *
  • {@link #DESTROYED}
  • - *
  • {@link #FAILURE}
  • - *
  • {@link #GRACE_PERIOD}
  • - *
  • {@link #WAITING}
  • - *
- * - * @return The type of this event. - */ - public int getType() { - return type; - } - - /** - * Return the time at which this event was created. - * - * @return The time at which this event was created. - */ - public long getTimestamp() { - return timestamp; - } - - /** - * Return the Blueprint bundle associated with this event. - * - * @return The Blueprint bundle associated with this event. - */ - public Bundle getBundle() { - return bundle; - } - - /** - * Return the Blueprint extender bundle that is generating this event. - * - * @return The Blueprint extender bundle that is generating this event. - */ - public Bundle getExtenderBundle() { - return extenderBundle; - } - - /** - * Return the filters identifying the missing dependencies that caused this - * event. - * - * @return The filters identifying the missing dependencies that caused this - * event if the event type is one of {@link #WAITING}, - * {@link #GRACE_PERIOD} or {@link #FAILURE} or null - * for the other event types. - */ - public String[] getDependencies() { - return dependencies == null ? null : (String[]) dependencies.clone(); - } - - /** - * Return the cause for this {@link #FAILURE} event. - * - * @return The cause of the failure for this event. May be null - * . - */ - public Throwable getCause() { - return cause; - } - - /** - * Return whether this event is a replay event. - * - * @return true if this event is a replay event and - * false otherwise. - */ - public boolean isReplay() { - return replay; - } -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java deleted file mode 100644 index d34398cd45..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * A BlueprintEvent Listener. - * - *

- * To receive Blueprint Events, a bundle must register a Blueprint Listener - * service. - * - * After a Blueprint Listener is registered, the Blueprint extender must - * synchronously send to this Blueprint Listener the last Blueprint Event for - * each ready Blueprint bundle managed by this extender. This replay of - * Blueprint Events is designed so that the new Blueprint Listener can be - * informed of the state of each Blueprint bundle. Blueprint Events sent during - * this replay will have the {@link BlueprintEvent#isReplay() isReplay()} flag - * set. The Blueprint extender must ensure that this replay phase does not - * interfere with new Blueprint Events so that the chronological order of all - * Blueprint Events received by the Blueprint Listener is preserved. If the last - * Blueprint Event for a given Blueprint bundle is - * {@link BlueprintEvent#DESTROYED DESTROYED}, the extender must not send it - * during this replay phase. - * - * @see BlueprintEvent - * @ThreadSafe - * @version $Revision$ - */ -public interface BlueprintListener { - - /** - * Receives notifications of a Blueprint Event. - * - * Implementers should quickly process the event and return. - * - * @param event The {@link BlueprintEvent}. - */ - void blueprintEvent(BlueprintEvent event); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java deleted file mode 100644 index 1e9339495a..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * A Blueprint exception indicating that a component definition is in error. - * - * This exception is thrown when a configuration-related error occurs during - * creation of a Blueprint Container. - * - * @version $Revision$ - */ -public class ComponentDefinitionException extends RuntimeException { - private static final long serialVersionUID = 1L; - - /** - * Creates a Component Definition Exception with no message or exception - * cause. - */ - public ComponentDefinitionException() { - super(); - } - - /** - * Creates a Component Definition Exception with the specified message - * - * @param explanation The associated message. - */ - public ComponentDefinitionException(String explanation) { - super(explanation); - } - - /** - * Creates a Component Definition Exception with the specified message and - * exception cause. - * - * @param explanation The associated message. - * @param cause The cause of this exception. - */ - public ComponentDefinitionException(String explanation, Throwable cause) { - super(explanation, cause); - } - - /** - * Creates a Component Definition Exception with the exception cause. - * - * @param cause The cause of this exception. - */ - public ComponentDefinitionException(Throwable cause) { - super(cause); - } -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java deleted file mode 100644 index 2f5c659b99..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * Type converter to convert an object to a target type. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface Converter { - - /** - * Return if this converter is able to convert the specified object to the - * specified type. - * - * @param sourceObject The source object s to convert. - * @param targetType The target type T. - * - * @return true if the conversion is possible, - * false otherwise. - */ - boolean canConvert(Object sourceObject, ReifiedType targetType); - - /** - * Convert the specified object to an instance of the specified type. - * - * @param sourceObject The source object s to convert. - * @param targetType The target type T. - * @return An instance with a type that is assignable from targetType's raw - * class - * @throws Exception If the conversion cannot succeed. This exception should - * not be thrown when the {@link #canConvert canConvert} method has - * returned true. - */ - Object convert(Object sourceObject, ReifiedType targetType) - throws Exception; -} \ No newline at end of file diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java deleted file mode 100644 index 30e112729b..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * Event property names used in Event Admin events published by a Blueprint - * Container. - * - *

- * Each type of event is sent to a different topic: - * - *

- * org/osgi/service/blueprint/container/<event-type> - * - *

- * where <event-type> can have the values - * {@link BlueprintEvent#CREATING CREATING}, {@link BlueprintEvent#CREATED - * CREATED}, {@link BlueprintEvent#DESTROYING DESTROYING}, - * {@link BlueprintEvent#DESTROYED DESTROYED}, {@link BlueprintEvent#FAILURE - * FAILURE}, {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or - * {@link BlueprintEvent#WAITING WAITING}. - * - *

- * Such events have the following properties: - *

    - *
  • {@link #TYPE type}
  • - *
  • {@link #EVENT event}
  • - *
  • {@link #TIMESTAMP timestamp}
  • - *
  • {@link #BUNDLE bundle}
  • - *
  • {@link #BUNDLE_SYMBOLICNAME bundle.symbolicName}
  • - *
  • {@link #BUNDLE_ID bundle.id}
  • - *
  • {@link #BUNDLE_VERSION bundle.version}
  • - *
  • {@link #EXTENDER_BUNDLE_SYMBOLICNAME extender.bundle.symbolicName}
  • - *
  • {@link #EXTENDER_BUNDLE_ID extender.bundle.id}
  • - *
  • {@link #EXTENDER_BUNDLE_VERSION extender.bundle.version}
  • - *
  • {@link #DEPENDENCIES dependencies}
  • - *
  • {@link #CAUSE cause}
  • - *
- * - * @Immutable - * @version $Revision$ - */ -public class EventConstants { - private EventConstants() { - // non-instantiable class - } - - /** - * The type of the event that has been issued. This property is of type - * Integer and can take one of the values defined in - * {@link BlueprintEvent}. - */ - public static final String TYPE = "type"; - - /** - * The BlueprintEvent object that caused this event. This - * property is of type {@link BlueprintEvent}. - */ - public static final String EVENT = "event"; - - /** - * The time the event was created. This property is of type - * Long. - */ - public static final String TIMESTAMP = "timestamp"; - - /** - * The Blueprint bundle associated with this event. This property is of type - * Bundle. - */ - public static final String BUNDLE = "bundle"; - - /** - * The bundle id of the Blueprint bundle associated with this event. This - * property is of type Long. - */ - public static final String BUNDLE_ID = "bundle.id"; - - /** - * The bundle symbolic name of the Blueprint bundle associated with this - * event. This property is of type String. - */ - public static final String BUNDLE_SYMBOLICNAME = "bundle.symbolicName"; - - /** - * The bundle version of the Blueprint bundle associated with this event. - * This property is of type Version. - */ - public static final String BUNDLE_VERSION = "bundle.version"; - - /** - * The Blueprint extender bundle that is generating this event. This - * property is of type Bundle. - */ - public static final String EXTENDER_BUNDLE = "extender.bundle"; - - /** - * The bundle id of the Blueprint extender bundle that is generating this - * event. This property is of type Long. - */ - public static final String EXTENDER_BUNDLE_ID = "extender.bundle.id"; - - /** - * The bundle symbolic of the Blueprint extender bundle that is generating - * this event. This property is of type String. - */ - public static final String EXTENDER_BUNDLE_SYMBOLICNAME = "extender.bundle.symbolicName"; - - /** - * The bundle version of the Blueprint extender bundle that is generating - * this event. This property is of type Version. - */ - public static final String EXTENDER_BUNDLE_VERSION = "extender.bundle.version"; - - /** - * The filters identifying the missing dependencies that caused this event - * for a {@link BlueprintEvent#FAILURE FAILURE}, - * {@link BlueprintEvent#GRACE_PERIOD GRACE_PERIOD}, or - * {@link BlueprintEvent#WAITING WAITING} event. This property type is an - * array of String. - */ - public static final String DEPENDENCIES = "dependencies"; - - /** - * The cause for a {@link BlueprintEvent#FAILURE FAILURE} event. This - * property is of type Throwable. - */ - public static final String CAUSE = "cause"; - - /** - * Topic prefix for all events issued by the Blueprint Container - */ - public static final String TOPIC_BLUEPRINT_EVENTS = "org/osgi/service/blueprint/container"; - - /** - * Topic for Blueprint Container CREATING events - */ - public static final String TOPIC_CREATING = TOPIC_BLUEPRINT_EVENTS - + "/CREATING"; - - /** - * Topic for Blueprint Container CREATED events - */ - public static final String TOPIC_CREATED = TOPIC_BLUEPRINT_EVENTS - + "/CREATED"; - - /** - * Topic for Blueprint Container DESTROYING events - */ - public static final String TOPIC_DESTROYING = TOPIC_BLUEPRINT_EVENTS - + "/DESTROYING"; - - /** - * Topic for Blueprint Container DESTROYED events - */ - public static final String TOPIC_DESTROYED = TOPIC_BLUEPRINT_EVENTS - + "/DESTROYED"; - - /** - * Topic for Blueprint Container FAILURE events - */ - public static final String TOPIC_FAILURE = TOPIC_BLUEPRINT_EVENTS - + "/FAILURE"; - - /** - * Topic for Blueprint Container GRACE_PERIOD events - */ - public static final String TOPIC_GRACE_PERIOD = TOPIC_BLUEPRINT_EVENTS - + "/GRACE_PERIOD"; - - /** - * Topic for Blueprint Container WAITING events - */ - public static final String TOPIC_WAITING = TOPIC_BLUEPRINT_EVENTS - + "/WAITING"; -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java deleted file mode 100644 index fa3f822e31..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * A Blueprint exception indicating that a component does not exist in a - * Blueprint Container. - * - * This exception is thrown when an attempt is made to create a component - * instance or lookup Component Metadata using a component id that does not - * exist in the Blueprint Container. - * - * @version $Revision$ - */ -public class NoSuchComponentException extends RuntimeException { - private static final long serialVersionUID = 1L; - /** - * The requested component id that generated the exception. - */ - private final String componentId; - - /** - * Create a No Such Component Exception for a non-existent component. - * - * @param msg The associated message. - * @param id The id of the non-existent component. - */ - public NoSuchComponentException(String msg, String id) { - super(msg); - this.componentId = id; - } - - /** - * Create a No Such Component Exception for a non-existent component. - * - * @param id The id of the non-existent component. - */ - public NoSuchComponentException(String id) { - super("No component with id '" + (id == null ? "" : id) - + "' could be found"); - this.componentId = id; - } - - /** - * Returns the id of the non-existent component. - * - * @return The id of the non-existent component. - */ - public String getComponentId() { - return componentId; - } -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java deleted file mode 100644 index ecf27752f6..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -/** - * Provides access to a concrete type and its optional generic type parameters. - * - *

- * Java 5 and later support generic types. These types consist of a raw class - * with type parameters. This class models such a Type class but - * ensures that the type is reified. Reification means that the Type - * graph associated with a Java 5 Type instance is traversed until - * the type becomes a concrete class. This class is available with the - * {@link #getRawClass()} method. The optional type parameters are recursively - * represented as Reified Types. - * - *

- * In Java 1.4, a class has by definition no type parameters. This class - * implementation provides the Reified Type for Java 1.4 by making the raw class - * the Java 1.4 class and using a Reified Type based on the Object - * class for any requested type parameter. - * - *

- * A Blueprint extender implementations can subclass this class and provide - * access to the generic type parameter graph for conversion. Such a subclass - * must reify the different Java 5 Type instances into the - * reified form. That is, a form where the raw Class is available with its - * optional type parameters as Reified Types. - * - * @Immutable - * @version $Revision$ - */ -public class ReifiedType { - private final static ReifiedType OBJECT = new ReifiedType(Object.class); - - private final Class clazz; - - /** - * Create a Reified Type for a raw Java class without any generic type - * parameters. Subclasses can provide the optional generic type parameter - * information. Without subclassing, this instance has no type parameters. - * - * @param clazz The raw class of the Reified Type. - */ - public ReifiedType(Class clazz) { - this.clazz = clazz; - } - - /** - * Return the raw class represented by this type. - * - * The raw class represents the concrete class that is associated with a - * type declaration. This class could have been deduced from the generics - * type parameter graph of the declaration. For example, in the following - * example: - * - *

-	 * Map<String, ? extends Metadata>
-	 * 
- * - * The raw class is the Map class. - * - * @return The raw class represented by this type. - */ - public Class getRawClass() { - return clazz; - } - - /** - * Return a type parameter for this type. - * - * The type parameter refers to a parameter in a generic type declaration - * given by the zero-based index i. - * - * For example, in the following example: - * - *
-	 * Map<String, ? extends Metadata>
-	 * 
- * - * type parameter 0 is String, and type parameter 1 is - * Metadata. - * - *

- * This implementation returns a Reified Type that has Object - * as class. Any object is assignable to Object and therefore no conversion - * is then necessary. This is compatible with versions of Java language - * prior to Java 5. - * - * This method should be overridden by a subclass that provides access to - * the generic type parameter information for Java 5 and later. - * - * @param i The zero-based index of the requested type parameter. - * @return The ReifiedType for the generic type parameter at - * the specified index. - */ - public ReifiedType getActualTypeArgument(int i) { - return OBJECT; - } - - /** - * Return the number of type parameters for this type. - * - *

- * This implementation returns 0. This method should be - * overridden by a subclass that provides access to the generic type - * parameter information for Java 5 and later. - * - * @return The number of type parameters for this type. - */ - public int size() { - return 0; - } -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java deleted file mode 100644 index 64b43c1ed4..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.container; - -import org.osgi.framework.ServiceException; - -/** - * A Blueprint exception indicating that a service is unavailable. - * - * This exception is thrown when an invocation is made on a service reference - * and a backing service is not available. - * - * @version $Revision$ - */ -public class ServiceUnavailableException extends ServiceException { - private static final long serialVersionUID = 1L; - /** - * The filter string associated with the exception. - */ - private final String filter; - - /** - * Creates a Service Unavailable Exception with the specified message. - * - * @param message The associated message. - * @param filter The filter used for the service lookup. - */ - public ServiceUnavailableException(String message, String filter) { - super(message, UNREGISTERED); - this.filter = filter; - } - - /** - * Creates a Service Unavailable Exception with the specified message and - * exception cause. - * - * @param message The associated message. - * @param filter The filter used for the service lookup. - * @param cause The cause of this exception. - */ - public ServiceUnavailableException(String message, String filter, - Throwable cause) { - super(message, UNREGISTERED, cause); - this.filter = filter; - } - - /** - * Returns the filter expression that a service would have needed to satisfy - * in order for the invocation to proceed. - * - * @return The failing filter. - */ - public String getFilter() { - return this.filter; - } -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html deleted file mode 100644 index 657e8db2b2..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/package.html +++ /dev/null @@ -1,39 +0,0 @@ - - -

Blueprint Container Package Version 1.0.

-

Bundles wishing to use this package must list the package -in the Import-Package header of the bundle's manifest. -For example:

-
-Import-Package: org.osgi.service.blueprint.container; version="[1.0,2.0)"
-
-

- This package defines the primary interface to a Blueprint Container, - BlueprintContainer. An instance of this type is available - inside a Blueprint Container as an implicitly defined component with the name - "blueprintContainer". -

-

- This package also declares the supporting exception types, listener, and constants for working with a Blueprint - Container. -

- - diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo deleted file mode 100644 index 3587a40054..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/container/packageinfo +++ /dev/null @@ -1,19 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -version 1.0.1 diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java deleted file mode 100644 index b7f2bbe318..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a factory method or constructor argument of a bean. The - * arguments of a bean are obtained from {@link BeanMetadata#getArguments()}. - * - * This is specified by the argument elements of a bean. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface BeanArgument { - - /** - * Return the Metadata for the argument value. - * - * This is specified by the value attribute. - * - * @return The Metadata for the argument value. - */ - Metadata getValue(); - - /** - * Return the name of the value type to match the argument and convert the - * value into when invoking the constructor or factory method. - * - * This is specified by the type attribute. - * - * @return The name of the value type to convert the value into, or - * null if no type is specified. - */ - String getValueType(); - - /** - * Return the zero-based index into the parameter list of the factory method - * or constructor to be invoked for this argument. This is determined by - * specifying the index attribute for the bean. If not - * explicitly set, this will return -1 and the initial ordering is defined - * by its position in the {@link BeanMetadata#getArguments()} list. - * - * This is specified by the index attribute. - * - * @return The zero-based index of the parameter, or -1 if no index is - * specified. - */ - int getIndex(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java deleted file mode 100644 index 8982fa6660..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.List; - -/** - * Metadata for a Bean component. - * - *

- * This is specified by the bean element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface BeanMetadata extends Target, ComponentMetadata { - - /** - * The bean has singleton scope. - * - * @see #getScope() - */ - static final String SCOPE_SINGLETON = "singleton"; - - /** - * The bean has prototype scope. - * - * @see #getScope() - */ - static final String SCOPE_PROTOTYPE = "prototype"; - - /** - * Return the name of the class specified for the bean. - * - * This is specified by the class attribute of the bean - * definition. - * - * @return The name of the class specified for the bean. If no class is - * specified in the bean definition, because the a factory component - * is used instead, then this method will return null. - */ - String getClassName(); - - /** - * Return the name of the init method specified for the bean. - * - * This is specified by the init-method attribute of the bean - * definition. - * - * @return The name of the init method specified for the bean, or - * null if no init method is specified. - */ - String getInitMethod(); - - /** - * Return the name of the destroy method specified for the bean. - * - * This is specified by the destroy-method attribute of the - * bean definition. - * - * @return The name of the destroy method specified for the bean, or - * null if no destroy method is specified. - */ - String getDestroyMethod(); - - /** - * Return the arguments for the factory method or constructor of the bean. - * - * This is specified by the child argument elements. - * - * @return An immutable List of {@link BeanArgument} objects for the factory - * method or constructor of the bean. The List is empty if no - * arguments are specified for the bean. - */ - List getArguments(); - - /** - * Return the properties for the bean. - * - * This is specified by the child property elements. - * - * @return An immutable List of {@link BeanProperty} objects, with one entry - * for each property to be injected in the bean. The List is empty - * if no property injection is specified for the bean. - * - */ - List getProperties(); - - /** - * Return the name of the factory method for the bean. - * - * This is specified by the factory-method attribute of the - * bean. - * - * @return The name of the factory method of the bean or null - * if no factory method is specified for the bean. - */ - String getFactoryMethod(); - - /** - * Return the Metadata for the factory component on which to invoke the - * factory method for the bean. - * - * This is specified by the factory-ref attribute of the bean. - * - *

- * When a factory method and factory component have been specified for the - * bean, this method returns the factory component on which to invoke the - * factory method for the bean. When no factory component has been specified - * this method will return null. - * - * When a factory method has been specified for the bean but a factory - * component has not been specified, the factory method must be invoked as a - * static method on the bean's class. - * - * @return The Metadata for the factory component on which to invoke the - * factory method for the bean or null if no factory - * component is specified. - */ - Target getFactoryComponent(); - - /** - * Return the scope for the bean. - * - * @return The scope for the bean. - * @see #SCOPE_SINGLETON - * @see #SCOPE_PROTOTYPE - */ - String getScope(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java deleted file mode 100644 index 94b0e3eab5..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a property to be injected into a bean. The properties of a bean - * are obtained from {@link BeanMetadata#getProperties()}. - * - * This is specified by the property elements of a bean. Properties - * are defined according to the Java Beans conventions. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface BeanProperty { - - /** - * Return the name of the property to be injected. The name follows Java - * Beans conventions. - * - * This is specified by the name attribute. - * - * @return The name of the property to be injected. - */ - String getName(); - - /** - * Return the Metadata for the value to be injected into a bean. - * - * This is specified by the value attribute or in inlined text. - * - * @return The Metadata for the value to be injected into a bean. - */ - Metadata getValue(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java deleted file mode 100644 index ff6669c43f..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.List; - -/** - * Metadata for a collection based value. Values of the collection are defined - * by Metadata objects. This Collection Metadata can constrain the values of the - * collection to a specific type. - * - * @ThreadSafe - * @version $Revision$ - */ - -public interface CollectionMetadata extends NonNullMetadata { - - /** - * Return the type of the collection. - * - * The possible types are: array (Object[]), Set, - * and List. This information is specified in the element name. - * - * @return The type of the collection. Object[] is returned to - * indicate an array. - */ - Class getCollectionClass(); - - /** - * Return the type specified for the values of the collection. - * - * The value-type attribute specified this information. - * - * @return The type specified for the values of the collection. - */ - String getValueType(); - - /** - * Return Metadata for the values of the collection. - * - * @return A List of Metadata for the values of the collection. - */ - List getValues(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java deleted file mode 100644 index 474b030d74..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.List; - -/** - * Metadata for managed components. This is the base type for - * {@link BeanMetadata}, {@link ServiceMetadata} and - * {@link ServiceReferenceMetadata}. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ComponentMetadata extends NonNullMetadata { - - /** - * The component's manager must eagerly activate the component. - * - * @see #getActivation() - */ - static final int ACTIVATION_EAGER = 1; - - /** - * The component's manager must lazily activate the component. - * - * @see #getActivation() - */ - static final int ACTIVATION_LAZY = 2; - - /** - * Return the id of the component. - * - * @return The id of the component. The component id can be - * null if this is an anonymously defined and/or - * inlined component. - */ - String getId(); - - /** - * Return the activation strategy for the component. - * - * This is specified by the activation attribute of a component - * definition. If this is not set, then the default-activation - * in the blueprint element is used. If that is also not set, - * then the activation strategy is {@link #ACTIVATION_EAGER}. - * - * @return The activation strategy for the component. - * @see #ACTIVATION_EAGER - * @see #ACTIVATION_LAZY - */ - int getActivation(); - - /** - * Return the ids of any components listed in a depends-on - * attribute for the component. - * - * @return An immutable List of component ids that are explicitly declared - * as a dependency, or an empty List if none. - */ - List getDependsOn(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java deleted file mode 100644 index 0a68b0b95a..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for the verified id of another component managed by the Blueprint - * Container. The id itself will be injected, not the component to which the id - * refers. No implicit dependency is created. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface IdRefMetadata extends NonNullMetadata { - /** - * Return the id of the referenced component. - * - * This is specified by the component-id attribute of a - * component. - * - * @return The id of the referenced component. - */ - String getComponentId(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java deleted file mode 100644 index c50008b94f..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a map entry. - * - * This type is used by {@link MapMetadata}, {@link PropsMetadata} and - * {@link ServiceMetadata}. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface MapEntry { - /** - * Return the Metadata for the key of the map entry. - * - * This is specified by the key attribute or element. - * - * @return The Metadata for the key of the map entry. This must not be - * null. - */ - NonNullMetadata getKey(); - - /** - * Return the Metadata for the value of the map entry. - * - * This is specified by the value attribute or element. - * - * @return The Metadata for the value of the map entry. This must not be - * null. - */ - Metadata getValue(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java deleted file mode 100644 index 586625eabf..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.List; - -/** - * Metadata for a Map based value. - * - *

- * This is specified by the map element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface MapMetadata extends NonNullMetadata { - /** - * Return the name of the type of the map keys. - * - * This is specified by the key-type attribute of the map. - * - * @return The name of the type of the map keys, or null if - * none is specified. - */ - String getKeyType(); - - /** - * Return the name of the type of the map values. - * - * This is specified by the value-type attribute of the map. - * - * @return The name of the type of the map values, or null if - * none is specified. - */ - String getValueType(); - - /** - * Return the entries for the map. - * - * @return An immutable List of {@link MapEntry} objects for each entry in - * the map. The List is empty if no entries are specified for the - * map. - */ - List getEntries(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java deleted file mode 100644 index 70e003b0f1..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Top level Metadata type. All Metdata types extends this base type. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface Metadata { - // marker interface -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java deleted file mode 100644 index 30cd6115ed..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a value that cannot null. All Metadata subtypes - * extend this type except for {@link NullMetadata}. - * - *

- * This Metadata type is used for keys in Maps because they cannot be - * null. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface NonNullMetadata extends Metadata { - // marker interface -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java deleted file mode 100644 index 5045eeabf7..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a value specified to be null via the <null> - * element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface NullMetadata extends Metadata { - - /** - * Singleton instance of NullMetadata. - */ - static final NullMetadata NULL = new NullMetadata() { - // empty body - }; -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java deleted file mode 100644 index e013ec7249..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.List; - -/** - * Metadata for a java.util.Properties based value. - * - *

- * The {@link MapEntry} objects of properties are defined with keys and values - * of type String. - * - *

- * This is specified by the props element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface PropsMetadata extends NonNullMetadata { - - /** - * Return the entries for the properties. - * - * @return An immutable List of {@link MapEntry} objects for each entry in - * the properties. The List is empty if no entries are specified for - * the properties. - */ - List getEntries(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java deleted file mode 100644 index ed431c5027..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a reference to another component managed by the Blueprint - * Container. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface RefMetadata extends Target, NonNullMetadata { - /** - * Return the id of the referenced component. - * - * This is specified by the component-id attribute of a - * component. - * - * @return The id of the referenced component. - */ - String getComponentId(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java deleted file mode 100644 index 43722e1e58..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a list of service references. - * - *

- * This is specified by the reference-list element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ReferenceListMetadata extends ServiceReferenceMetadata { - - /** - * Reference list values must be proxies to the actual service objects. - * - * @see #getMemberType() - */ - static final int USE_SERVICE_OBJECT = 1; - - /** - * Reference list values must be ServiceReference objects. - * - * @see #getMemberType() - */ - static final int USE_SERVICE_REFERENCE = 2; - - /** - * Return whether the List will contain service object proxies or - * ServiceReference objects. - * - * This is specified by the member-type attribute of the - * reference list. - * - * @return Whether the List will contain service object proxies or - * ServiceReference objects. - * @see #USE_SERVICE_OBJECT - * @see #USE_SERVICE_REFERENCE - */ - int getMemberType(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java deleted file mode 100644 index 2e48063796..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a reference listener interested in the reference bind and unbind - * events for a service reference. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ReferenceListener { - - /** - * Return the Metadata for the component that will receive bind and unbind - * events. - * - * This is specified by the ref attribute or via an inlined - * component. - * - * @return The Metadata for the component that will receive bind and unbind - * events. - */ - Target getListenerComponent(); - - /** - * Return the name of the bind method. The bind method will be invoked when - * a matching service is bound to the reference. - * - * This is specified by the bind-method attribute of the - * reference listener. - * - * @return The name of the bind method. - */ - String getBindMethod(); - - /** - * Return the name of the unbind method. The unbind method will be invoked - * when a matching service is unbound from the reference. - * - * This is specified by the unbind-method attribute of the - * reference listener. - * - * @return The name of the unbind method. - */ - String getUnbindMethod(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java deleted file mode 100644 index 90d5dbb2b6..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a reference that will bind to a single matching service in the - * service registry. - * - *

- * This is specified by the reference element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ReferenceMetadata extends Target, ServiceReferenceMetadata { - - /** - * Return the timeout for service invocations when a backing service is is - * unavailable. - * - * This is specified by the timeout attribute of the reference. - * - * @return The timeout, in milliseconds, for service invocations when a - * backing service is is unavailable. - */ - long getTimeout(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java deleted file mode 100644 index 28cc06a490..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a registration listener interested in service registration and - * unregistration events for a service. - * - *

- * The registration listener is called with the initial state of the service - * when the registration listener is actuated. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface RegistrationListener { - - /** - * Return the Metadata for the component that will receive registration and - * unregistration events. - * - * This is specified by the ref attribute or via an inlined - * component. - * - * @return The Metadata for the component that will receive registration and - * unregistration events. - */ - Target getListenerComponent(); - - /** - * Return the name of the registration method. The registration method will - * be invoked when the associated service is registered with the service - * registry. - * - * This is specified by the registration-method attribute of - * the registration listener. - * - * @return The name of the registration method. - */ - String getRegistrationMethod(); - - /** - * Return the name of the unregistration method. The unregistration method - * will be invoked when the associated service is unregistered from the - * service registry. - * - * This is specified by the unregistration-method attribute of - * the registration listener. - * - * @return The name of the unregistration method. - */ - String getUnregistrationMethod(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java deleted file mode 100644 index 9a5f1abff1..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.Collection; -import java.util.List; - -/** - * Metadata for a service to be registered by the Blueprint Container when - * enabled. - * - *

- * This is specified by the service element. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ServiceMetadata extends ComponentMetadata { - - /** - * Do not auto-detect types for advertised service interfaces - * - * @see #getAutoExport() - */ - static final int AUTO_EXPORT_DISABLED = 1; - - /** - * Advertise all Java interfaces implemented by the component instance type - * as service interfaces. - * - * @see #getAutoExport() - */ - static final int AUTO_EXPORT_INTERFACES = 2; - - /** - * Advertise all Java classes in the hierarchy of the component instance - * type as service interfaces. - * - * @see #getAutoExport() - */ - static final int AUTO_EXPORT_CLASS_HIERARCHY = 3; - - /** - * Advertise all Java classes and interfaces in the component instance type - * as service interfaces. - * - * @see #getAutoExport() - */ - static final int AUTO_EXPORT_ALL_CLASSES = 4; - - /** - * Return the Metadata for the component to be exported as a service. - * - * This is specified inline or via the ref attribute of the - * service. - * - * @return The Metadata for the component to be exported as a service. - */ - Target getServiceComponent(); - - /** - * Return the type names of the interfaces that the service should be - * advertised as supporting. - * - * This is specified in the interface attribute or child - * interfaces element of the service. - * - * @return An immutable List of String for the type names of - * the interfaces that the service should be advertised as - * supporting. The List is empty if using auto-export - * or no interface names are specified for the service. - */ - List getInterfaces(); - - /** - * Return the auto-export mode for the service. - * - * This is specified by the auto-export attribute of the - * service. - * - * @return The auto-export mode for the service. - * @see #AUTO_EXPORT_DISABLED - * @see #AUTO_EXPORT_INTERFACES - * @see #AUTO_EXPORT_CLASS_HIERARCHY - * @see #AUTO_EXPORT_ALL_CLASSES - */ - int getAutoExport(); - - /** - * Return the user declared properties to be advertised with the service. - * - * This is specified by the service-properties element of the - * service. - * - * @return An immutable List of {@link MapEntry} objects for the user - * declared properties to be advertised with the service. The List - * is empty if no service properties are specified for the service. - */ - List getServiceProperties(); - - /** - * Return the ranking value to use when advertising the service. If the - * ranking value is zero, the service must be registered without a - * service.ranking service property. - * - * This is specified by the ranking attribute of the service. - * - * @return The ranking value to use when advertising the service. - */ - int getRanking(); - - /** - * Return the registration listeners to be notified when the service is - * registered and unregistered with the framework. - * - * This is specified by the registration-listener elements of - * the service. - * - * @return An immutable Collection of {@link RegistrationListener} objects - * to be notified when the service is registered and unregistered - * with the framework. The Collection is empty if no registration - * listeners are specified for the service. - */ - Collection getRegistrationListeners(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java deleted file mode 100644 index 7f919386ac..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -import java.util.Collection; - -/** - * Metadata for a reference to an OSGi service. This is the base type for - * {@link ReferenceListMetadata} and {@link ReferenceMetadata}. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ServiceReferenceMetadata extends ComponentMetadata { - - /** - * A matching service is required at all times. - * - * @see #getAvailability() - */ - static final int AVAILABILITY_MANDATORY = 1; - - /** - * A matching service is not required to be present. - * - * @see #getAvailability() - */ - static final int AVAILABILITY_OPTIONAL = 2; - - /** - * Return whether or not a matching service is required at all times. - * - * This is specified in the availability attribute of the - * service reference. - * - * @return Whether or not a matching service is required at all times. - * @see #AVAILABILITY_MANDATORY - * @see #AVAILABILITY_OPTIONAL - */ - int getAvailability(); - - /** - * Return the name of the interface type that a matching service must - * support. - * - * This is specified in the interface attribute of the service - * reference. - * - * @return The name of the interface type that a matching service must - * support or null when no interface name is specified. - */ - String getInterface(); - - /** - * Return the value of the component-name attribute of the - * service reference. This specifies the id of a component that is - * registered in the service registry. This will create an automatic filter, - * appended with the filter if set, to select this component based on its - * automatic id attribute. - * - * @return The value of the component-name attribute of the - * service reference or null if the attribute is not - * specified. - */ - String getComponentName(); - - /** - * Return the filter expression that a matching service must match. - * - * This is specified by the filter attribute of the service - * reference. - * - * @return The filter expression that a matching service must match or - * null if a filter is not specified. - */ - String getFilter(); - - /** - * Return the reference listeners to receive bind and unbind events. - * - * This is specified by the reference-listener elements of the - * service reference. - * - * @return An immutable Collection of {@link ReferenceListener} objects to - * receive bind and unbind events. The Collection is empty if no - * reference listeners are specified for the service reference. - */ - Collection getReferenceListeners(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java deleted file mode 100644 index 087e82d95b..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * A common interface for managed components that can be used as a direct target - * for method calls. These are bean, reference, and - * ref, where the ref must refer to a bean or - * reference component. - * - * @see BeanMetadata - * @see ReferenceMetadata - * @see RefMetadata - * @ThreadSafe - * @version $Revision$ - */ -public interface Target extends NonNullMetadata { - // marker interface -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java deleted file mode 100644 index a587dd8f69..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) OSGi Alliance (2008, 2009). 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.osgi.service.blueprint.reflect; - -/** - * Metadata for a simple String value that will be type-converted - * if necessary before injecting. - * - * @ThreadSafe - * @version $Revision$ - */ -public interface ValueMetadata extends NonNullMetadata { - /** - * Return the unconverted string representation of the value. - * - * This is specified by the value attribute or text part of the - * value element. - * - * @return The unconverted string representation of the value. - */ - String getStringValue(); - - /** - * Return the name of the type to which the value should be converted. - * - * This is specified by the type attribute. - * - * @return The name of the type to which the value should be converted or - * null if no type is specified. - */ - String getType(); -} diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html deleted file mode 100644 index 0731c60803..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/package.html +++ /dev/null @@ -1,32 +0,0 @@ - - -

Blueprint Reflection Package Version 1.0. -

Bundles wishing to use this package must list the package -in the Import-Package header of the bundle's manifest. -For example: -

-Import-Package: org.osgi.service.blueprint.reflect; version="[1.0,2.0)"
-
-

This package provides a reflection-based view of the configuration information for a - Blueprint Container. -

- - diff --git a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/packageinfo b/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/packageinfo deleted file mode 100644 index 3587a40054..0000000000 --- a/blueprint/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/packageinfo +++ /dev/null @@ -1,19 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# -version 1.0.1 diff --git a/blueprint/blueprint-api/src/main/resources/org/osgi/service/blueprint/blueprint.xsd b/blueprint/blueprint-api/src/main/resources/org/osgi/service/blueprint/blueprint.xsd deleted file mode 100644 index bb905065c2..0000000000 --- a/blueprint/blueprint-api/src/main/resources/org/osgi/service/blueprint/blueprint.xsd +++ /dev/null @@ -1,1233 +0,0 @@ - - - - - - - - - if used as a qualified namespace, "bp" is the recommended - namespace prefix. - ]]> - - - - - - - - - , , - and elements are all derived from - the Tcomponent type. This type defines an id attribute - that is used create references between different components. - Component elements can also be inlined within other component - definitions. The id attribute is not valid when inlined. - ]]> - - - - - - - - - element. - ]]> - - - - - - - - or elements with unstatisfied - manadatory references, then the depends-on relationship will also - be used to determine whether this service is enabled or not. - ]]> - - - - - - - - - element is the root element for a blueprint - configuration file. A blueprint configuration has two sections. - The first section (contained within the element) - identifies components that are used for converting values into - different target types. The type converters are optional, so - the file does not need to specify a type converter section. - - Following the type converters are the component definitions. - Components are , , , and - elements that identify the bundle components that will - be managed by the blueprint service. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - element can override the specified configuration - default. - ]]> - - - - - - - , and components. The - normal default is "mandatory", and can be changed by individual - service reference components. - ]]> - - - - - - - - - - element. The - section is a set of , , or - elements that identify the type converter components. - ]]> - - - - - - - - - - - - - - - - element - or an inlined or . - ]]> - - - - - - - - - - - - - - , , , and . - ]]> - - - - - - - - - - - - - element. - ]]> - - - - - - - - - - - - - - - - component. The - attributes provide the characteristics for how to create a - bean instance. Constructor arguments and injected properties - are specified via child and elements. - ]]> - - - - - - - - - - - - - - - - - - - - elements. Those elements have some restrictions on - the attributes that can be used to define them. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - component. The elements are the arguments for the - bean class constructor or passed to the bean factory method. - - The type, if specified, is used to disambiguate the constructor - or method signature. Arguments may also be matched up with - arguments by explicitly specifying the index position. If the - index is used, then all elements for the bean must - also specify the index. - - The value and ref attributes are convenience shortcuts to make - the tag easier to code. A fuller set of injected - values and types can be specified using one of the "value" - type elements. - ]]> - - - - - - - - - - - - - - - - - component. The elements correspond to named - JavaBean setting methods for a created bean object. - - The value and ref attributes are convenience shortcuts to make - the tag easier to code. A fuller set of injected - values and types can be specified using one of the "value" - type elements. - ]]> - - - - - - - - - - - - - - - element. - ]]> - - - - - - - - - - element. These - are instances of the TserviceReference type, with the addition - of a timeout attribute. If the timeout is not specified, - the default-timeout value is inherited from the encapsulating - definition. - ]]> - - - - - - - - - - - - - - - - elements. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - . This adds in the characteristics that - only apply to collections of references (e.g., member-type). - ]]> - - - - - - - - - - - - - - - - - elements. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - and elements. This type defines all of the - characteristics common to both sorts of references. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - element. - ]]> - - - - - - - - - - - - - - - - to a or element, or an inline - or . - ]]> - - - - - - - - - - or element. The listener - object can be specified as a or as an inline or - component. Listener events are mapped to the indicated - bind or unbind methods. - ]]> - - - - - - - - - - - - - - default-activation attribute and the - activation attribute. - ]]> - - - - - - - - - - - - default-availability attribute and the - and availability attribute. - ]]> - - - - - - - - - - - - - - to a component or an - bean component. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - elements. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - element also has - a shortcut interface attribute for the usual case of just - a single interface being used. This also cannot be used if - the auto-export attribute is used. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - to a or component, or an inline - or component definition. The registration-method and - unregistration-method attributes define the methods that will be called - for the respective events. - - For the very common case of using a to a listener component, the - ref attribute may also be used as a shortcut. - ]]> - - - - - - - - - - - - - - - - and elements, any of the - component types (, , etc.) as inline components, the - generic element for types sourced from string values, any of the - collection types (, , , , ), and the - type to inject a null value. - ]]> - - - - - - - - - - - - value type. - ]]> - - - - - - - - and elements, any of the - component types (, , etc.) as inline components, the - generic element for types sourced from string values, and any of the - collection types (, , , , ). - - The type is NOT a member of this group. - ]]> - - - - - - - - - - - - - - - - - - elements. This specifies a required - component id for the reference component. - ]]> - - - - - - - - - elements. The element - is used for types that can be created from a single string value. - The string value is the data value for the element. The optional - type attribute allows a target conversion value to be explicitly - specified. - ]]> - - - - - - - - - - - - - - - - - - - - , , and elements. - ]]> - - - - - - - - - - - - - value element. The prop elements - are pairs of string-valued keys and values. - ]]> - - - - - - - - - - - value type. The property - value can be specified using either the attribute, or as value data for - the property element. - ]]> - - - - - - - - - - - elements. A map may have a - default value type specified, so it inherits from the TtypeCollection - type. A key type can also be specified, and the map members are - created from the entry elements, which require a key/value pair. - ]]> - - - - - - - - - - - - - - - - - elements nested inside of a element. - Each instance defines a key/value pair that will be added to the - Map. Both the keys and values may be arbitrary types. Keys must not - be but is permitted for entry values. A default type - can be specified for both the keys and the values, but individual keys - or values can override the default. - ]]> - - - - - - - - - - - - - - - - - elements. - The syntax is similar to what is defined for , but keys must be - string values and there are no type defaults that can be specified. - created from the entry elements, which require a key/value pair. - ]]> - - - - - - - - - - - - - - element. This does not allow a child element and there are no - key-ref or value-ref attributes. - ]]> - - - - - - - - - - - - - - - element type to allow documentation to added to the - blueprint configuration. - ]]> - - - - - - - - - element used for - ]]> - - - - - - - - - - - element. - This is just a xxxxx element where the contained - value is the name of an interface class. - ]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/blueprint/blueprint-authz/pom.xml b/blueprint/blueprint-authz/pom.xml index 54384f27a3..9baaa68e03 100644 --- a/blueprint/blueprint-authz/pom.xml +++ b/blueprint/blueprint-authz/pom.xml @@ -42,9 +42,9 @@ org.apache.aries.blueprint.authorization.impl.Activator 1.0.0 - 1.0.2-SNAPSHOT 1.6.2-SNAPSHOT 1.3.2 + 1.0.2 4.3.1 4.3.1 2.0.20 @@ -69,9 +69,9 @@ ${javax.annotation-api.version}
- org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} provided diff --git a/blueprint/blueprint-bundle/pom.xml b/blueprint/blueprint-bundle/pom.xml index f5713a2151..b4ceffc01d 100644 --- a/blueprint/blueprint-bundle/pom.xml +++ b/blueprint/blueprint-bundle/pom.xml @@ -105,21 +105,21 @@ 1.1.0 9.11.1 - 1.0.2-SNAPSHOT 1.3.3-SNAPSHOT 1.10.4-SNAPSHOT 1.1.2 2.0.0 1.0.1 + 1.0.2 4.3.1 2.0.20 - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} provided @@ -207,14 +207,14 @@ - org.apache.aries.blueprint:org.apache.aries.blueprint.api + org.osgi:org.osgi.service.blueprint org.apache.aries.blueprint:org.apache.aries.blueprint.core org.apache.aries.blueprint:org.apache.aries.blueprint.cm - org.apache.aries.blueprint:org.apache.aries.blueprint.api + org.osgi:org.osgi.service.blueprint org/** @@ -248,6 +248,8 @@ method org.apache.aries.blueprint.di.Repository getRepository() has been deleted class org/apache/aries/blueprint/ext/PropertyPlaceholder was not abstract but is changed to be abstract + In the package org.osgi.service.blueprint, The schema file has been updated: blueprint.xsd. + In the package org.apache.aries.blueprint, The schema file has been updated: blueprint.xsd. @@ -290,8 +292,8 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api + org.osgi + org.osgi.service.blueprint sources diff --git a/blueprint/blueprint-cm/pom.xml b/blueprint/blueprint-cm/pom.xml index c55a402bc0..b15cb7fb98 100644 --- a/blueprint/blueprint-cm/pom.xml +++ b/blueprint/blueprint-cm/pom.xml @@ -57,10 +57,10 @@ 1.1.0 - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT 1.6.2-SNAPSHOT 3.3.1 + 1.0.2 5.0.0 4.3.1 2.0.20 @@ -68,9 +68,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/blueprint-core/pom.xml b/blueprint/blueprint-core/pom.xml index b2d0bb91a3..fbfb001632 100644 --- a/blueprint/blueprint-core/pom.xml +++ b/blueprint/blueprint-core/pom.xml @@ -89,18 +89,17 @@ org.apache.aries.blueprint.services.ParserService - {maven-resources}, - org/apache/aries/blueprint/blueprint.xsd=${project.build.directory}/sources/org/osgi/service/blueprint/blueprint.xsd + {maven-resources} - 1.6.0 + 1.10.3 9.11.1 - 1.0.2-SNAPSHOT 1.6.2-SNAPSHOT 5.7.0 3.3.1 1.0.1 1.11.10 + 1.0.2 4.3.1 4.3.1 1.1.2 @@ -111,9 +110,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint @@ -223,30 +222,6 @@ - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-sources - generate-sources - - unpack - - - - - org.apache.aries.blueprint - org.apache.aries.blueprint.api - **/blueprint.xsd - - - ${project.build.directory}/sources - - - - - org.apache.aries.versioning org.apache.aries.versioning.plugin @@ -255,6 +230,8 @@ method org.apache.aries.blueprint.di.Repository getRepository() has been deleted class org/apache/aries/blueprint/ext/PropertyPlaceholder was not abstract but is changed to be abstract + In the package org.osgi.service.blueprint, The schema file has been updated: blueprint.xsd. + In the package org.apache.aries.blueprint, The schema file has been updated: blueprint.xsd. diff --git a/blueprint/blueprint-core/src/main/resources/org/apache/aries/blueprint/blueprint.xsd b/blueprint/blueprint-core/src/main/resources/org/apache/aries/blueprint/blueprint.xsd new file mode 100644 index 0000000000..66c03e0685 --- /dev/null +++ b/blueprint/blueprint-core/src/main/resources/org/apache/aries/blueprint/blueprint.xsd @@ -0,0 +1,1233 @@ + + + + + + + + + if used as a qualified namespace, "bp" is the recommended + namespace prefix. + ]]> + + + + + + + + + , , + and elements are all derived from + the Tcomponent type. This type defines an id attribute + that is used create references between different components. + Component elements can also be inlined within other component + definitions. The id attribute is not valid when inlined. + ]]> + + + + + + + + + element. + ]]> + + + + + + + + or elements with unstatisfied + manadatory references, then the depends-on relationship will also + be used to determine whether this service is enabled or not. + ]]> + + + + + + + + + element is the root element for a blueprint + configuration file. A blueprint configuration has two sections. + The first section (contained within the element) + identifies components that are used for converting values into + different target types. The type converters are optional, so + the file does not need to specify a type converter section. + + Following the type converters are the component definitions. + Components are , , , and + elements that identify the bundle components that will + be managed by the blueprint service. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element can override the specified configuration + default. + ]]> + + + + + + + , and components. The + normal default is "mandatory", and can be changed by individual + service reference components. + ]]> + + + + + + + + + + element. The + section is a set of , , or + elements that identify the type converter components. + ]]> + + + + + + + + + + + + + + + + element + or an inlined or . + ]]> + + + + + + + + + + + + + + , , , and . + ]]> + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + component. The + attributes provide the characteristics for how to create a + bean instance. Constructor arguments and injected properties + are specified via child and elements. + ]]> + + + + + + + + + + + + + + + + + + + + elements. Those elements have some restrictions on + the attributes that can be used to define them. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + component. The elements are the arguments for the + bean class constructor or passed to the bean factory method. + + The type, if specified, is used to disambiguate the constructor + or method signature. Arguments may also be matched up with + arguments by explicitly specifying the index position. If the + index is used, then all elements for the bean must + also specify the index. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + + + component. The elements correspond to named + JavaBean setting methods for a created bean object. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + element. These + are instances of the TserviceReference type, with the addition + of a timeout attribute. If the timeout is not specified, + the default-timeout value is inherited from the encapsulating + definition. + ]]> + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + . This adds in the characteristics that + only apply to collections of references (e.g., member-type). + ]]> + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + and elements. This type defines all of the + characteristics common to both sorts of references. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + to a or element, or an inline + or . + ]]> + + + + + + + + + + or element. The listener + object can be specified as a or as an inline or + component. Listener events are mapped to the indicated + bind or unbind methods. + ]]> + + + + + + + + + + + + + + default-activation attribute and the + activation attribute. + ]]> + + + + + + + + + + + + default-availability attribute and the + and availability attribute. + ]]> + + + + + + + + + + + + + + to a component or an + bean component. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + element also has + a shortcut interface attribute for the usual case of just + a single interface being used. This also cannot be used if + the auto-export attribute is used. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + to a or component, or an inline + or component definition. The registration-method and + unregistration-method attributes define the methods that will be called + for the respective events. + + For the very common case of using a to a listener component, the + ref attribute may also be used as a shortcut. + ]]> + + + + + + + + + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, any of the + collection types (, , , , ), and the + type to inject a null value. + ]]> + + + + + + + + + + + + value type. + ]]> + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, and any of the + collection types (, , , , ). + + The type is NOT a member of this group. + ]]> + + + + + + + + + + + + + + + + + + elements. This specifies a required + component id for the reference component. + ]]> + + + + + + + + + elements. The element + is used for types that can be created from a single string value. + The string value is the data value for the element. The optional + type attribute allows a target conversion value to be explicitly + specified. + ]]> + + + + + + + + + + + + + + + + + + + + , , and elements. + ]]> + + + + + + + + + + + + + value element. The prop elements + are pairs of string-valued keys and values. + ]]> + + + + + + + + + + + value type. The property + value can be specified using either the attribute, or as value data for + the property element. + ]]> + + + + + + + + + + + elements. A map may have a + default value type specified, so it inherits from the TtypeCollection + type. A key type can also be specified, and the map members are + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + + + + elements nested inside of a element. + Each instance defines a key/value pair that will be added to the + Map. Both the keys and values may be arbitrary types. Keys must not + be but is permitted for entry values. A default type + can be specified for both the keys and the values, but individual keys + or values can override the default. + ]]> + + + + + + + + + + + + + + + + + elements. + The syntax is similar to what is defined for , but keys must be + string values and there are no type defaults that can be specified. + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + element. This does not allow a child element and there are no + key-ref or value-ref attributes. + ]]> + + + + + + + + + + + + + + + element type to allow documentation to added to the + blueprint configuration. + ]]> + + + + + + + + + element used for + ]]> + + + + + + + + + + + element. + This is just a xxxxx element where the contained + value is the name of an interface class. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/blueprint/blueprint-core/src/main/resources/org/osgi/service/blueprint/blueprint.xsd b/blueprint/blueprint-core/src/main/resources/org/osgi/service/blueprint/blueprint.xsd new file mode 100644 index 0000000000..66c03e0685 --- /dev/null +++ b/blueprint/blueprint-core/src/main/resources/org/osgi/service/blueprint/blueprint.xsd @@ -0,0 +1,1233 @@ + + + + + + + + + if used as a qualified namespace, "bp" is the recommended + namespace prefix. + ]]> + + + + + + + + + , , + and elements are all derived from + the Tcomponent type. This type defines an id attribute + that is used create references between different components. + Component elements can also be inlined within other component + definitions. The id attribute is not valid when inlined. + ]]> + + + + + + + + + element. + ]]> + + + + + + + + or elements with unstatisfied + manadatory references, then the depends-on relationship will also + be used to determine whether this service is enabled or not. + ]]> + + + + + + + + + element is the root element for a blueprint + configuration file. A blueprint configuration has two sections. + The first section (contained within the element) + identifies components that are used for converting values into + different target types. The type converters are optional, so + the file does not need to specify a type converter section. + + Following the type converters are the component definitions. + Components are , , , and + elements that identify the bundle components that will + be managed by the blueprint service. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element can override the specified configuration + default. + ]]> + + + + + + + , and components. The + normal default is "mandatory", and can be changed by individual + service reference components. + ]]> + + + + + + + + + + element. The + section is a set of , , or + elements that identify the type converter components. + ]]> + + + + + + + + + + + + + + + + element + or an inlined or . + ]]> + + + + + + + + + + + + + + , , , and . + ]]> + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + component. The + attributes provide the characteristics for how to create a + bean instance. Constructor arguments and injected properties + are specified via child and elements. + ]]> + + + + + + + + + + + + + + + + + + + + elements. Those elements have some restrictions on + the attributes that can be used to define them. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + component. The elements are the arguments for the + bean class constructor or passed to the bean factory method. + + The type, if specified, is used to disambiguate the constructor + or method signature. Arguments may also be matched up with + arguments by explicitly specifying the index position. If the + index is used, then all elements for the bean must + also specify the index. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + + + component. The elements correspond to named + JavaBean setting methods for a created bean object. + + The value and ref attributes are convenience shortcuts to make + the tag easier to code. A fuller set of injected + values and types can be specified using one of the "value" + type elements. + ]]> + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + element. These + are instances of the TserviceReference type, with the addition + of a timeout attribute. If the timeout is not specified, + the default-timeout value is inherited from the encapsulating + definition. + ]]> + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + . This adds in the characteristics that + only apply to collections of references (e.g., member-type). + ]]> + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + and elements. This type defines all of the + characteristics common to both sorts of references. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + element. + ]]> + + + + + + + + + + + + + + + + to a or element, or an inline + or . + ]]> + + + + + + + + + + or element. The listener + object can be specified as a or as an inline or + component. Listener events are mapped to the indicated + bind or unbind methods. + ]]> + + + + + + + + + + + + + + default-activation attribute and the + activation attribute. + ]]> + + + + + + + + + + + + default-availability attribute and the + and availability attribute. + ]]> + + + + + + + + + + + + + + to a component or an + bean component. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + elements. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + element also has + a shortcut interface attribute for the usual case of just + a single interface being used. This also cannot be used if + the auto-export attribute is used. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + to a or component, or an inline + or component definition. The registration-method and + unregistration-method attributes define the methods that will be called + for the respective events. + + For the very common case of using a to a listener component, the + ref attribute may also be used as a shortcut. + ]]> + + + + + + + + + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, any of the + collection types (, , , , ), and the + type to inject a null value. + ]]> + + + + + + + + + + + + value type. + ]]> + + + + + + + + and elements, any of the + component types (, , etc.) as inline components, the + generic element for types sourced from string values, and any of the + collection types (, , , , ). + + The type is NOT a member of this group. + ]]> + + + + + + + + + + + + + + + + + + elements. This specifies a required + component id for the reference component. + ]]> + + + + + + + + + elements. The element + is used for types that can be created from a single string value. + The string value is the data value for the element. The optional + type attribute allows a target conversion value to be explicitly + specified. + ]]> + + + + + + + + + + + + + + + + + + + + , , and elements. + ]]> + + + + + + + + + + + + + value element. The prop elements + are pairs of string-valued keys and values. + ]]> + + + + + + + + + + + value type. The property + value can be specified using either the attribute, or as value data for + the property element. + ]]> + + + + + + + + + + + elements. A map may have a + default value type specified, so it inherits from the TtypeCollection + type. A key type can also be specified, and the map members are + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + + + + elements nested inside of a element. + Each instance defines a key/value pair that will be added to the + Map. Both the keys and values may be arbitrary types. Keys must not + be but is permitted for entry values. A default type + can be specified for both the keys and the values, but individual keys + or values can override the default. + ]]> + + + + + + + + + + + + + + + + + elements. + The syntax is similar to what is defined for , but keys must be + string values and there are no type defaults that can be specified. + created from the entry elements, which require a key/value pair. + ]]> + + + + + + + + + + + + + + element. This does not allow a child element and there are no + key-ref or value-ref attributes. + ]]> + + + + + + + + + + + + + + + element type to allow documentation to added to the + blueprint configuration. + ]]> + + + + + + + + + element used for + ]]> + + + + + + + + + + + element. + This is just a xxxxx element where the contained + value is the name of an interface class. + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/blueprint/blueprint-noosgi/pom.xml b/blueprint/blueprint-noosgi/pom.xml index d39cbb6918..15ec9ea4ac 100644 --- a/blueprint/blueprint-noosgi/pom.xml +++ b/blueprint/blueprint-noosgi/pom.xml @@ -44,19 +44,19 @@ - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT 1.6.2-SNAPSHOT 1.11.10 + 1.0.2 1.0.3 2.0.20 - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/blueprint-parser/pom.xml b/blueprint/blueprint-parser/pom.xml index c7db7f994c..ec5a8cb3ff 100644 --- a/blueprint/blueprint-parser/pom.xml +++ b/blueprint/blueprint-parser/pom.xml @@ -47,15 +47,15 @@ 1.4.0 - 1.0.2-SNAPSHOT + 1.0.2 4.3.1 - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} provided diff --git a/blueprint/blueprint-repository/pom.xml b/blueprint/blueprint-repository/pom.xml index cd7375ae27..95634d44ec 100644 --- a/blueprint/blueprint-repository/pom.xml +++ b/blueprint/blueprint-repository/pom.xml @@ -36,13 +36,13 @@ ALLOWED 9.11.1 - 1.0.2-SNAPSHOT 1.3.3-SNAPSHOT 1.10.4-SNAPSHOT 6.4.0 1.1.2 2.0.0 2.0.0 + 1.0.2 @@ -106,9 +106,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/blueprint-spring-camel/pom.xml b/blueprint/blueprint-spring-camel/pom.xml index 700c38682f..94c873478f 100644 --- a/blueprint/blueprint-spring-camel/pom.xml +++ b/blueprint/blueprint-spring-camel/pom.xml @@ -49,7 +49,6 @@ 1.0.4 --> - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT 1.6.2-SNAPSHOT 2.19.0 diff --git a/blueprint/blueprint-spring-extender/pom.xml b/blueprint/blueprint-spring-extender/pom.xml index 2a995d4829..3c2429337d 100644 --- a/blueprint/blueprint-spring-extender/pom.xml +++ b/blueprint/blueprint-spring-extender/pom.xml @@ -63,11 +63,11 @@ 1.0.4 --> - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT 1.6.2-SNAPSHOT 4.13.2 1.11.10 + 1.0.2 5.0.0 6.0.0 2.0.20 @@ -76,9 +76,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/blueprint-spring/pom.xml b/blueprint/blueprint-spring/pom.xml index 0c8689b80b..70cf178400 100644 --- a/blueprint/blueprint-spring/pom.xml +++ b/blueprint/blueprint-spring/pom.xml @@ -63,10 +63,10 @@ 1.0.4 --> - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT 1.6.2-SNAPSHOT 1.11.10 + 1.0.2 4.3.1 4.3.1 2.0.20 @@ -75,9 +75,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/blueprint-web/pom.xml b/blueprint/blueprint-web/pom.xml index 67464b7cb3..46a4ae671f 100644 --- a/blueprint/blueprint-web/pom.xml +++ b/blueprint/blueprint-web/pom.xml @@ -95,31 +95,6 @@ - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-sources - generate-sources - - unpack - - - - - org.apache.aries.blueprint - org.apache.aries.blueprint.noosgi - **/blueprint.xsd - - - ${project.build.directory}/sources - - - - - diff --git a/blueprint/examples/blueprint-sample/pom.xml b/blueprint/examples/blueprint-sample/pom.xml index ea0c65cf1a..88c74768b5 100644 --- a/blueprint/examples/blueprint-sample/pom.xml +++ b/blueprint/examples/blueprint-sample/pom.xml @@ -57,7 +57,7 @@ - 1.0.2-SNAPSHOT + 1.0.2 4.3.1 @@ -69,9 +69,9 @@ provided - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} diff --git a/blueprint/itests/blueprint-itests/pom.xml b/blueprint/itests/blueprint-itests/pom.xml index 78c6fba708..3d245a106c 100644 --- a/blueprint/itests/blueprint-itests/pom.xml +++ b/blueprint/itests/blueprint-itests/pom.xml @@ -45,7 +45,7 @@ 9.11.1 - 1.0.2-SNAPSHOT + 1.0.2 1.0.1-SNAPSHOT 1.3.3-SNAPSHOT 1.10.4-SNAPSHOT @@ -335,9 +335,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} compile diff --git a/blueprint/itests/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java b/blueprint/itests/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java index 9cf339d1c4..855f990d80 100644 --- a/blueprint/itests/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java +++ b/blueprint/itests/blueprint-itests/src/test/java/org/apache/aries/blueprint/itests/Helper.java @@ -73,7 +73,7 @@ public static Option blueprintBundles(boolean startBlueprint) { mvnBundle("org.apache.xbean", "xbean-bundleutils"), mvnBundle("org.apache.xbean", "xbean-finder-shaded"), mvnBundle("org.apache.aries.quiesce", "org.apache.aries.quiesce.api", startBlueprint), - mvnBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.api", startBlueprint), + mvnBundle("org.osgi", "org.osgi.service.blueprint", startBlueprint), mvnBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.core", startBlueprint), mvnBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.cm", startBlueprint) ); diff --git a/blueprint/itests/blueprint-testbundlea/pom.xml b/blueprint/itests/blueprint-testbundlea/pom.xml index 1ad986eae8..e5ee7ad99b 100644 --- a/blueprint/itests/blueprint-testbundlea/pom.xml +++ b/blueprint/itests/blueprint-testbundlea/pom.xml @@ -43,8 +43,8 @@ ${project.artifactId}* true - 1.0.2-SNAPSHOT 1.10.4-SNAPSHOT + 1.0.2 4.3.1 @@ -54,9 +54,9 @@ osgi.core - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/blueprint/itests/blueprint-testbundles/src/main/resources/OSGI-INF/blueprint/config.xml b/blueprint/itests/blueprint-testbundles/src/main/resources/OSGI-INF/blueprint/config.xml index 8df431d81d..05806685a7 100644 --- a/blueprint/itests/blueprint-testbundles/src/main/resources/OSGI-INF/blueprint/config.xml +++ b/blueprint/itests/blueprint-testbundles/src/main/resources/OSGI-INF/blueprint/config.xml @@ -23,7 +23,7 @@ xmlns:context="http://www.springframework.org/schema/context" xmlns:axon="http://www.axonframework.org/schema/core" xsi:schemaLocation=" - http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd + http://www.osgi.org/xmlns/blueprint/v1.0.0 https://docs.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsd diff --git a/blueprint/pom.xml b/blueprint/pom.xml index a790906d40..9e7b46aabc 100644 --- a/blueprint/pom.xml +++ b/blueprint/pom.xml @@ -38,7 +38,6 @@ - blueprint-api blueprint-parser blueprint-core blueprint-cm diff --git a/jndi/jndi-url-itest/pom.xml b/jndi/jndi-url-itest/pom.xml index 243b163783..06aa532844 100644 --- a/jndi/jndi-url-itest/pom.xml +++ b/jndi/jndi-url-itest/pom.xml @@ -55,12 +55,12 @@ 3.6 2.0.0 2.0.0 - 1.0.1 1.10.3 2.0.0 3.7.4 3.3.0_1 3.23.100 + 1.0.2 8.0.0 7.0.0 4.13.5 @@ -119,9 +119,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${org.apache.aries.blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} test diff --git a/jndi/jndi-url-itest/src/test/java/org/apache/aries/jndi/itests/JndiUrlIntegrationTest.java b/jndi/jndi-url-itest/src/test/java/org/apache/aries/jndi/itests/JndiUrlIntegrationTest.java index 8ee93d3ec3..f30c139021 100644 --- a/jndi/jndi-url-itest/src/test/java/org/apache/aries/jndi/itests/JndiUrlIntegrationTest.java +++ b/jndi/jndi-url-itest/src/test/java/org/apache/aries/jndi/itests/JndiUrlIntegrationTest.java @@ -160,7 +160,7 @@ public Option[] configuration() { mavenBundle("org.apache.xbean", "xbean-asm9-shaded").versionAsInProject(), mavenBundle("org.apache.xbean", "xbean-bundleutils").versionAsInProject(), - mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.api").versionAsInProject(), + mavenBundle("org.osgi", "org.osgi.service.blueprint").versionAsInProject(), mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.core").versionAsInProject(), mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy").versionAsInProject(), mavenBundle("org.objenesis", "objenesis").versionAsInProject(), diff --git a/samples/blueprint/idverifier/idverifier-assembly/pom.xml b/samples/blueprint/idverifier/idverifier-assembly/pom.xml index 97b0f4da2f..7c3f1dab8f 100644 --- a/samples/blueprint/idverifier/idverifier-assembly/pom.xml +++ b/samples/blueprint/idverifier/idverifier-assembly/pom.xml @@ -104,8 +104,8 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api + org.osgi + org.osgi.service.blueprint org.apache.aries.blueprint diff --git a/samples/blueprint/idverifier/idverifier-assembly/src/main/filtered-resources/conf/config.properties b/samples/blueprint/idverifier/idverifier-assembly/src/main/filtered-resources/conf/config.properties index 4581f1dfdc..898e534522 100644 --- a/samples/blueprint/idverifier/idverifier-assembly/src/main/filtered-resources/conf/config.properties +++ b/samples/blueprint/idverifier/idverifier-assembly/src/main/filtered-resources/conf/config.properties @@ -52,7 +52,7 @@ felix.auto.start.3=\ "file:bundles/asm-tree-${asm.version}.jar" \ "file:bundles/asm-analysis-${asm.version}.jar" \ "file:bundles/org.apache.aries.proxy-${org.apache.aries.proxy.version}.jar" \ -"file:bundles/org.apache.aries.blueprint.api-${org.apache.aries.blueprint.api.version}.jar" \ +"file:bundles/org.osgi.service.blueprint-${org.osgi.service.blueprint.version}.jar" \ "file:bundles/org.apache.aries.blueprint.cm-${org.apache.aries.blueprint.cm.version}.jar" \ "file:bundles/org.apache.aries.blueprint.core-${org.apache.aries.blueprint.core.version}.jar" felix.auto.start.5=\ diff --git a/samples/blueprint/idverifier/idverifier-client/pom.xml b/samples/blueprint/idverifier/idverifier-client/pom.xml index 342be39463..f525d900f7 100644 --- a/samples/blueprint/idverifier/idverifier-client/pom.xml +++ b/samples/blueprint/idverifier/idverifier-client/pom.xml @@ -39,8 +39,8 @@ slf4j-api - org.apache.aries.blueprint - org.apache.aries.blueprint.api + org.osgi + org.osgi.service.blueprint org.apache.aries.samples.blueprint.idverifier diff --git a/samples/blueprint/idverifier/idverifier-server/pom.xml b/samples/blueprint/idverifier/idverifier-server/pom.xml index b108e380a9..7daa41dc31 100644 --- a/samples/blueprint/idverifier/idverifier-server/pom.xml +++ b/samples/blueprint/idverifier/idverifier-server/pom.xml @@ -56,8 +56,8 @@ slf4j-api - org.apache.aries.blueprint - org.apache.aries.blueprint.api + org.osgi + org.osgi.service.blueprint org.apache.aries.samples.blueprint.idverifier diff --git a/samples/pom.xml b/samples/pom.xml index f6b2d603a6..ecf421ff89 100644 --- a/samples/pom.xml +++ b/samples/pom.xml @@ -120,11 +120,11 @@ 1.3.0 1.10.0 - 1.0.1 1.3.2 1.10.3 2.0.0 1.1.3 + 1.0.2 @@ -299,9 +299,9 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${org.apache.aries.blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries.blueprint diff --git a/transaction/transaction-itests/pom.xml b/transaction/transaction-itests/pom.xml index b51ddf2c72..d460ad9942 100644 --- a/transaction/transaction-itests/pom.xml +++ b/transaction/transaction-itests/pom.xml @@ -48,7 +48,6 @@ 1.2.2 1.2 3.6 - 1.0.1 1.10.3 2.0.0 2.0.0 @@ -62,6 +61,7 @@ 1.0.2 1_3 3.23.100 + 1.0.2 6.0.0 1.8.3 4.13.5 @@ -107,9 +107,9 @@ test - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${org.apache.aries.blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} test diff --git a/transaction/transaction-itests/src/test/java/org/apache/aries/transaction/itests/AbstractIntegrationTest.java b/transaction/transaction-itests/src/test/java/org/apache/aries/transaction/itests/AbstractIntegrationTest.java index e116d52447..0d7df787f6 100644 --- a/transaction/transaction-itests/src/test/java/org/apache/aries/transaction/itests/AbstractIntegrationTest.java +++ b/transaction/transaction-itests/src/test/java/org/apache/aries/transaction/itests/AbstractIntegrationTest.java @@ -84,7 +84,7 @@ public Option[] configuration() { mavenBundle("org.apache.derby", "derby").versionAsInProject(), mavenBundle("org.apache.aries", "org.apache.aries.util").versionAsInProject(), - mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.api").versionAsInProject(), + mavenBundle("org.osgi", "org.osgi.service.blueprint").versionAsInProject(), mavenBundle("org.apache.aries.blueprint", "org.apache.aries.blueprint.core").versionAsInProject(), mavenBundle("org.apache.aries.proxy", "org.apache.aries.proxy").versionAsInProject(), mavenBundle("org.objenesis", "objenesis").versionAsInProject(), diff --git a/tutorials/blueprint/tutorial-assembly/pom.xml b/tutorials/blueprint/tutorial-assembly/pom.xml index 39b4e3b12a..24d1a4657d 100644 --- a/tutorials/blueprint/tutorial-assembly/pom.xml +++ b/tutorials/blueprint/tutorial-assembly/pom.xml @@ -89,8 +89,8 @@ - org.apache.aries.blueprint - org.apache.aries.blueprint.api + org.osgi + org.osgi.service.blueprint org.apache.aries diff --git a/tutorials/blueprint/tutorial-assembly/src/main/filtered-resources/configuration/config.ini b/tutorials/blueprint/tutorial-assembly/src/main/filtered-resources/configuration/config.ini index 1c724af6f1..00f7bad3f6 100644 --- a/tutorials/blueprint/tutorial-assembly/src/main/filtered-resources/configuration/config.ini +++ b/tutorials/blueprint/tutorial-assembly/src/main/filtered-resources/configuration/config.ini @@ -29,7 +29,7 @@ org.apache.aries.util-${org.apache.aries.util.version}.jar@start,\ org.apache.aries.proxy-${org.apache.aries.proxy.version}.jar@start,\ org.apache.aries.quiesce.api-${org.apache.aries.quiesce.api.version}.jar@start,\ org.apache.aries.quiesce.manager-${org.apache.aries.quiesce.manager.version}.jar@start,\ -org.apache.aries.blueprint.api-${org.apache.aries.blueprint.api.version}.jar@start,\ +org.osgi-${org.osgi.service.blueprint.version}.jar@start,\ org.apache.aries.blueprint.core-${org.apache.aries.blueprint.core.version}.jar@start felix.fileinstall.dir=../dropins felix.fileinstall.bundles.new.start=true diff --git a/tutorials/pom.xml b/tutorials/pom.xml index 61d1d62e78..fb4b468578 100644 --- a/tutorials/pom.xml +++ b/tutorials/pom.xml @@ -48,7 +48,6 @@ 2.4.3 1 4.5.0 - 1.0.1 1.10.3 2.0.0 1.0.1 @@ -60,6 +59,7 @@ 1.2.0 1.4.1100 3.23.100 + 1.0.2 3.0.0 2.2.14 @@ -123,9 +123,9 @@ ${org.apache.aries.blueprint.core.version} - org.apache.aries.blueprint - org.apache.aries.blueprint.api - ${org.apache.aries.blueprint.api.version} + org.osgi + org.osgi.service.blueprint + ${org.osgi.service.blueprint.version} org.apache.aries