summaryrefslogtreecommitdiffstats
path: root/branches/pre-spec-changes/runtime/osgi
diff options
context:
space:
mode:
Diffstat (limited to 'branches/pre-spec-changes/runtime/osgi')
-rw-r--r--branches/pre-spec-changes/runtime/osgi/.pmd2
-rw-r--r--branches/pre-spec-changes/runtime/osgi/.ruleset190
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/LICENSE.txt202
-rw-r--r--branches/pre-spec-changes/runtime/osgi/NOTICE.txt14
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/README.txt35
-rw-r--r--branches/pre-spec-changes/runtime/osgi/pom.xml91
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java79
-rw-r--r--branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java31
-rw-r--r--branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java32
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java34
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java39
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java69
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingDefinition.java45
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java39
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java66
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java79
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReferenceBinding.java65
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiServiceBinding.java116
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java93
-rw-r--r--branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java64
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF14
-rwxr-xr-xbranches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl38
22 files changed, 0 insertions, 1437 deletions
diff --git a/branches/pre-spec-changes/runtime/osgi/.pmd b/branches/pre-spec-changes/runtime/osgi/.pmd
deleted file mode 100644
index 138693a60b..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/.pmd
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<pmd><useProjectRuleSet>true</useProjectRuleSet><rules/></pmd>
diff --git a/branches/pre-spec-changes/runtime/osgi/.ruleset b/branches/pre-spec-changes/runtime/osgi/.ruleset
deleted file mode 100644
index 3886f07f2d..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/.ruleset
+++ /dev/null
@@ -1,190 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<ruleset name="pmd-eclipse">
- <description>PMD Plugin preferences rule set</description>
-
-
- <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
- <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
- <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-<!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
- <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-<!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-<!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
- <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
- <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-<!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
- <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
- <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
- <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
- <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
- <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-<!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-<!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-<!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-<!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-<!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-<!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-<!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-<!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-<!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-<!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-<!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-<!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-<!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-<!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-<!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>
-<!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-<!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-<!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-<!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-<!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-<!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-<!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-<rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-<!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-<!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-<!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-<!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-<!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-<!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-<rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-<!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-<!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-<rule ref="rulesets/design.xml/IdempotentOperations"/>
-<!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-<!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-<!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-<!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-<!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-<!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-<rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-<rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-<rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-<rule ref="rulesets/design.xml/SimplifyConditional"/>
-<!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-<!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-<rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-<!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-<!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-<!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-<!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-<!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-<!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-<!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-<!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-<!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-<!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-<!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-<!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-<!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-<!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-<!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-<!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-<!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
- <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
- <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
- <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
- <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
- <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
- <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
- <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
- <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
- <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
- <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
- <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
- <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
- <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
- <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
- <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
- <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
- <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
- <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
- <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
- <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
- <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
- <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
- <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
- <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
- <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
- <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
- <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/branches/pre-spec-changes/runtime/osgi/LICENSE.txt b/branches/pre-spec-changes/runtime/osgi/LICENSE.txt
deleted file mode 100755
index 0084319535..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/LICENSE.txt
+++ /dev/null
@@ -1,202 +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, serviceDefinition 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/branches/pre-spec-changes/runtime/osgi/NOTICE.txt b/branches/pre-spec-changes/runtime/osgi/NOTICE.txt
deleted file mode 100644
index d83ebbe236..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/NOTICE.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-${pom.name}
-Copyright (c) 2005 - 2006 The Apache Software Foundation
-
-Apache Tuscany is an effort undergoing incubation at The Apache Software
-Foundation (ASF), sponsored by the Apache Web Services PMC. Incubation is
-required of all newly accepted projects until a further review indicates that
-the infrastructure, communications, and decision making process have stabilized
-in a manner consistent with other successful ASF projects. While incubation
-status is not necessarily a reflection of the completeness or stability of the
-code, it does indicate that the project has yet to be fully endorsed by the ASF.
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/branches/pre-spec-changes/runtime/osgi/README.txt b/branches/pre-spec-changes/runtime/osgi/README.txt
deleted file mode 100755
index 9b26d1690a..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/README.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-Apache Tuscany M1 build (May, 2006)
-===================================
-
-http://incubator.apache.org/tuscany/
-
-Tuscany is an effort undergoing incubation at the Apache Software Foundation
-(ASF), sponsored by the Web Services PMC.
-
-Incubation is required of all newly accepted projects until a further review
-indicates that the infrastructure, communications, and decision making process
-have stabilized in a manner consistent with other successful ASF projects.
-
-While incubation status is not necessarily a reflection of the completeness or
-stability of the code, it does indicate that the project has yet to be fully
-endorsed by the ASF.
-
-
-Support
--------
-
-Any problem with this release can be reported to the Tuscany mailing list
-or in the JIRA issue tracker.
-
-Mailing list subscription:
- tuscany-dev-subscribe@ws.apache.org
-
-Jira:
- http://issues.apache.org/jira/browse/Tuscany
-
-
-Thank you for using Tuscany!
-
-
-The Tuscany Team.
-
diff --git a/branches/pre-spec-changes/runtime/osgi/pom.xml b/branches/pre-spec-changes/runtime/osgi/pom.xml
deleted file mode 100644
index 18f72395bf..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/pom.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * 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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <groupId>org.apache.tuscany.sca.runtime</groupId>
- <artifactId>parent</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <artifactId>tuscany-osgi</artifactId>
- <packaging>osgi-bundle</packaging>
- <name>Apache Tuscany OSGi Runtime</name>
- <description>Integration code to embed the Tuscany runtime in an OSGi container and a binding implementation for
- consuming OSGi services and publishing SCA services to OSGi.</description>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.tuscany.sca.kernel</groupId>
- <artifactId>core</artifactId>
- <version>${sca.version}</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>osgi</artifactId>
- <version>3.1.1</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.tuscany.sca</groupId>
- <artifactId>test</artifactId>
- <version>${sca.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymockclassextension</artifactId>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix.plugins</groupId>
- <artifactId>maven-osgi-plugin</artifactId>
- <version>0.8.0-SNAPSHOT</version>
- <extensions>true</extensions>
- <configuration>
- <ignorePackage>com.sun.msv.grammar, com.sun.msv.grammar.trex, com.sun.msv.reader,
- com.sun.msv.reader.trex.ng, com.sun.msv.reader.util, com.sun.msv.util, com.sun.msv.verifier,
- com.sun.msv.verifier.regexp, javax.resource.spi.work
- </ignorePackage>
- <osgiManifest>
- <bundleName>${pom.name}</bundleName>
- <bundleDescription>${pom.description}</bundleDescription>
- <bundleVendor>${pom.organization.name}</bundleVendor>
- <bundleLocalization>plugin</bundleLocalization>
- <bundleSymbolicName>org.apache.tuscany</bundleSymbolicName>
- <bundleActivator>org.apache.tuscany.osgi.LauncherActivator</bundleActivator>
- <!--<exportPackage>org.apache.tuscany.*</exportPackage>-->
- </osgiManifest>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java
deleted file mode 100755
index 2d7027e208..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/LauncherActivator.java
+++ /dev/null
@@ -1,79 +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.
- */
-package org.apache.tuscany.osgi;
-
-import java.io.File;
-import java.net.URL;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-
-import org.apache.tuscany.api.TuscanyException;
-import org.apache.tuscany.core.launcher.LauncherImpl;
-import org.apache.tuscany.core.monitor.NullMonitorFactory;
-import org.apache.tuscany.osgi.util.BundleContextUtil;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Responsible for launching the Tuscany Runtime in as part of an OSGi bundle
- */
-public class LauncherActivator implements BundleActivator {
-
- private LauncherImpl launcher;
-
- public void start(BundleContext context) throws Exception {
- BundleContextUtil.setContext(context);
- startRuntime(context);
-
- }
-
- public void stop(BundleContext context) throws Exception {
- if (launcher != null) {
- launcher.shutdownRuntime();
- }
- }
-
-
- private void startRuntime(BundleContext context) throws OSGILauncherInitException {
- launcher = new LauncherImpl();
- // Current thread context classloader should be the webapp classloader
- ClassLoader webappClassLoader = Thread.currentThread().getContextClassLoader();
- launcher.setApplicationLoader(webappClassLoader);
-
- try {
- System.out.println(":::" + new File(".").toURL().toString());
- // URL systemScdl = getSystemSCDL(systemScdlPath);
- CompositeComponent rt =
- launcher.bootRuntime(new File("./sca/system.scdl").toURI().toURL(), new NullMonitorFactory());
- } catch (Exception e) {
- throw new OSGILauncherInitException(e);
- }
- }
-
- private void bootApplication(String name, URL scdl) throws TuscanyException {
- CompositeComponent root = launcher.bootApplication(name, scdl);
- root.start();
- }
-
- private void loadExtension(String name, URL scdl) throws TuscanyException {
- CompositeComponent root = launcher.bootApplication(name, scdl);
- root.start();
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java
deleted file mode 100644
index 9951183aea..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGILauncherInitException.java
+++ /dev/null
@@ -1,31 +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.
- */
-package org.apache.tuscany.osgi;
-
-import org.apache.tuscany.api.TuscanyException;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGILauncherInitException extends TuscanyException {
-
- public OSGILauncherInitException(Throwable throwable) {
- super(throwable);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java
deleted file mode 100644
index c16d27a937..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/OSGiHost.java
+++ /dev/null
@@ -1,32 +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.
- */
-package org.apache.tuscany.osgi;
-
-import java.util.Properties;
-
-import org.apache.tuscany.spi.host.ServletHost;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface OSGiHost extends ServletHost {
-
- void registerService(String serviceName, Object service, Properties properties);
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java
deleted file mode 100755
index 0f59da4709..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteMethodException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-public class NoRemoteMethodException extends OSGiBindingException {
-
- private static final long serialVersionUID = 5037327699117168707L;
-
- public NoRemoteMethodException(String message) {
- super(message);
- }
-
- public NoRemoteMethodException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteMethodException(Throwable cause) {
- super("", cause);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java
deleted file mode 100755
index a370cb28c6..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/NoRemoteServiceException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import org.osgi.framework.BundleException;
-
-/**
- * FIXME class not used
- *
- * @version $Rev$ $Date$
- */
-public class NoRemoteServiceException extends BundleException {
-
- public NoRemoteServiceException(String message) {
- super(message);
- }
-
- public NoRemoteServiceException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public NoRemoteServiceException(Throwable cause) {
- super("", cause);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java
deleted file mode 100755
index 0967abf210..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingBuilder.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import org.osoa.sca.annotations.Constructor;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.ServiceBinding;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.BindingBuilderExtension;
-import org.apache.tuscany.spi.model.BoundReferenceDefinition;
-import org.apache.tuscany.spi.model.BoundServiceDefinition;
-
-import org.apache.tuscany.osgi.OSGiHost;
-
-/**
- * Builds a Service or Reference for an OSGi binding.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBindingBuilder extends BindingBuilderExtension<OSGiBindingDefinition> {
-
- OSGiHost host;
-
- @Constructor
- public OSGiBindingBuilder(@Autowire OSGiHost host) {
- this.host = host;
- }
-
- protected Class<OSGiBindingDefinition> getBindingType() {
- return OSGiBindingDefinition.class;
- }
-
- public ServiceBinding build(CompositeComponent parent,
- BoundServiceDefinition boundServiceDefinition,
- OSGiBindingDefinition bindingDefinition,
- DeploymentContext deploymentContext) {
- String name = boundServiceDefinition.getName();
- String osgiServiceName = bindingDefinition.getService();
- return new OSGiServiceBinding(name, parent, wireService, osgiServiceName, host);
- }
-
- public OSGiReferenceBinding build(CompositeComponent parent,
- BoundReferenceDefinition boundReferenceDefinition,
- OSGiBindingDefinition bindingDefinition, DeploymentContext deploymentContext) {
- String name = boundReferenceDefinition.getName();
- return new OSGiReferenceBinding(name, parent);
- }
-
- protected Class<? extends Object> getServiceInterface(BoundServiceDefinition boundServiceDefinition) {
- return boundServiceDefinition.getServiceContract().getInterfaceClass();
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingDefinition.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingDefinition.java
deleted file mode 100755
index 15cacff25d..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingDefinition.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import org.apache.tuscany.spi.model.BindingDefinition;
-
-/**
- * Represents a binding to an OSGi service.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiBindingDefinition extends BindingDefinition {
- private String uri;
- private String service;
-
- public String getURI() {
- return uri;
- }
-
- public void setURI(String uri) {
- this.uri = uri;
- }
-
- public void setService(String service) {
- this.service = service;
- }
-
- public String getService() {
- return service;
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java
deleted file mode 100755
index 288d4940f0..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import org.apache.tuscany.api.TuscanyRuntimeException;
-
-/**
- * @version $Rev$ $Date$
- */
-public abstract class OSGiBindingException extends TuscanyRuntimeException {
- protected OSGiBindingException() {
- }
-
- protected OSGiBindingException(String message) {
- super(message);
- }
-
- protected OSGiBindingException(String message, Throwable cause) {
- super(message, cause);
- }
-
- protected OSGiBindingException(Throwable cause) {
- super(cause);
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java
deleted file mode 100755
index 80465feabb..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiBindingLoader.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation
- *
- * 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.apache.tuscany.osgi.binding;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.Scope;
-
-import org.apache.tuscany.spi.annotation.Autowire;
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.deployer.DeploymentContext;
-import org.apache.tuscany.spi.extension.LoaderExtension;
-import org.apache.tuscany.spi.loader.LoaderException;
-import org.apache.tuscany.spi.loader.LoaderRegistry;
-import org.apache.tuscany.spi.loader.LoaderUtil;
-import org.apache.tuscany.spi.model.ModelObject;
-
-/**
- * Loader for handling <code>binding.osgi</code> elements.
- *
- * @version $Rev$ $Date$
- */
-@Scope("COMPOSITE")
-public class OSGiBindingLoader extends LoaderExtension<OSGiBindingDefinition> {
- public static final QName BINDING_OSGI = new QName("http://tuscany.apache.org/xmlns/osgi/1.0", "binding.osgi");
-
- @Constructor
- public OSGiBindingLoader(@Autowire LoaderRegistry registry) {
- super(registry);
- }
-
- public QName getXMLType() {
- return BINDING_OSGI;
- }
-
- public OSGiBindingDefinition load(CompositeComponent parent, ModelObject object, XMLStreamReader reader,
- DeploymentContext deploymentContext)
- throws XMLStreamException, LoaderException {
- String uri = reader.getAttributeValue(null, "uri");
- String service = reader.getAttributeValue(null, "service");
- LoaderUtil.skipToEndElement(reader);
-
- OSGiBindingDefinition binding = new OSGiBindingDefinition();
- binding.setURI(uri);
- binding.setService(service);
- return binding;
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java
deleted file mode 100755
index bb48a8b1e1..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiInvoker.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-/**
- * Invokes the target service of an OSGi reference.
- *
- * @version $Rev$ $Date$
- */
-public class OSGiInvoker implements TargetInvoker {
- private final Method remoteMethod;
- private final Object proxy;
-
- OSGiInvoker(Object proxy, Method remoteMethod) {
- assert remoteMethod.isAccessible();
- this.remoteMethod = remoteMethod;
- this.proxy = proxy;
- }
-
- public Message invoke(Message msg) throws InvocationRuntimeException {
- try {
- Object resp = invokeTarget(msg.getBody(), TargetInvoker.NONE);
- msg.setBody(resp);
- } catch (InvocationTargetException e) {
- msg.setBody(e.getCause());
- }
- return msg;
- }
-
- public Object invokeTarget(Object payload, final short sequence) throws InvocationTargetException {
- try {
- return remoteMethod.invoke(proxy, (Object[]) payload);
- } catch (IllegalAccessException e) {
- // the method we are passed must be accessible
- throw new AssertionError(e);
- }
- }
-
- public Object clone() throws CloneNotSupportedException {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- throw new AssertionError(e);
- }
- }
-
- public boolean isOptimizable() {
- return false;
- }
-
- public boolean isCacheable() {
- return false;
- }
-
- // FIXME I think we can always have this cacheable as OSGi serviceBindings are thread-safe
- public void setCacheable(boolean cacheable) {
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReferenceBinding.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReferenceBinding.java
deleted file mode 100755
index 4523d7e001..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiReferenceBinding.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.Method;
-import java.rmi.Remote;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.extension.ReferenceBindingExtension;
-import org.apache.tuscany.spi.idl.java.JavaIDLUtils;
-import org.apache.tuscany.spi.model.Operation;
-import org.apache.tuscany.spi.model.ServiceContract;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGiReferenceBinding extends ReferenceBindingExtension {
- private static final QName BINDING_OSGI = new QName("http://tuscany.apache.org/xmlns/osgi/1.0", "binding.osgi");
- //private final String uri;
-
- public OSGiReferenceBinding(String name, CompositeComponent parent) {
- super(name, parent);
- //this.uri = uri;
- }
-
- public QName getBindingType() {
- return BINDING_OSGI;
- }
-
- public TargetInvoker createTargetInvoker(ServiceContract contract, Operation operation) {
- try {
- Object proxy = getProxy();
- String name = operation.getName();
- Method method = JavaIDLUtils.findMethod(operation, contract.getInterfaceClass().getMethods());
- Class<?>[] parameterTypes = method.getParameterTypes();
- Method remoteMethod = proxy.getClass().getMethod(name, parameterTypes);
- return new OSGiInvoker(proxy, remoteMethod);
- } catch (NoSuchMethodException e) {
- // FIXME we should probably have this as a checked exception, which will entail adding to the SPI signature
- throw new NoRemoteMethodException(operation.toString(), e);
- }
- }
-
- protected Remote getProxy() {
- //FIXME use service reference
- return null;
- }
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiServiceBinding.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiServiceBinding.java
deleted file mode 100755
index 57cae13779..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/binding/OSGiServiceBinding.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- *
- * Copyright 2006 The Apache Software Foundation or its licensors as applicable
- *
- * 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.apache.tuscany.osgi.binding;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Properties;
-import javax.xml.namespace.QName;
-
-import org.apache.tuscany.spi.component.CompositeComponent;
-import org.apache.tuscany.spi.component.SCAObjectStartException;
-import org.apache.tuscany.spi.extension.ServiceBindingExtension;
-import org.apache.tuscany.spi.wire.WireService;
-
-import org.apache.tuscany.osgi.OSGiHost;
-import org.osgi.framework.ServiceFactory;
-
-/**
- * @version $Rev$ $Date$
- */
-public class OSGiServiceBinding extends ServiceBindingExtension {
- private static final QName BINDING_OSGI = new QName("http://tuscany.apache.org/xmlns/osgi/1.0", "binding.osgi");
- private final String osgiServiceName;
- //private final Class<? extends Object> service;
- private OSGiHost host;
- private WireService wireService;
-
- /**
- * Creates a new service instance
- *
- * @param name the name of the SCA service
- * @param parent the containing composite
- * @param wireService the wire service to use for creating proxies
- * @param osgiServiceName the name to publish the service as to the OSGi hose
- * @param host the OSGi host
- */
- public OSGiServiceBinding(String name,
- CompositeComponent parent,
- WireService wireService,
- String osgiServiceName,
- OSGiHost host) {
- super(name, parent);
- this.osgiServiceName = osgiServiceName;
- //this.service = service;
- this.wireService = wireService;
- this.host = host;
- }
-
- public void start() throws SCAObjectStartException {
- super.start();
- Properties properties = new Properties();
- Object instance;
- Class<?> clazz = inboundWire.getServiceContract().getInterfaceClass();
- instance = wireService.createProxy(clazz, inboundWire);
- if (instance instanceof ServiceFactory) {
- host.registerService(osgiServiceName, instance, properties);
- } else {
- ServiceFactoryProxyHandler factoryProxy = new ServiceFactoryProxyHandler(instance);
- Class<?> interfaces[] = instance.getClass().getInterfaces();
- Class<?> proxyInterfaces[] = new Class<?>[interfaces.length + 1];
- int i;
- for (i = 0; i < interfaces.length; i++) {
- proxyInterfaces[i] = interfaces[i];
- }
- proxyInterfaces[i] = ServiceFactory.class;
- ClassLoader classLoader = instance.getClass().getClassLoader();
- // TODO It seems we need a mixin capability for the service. We could add that to WireService
- Object targetProxy = Proxy.newProxyInstance(classLoader, proxyInterfaces, factoryProxy);
- host.registerService(osgiServiceName, targetProxy, properties);
- }
- //Register the service with OSGi
- }
-
- public void stop() {
- super.stop();
- //Unregister the service with OSGi
- }
-
- public QName getBindingType() {
- return BINDING_OSGI;
- }
-
- private class ServiceFactoryProxyHandler implements InvocationHandler {
-
- private Object instance;
-
- public ServiceFactoryProxyHandler(Object instance) {
- this.instance = instance;
- }
-
- public Object invoke(Object object, Method method, Object[] parms) throws Throwable {
- if (method.getName().equals("getService")) {
- return instance;
- } else if (method.getName().equals("ungetService")) {
- return null;
- }
- return method.invoke(instance, parms);
- }
-
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java
deleted file mode 100755
index 02549a59fd..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/BundleContextUtil.java
+++ /dev/null
@@ -1,93 +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.
- */
-package org.apache.tuscany.osgi.util;
-
-import java.util.Dictionary;
-
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-
-public final class BundleContextUtil {
-
- private static BundleContext context;
- private static final ServiceReference EMPTY_REFERENCE_ARRAY[] = {};
-
- private BundleContextUtil() {
- }
-
- public static void setContext(BundleContext ctx) {
- context = ctx;
- }
-
- public static ServiceReference[] getServiceReference(String clazz, String filter) throws InvalidSyntaxException {
- ServiceReference[] references;
- references = context.getServiceReferences(clazz, filter);
- if (references == null) {
- references = EMPTY_REFERENCE_ARRAY;
- }
- return references;
- }
-
- public static Object getService(ServiceReference reference) {
- return context.getService(reference);
- }
-
- public static Object getService(ServiceReference references[]) {
- if (references == null) {
- return null;
- }
- return context.getService(references[0]);
- }
-
- public static void addServiceListener(ServiceListener listener, String filter) {
- try {
- if (filter != null) {
- context.addServiceListener(listener, filter);
- } else {
- context.addServiceListener(listener);
- }
- } catch (InvalidSyntaxException e) {
- //FIXME
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- public static void removeServiceListener(ServiceListener listener) {
- context.removeServiceListener(listener);
- }
-
- public static ServiceRegistration registerService(String serviceName,
- Object serviceFactory,
- Dictionary properties) {
- return context.registerService(serviceName, serviceFactory, properties);
- }
-
- public static boolean trackServiceReference(String filter, ServiceListener listener) {
- try {
- context.addServiceListener(listener, filter);
- return true;
- } catch (InvalidSyntaxException e) {
- return false;
- }
- }
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java b/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java
deleted file mode 100644
index 33f7706c3e..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/java/org/apache/tuscany/osgi/util/ClassloaderHook.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.apache.tuscany.osgi.util;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import org.osgi.framework.Bundle;
-
-public class ClassloaderHook {
-
- /**
- * Return the BundleContext Classloader for the specified bundle.
- *
- * @param bundle The bundle whose BundleContext is desired.
- * @return The BundleContext classloader for the specified bundle.
- */
- ClassLoader getClassLoader(final Bundle bundle) {
- if (System.getSecurityManager() == null) {
- Object bundleLoader = invokeMethod(bundle, "checkLoader", null, null);
- return (ClassLoader) invokeMethod(bundleLoader, "createClassLoader", null, null);
- }
- return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
- public ClassLoader run() {
- Object bundleLoader = invokeMethod(bundle, "checkLoader", null, null);
- return (ClassLoader) invokeMethod(bundleLoader, "createClassLoader", null, null);
- }
- });
- }
-
- /**
- * Throws an IllegalStateException if the reflection logic cannot find what it is looking for. This probably means
- * this class does not properly recognize the framework implementation.
- *
- * @param e Exception which indicates the reflection logic is confused.
- */
- protected void reflectionException(Exception e) {
- throw new IllegalStateException(
- "ClassLoaderHook does not recognize the framework implementation: " + e.getMessage());
- }
-
- private Object invokeMethod(Object target, String methodName, Class[] parms, Object[] args) {
- Method method;
- try {
- method = target.getClass().getMethod(methodName, parms);
- if (method != null) {
- return method.invoke(target, parms, args);
- }
- } catch (SecurityException e) {
- reflectionException(e);
- } catch (NoSuchMethodException e) {
- reflectionException(e);
- } catch (IllegalArgumentException e) {
- reflectionException(e);
- } catch (IllegalAccessException e) {
- reflectionException(e);
- } catch (InvocationTargetException e) {
- reflectionException(e);
- }
- return null;
- }
-
-
-}
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF b/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100755
index bb72ca36e5..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Tuscany_binding_osgi Plug-in
-Bundle-SymbolicName: tuscany_binding_osgi
-Bundle-Version: 1.0.0
-Bundle-Activator: org.apache.tuscany.binding.osgi.LauncherActivator
-Bundle-Localization: plugin
-Import-Package: org.osgi.framework;version="1.3.0",
- org.osgi.util.tracker;version="1.3.1",
- org.osoa.sca,
- org.osoa.sca.annotations
-Require-Bundle: tuscany.osgi.sca.spi,
- tuscany_external_dependencies,
- tuscany.osgi.sca.core
diff --git a/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl b/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl
deleted file mode 100755
index 94dca99a73..0000000000
--- a/branches/pre-spec-changes/runtime/osgi/src/main/resources/META-INF/sca/osgibinding.scdl
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Copyright (c) 2006 The Apache Software Foundation or its licensors, as applicable.
- *
- * 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.
- -->
-<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
- xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT"
-
- name="binding.osgi">
-
- <component name="osgi.implementationLoader">
- <system:implementation.system class="org.apache.tuscany.osgOSGiBindingBuilderi.binding.OSGiBindingLoader"/>
- </component>
- <component name="osgi.bindingBuilder">
- <system:implementation.system class="org.apache.tuscany.osgi.binding.OSGiBindingBuilder"/>
- </component>
- <component name="osgi.componentLoader">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiImplementationLoader"/>
- </component>
- <component name="osgi.componentTypeLoader">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiComponentTypeLoader"/>
- </component>
- <component name="osgi.componentBuilder">
- <system:implementation.system class="org.apache.tuscany.implementation.osgi.OSGiComponentBuilder"/>
- </component>
-
-</composite>