diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-13 01:42:27 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-13 01:42:27 +0000 |
commit | 3c7c4a749baafcf375f4785a7668d3a25c9063e3 (patch) | |
tree | a66b8b031c5dc6c7744f44b44b6bcd371bd0b8df /branches/sca-java-1.x/modules/core-spi/src | |
parent | eb03ff672236cddf65533f39b83ddd5e2984a2bb (diff) |
Moving 1.x trunk
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@835700 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-java-1.x/modules/core-spi/src')
72 files changed, 0 insertions, 5423 deletions
diff --git a/branches/sca-java-1.x/modules/core-spi/src/doc/Context Model.emx b/branches/sca-java-1.x/modules/core-spi/src/doc/Context Model.emx deleted file mode 100644 index 0445ea5a6b..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/doc/Context Model.emx +++ /dev/null @@ -1,673 +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.
--->
-<!--xtools2_universal_type_manager-->
-<uml:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.ibm.com/xtools/1.5.0/Notation" xmlns:uml="http://www.eclipse.org/uml2/1.0.0/UML" xmlns:umlnotation="http://www.ibm.com/xtools/1.5.0/Umlnotation" xmi:id="_al1S8NovEdqRBPR5WyT36A" name="Context Model" appliedProfile="_al1S9NovEdqRBPR5WyT36A _al1S99ovEdqRBPR5WyT36A _al1S-tovEdqRBPR5WyT36A _al1S_dovEdqRBPR5WyT36A _al1TANovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1S8dovEdqRBPR5WyT36A" source="uml2.diagrams" references="_al1S8tovEdqRBPR5WyT36A">
- <contents xmi:type="notation:Diagram" xmi:id="_al1S8tovEdqRBPR5WyT36A" type="Class" name="Main">
- <children xmi:id="_ePDcYdovEdqRBPR5WyT36A" sourceEdges="_Fd3lQdowEdqRBPR5WyT36A _R5Rjwdo1EdqRBPR5WyT36A _pdfmkNo2EdqRBPR5WyT36A" targetEdges="_hmIF4dovEdqRBPR5WyT36A _mu9A4dovEdqRBPR5WyT36A _pe3jwNovEdqRBPR5WyT36A" element="_ePDcYNovEdqRBPR5WyT36A">
- <children xmi:id="_ePJjANovEdqRBPR5WyT36A" type="ImageCompartment" element="_ePDcYNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_ePJjAdovEdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_ePJjAtovEdqRBPR5WyT36A" type="Stereotype" element="_ePDcYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ePJjA9ovEdqRBPR5WyT36A" type="Kind" element="_ePDcYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ePJjBNovEdqRBPR5WyT36A" type="Name" element="_ePDcYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ePJjBdovEdqRBPR5WyT36A" type="AttributeCompartment" element="_ePDcYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ePJjBtovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_ePJjB9ovEdqRBPR5WyT36A" type="OperationCompartment" element="_ePDcYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ePJjCNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_ePJjCdovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_ePDcYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ePJjCtovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_ePDcYtovEdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ePDcY9ovEdqRBPR5WyT36A" x="6693" y="3545"/>
- </children>
- <children xmi:id="_fs1pANovEdqRBPR5WyT36A" sourceEdges="_hmIF4dovEdqRBPR5WyT36A _pe3jwNovEdqRBPR5WyT36A" targetEdges="_xInjYdovEdqRBPR5WyT36A" element="_fsviYNovEdqRBPR5WyT36A">
- <children xmi:id="_fs1pA9ovEdqRBPR5WyT36A" type="ImageCompartment" element="_fsviYNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_fs1pBNovEdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_fs1pBdovEdqRBPR5WyT36A" type="Stereotype" element="_fsviYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_fs1pBtovEdqRBPR5WyT36A" type="Kind" element="_fsviYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_fs1pB9ovEdqRBPR5WyT36A" type="Name" element="_fsviYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_fs1pCNovEdqRBPR5WyT36A" type="AttributeCompartment" element="_fsviYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_fs1pCdovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_fs1pCtovEdqRBPR5WyT36A" type="OperationCompartment" element="_fsviYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_fs1pC9ovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_fs1pDNovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_fsviYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_fs1pDdovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_fs1pAdovEdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fs1pAtovEdqRBPR5WyT36A" x="2226" y="8268"/>
- </children>
- <children xmi:id="_ikr_4NovEdqRBPR5WyT36A" sourceEdges="_mu9A4dovEdqRBPR5WyT36A" element="_ikl5QNovEdqRBPR5WyT36A">
- <children xmi:id="_ikr_49ovEdqRBPR5WyT36A" type="ImageCompartment" element="_ikl5QNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_ikr_5NovEdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_ikr_5dovEdqRBPR5WyT36A" type="Stereotype" element="_ikl5QNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ikr_5tovEdqRBPR5WyT36A" type="Kind" element="_ikl5QNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ikr_59ovEdqRBPR5WyT36A" type="Name" element="_ikl5QNovEdqRBPR5WyT36A"/>
- <children xmi:id="_ikr_6NovEdqRBPR5WyT36A" type="AttributeCompartment" element="_ikl5QNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ikr_6dovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_ikr_6tovEdqRBPR5WyT36A" type="OperationCompartment" element="_ikl5QNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ikr_69ovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_ikr_7NovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_ikl5QNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_ikr_7dovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_ikr_4dovEdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ikr_4tovEdqRBPR5WyT36A" x="9222" y="8268"/>
- </children>
- <children xmi:id="_tZF9odovEdqRBPR5WyT36A" sourceEdges="_xInjYdovEdqRBPR5WyT36A _BkUg0dowEdqRBPR5WyT36A" element="_tZF9oNovEdqRBPR5WyT36A">
- <children xmi:id="_tZF9pNovEdqRBPR5WyT36A" type="ImageCompartment" element="_tZF9oNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_tZF9pdovEdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_tZF9ptovEdqRBPR5WyT36A" type="Stereotype" element="_tZF9oNovEdqRBPR5WyT36A"/>
- <children xmi:id="_tZF9p9ovEdqRBPR5WyT36A" type="Kind" element="_tZF9oNovEdqRBPR5WyT36A"/>
- <children xmi:id="_tZF9qNovEdqRBPR5WyT36A" type="Name" element="_tZF9oNovEdqRBPR5WyT36A"/>
- <children xmi:id="_tZF9qdovEdqRBPR5WyT36A" type="AttributeCompartment" element="_tZF9oNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_tZF9qtovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_tZF9q9ovEdqRBPR5WyT36A" type="OperationCompartment" element="_tZF9oNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_tZF9rNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_tZF9rdovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_tZF9oNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_tZF9rtovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_tZF9otovEdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tZF9o9ovEdqRBPR5WyT36A" x="2226" y="12084"/>
- </children>
- <children xmi:id="_z_m-oNovEdqRBPR5WyT36A" sourceEdges="_cN4xsdo2EdqRBPR5WyT36A" targetEdges="_3Ic-4NovEdqRBPR5WyT36A _9XeF4tovEdqRBPR5WyT36A _Fd3lQdowEdqRBPR5WyT36A" element="_z_g4ANovEdqRBPR5WyT36A">
- <children xmi:id="_z_m-o9ovEdqRBPR5WyT36A" type="ImageCompartment" element="_z_g4ANovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_z_m-pNovEdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_z_m-pdovEdqRBPR5WyT36A" type="Stereotype" element="_z_g4ANovEdqRBPR5WyT36A"/>
- <children xmi:id="_z_m-ptovEdqRBPR5WyT36A" type="Kind" element="_z_g4ANovEdqRBPR5WyT36A"/>
- <children xmi:id="_z_m-p9ovEdqRBPR5WyT36A" type="Name" element="_z_g4ANovEdqRBPR5WyT36A"/>
- <children xmi:id="_z_m-qNovEdqRBPR5WyT36A" type="AttributeCompartment" element="_z_g4ANovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_z_m-qdovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_z_m-qtovEdqRBPR5WyT36A" type="OperationCompartment" element="_z_g4ANovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_z_m-q9ovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_z_m-rNovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_z_g4ANovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_z_m-rdovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_z_m-odovEdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_m-otovEdqRBPR5WyT36A" x="17172" y="6996"/>
- </children>
- <children xmi:id="_1y-ZsNovEdqRBPR5WyT36A" sourceEdges="_3Ic-4NovEdqRBPR5WyT36A _9-BEUNo2EdqRBPR5WyT36A" targetEdges="_BkUg0dowEdqRBPR5WyT36A" element="_1yyMcNovEdqRBPR5WyT36A">
- <children xmi:id="_1y-Zs9ovEdqRBPR5WyT36A" type="ImageCompartment" element="_1yyMcNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_1y-ZtNovEdqRBPR5WyT36A" width="1320" height="1320"/>
- </children>
- <children xmi:id="_1y-ZtdovEdqRBPR5WyT36A" type="Stereotype" element="_1yyMcNovEdqRBPR5WyT36A"/>
- <children xmi:id="_1y-ZttovEdqRBPR5WyT36A" type="Name" element="_1yyMcNovEdqRBPR5WyT36A"/>
- <children xmi:id="_1y-Zt9ovEdqRBPR5WyT36A" type="AttributeCompartment" element="_1yyMcNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_1y-ZuNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_1y-ZudovEdqRBPR5WyT36A" type="OperationCompartment" element="_1yyMcNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_1y-ZutovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_1y-Zu9ovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_1yyMcNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_1y-ZvNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_1y-ZvdovEdqRBPR5WyT36A" visible="false" type="StructureCompartment" element="_1yyMcNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_1y-ZvtovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_1y-ZsdovEdqRBPR5WyT36A" showStereotype="Label"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1y-ZstovEdqRBPR5WyT36A" x="13992" y="12084"/>
- </children>
- <children xmi:id="_4WSrANovEdqRBPR5WyT36A" sourceEdges="_9XeF4tovEdqRBPR5WyT36A _9PaR4No2EdqRBPR5WyT36A" element="_4WMkYNovEdqRBPR5WyT36A">
- <children xmi:id="_4WSrA9ovEdqRBPR5WyT36A" type="ImageCompartment" element="_4WMkYNovEdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_4WSrBNovEdqRBPR5WyT36A" width="1320" height="1320"/>
- </children>
- <children xmi:id="_4WSrBdovEdqRBPR5WyT36A" type="Stereotype" element="_4WMkYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_4WSrBtovEdqRBPR5WyT36A" type="Name" element="_4WMkYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_4WSrB9ovEdqRBPR5WyT36A" type="AttributeCompartment" element="_4WMkYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_4WSrCNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_4WSrCdovEdqRBPR5WyT36A" type="OperationCompartment" element="_4WMkYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_4WSrCtovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_4WSrC9ovEdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_4WMkYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_4WSrDNovEdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_4WSrDdovEdqRBPR5WyT36A" visible="false" type="StructureCompartment" element="_4WMkYNovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_4WSrDtovEdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_4WSrAdovEdqRBPR5WyT36A" showStereotype="Label"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4WSrAtovEdqRBPR5WyT36A" x="19716" y="12084"/>
- </children>
- <children xmi:id="_o2m3oNo0EdqRBPR5WyT36A" targetEdges="_9PaR4No2EdqRBPR5WyT36A _9-BEUNo2EdqRBPR5WyT36A" element="_o2gxANo0EdqRBPR5WyT36A">
- <children xmi:id="_o2m3o9o0EdqRBPR5WyT36A" type="ImageCompartment" element="_o2gxANo0EdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_o2m3pNo0EdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_o2m3pdo0EdqRBPR5WyT36A" type="Stereotype" element="_o2gxANo0EdqRBPR5WyT36A"/>
- <children xmi:id="_o2m3pto0EdqRBPR5WyT36A" type="Kind" element="_o2gxANo0EdqRBPR5WyT36A"/>
- <children xmi:id="_o2m3p9o0EdqRBPR5WyT36A" type="Name" element="_o2gxANo0EdqRBPR5WyT36A"/>
- <children xmi:id="_o2m3qNo0EdqRBPR5WyT36A" type="AttributeCompartment" element="_o2gxANo0EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_o2m3qdo0EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_o2m3qto0EdqRBPR5WyT36A" type="OperationCompartment" element="_o2gxANo0EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_o2m3q9o0EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_o2m3rNo0EdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_o2gxANo0EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_o2m3rdo0EdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_o2m3odo0EdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_o2m3oto0EdqRBPR5WyT36A" x="23532" y="6996"/>
- </children>
- <children xmi:id="_M0FLkNo1EdqRBPR5WyT36A" targetEdges="_R5Rjwdo1EdqRBPR5WyT36A _V7zlEdo1EdqRBPR5WyT36A" element="_Mz_E8No1EdqRBPR5WyT36A">
- <children xmi:id="_M0FLk9o1EdqRBPR5WyT36A" type="ImageCompartment" element="_Mz_E8No1EdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_M0FLlNo1EdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_M0FLldo1EdqRBPR5WyT36A" type="Stereotype" element="_Mz_E8No1EdqRBPR5WyT36A"/>
- <children xmi:id="_M0FLlto1EdqRBPR5WyT36A" type="Kind" element="_Mz_E8No1EdqRBPR5WyT36A"/>
- <children xmi:id="_M0FLl9o1EdqRBPR5WyT36A" type="Name" element="_Mz_E8No1EdqRBPR5WyT36A"/>
- <children xmi:id="_M0FLmNo1EdqRBPR5WyT36A" type="AttributeCompartment" element="_Mz_E8No1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_M0FLmdo1EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_M0FLmto1EdqRBPR5WyT36A" type="OperationCompartment" element="_Mz_E8No1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_M0FLm9o1EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_M0FLnNo1EdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_Mz_E8No1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_M0FLndo1EdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_M0FLkdo1EdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0FLkto1EdqRBPR5WyT36A" x="6678" y="318"/>
- </children>
- <children xmi:id="_TJHbANo1EdqRBPR5WyT36A" sourceEdges="_V7zlEdo1EdqRBPR5WyT36A" targetEdges="_cN4xsdo2EdqRBPR5WyT36A" element="_TI7NwNo1EdqRBPR5WyT36A">
- <children xmi:id="_TJHbA9o1EdqRBPR5WyT36A" type="ImageCompartment" element="_TI7NwNo1EdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_TJHbBNo1EdqRBPR5WyT36A" width="530" height="530"/>
- </children>
- <children xmi:id="_TJHbBdo1EdqRBPR5WyT36A" type="Stereotype" element="_TI7NwNo1EdqRBPR5WyT36A"/>
- <children xmi:id="_TJHbBto1EdqRBPR5WyT36A" type="Kind" element="_TI7NwNo1EdqRBPR5WyT36A"/>
- <children xmi:id="_TJHbB9o1EdqRBPR5WyT36A" type="Name" element="_TI7NwNo1EdqRBPR5WyT36A"/>
- <children xmi:id="_TJHbCNo1EdqRBPR5WyT36A" type="AttributeCompartment" element="_TI7NwNo1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_TJHbCdo1EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_TJHbCto1EdqRBPR5WyT36A" type="OperationCompartment" element="_TI7NwNo1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_TJHbC9o1EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_TJHbDNo1EdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_TI7NwNo1EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_TJHbDdo1EdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLClassifierStyle" xmi:id="_TJHbAdo1EdqRBPR5WyT36A" showStereotype="Label" useClassifierShape="true"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TJHbAto1EdqRBPR5WyT36A" x="16854" y="318"/>
- </children>
- <styles xmi:type="umlnotation:UMLDiagramStyle" xmi:id="_al1S89ovEdqRBPR5WyT36A"/>
- <edges xmi:id="_hmIF4dovEdqRBPR5WyT36A" element="_hmIF4NovEdqRBPR5WyT36A" source="_fs1pANovEdqRBPR5WyT36A" target="_ePDcYdovEdqRBPR5WyT36A">
- <children xmi:id="_hmIF5NovEdqRBPR5WyT36A" type="NameLabel" element="_hmIF4NovEdqRBPR5WyT36A">
- <children xmi:id="_hmIF5tovEdqRBPR5WyT36A" type="Stereotype" element="_hmIF4NovEdqRBPR5WyT36A"/>
- <children xmi:id="_hmIF59ovEdqRBPR5WyT36A" type="Name" element="_hmIF4NovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_hmIF5dovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_hmIF4tovEdqRBPR5WyT36A" routing="Tree" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hmIF49ovEdqRBPR5WyT36A" points="[26, -31, -110, 148]$[140, -148, 4, 31]"/>
- </edges>
- <edges xmi:id="_mu9A4dovEdqRBPR5WyT36A" element="_mu9A4NovEdqRBPR5WyT36A" source="_ikr_4NovEdqRBPR5WyT36A" target="_ePDcYdovEdqRBPR5WyT36A">
- <children xmi:id="_mu9A5NovEdqRBPR5WyT36A" type="NameLabel" element="_mu9A4NovEdqRBPR5WyT36A">
- <children xmi:id="_mu9A5tovEdqRBPR5WyT36A" type="Stereotype" element="_mu9A4NovEdqRBPR5WyT36A"/>
- <children xmi:id="_mu9A59ovEdqRBPR5WyT36A" type="Name" element="_mu9A4NovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_mu9A5dovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_mu9A4tovEdqRBPR5WyT36A" routing="Tree" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mu9A49ovEdqRBPR5WyT36A" points="[-185, -820, 2937, 3916]$[-185, -3042, 2937, 1694]$[-3255, -3042, -133, 1694]$[-3255, -3916, -133, 820]"/>
- </edges>
- <edges xmi:id="_pe3jwNovEdqRBPR5WyT36A" element="_peM1YNovEdqRBPR5WyT36A" source="_fs1pANovEdqRBPR5WyT36A" target="_ePDcYdovEdqRBPR5WyT36A">
- <children xmi:id="_pe3jw9ovEdqRBPR5WyT36A" type="NameLabel" element="_peM1YNovEdqRBPR5WyT36A">
- <children xmi:id="_pe3jxdovEdqRBPR5WyT36A" type="Stereotype" element="_peM1YNovEdqRBPR5WyT36A"/>
- <children xmi:id="_pe3jxtovEdqRBPR5WyT36A" type="Name" element="_peM1YNovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3jxNovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_pe3jx9ovEdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_peM1YtovEdqRBPR5WyT36A">
- <children xmi:id="_pe3jydovEdqRBPR5WyT36A" type="ToMultiplicity" element="_peM1YtovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3jyNovEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_pe3jytovEdqRBPR5WyT36A" type="ToRoleLabel" element="_peM1YtovEdqRBPR5WyT36A">
- <children xmi:id="_pe3jzNovEdqRBPR5WyT36A" type="ToRole" element="_peM1YtovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3jy9ovEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_pe3jzdovEdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_peM1YdovEdqRBPR5WyT36A">
- <children xmi:id="_pe3jz9ovEdqRBPR5WyT36A" type="FromMultiplicity" element="_peM1YdovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3jztovEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_pe3j0NovEdqRBPR5WyT36A" type="FromRoleLabel" element="_peM1YdovEdqRBPR5WyT36A">
- <children xmi:id="_pe3j0tovEdqRBPR5WyT36A" type="FromRole" element="_peM1YdovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3j0dovEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_pe3j09ovEdqRBPR5WyT36A" type="ToQualifierLabel" element="_peM1YtovEdqRBPR5WyT36A">
- <children xmi:id="_pe3j1dovEdqRBPR5WyT36A" type="QualifierCompartment" element="_peM1YtovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pe3j1tovEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3j1NovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_pe3j19ovEdqRBPR5WyT36A" type="FromQualifierLabel" element="_peM1YdovEdqRBPR5WyT36A">
- <children xmi:id="_pe3j2dovEdqRBPR5WyT36A" type="QualifierCompartment" element="_peM1YdovEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pe3j2tovEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pe3j2NovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_pe3jwdovEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pe3jwtovEdqRBPR5WyT36A" points="[-317, -820, -3916, 3916]$[-1931, -4762, -5530, -26]$[2382, -4762, -1217, -26]"/>
- </edges>
- <edges xmi:id="_xInjYdovEdqRBPR5WyT36A" element="_xInjYNovEdqRBPR5WyT36A" source="_tZF9odovEdqRBPR5WyT36A" target="_fs1pANovEdqRBPR5WyT36A">
- <children xmi:id="_xInjZNovEdqRBPR5WyT36A" type="NameLabel" element="_xInjYNovEdqRBPR5WyT36A">
- <children xmi:id="_xInjZtovEdqRBPR5WyT36A" type="Stereotype" element="_xInjYNovEdqRBPR5WyT36A"/>
- <children xmi:id="_xInjZ9ovEdqRBPR5WyT36A" type="Name" element="_xInjYNovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_xInjZdovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_xInjYtovEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xInjY9ovEdqRBPR5WyT36A" points="[-4, -31, 1, 113]$[-4, -115, 1, 29]"/>
- </edges>
- <edges xmi:id="_3Ic-4NovEdqRBPR5WyT36A" element="_3IW4QNovEdqRBPR5WyT36A" source="_1y-ZsNovEdqRBPR5WyT36A" target="_z_m-oNovEdqRBPR5WyT36A">
- <children xmi:id="_3Ic-49ovEdqRBPR5WyT36A" type="NameLabel" element="_3IW4QNovEdqRBPR5WyT36A">
- <children xmi:id="_3Ic-5dovEdqRBPR5WyT36A" type="Stereotype" element="_3IW4QNovEdqRBPR5WyT36A"/>
- <children xmi:id="_3Ic-5tovEdqRBPR5WyT36A" type="Name" element="_3IW4QNovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_3Ic-5NovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_3Ic-4dovEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3Ic-4tovEdqRBPR5WyT36A" points="[6, -24, -37, 154]$[-22, -170, -65, 8]"/>
- </edges>
- <edges xmi:id="_9XeF4tovEdqRBPR5WyT36A" element="_9XeF4NovEdqRBPR5WyT36A" source="_4WSrANovEdqRBPR5WyT36A" target="_z_m-oNovEdqRBPR5WyT36A">
- <children xmi:id="_9XeF5dovEdqRBPR5WyT36A" type="NameLabel" element="_9XeF4NovEdqRBPR5WyT36A">
- <children xmi:id="_9XeF59ovEdqRBPR5WyT36A" type="Stereotype" element="_9XeF4NovEdqRBPR5WyT36A"/>
- <children xmi:id="_9XeF6NovEdqRBPR5WyT36A" type="Name" element="_9XeF4NovEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9XeF5tovEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_9XeF49ovEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9XeF5NovEdqRBPR5WyT36A" points="[-23, -23, 162, 151]$[-121, -170, 64, 4]"/>
- </edges>
- <edges xmi:id="_BkUg0dowEdqRBPR5WyT36A" element="_Bj8GUNowEdqRBPR5WyT36A" source="_tZF9odovEdqRBPR5WyT36A" target="_1y-ZsNovEdqRBPR5WyT36A">
- <children xmi:id="_BkancNowEdqRBPR5WyT36A" type="NameLabel" element="_Bj8GUNowEdqRBPR5WyT36A">
- <children xmi:id="_BkanctowEdqRBPR5WyT36A" type="Stereotype" element="_Bj8GUNowEdqRBPR5WyT36A"/>
- <children xmi:id="_Bkanc9owEdqRBPR5WyT36A" type="Name" element="_Bj8GUNowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkancdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_BkandNowEdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_Bj8GUtowEdqRBPR5WyT36A">
- <children xmi:id="_BkandtowEdqRBPR5WyT36A" type="ToMultiplicity" element="_Bj8GUtowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkanddowEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_Bkand9owEdqRBPR5WyT36A" type="ToRoleLabel" element="_Bj8GUtowEdqRBPR5WyT36A">
- <children xmi:id="_BkanedowEdqRBPR5WyT36A" type="ToRole" element="_Bj8GUtowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkaneNowEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_BkanetowEdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_Bj8GUdowEdqRBPR5WyT36A">
- <children xmi:id="_BkanfNowEdqRBPR5WyT36A" type="FromMultiplicity" element="_Bj8GUdowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Bkane9owEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_BkanfdowEdqRBPR5WyT36A" type="FromRoleLabel" element="_Bj8GUdowEdqRBPR5WyT36A">
- <children xmi:id="_Bkanf9owEdqRBPR5WyT36A" type="FromRole" element="_Bj8GUdowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkanftowEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_BkangNowEdqRBPR5WyT36A" type="ToQualifierLabel" element="_Bj8GUtowEdqRBPR5WyT36A">
- <children xmi:id="_BkangtowEdqRBPR5WyT36A" type="QualifierCompartment" element="_Bj8GUtowEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_Bkang9owEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkangdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_BkanhNowEdqRBPR5WyT36A" type="FromQualifierLabel" element="_Bj8GUdowEdqRBPR5WyT36A">
- <children xmi:id="_BkanhtowEdqRBPR5WyT36A" type="QualifierCompartment" element="_Bj8GUdowEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_Bkanh9owEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_BkanhdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_BkUg0towEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BkUg09owEdqRBPR5WyT36A" points="[83, -24, -490, 123]$[486, -151, -87, -4]"/>
- </edges>
- <edges xmi:id="_Fd3lQdowEdqRBPR5WyT36A" element="_FdlRYNowEdqRBPR5WyT36A" source="_ePDcYdovEdqRBPR5WyT36A" target="_z_m-oNovEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lRNowEdqRBPR5WyT36A" type="NameLabel" element="_FdlRYNowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lRtowEdqRBPR5WyT36A" type="Stereotype" element="_FdlRYNowEdqRBPR5WyT36A"/>
- <children xmi:id="_Fd3lR9owEdqRBPR5WyT36A" type="Name" element="_FdlRYNowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lRdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_Fd3lSNowEdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_FdlRYtowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lStowEdqRBPR5WyT36A" type="ToMultiplicity" element="_FdlRYtowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lSdowEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_Fd3lS9owEdqRBPR5WyT36A" type="ToRoleLabel" element="_FdlRYtowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lTdowEdqRBPR5WyT36A" type="ToRole" element="_FdlRYtowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lTNowEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_Fd3lTtowEdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_FdlRYdowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lUNowEdqRBPR5WyT36A" type="FromMultiplicity" element="_FdlRYdowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lT9owEdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_Fd3lUdowEdqRBPR5WyT36A" type="FromRoleLabel" element="_FdlRYdowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lU9owEdqRBPR5WyT36A" type="FromRole" element="_FdlRYdowEdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lUtowEdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_Fd3lVNowEdqRBPR5WyT36A" type="ToQualifierLabel" element="_FdlRYtowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lVtowEdqRBPR5WyT36A" type="QualifierCompartment" element="_FdlRYtowEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_Fd3lV9owEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lVdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_Fd3lWNowEdqRBPR5WyT36A" type="FromQualifierLabel" element="_FdlRYdowEdqRBPR5WyT36A">
- <children xmi:id="_Fd3lWtowEdqRBPR5WyT36A" type="QualifierCompartment" element="_FdlRYdowEdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_Fd3lW9owEdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_Fd3lWdowEdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_Fd3lQtowEdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fd3lQ9owEdqRBPR5WyT36A" points="[46, -11, -369, -9]$[351, -11, -64, -9]"/>
- </edges>
- <edges xmi:id="_R5Rjwdo1EdqRBPR5WyT36A" element="_R5RjwNo1EdqRBPR5WyT36A" source="_ePDcYdovEdqRBPR5WyT36A" target="_M0FLkNo1EdqRBPR5WyT36A">
- <children xmi:id="_R5RjxNo1EdqRBPR5WyT36A" type="NameLabel" element="_R5RjwNo1EdqRBPR5WyT36A">
- <children xmi:id="_R5Rjxto1EdqRBPR5WyT36A" type="Stereotype" element="_R5RjwNo1EdqRBPR5WyT36A"/>
- <children xmi:id="_R5Rjx9o1EdqRBPR5WyT36A" type="Name" element="_R5RjwNo1EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_R5Rjxdo1EdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_R5Rjwto1EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R5Rjw9o1EdqRBPR5WyT36A" points="[-2, -31, -2, 91]$[-2, -91, -2, 31]"/>
- </edges>
- <edges xmi:id="_V7zlEdo1EdqRBPR5WyT36A" element="_V7zlENo1EdqRBPR5WyT36A" source="_TJHbANo1EdqRBPR5WyT36A" target="_M0FLkNo1EdqRBPR5WyT36A">
- <children xmi:id="_V7zlFNo1EdqRBPR5WyT36A" type="NameLabel" element="_V7zlENo1EdqRBPR5WyT36A">
- <children xmi:id="_V7zlFto1EdqRBPR5WyT36A" type="Stereotype" element="_V7zlENo1EdqRBPR5WyT36A"/>
- <children xmi:id="_V7zlF9o1EdqRBPR5WyT36A" type="Name" element="_V7zlENo1EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_V7zlFdo1EdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_V7zlEto1EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V7zlE9o1EdqRBPR5WyT36A" points="[-73, 0, 339, 0]$[-457, 0, -45, 0]"/>
- </edges>
- <edges xmi:id="_cN4xsdo2EdqRBPR5WyT36A" targetEdges="_pdfmkNo2EdqRBPR5WyT36A" element="_cNskcNo2EdqRBPR5WyT36A" source="_z_m-oNovEdqRBPR5WyT36A" target="_TJHbANo1EdqRBPR5WyT36A">
- <children xmi:id="_cN4xtNo2EdqRBPR5WyT36A" type="NameLabel" element="_cNskcNo2EdqRBPR5WyT36A">
- <children xmi:id="_cN4xtto2EdqRBPR5WyT36A" type="Stereotype" element="_cNskcNo2EdqRBPR5WyT36A"/>
- <children xmi:id="_cN4xt9o2EdqRBPR5WyT36A" type="Name" element="_cNskcNo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN4xtdo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_cN4xuNo2EdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_cNskcto2EdqRBPR5WyT36A">
- <children xmi:id="_cN4xuto2EdqRBPR5WyT36A" type="ToMultiplicity" element="_cNskcto2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN4xudo2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_cN4xu9o2EdqRBPR5WyT36A" type="ToRoleLabel" element="_cNskcto2EdqRBPR5WyT36A">
- <children xmi:id="_cN4xvdo2EdqRBPR5WyT36A" type="ToRole" element="_cNskcto2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN4xvNo2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_cN_fYNo2EdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_cNskcdo2EdqRBPR5WyT36A">
- <children xmi:id="_cN_fYto2EdqRBPR5WyT36A" type="FromMultiplicity" element="_cNskcdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN_fYdo2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_cN_fY9o2EdqRBPR5WyT36A" type="FromRoleLabel" element="_cNskcdo2EdqRBPR5WyT36A">
- <children xmi:id="_cN_fZdo2EdqRBPR5WyT36A" type="FromRole" element="_cNskcdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN_fZNo2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_cN_fZto2EdqRBPR5WyT36A" type="ToQualifierLabel" element="_cNskcto2EdqRBPR5WyT36A">
- <children xmi:id="_cN_faNo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_cNskcto2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_cN_fado2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN_fZ9o2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_cN_fato2EdqRBPR5WyT36A" type="FromQualifierLabel" element="_cNskcdo2EdqRBPR5WyT36A">
- <children xmi:id="_cN_fbNo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_cNskcdo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_cN_fbdo2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_cN_fa9o2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_cN4xsto2EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cN4xs9o2EdqRBPR5WyT36A" points="[-2, -29, 1, 91]$[26, -89, 29, 31]"/>
- </edges>
- <edges xmi:id="_pdfmkNo2EdqRBPR5WyT36A" element="_pdHMENo2EdqRBPR5WyT36A" source="_ePDcYdovEdqRBPR5WyT36A" target="_cN4xsdo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfml9o2EdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_pdTZUdo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmmdo2EdqRBPR5WyT36A" type="ToMultiplicity" element="_pdTZUdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmmNo2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_pdfmmto2EdqRBPR5WyT36A" type="ToRoleLabel" element="_pdTZUdo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmnNo2EdqRBPR5WyT36A" type="ToRole" element="_pdTZUdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmm9o2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_pdfmndo2EdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_pdTZUNo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmn9o2EdqRBPR5WyT36A" type="FromMultiplicity" element="_pdTZUNo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmnto2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_pdfmoNo2EdqRBPR5WyT36A" type="FromRoleLabel" element="_pdTZUNo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmoto2EdqRBPR5WyT36A" type="FromRole" element="_pdTZUNo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmodo2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_pdfmo9o2EdqRBPR5WyT36A" type="ToQualifierLabel" element="_pdTZUdo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmpdo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_pdTZUdo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pdfmpto2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmpNo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_pdfmp9o2EdqRBPR5WyT36A" type="FromQualifierLabel" element="_pdTZUNo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmqdo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_pdTZUNo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pdfmqto2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_pdfmqNo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_pdfmq9o2EdqRBPR5WyT36A" element="_pdHMENo2EdqRBPR5WyT36A">
- <children xmi:id="_pdfmrto2EdqRBPR5WyT36A" type="ImageCompartment" element="_pdHMENo2EdqRBPR5WyT36A">
- <layoutConstraint xmi:type="notation:Size" xmi:id="_pdfmr9o2EdqRBPR5WyT36A" width="1320" height="1320"/>
- </children>
- <children xmi:id="_pdfmsNo2EdqRBPR5WyT36A" type="Stereotype" element="_pdHMENo2EdqRBPR5WyT36A"/>
- <children xmi:id="_pdfmsdo2EdqRBPR5WyT36A" type="Name" element="_pdHMENo2EdqRBPR5WyT36A"/>
- <children xmi:id="_pdfmsto2EdqRBPR5WyT36A" type="AttributeCompartment" element="_pdHMENo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pdfms9o2EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_pdfmtNo2EdqRBPR5WyT36A" type="OperationCompartment" element="_pdHMENo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pdfmtdo2EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_pdfmtto2EdqRBPR5WyT36A" visible="false" type="SignalCompartment" element="_pdHMENo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_pdfmt9o2EdqRBPR5WyT36A"/>
- </children>
- <children xmi:id="_pdfmuNo2EdqRBPR5WyT36A" visible="false" type="StructureCompartment" element="_pdHMENo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLShapeCompartmentStyle" xmi:id="_pdfmudo2EdqRBPR5WyT36A"/>
- </children>
- <styles xmi:type="umlnotation:UMLShapeStyle" xmi:id="_pdfmrNo2EdqRBPR5WyT36A" showStereotype="Label"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pdfmrdo2EdqRBPR5WyT36A" y="1323"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_pdfmkdo2EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pdfmkto2EdqRBPR5WyT36A" points="[46, 3, -366, 94]$[412, -91, 0, 0]"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pdrz0No2EdqRBPR5WyT36A" id="100"/>
- </edges>
- <edges xmi:id="_9PaR4No2EdqRBPR5WyT36A" element="_9PH-ANo2EdqRBPR5WyT36A" source="_4WSrANovEdqRBPR5WyT36A" target="_o2m3oNo0EdqRBPR5WyT36A">
- <children xmi:id="_9PaR49o2EdqRBPR5WyT36A" type="NameLabel" element="_9PH-ANo2EdqRBPR5WyT36A">
- <children xmi:id="_9PaR5do2EdqRBPR5WyT36A" type="Stereotype" element="_9PH-ANo2EdqRBPR5WyT36A"/>
- <children xmi:id="_9PaR5to2EdqRBPR5WyT36A" type="Name" element="_9PH-ANo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PaR5No2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_9PaR59o2EdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_9PH-Ato2EdqRBPR5WyT36A">
- <children xmi:id="_9PaR6do2EdqRBPR5WyT36A" type="ToMultiplicity" element="_9PH-Ato2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PaR6No2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_9PaR6to2EdqRBPR5WyT36A" type="ToRoleLabel" element="_9PH-Ato2EdqRBPR5WyT36A">
- <children xmi:id="_9PaR7No2EdqRBPR5WyT36A" type="ToRole" element="_9PH-Ato2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PaR69o2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_9PaR7do2EdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_9PH-Ado2EdqRBPR5WyT36A">
- <children xmi:id="_9PaR79o2EdqRBPR5WyT36A" type="FromMultiplicity" element="_9PH-Ado2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PaR7to2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_9PaR8No2EdqRBPR5WyT36A" type="FromRoleLabel" element="_9PH-Ado2EdqRBPR5WyT36A">
- <children xmi:id="_9PaR8to2EdqRBPR5WyT36A" type="FromRole" element="_9PH-Ado2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PaR8do2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_9PgYgNo2EdqRBPR5WyT36A" type="ToQualifierLabel" element="_9PH-Ato2EdqRBPR5WyT36A">
- <children xmi:id="_9PgYgto2EdqRBPR5WyT36A" type="QualifierCompartment" element="_9PH-Ato2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_9PgYg9o2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PgYgdo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_9PgYhNo2EdqRBPR5WyT36A" type="FromQualifierLabel" element="_9PH-Ado2EdqRBPR5WyT36A">
- <children xmi:id="_9PgYhto2EdqRBPR5WyT36A" type="QualifierCompartment" element="_9PH-Ado2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_9PgYh9o2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9PgYhdo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_9PaR4do2EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9PaR4to2EdqRBPR5WyT36A" points="[12, -24, -94, 162]$[80, -155, -26, 31]"/>
- </edges>
- <edges xmi:id="_9-BEUNo2EdqRBPR5WyT36A" element="_99uwcNo2EdqRBPR5WyT36A" source="_1y-ZsNovEdqRBPR5WyT36A" target="_o2m3oNo0EdqRBPR5WyT36A">
- <children xmi:id="_9-BEU9o2EdqRBPR5WyT36A" type="NameLabel" element="_99uwcNo2EdqRBPR5WyT36A">
- <children xmi:id="_9-HK8No2EdqRBPR5WyT36A" type="Stereotype" element="_99uwcNo2EdqRBPR5WyT36A"/>
- <children xmi:id="_9-HK8do2EdqRBPR5WyT36A" type="Name" element="_99uwcNo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-BEVNo2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_9-HK8to2EdqRBPR5WyT36A" type="ToMultiplicityLabel" element="_99uwcto2EdqRBPR5WyT36A">
- <children xmi:id="_9-HK9No2EdqRBPR5WyT36A" type="ToMultiplicity" element="_99uwcto2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HK89o2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_9-HK9do2EdqRBPR5WyT36A" type="ToRoleLabel" element="_99uwcto2EdqRBPR5WyT36A">
- <children xmi:id="_9-HK99o2EdqRBPR5WyT36A" type="ToRole" element="_99uwcto2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HK9to2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_9-HK-No2EdqRBPR5WyT36A" type="FromMultiplicityLabel" element="_99uwcdo2EdqRBPR5WyT36A">
- <children xmi:id="_9-HK-to2EdqRBPR5WyT36A" type="FromMultiplicity" element="_99uwcdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HK-do2EdqRBPR5WyT36A" y="397"/>
- </children>
- <children xmi:id="_9-HK-9o2EdqRBPR5WyT36A" type="FromRoleLabel" element="_99uwcdo2EdqRBPR5WyT36A">
- <children xmi:id="_9-HK_do2EdqRBPR5WyT36A" type="FromRole" element="_99uwcdo2EdqRBPR5WyT36A"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HK_No2EdqRBPR5WyT36A" y="-397"/>
- </children>
- <children xmi:id="_9-HK_to2EdqRBPR5WyT36A" type="ToQualifierLabel" element="_99uwcto2EdqRBPR5WyT36A">
- <children xmi:id="_9-HLANo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_99uwcto2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_9-HLAdo2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HK_9o2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <children xmi:id="_9-HLAto2EdqRBPR5WyT36A" type="FromQualifierLabel" element="_99uwcdo2EdqRBPR5WyT36A">
- <children xmi:id="_9-HLBNo2EdqRBPR5WyT36A" type="QualifierCompartment" element="_99uwcdo2EdqRBPR5WyT36A">
- <styles xmi:type="umlnotation:UMLListCompartmentStyle" xmi:id="_9-HLBdo2EdqRBPR5WyT36A"/>
- </children>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9-HLA9o2EdqRBPR5WyT36A" y="-185"/>
- </children>
- <styles xmi:type="umlnotation:UMLConnectorStyle" xmi:id="_9-BEUdo2EdqRBPR5WyT36A" showStereotype="Text"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9-BEUto2EdqRBPR5WyT36A" points="[49, -24, -290, 162]$[404, -163, 65, 23]"/>
- </edges>
- </contents>
- </eAnnotations>
- <packageImport xmi:type="uml:ProfileApplication" xmi:id="_al1S9NovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1S9dovEdqRBPR5WyT36A" source="attributes">
- <details xmi:id="_al1S9tovEdqRBPR5WyT36A" key="version" value="0"/>
- </eAnnotations>
- <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
- <importedProfile href="pathmap://UML2_PROFILES/Basic.profile.uml2#_6mFRgK86Edih9-GG5afQ0g"/>
- </packageImport>
- <packageImport xmi:type="uml:ProfileApplication" xmi:id="_al1S99ovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1S-NovEdqRBPR5WyT36A" source="attributes">
- <details xmi:id="_al1S-dovEdqRBPR5WyT36A" key="version" value="0"/>
- </eAnnotations>
- <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
- <importedProfile href="pathmap://UML2_PROFILES/Intermediate.profile.uml2#_Cz7csK87Edih9-GG5afQ0g"/>
- </packageImport>
- <packageImport xmi:type="uml:ProfileApplication" xmi:id="_al1S-tovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1S-9ovEdqRBPR5WyT36A" source="attributes">
- <details xmi:id="_al1S_NovEdqRBPR5WyT36A" key="version" value="0"/>
- </eAnnotations>
- <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
- <importedProfile href="pathmap://UML2_PROFILES/Complete.profile.uml2#_M7pTkK87Edih9-GG5afQ0g"/>
- </packageImport>
- <packageImport xmi:type="uml:ProfileApplication" xmi:id="_al1S_dovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1S_tovEdqRBPR5WyT36A" source="attributes">
- <details xmi:id="_al1S_9ovEdqRBPR5WyT36A" key="version" value="0"/>
- </eAnnotations>
- <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
- <importedProfile href="pathmap://UML2_MSL_PROFILES/Default.epx#_a_S3wNWLEdiy4IqP8whjFA?Default"/>
- </packageImport>
- <packageImport xmi:type="uml:ProfileApplication" xmi:id="_al1TANovEdqRBPR5WyT36A">
- <eAnnotations xmi:id="_al1TAdovEdqRBPR5WyT36A" source="attributes">
- <details xmi:id="_al1TAtovEdqRBPR5WyT36A" key="version" value="0"/>
- </eAnnotations>
- <importedPackage xmi:type="uml:Profile" href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
- <importedProfile href="pathmap://UML2_MSL_PROFILES/Deployment.epx#_vjbuwOvHEdiDX5bji0iVSA?Deployment"/>
- </packageImport>
- <packageImport xmi:id="_al1TA9ovEdqRBPR5WyT36A">
- <importedPackage xmi:type="uml:Model" href="pathmap://UML2_LIBRARIES/UML2PrimitiveTypes.library.uml2#_EfRZoK86EdieaYgxtVWN8Q"/>
- </packageImport>
- <ownedMember xmi:type="uml:Interface" xmi:id="_ePDcYNovEdqRBPR5WyT36A" name="Context">
- <generalization xmi:id="_R5RjwNo1EdqRBPR5WyT36A" general="_Mz_E8No1EdqRBPR5WyT36A"/>
- <ownedAttribute xmi:id="_FdlRYdowEdqRBPR5WyT36A" name="scopecontext" visibility="private" type="_z_g4ANovEdqRBPR5WyT36A" association="_FdlRYNowEdqRBPR5WyT36A">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FdlRZNowEdqRBPR5WyT36A" value="1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FdlRY9owEdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Interface" xmi:id="_fsviYNovEdqRBPR5WyT36A" name="CompositeContext">
- <generalization xmi:id="_hmIF4NovEdqRBPR5WyT36A" general="_ePDcYNovEdqRBPR5WyT36A"/>
- <ownedAttribute xmi:id="_peM1YdovEdqRBPR5WyT36A" name="context" visibility="private" type="_ePDcYNovEdqRBPR5WyT36A" association="_peM1YNovEdqRBPR5WyT36A" aggregation="composite">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_peM1ZNovEdqRBPR5WyT36A" value="-1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_peM1Y9ovEdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Interface" xmi:id="_ikl5QNovEdqRBPR5WyT36A" name="AtomicContext">
- <generalization xmi:id="_mu9A4NovEdqRBPR5WyT36A" general="_ePDcYNovEdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_peM1YNovEdqRBPR5WyT36A" memberEnd="_peM1YdovEdqRBPR5WyT36A _peM1YtovEdqRBPR5WyT36A">
- <ownedEnd xmi:id="_peM1YtovEdqRBPR5WyT36A" visibility="private" type="_fsviYNovEdqRBPR5WyT36A" association="_peM1YNovEdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Interface" xmi:id="_tZF9oNovEdqRBPR5WyT36A" name="DeploymentContext">
- <generalization xmi:id="_xInjYNovEdqRBPR5WyT36A" general="_fsviYNovEdqRBPR5WyT36A"/>
- <ownedAttribute xmi:id="_Bj8GUdowEdqRBPR5WyT36A" name="modulescopecontext" visibility="private" type="_1yyMcNovEdqRBPR5WyT36A" association="_Bj8GUNowEdqRBPR5WyT36A">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Bj8GVNowEdqRBPR5WyT36A" value="1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Bj8GU9owEdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Interface" xmi:id="_z_g4ANovEdqRBPR5WyT36A" name="ScopeContext">
- <ownedAttribute xmi:id="_cNskcdo2EdqRBPR5WyT36A" name="instancewrapper" visibility="private" type="_TI7NwNo1EdqRBPR5WyT36A" association="_cNskcNo2EdqRBPR5WyT36A">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cNskdNo2EdqRBPR5WyT36A" value="1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_cNskc9o2EdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Class" xmi:id="_1yyMcNovEdqRBPR5WyT36A" name="ModuleScopeContext" clientDependency="_3IW4QNovEdqRBPR5WyT36A">
- <implementation xmi:id="_3IW4QNovEdqRBPR5WyT36A" client="_1yyMcNovEdqRBPR5WyT36A" supplier="_z_g4ANovEdqRBPR5WyT36A" realizingClassifier="_z_g4ANovEdqRBPR5WyT36A" contract="_z_g4ANovEdqRBPR5WyT36A">
- <mapping xmi:id="_3IW4QdovEdqRBPR5WyT36A"/>
- </implementation>
- <ownedAttribute xmi:id="_99uwcdo2EdqRBPR5WyT36A" name="scoperegistry" visibility="private" type="_o2gxANo0EdqRBPR5WyT36A" association="_99uwcNo2EdqRBPR5WyT36A">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_99uwdNo2EdqRBPR5WyT36A" value="1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_99uwc9o2EdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Class" xmi:id="_4WMkYNovEdqRBPR5WyT36A" name="HTTPSessionScopeContext" clientDependency="_9XeF4NovEdqRBPR5WyT36A">
- <implementation xmi:id="_9XeF4NovEdqRBPR5WyT36A" client="_4WMkYNovEdqRBPR5WyT36A" supplier="_z_g4ANovEdqRBPR5WyT36A" realizingClassifier="_z_g4ANovEdqRBPR5WyT36A" contract="_z_g4ANovEdqRBPR5WyT36A">
- <mapping xmi:id="_9XeF4dovEdqRBPR5WyT36A"/>
- </implementation>
- <ownedAttribute xmi:id="_9PH-Ado2EdqRBPR5WyT36A" name="scoperegistry" visibility="private" type="_o2gxANo0EdqRBPR5WyT36A" association="_9PH-ANo2EdqRBPR5WyT36A">
- <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9PH-BNo2EdqRBPR5WyT36A" value="1"/>
- <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9PH-A9o2EdqRBPR5WyT36A"/>
- </ownedAttribute>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_Bj8GUNowEdqRBPR5WyT36A" memberEnd="_Bj8GUdowEdqRBPR5WyT36A _Bj8GUtowEdqRBPR5WyT36A">
- <ownedEnd xmi:id="_Bj8GUtowEdqRBPR5WyT36A" visibility="private" type="_tZF9oNovEdqRBPR5WyT36A" association="_Bj8GUNowEdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_FdlRYNowEdqRBPR5WyT36A" memberEnd="_FdlRYdowEdqRBPR5WyT36A _FdlRYtowEdqRBPR5WyT36A">
- <ownedEnd xmi:id="_FdlRYtowEdqRBPR5WyT36A" visibility="private" type="_ePDcYNovEdqRBPR5WyT36A" association="_FdlRYNowEdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Interface" xmi:id="_o2gxANo0EdqRBPR5WyT36A" name="ScopeRegistry"/>
- <ownedMember xmi:type="uml:Interface" xmi:id="_Mz_E8No1EdqRBPR5WyT36A" name="Lifecycle"/>
- <ownedMember xmi:type="uml:Interface" xmi:id="_TI7NwNo1EdqRBPR5WyT36A" name="InstanceWrapper">
- <generalization xmi:id="_V7zlENo1EdqRBPR5WyT36A" general="_Mz_E8No1EdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_cNskcNo2EdqRBPR5WyT36A" memberEnd="_cNskcdo2EdqRBPR5WyT36A _cNskcto2EdqRBPR5WyT36A">
- <ownedEnd xmi:id="_cNskcto2EdqRBPR5WyT36A" visibility="private" type="_z_g4ANovEdqRBPR5WyT36A" association="_cNskcNo2EdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:AssociationClass" xmi:id="_pdHMENo2EdqRBPR5WyT36A" name="AssociationClass1" memberEnd="_pdTZUNo2EdqRBPR5WyT36A _pdTZUdo2EdqRBPR5WyT36A">
- <ownedEnd xmi:id="_pdTZUNo2EdqRBPR5WyT36A" visibility="private" type="_cNskcNo2EdqRBPR5WyT36A" association="_pdHMENo2EdqRBPR5WyT36A"/>
- <ownedEnd xmi:id="_pdTZUdo2EdqRBPR5WyT36A" visibility="private" type="_ePDcYNovEdqRBPR5WyT36A" association="_pdHMENo2EdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_9PH-ANo2EdqRBPR5WyT36A" memberEnd="_9PH-Ado2EdqRBPR5WyT36A _9PH-Ato2EdqRBPR5WyT36A">
- <ownedEnd xmi:id="_9PH-Ato2EdqRBPR5WyT36A" visibility="private" type="_4WMkYNovEdqRBPR5WyT36A" association="_9PH-ANo2EdqRBPR5WyT36A"/>
- </ownedMember>
- <ownedMember xmi:type="uml:Association" xmi:id="_99uwcNo2EdqRBPR5WyT36A" memberEnd="_99uwcdo2EdqRBPR5WyT36A _99uwcto2EdqRBPR5WyT36A">
- <ownedEnd xmi:id="_99uwcto2EdqRBPR5WyT36A" visibility="private" type="_1yyMcNovEdqRBPR5WyT36A" association="_99uwcNo2EdqRBPR5WyT36A"/>
- </ownedMember>
-</uml:Model>
diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java deleted file mode 100644 index ed4b57639c..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ComponentContextFactory.java +++ /dev/null @@ -1,38 +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.sca.context; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.osoa.sca.ComponentContext; - -/** - * Interface implemented by the provider of the ComponentContext. - * - * @version $Rev$ $Date$ - */ -public interface ComponentContextFactory { - /** - * Create an instance of ComponentContext - * - * @param component The runtime component - * @param requestContextFactory The factory to create RequestContext - * @return An instance of ComponentContext for the component - */ - ComponentContext createComponentContext(RuntimeComponent component, RequestContextFactory requestContextFactory); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java deleted file mode 100644 index e92a8f2844..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/ContextFactoryExtensionPoint.java +++ /dev/null @@ -1,50 +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.sca.context; - -/** - * An extension point for context factories. - * - * @version $Rev$ $Date$ - */ -public interface ContextFactoryExtensionPoint { - - /** - * Add a context factory extension. - * - * @param factory The factory to add - */ - void addFactory(Object factory); - - /** - * Remove a context factory extension. - * - * @param factory The factory to remove - */ - void removeFactory(Object factory); - - /** - * Get a factory implementing the given interface. - * @param factoryInterface the lookup key (factory interface) - * @return The factory - */ - <T> T getFactory(Class<T> factoryInterface); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java deleted file mode 100644 index 5a0aefe55d..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPoint.java +++ /dev/null @@ -1,114 +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.sca.context; - -import java.lang.reflect.Constructor; -import java.util.HashMap; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a model factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultContextFactoryExtensionPoint implements ContextFactoryExtensionPoint { - - /** - * The Map of Factories that have been registered. - */ - private HashMap<Class<?>, Object> factories = new HashMap<Class<?>, Object>(); - - private ExtensionPointRegistry registry; - - public DefaultContextFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add a model factory extension. - * - * @param factory The factory to add. - * @throws IllegalArgumentException if factory is null - */ - public void addFactory(Object factory) throws IllegalArgumentException { - if (factory == null) { - throw new IllegalArgumentException("Cannot add null as a factory"); - } - - Class<?>[] interfaces = factory.getClass().getInterfaces(); - for (int i = 0; i<interfaces.length; i++) { - factories.put(interfaces[i], factory); - } - } - - /** - * Remove a model factory extension. - * - * @param factory The factory to remove - * @throws IllegalArgumentException if factory is null - */ - public void removeFactory(Object factory) throws IllegalArgumentException { - if (factory == null) { - throw new IllegalArgumentException("Cannot remove null as a factory"); - } - - Class<?>[] interfaces = factory.getClass().getInterfaces(); - for (int i = 0; i<interfaces.length; i++) { - factories.remove(interfaces[i]); - } - } - - /** - * Get a factory implementing the given interface. - * - * @param factoryInterface The lookup key (factory interface) - * @return The factory - */ - public <T> T getFactory(Class<T> factoryInterface) throws IllegalArgumentException { - if (factoryInterface == null) { - throw new IllegalArgumentException("Cannot get null as a factory"); - } - - Object factory = factories.get(factoryInterface); - if (factory == null) { - - // Dynamically load a factory class declared under META-INF/services - try { - Class<?> factoryClass = ServiceDiscovery.getInstance().loadFirstServiceClass(factoryInterface); - if (factoryClass != null) { - - // Default empty constructor - Constructor<?> constructor = factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - - // Cache the loaded factory - addFactory(factory); - } - } catch (Exception e) { - throw new IllegalArgumentException(e); - } - - } - - return factoryInterface.cast(factory); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java deleted file mode 100644 index 9766e164b8..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java +++ /dev/null @@ -1,40 +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.sca.context; - -import org.apache.tuscany.sca.assembly.ComponentProperty; - -/** - * Interface implemented by the provider of the property values - * - * @version $Rev$ $Date$ - */ -public interface PropertyValueFactory { - - /** - * This method will create an instance of the value for the specified Property. - * - * @param property The Property from which to retrieve the property value - * @param type The type of the property value being retrieved from the Property - * @param <B> Type type of the property value being looked up - * - * @return the value for the Property - */ - <B> B createPropertyValue(ComponentProperty property, Class<B> type); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java deleted file mode 100644 index 546757c766..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/context/RequestContextFactory.java +++ /dev/null @@ -1,33 +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.sca.context; - -import org.osoa.sca.RequestContext; - -/** - * Interface implemented by the provider of the RequestContext. - * - * @version $Rev$ $Date$ - */ -public interface RequestContextFactory { - /** - * @return An instance of RequestContext for the current invocation - */ - RequestContext createRequestContext(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java deleted file mode 100644 index 04ac4ee20c..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/DefaultEndpointResolverFactoryExtensionPoint.java +++ /dev/null @@ -1,180 +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.sca.endpointresolver; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Default implementation of a provider factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultEndpointResolverFactoryExtensionPoint implements EndpointResolverFactoryExtensionPoint { - - private ExtensionPointRegistry registry; - private final Map<Class<?>, EndpointResolverFactory> endpointResolverFactories = new HashMap<Class<?>, EndpointResolverFactory>(); - private boolean loaded; - - /** - * The default constructor. Does nothing. - * - */ - public DefaultEndpointResolverFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add an endpoint resolver factory. - * - * @param endpointResolverFactory The resolver factory - */ - public void addEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory){ - endpointResolverFactories.put(endpointResolverFactory.getModelType(), endpointResolverFactory); - } - - /** - * Remove a endpoint resolver factory. - * - * @param endpointResolverFactory The endpoint resolver factory - */ - public void removeEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory){ - endpointResolverFactories.remove(endpointResolverFactory.getModelType()); - } - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - public EndpointResolverFactory getEndpointResolverFactory(Class<?> modelType) { - loadProviderFactories(); - - Class<?>[] classes = modelType.getInterfaces(); - for (Class<?> c : classes) { - EndpointResolverFactory factory = endpointResolverFactories.get(c); - if (factory != null) { - return factory; - } - } - return endpointResolverFactories.get(modelType); - } - - - /** - * Load provider factories declared under META-INF/services. - * @param registry - */ - private synchronized void loadProviderFactories() { - if (loaded) - return; - - // Get the provider factory service declarations - Set<ServiceDeclaration> factoryDeclarations; - ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance(); - try { - factoryDeclarations = serviceDiscovery.getServiceDeclarations(EndpointResolverFactory.class); - } catch (Exception e) { - throw new IllegalStateException(e); - } - - // Get the extension point - EndpointResolverFactoryExtensionPoint factoryExtensionPoint = - registry.getExtensionPoint(EndpointResolverFactoryExtensionPoint.class); - List<EndpointResolverFactory> factories = new ArrayList<EndpointResolverFactory>(); - - for (ServiceDeclaration factoryDeclaration : factoryDeclarations) { - Map<String, String> attributes = factoryDeclaration.getAttributes(); - - // Find the model type that identifies this resolver - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - EndpointResolverFactory factory = - new LazyEndpointResolverFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addEndpointResolverFactory(factory); - factories.add(factory); - } - - loaded = true; - } - - /** - * A wrapper around an endpoint provider factory allowing lazy - * loading and initialization of endpoint providers. - */ - private class LazyEndpointResolverFactory implements EndpointResolverFactory { - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private EndpointResolverFactory factory; - private Class modelType; - - private LazyEndpointResolverFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private EndpointResolverFactory getFactory() { - if (factory == null) { - try { - Class<EndpointResolverFactory> factoryClass = (Class<EndpointResolverFactory>)providerClass.loadClass(); - Constructor<EndpointResolverFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - public EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding) { - return getFactory().createEndpointResolver(endpoint, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java deleted file mode 100644 index 79a10f6d84..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolver.java +++ /dev/null @@ -1,55 +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.sca.endpointresolver; - - -/** - * A reference binding implementation can options implement this - * interface to tie into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolver { - - /** - * This method will be invoked when the endpoint is - * activated. It gives the resolver the opportunity - * to do any set up ready for when it is asked to - * resolve the endpoint when a message arrives - */ - void start(); - - /** - * This method will be invoked when the endpoint is - * to be resolved. The resolver will attempt to resolve the - * endpoint against available services. The resolvers extending - * this interface will provide environment or binding specific - * resolution processing - */ - void resolve(); - - /** - * This method will be invoked when the endpont is - * deactivated. It gives the resolver the opportunity - * to take and required resolver shutdown actions - */ - void stop(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java deleted file mode 100644 index fdd304a9c7..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactory.java +++ /dev/null @@ -1,44 +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.sca.endpointresolver; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Endpoint; - -/** - * A factory for creating the runtime artifacts that resolve endpoints. - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolverFactory <M>{ - - /** - * Creates a new endpoint resolver for the given component, - * reference and binding. - * - * @param component The runtime component - * @param reference The reference on the runtime component - * @param enpoint The endpoint assembly model object - * @return The endpoint provider - */ - EndpointResolver createEndpointResolver(Endpoint endpoint, Binding binding); - - Class<M> getModelType(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java deleted file mode 100644 index be55981131..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/endpointresolver/EndpointResolverFactoryExtensionPoint.java +++ /dev/null @@ -1,57 +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.sca.endpointresolver; - -import java.util.List; - - -/** - * An extension point for resolver factories. Holds all of the resolver - * factories from loaded extension points. Allows a resolver factory - * to be located based on a given model type. Hence the runtime can - * generate endpoint resolvers from the in memory assembly model. - * - * @version $Rev$ $Date$ - */ -public interface EndpointResolverFactoryExtensionPoint { - - - /** - * Add an endpoint resolver factory. - * - * @param endpointResolverFactory The resolver factory - */ - void addEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory); - - /** - * Remove a endpoint resolver factory. - * - * @param endpointResolverFactory The endpoint resolver factory - */ - void removeEndpointResolverFactory(EndpointResolverFactory endpointResolverFactory); - - /** - * Returns the endpoint resolver factory associated with the given binding type. - * @param bindingType A binding type - * @return The endpoint resolver factory associated with the given binding type - */ - EndpointResolverFactory getEndpointResolverFactory(Class<?> bindingType); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java deleted file mode 100644 index 992c1188f7..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/Event.java +++ /dev/null @@ -1,33 +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.sca.event; - -/** - * The base interface for events that are propagated in the runtime - * - * @version $Rev$ $Date$ - */ -public interface Event { - - /** - * Returns the source of the event - */ - Object getSource(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java deleted file mode 100644 index d17aebd7e8..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventFilter.java +++ /dev/null @@ -1,35 +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.sca.event; - -/** - * Evaluates whether a {@link RuntimeEventListener} is applicable to a given runtime event - * - * @version $Rev$ $Date$ - */ -public interface EventFilter { - - /** - * Performs the actual evaluation on an event - * @param event Returns true if the event matches implemented criteria - * @return Match result - */ - boolean match(Event event); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java deleted file mode 100644 index f209eb8936..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/EventPublisher.java +++ /dev/null @@ -1,55 +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.sca.event; - -/** - * Publishes events in the runtime by accepting {@link Event} objects and - * forwarding them to all registered {@link RuntimeEventListener} objects. - * - * @version $Rev$ $Date$ - */ -public interface EventPublisher { - - /** - * Publish an event to all registered listeners - * @param object The event to publish - */ - void publish(Event object); - - /** - * Registers a listener to receive notifications for the context - * @param listener The listener to add - */ - void addListener(RuntimeEventListener listener); - - /** - * Registers a listener to receive notifications for the context - * @param filter The filter that will be applied before the lister is called - * @param listener The lister to add - */ - void addListener(EventFilter filter, RuntimeEventListener listener); - - - /** - * Removes a previously registered listener - * @param listener The listener to remove - */ - void removeListener(RuntimeEventListener listener); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java deleted file mode 100644 index b34dceee62..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/RuntimeEventListener.java +++ /dev/null @@ -1,35 +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.sca.event; - -import java.util.EventListener; - -/** - * Listeners observe events fired in the SCA runtime. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeEventListener extends EventListener { - - /** - * Accepts and event and acts on it - * @param event The event to act on - */ - void onEvent(Event event); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java deleted file mode 100644 index f888908340..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/event/TrueFilter.java +++ /dev/null @@ -1,37 +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.sca.event; - -/** - * An event filter that always returns a true condition - * - * @version $Rev$ $Date$ - */ -public class TrueFilter implements EventFilter { - - /** - * Performs the actual evaluation on an event. Always returns true - * in this case - * @param event The incoming event which is ignored - * @return true - */ - public boolean match(Event event) { - return true; - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java deleted file mode 100644 index 957a15ce8a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/DataExchangeSemantics.java +++ /dev/null @@ -1,34 +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.sca.invocation; - -/** - * An invoker or interceptor can optionally implement this interface to indicate if they can - * enforce the pass-by-value semantics for an operation on remotable interfaces. - * - * @version $Rev$ $Date$ - */ -public interface DataExchangeSemantics { - /** - * Indicate if the data can be passed in by reference as they won't be mutated. - * @return true if pass-by-reference is allowed - */ - boolean allowsPassByReference(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java deleted file mode 100644 index a5f221fc11..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java +++ /dev/null @@ -1,40 +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.sca.invocation; - -/** - * Synchronous mediation associated with a client- or target- side wire. - * - * @version $Rev$ $Date$ - */ -public interface Interceptor extends Invoker { - - /** - * Sets the next invoker - * @param next The next invoker - */ - void setNext(Invoker next); - - /** - * Returns the next invoker or null - * @return The next Invoker - */ - Invoker getNext(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java deleted file mode 100644 index 75719bb0cc..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/InvocationChain.java +++ /dev/null @@ -1,112 +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.sca.invocation; - -import org.apache.tuscany.sca.interfacedef.Operation; - -/** - * A wire consists of 1..n invocation chains associated with the operations of its source service contract. - * <p/> - * Invocation chains may contain <code>Interceptors</code> that process invocations. - * <p/> - * A <code>Message</code> is used to pass data associated with an invocation through the chain. - * - * @version $Rev$ $Date$ - */ -public interface InvocationChain { - /** - * Returns the target operation for this invocation chain. - * - * @return The target operation for this invocation chain - */ - Operation getTargetOperation(); - - /** - * Updates the target operation for this invocation chain. - * - * @param operation The new target operation for this invocation chain - */ - void setTargetOperation(Operation operation); - - /** - * Returns the source operation for this invocation chain. - * - * @return The source operation for this invocation chain - */ - Operation getSourceOperation(); - - /** - * Adds an interceptor to the chain. For reference side, it will be added to - * Phase.REFERENCE. For service side, it will be added to Phase.SERVICE - * - * @param interceptor The interceptor to add - */ - void addInterceptor(Interceptor interceptor); - - /** - * Adds an invoker to the chain - * - * @param invoker The invoker to add - */ - void addInvoker(Invoker invoker); - - /** - * Returns the first invoker in the chain. - * - * @return The first invoker in the chain - */ - Invoker getHeadInvoker(); - - /** - * @deprecated This method is not used - * Returns the last invoker in the chain. - * - * @return The last invoker in the chain - */ - @Deprecated - Invoker getTailInvoker(); - - /** - * @deprecated Please use <code>void addInterceptor(String phase, Interceptor interceptor);</code> - * Adds an interceptor at the given position in the interceptor stack - * - * @param index The position in the interceptor stack to add the interceptor - * @param interceptor The interceptor to add - */ - @Deprecated - void addInterceptor(int index, Interceptor interceptor); - - /** - * Add an interceptor to the given phase - * @param phase - * @param interceptor - */ - void addInterceptor(String phase, Interceptor interceptor); - - /** - * Indicate if the data can be passed in by reference as they won't be mutated. - * @return true if pass-by-reference is allowed - */ - boolean allowsPassByReference(); - /** - * Force the invocation to allow pass-by-reference - * @param allowsPBR - */ - void setAllowsPassByReference(boolean allowsPBR); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java deleted file mode 100644 index 2748bbed9a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java +++ /dev/null @@ -1,36 +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.sca.invocation; - -/** - * Synchronous mediation associated with a client- or target- side wire. - * - * @version $Rev$ $Date$ - */ -public interface Invoker { - - /** - * Process a synchronous wire - * - * @param msg The request Message for the wire - * @return The response Message from the wire - */ - Message invoke(Message msg); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java deleted file mode 100644 index 16cb4132e4..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Message.java +++ /dev/null @@ -1,127 +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.sca.invocation; - -import java.util.List; -import java.util.Map; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.runtime.EndpointReference; - -/** - * Represents a request, response, or exception flowing through a wire - * - * @version $Rev $Date$ - */ -public interface Message { - - /** - * Returns the body of the message, which will be the payload or parameters associated with the wire - * @return The body of the message - */ - <T> T getBody(); - - /** - * Sets the body of the message. - * @param body The body of the message - */ - <T> void setBody(T body); - - /** - * Get the end point reference of the source reference - * @return The end point reference of the reference originating the message - */ - EndpointReference getFrom(); - - /** - * Set the end point reference of the reference originating the message - * @param from The end point reference of the reference originating the message - */ - void setFrom(EndpointReference from); - - /** - * Get the end point reference of target service - * @return The end point reference of the service that the message targets - */ - EndpointReference getTo(); - - /** - * Set the end point reference of target service - * @param to The end point reference of the service that the message targets - */ - void setTo(EndpointReference to); - - /** - * Returns the id of the message - * @return The message Id - */ - Object getMessageID(); - - /** - * Sets the id of the message - * @param messageId The message ID - */ - void setMessageID(Object messageId); - - /** - * Determines if the message represents a fault/exception - * - * @return true If the message body is a fault object, false if the body is a normal payload - */ - boolean isFault(); - - /** - * Set the message body with a fault object. After this method is called, isFault() returns true. - * - * @param fault The fault object represents an exception - */ - <T> void setFaultBody(T fault); - - /** - * Returns the operation that created the message. - * - * @return The operation that created the message - */ - Operation getOperation(); - - /** - * Sets the operation that created the message. - * - * @param op The operation that created the message - */ - void setOperation(Operation op); - - /** - * Returns a list of objects that are contained in the message header - * - * @return - */ - List<Object> getHeaders(); - - /** - * Returns the binding context in force for this message - */ - <T> T getBindingContext(); - - /** - * Set the binding context that is in force for this message - * @param bindingContext - */ - <T> void setBindingContext(T bindingContext); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java deleted file mode 100644 index 38c900e36a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/MessageFactory.java +++ /dev/null @@ -1,36 +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.sca.invocation; - - -/** - * A factory for messages - * - * @version $Rev $Date$ - */ -public interface MessageFactory { - - /** - * Creates a new message. - * - * @return The new message - */ - Message createMessage(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java deleted file mode 100644 index af8ad6e582..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/invocation/Phase.java +++ /dev/null @@ -1,69 +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.sca.invocation; - -/** - * Tuscany built-in phases for the invocation chain - * - * @version $Rev$ $Date$ - */ -public interface Phase { - // The first phase for outgoing invocations via a reference - String REFERENCE = "component.reference"; - - // data transformation and validation - String REFERENCE_INTERFACE = "reference.interface"; - - // reference policy handling - String REFERENCE_POLICY = "reference.policy"; - - // reference binding invoker - String REFERENCE_BINDING = "reference.binding"; - - String REFERENCE_BINDING_WIREFORMAT = "reference.binding.wireformat"; - String REFERENCE_BINDING_POLICY = "reference.binding.policy"; - String REFERENCE_BINDING_TRANSPORT = "reference.binding.transport"; - - String SERVICE_BINDING_TRANSPORT = "service.binding.transport"; - String SERVICE_BINDING_OPERATION_SELECTOR = "service.binding.operationselector"; - String SERVICE_BINDING_WIREFORMAT = "service.binding.wireformat"; - String SERVICE_BINDING_POLICY = "service.binding.policy"; - - - // The first phase for incoming invocations via a service - String SERVICE_BINDING = "service.binding"; - - // service policy handling - String SERVICE_POLICY = "service.policy"; - - // data validation and transformation - String SERVICE_INTERFACE = "service.interface"; - - // TODO: not sure if we need to have this face - String SERVICE = "component.service"; - - // implementation policy handling - String IMPLEMENTATION_POLICY = "implementation.policy"; - - // implementation invoker - String IMPLEMENTATION = "component.implementation"; - - // String getName(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java deleted file mode 100644 index 3887db4873..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/management/ManagementService.java +++ /dev/null @@ -1,39 +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.sca.management; - -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Interface for the management service abstraction. The implementation - * could be based on a variety of technologies including JMX, WSDM, - * SNMP etc. - * - * @version $Revision$ $Date$ - */ -public interface ManagementService { - - /** - * Registers a component for management. - * - * @param name Name of the component. - * @param component Component to be registered. - */ - void registerComponent(String name, RuntimeComponent component); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java deleted file mode 100644 index 0f6a932c51..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java +++ /dev/null @@ -1,60 +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.sca.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * A factory for creating the runtime artifacts that represent bindings. - * - * @version $Rev$ $Date$ - */ -public interface BindingProviderFactory<M extends Binding> extends ProviderFactory<M> { - - /** - * Creates a new reference binding provider for the given component and - * reference. - * - * @param component The runtime component - * @param reference The reference on the runtime component - * @param binding The binding assembly model object - * @return The binding provider - */ - ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - M binding); - - /** - * Creates a new service binding provider for the given component and - * service. - * - * @param component The runtime component - * @param service The service on the runtime component - * @param binding The binding assembly model object - * @return The binding provider - */ - ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - M binding); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java deleted file mode 100644 index df46af121c..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java +++ /dev/null @@ -1,509 +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.sca.provider; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * Default implementation of a provider factory extension point. - * - * @version $Rev$ $Date$ - */ -public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExtensionPoint { - - private ExtensionPointRegistry registry; - private final Map<Class<?>, ProviderFactory> providerFactories = new HashMap<Class<?>, ProviderFactory>(); - private final List<PolicyProviderFactory> policyProviderFactories = new ArrayList<PolicyProviderFactory>(); - private boolean loaded; - - /** - * The default constructor. Does nothing. - * - */ - public DefaultProviderFactoryExtensionPoint(ExtensionPointRegistry registry) { - this.registry = registry; - } - - /** - * Add a provider factory. - * - * @param providerFactory The provider factory - */ - public void addProviderFactory(ProviderFactory providerFactory) { - if(providerFactory instanceof PolicyProviderFactory) { - policyProviderFactories.add((PolicyProviderFactory)providerFactory); - } - providerFactories.put(providerFactory.getModelType(), providerFactory); - } - - /** - * Remove a provider factory. - * - * @param providerFactory The provider factory - */ - public void removeProviderFactory(ProviderFactory providerFactory) { - if(providerFactory instanceof PolicyProviderFactory) { - policyProviderFactories.remove((PolicyProviderFactory)providerFactory); - } - providerFactories.remove(providerFactory.getModelType()); - } - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - public ProviderFactory getProviderFactory(Class<?> modelType) { - loadProviderFactories(); - - Class<?>[] classes = modelType.getInterfaces(); - for (Class<?> c : classes) { - ProviderFactory factory = providerFactories.get(c); - if (factory != null) { - return factory; - } - } - return providerFactories.get(modelType); - } - - public List<PolicyProviderFactory> getPolicyProviderFactories() { - loadProviderFactories(); - return policyProviderFactories; - } - - /** - * Load provider factories declared under META-INF/services. - * @param registry - */ - private synchronized void loadProviderFactories() { - if (loaded) - return; - - loadProviderFactories(BindingProviderFactory.class); - loadProviderFactories(ImplementationProviderFactory.class); - loadProviderFactories(PolicyProviderFactory.class); - loadProviderFactories(WireFormatProviderFactory.class); - loadProviderFactories(OperationSelectorProviderFactory.class); - - loaded = true; - } - - /** - * Load provider factories declared under META-INF/services. - * @param registry - * @param factoryClass - * @return - */ - private List<ProviderFactory> loadProviderFactories(Class<?> factoryClass) { - - // Get the provider factory service declarations - Set<ServiceDeclaration> factoryDeclarations; - ServiceDiscovery serviceDiscovery = ServiceDiscovery.getInstance(); - try { - factoryDeclarations = serviceDiscovery.getServiceDeclarations(factoryClass); - } catch (Exception e) { - throw new IllegalStateException(e); - } - - // Get the target extension point - ProviderFactoryExtensionPoint factoryExtensionPoint = - registry.getExtensionPoint(ProviderFactoryExtensionPoint.class); - List<ProviderFactory> factories = new ArrayList<ProviderFactory>(); - - for (ServiceDeclaration factoryDeclaration : factoryDeclarations) { - Map<String, String> attributes = factoryDeclaration.getAttributes(); - - // Load an implementation provider factory - if (factoryClass == ImplementationProviderFactory.class) { - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - ImplementationProviderFactory factory = - new LazyImplementationProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - - } else if (factoryClass == BindingProviderFactory.class) { - - // Load a binding provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - BindingProviderFactory factory = - new LazyBindingProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == PolicyProviderFactory.class) { - // Load a policy provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - PolicyProviderFactory factory = - new LazyPolicyProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == WireFormatProviderFactory.class) { - - // Load a wire format provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - WireFormatProviderFactory factory = - new LazyWireFormatProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } else if (factoryClass == OperationSelectorProviderFactory.class) { - - // Load a wire format provider factory - String modelTypeName = attributes.get("model"); - - // Create a provider factory wrapper and register it - OperationSelectorProviderFactory factory = - new LazyOperationSelectorProviderFactory(registry, modelTypeName, factoryDeclaration); - factoryExtensionPoint.addProviderFactory(factory); - factories.add(factory); - } - } - return factories; - } - - /** - * A wrapper around an implementation provider factory allowing lazy - * loading and initialization of implementation providers. - */ - private static class LazyBindingProviderFactory implements BindingProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration factoryDeclaration; - private BindingProviderFactory factory; - private Class modelType; - - private LazyBindingProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration factoryDeclaration) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.factoryDeclaration = factoryDeclaration; - } - - @SuppressWarnings("unchecked") - private BindingProviderFactory getFactory() { - if (factory == null) { - try { - Class<BindingProviderFactory> factoryClass = - (Class<BindingProviderFactory>)factoryDeclaration.loadClass(); - Constructor<BindingProviderFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public ReferenceBindingProvider createReferenceBindingProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return getFactory().createReferenceBindingProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public ServiceBindingProvider createServiceBindingProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return getFactory().createServiceBindingProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = factoryDeclaration.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - - /** - * A wrapper around an implementation provider factory allowing lazy - * loading and initialization of implementation providers. - */ - private class LazyImplementationProviderFactory implements ImplementationProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private ImplementationProviderFactory factory; - private Class modelType; - - private LazyImplementationProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private ImplementationProviderFactory getFactory() { - if (factory == null) { - try { - Class<ImplementationProviderFactory> factoryClass = - (Class<ImplementationProviderFactory>)providerClass.loadClass(); - Constructor<ImplementationProviderFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public ImplementationProvider createImplementationProvider(RuntimeComponent component, - Implementation Implementation) { - return getFactory().createImplementationProvider(component, Implementation); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - - } - - /** - * A wrapper around an policy provider factory allowing lazy - * loading and initialization of policy providers. - */ - private class LazyPolicyProviderFactory implements PolicyProviderFactory { - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private PolicyProviderFactory factory; - private Class modelType; - - private LazyPolicyProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private PolicyProviderFactory getFactory() { - if (factory == null) { - try { - Class<PolicyProviderFactory> factoryClass = (Class<PolicyProviderFactory>)providerClass.loadClass(); - Constructor<PolicyProviderFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - public PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, - Implementation implementation) { - return getFactory().createImplementationPolicyProvider(component, implementation); - } - - public PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding) { - return getFactory().createReferencePolicyProvider(component, reference, binding); - } - - public PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding) { - return getFactory().createServicePolicyProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - - /** - * A wrapper around a wire format provider factory allowing lazy - * loading and initialization of wire format providers. - */ - private class LazyWireFormatProviderFactory implements WireFormatProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private WireFormatProviderFactory factory; - private Class modelType; - - private LazyWireFormatProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private WireFormatProviderFactory getFactory() { - if (factory == null) { - try { - Class<WireFormatProviderFactory> factoryClass = - (Class<WireFormatProviderFactory>)providerClass.loadClass(); - Constructor<WireFormatProviderFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding){ - return getFactory().createReferenceWireFormatProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding){ - return getFactory().createServiceWireFormatProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - - /** - * A wrapper around a operation selector provider factory allowing lazy - * loading and initialization of operation selector providers. - */ - private class LazyOperationSelectorProviderFactory implements OperationSelectorProviderFactory { - - private ExtensionPointRegistry registry; - private String modelTypeName; - private ServiceDeclaration providerClass; - private OperationSelectorProviderFactory factory; - private Class modelType; - - private LazyOperationSelectorProviderFactory(ExtensionPointRegistry registry, - String modelTypeName, - ServiceDeclaration providerClass) { - this.registry = registry; - this.modelTypeName = modelTypeName; - this.providerClass = providerClass; - } - - @SuppressWarnings("unchecked") - private OperationSelectorProviderFactory getFactory() { - if (factory == null) { - try { - Class<OperationSelectorProviderFactory> factoryClass = - (Class<OperationSelectorProviderFactory>)providerClass.loadClass(); - Constructor<OperationSelectorProviderFactory> constructor = - factoryClass.getConstructor(ExtensionPointRegistry.class); - factory = constructor.newInstance(registry); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return factory; - } - - @SuppressWarnings("unchecked") - public OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding){ - return getFactory().createReferenceOperationSelectorProvider(component, reference, binding); - } - - @SuppressWarnings("unchecked") - public OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding){ - return getFactory().createServiceOperationSelectorProvider(component, service, binding); - } - - public Class getModelType() { - if (modelType == null) { - try { - - modelType = providerClass.loadClass(modelTypeName); - } catch (Exception e) { - throw new IllegalStateException(e); - } - } - return modelType; - } - } - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java deleted file mode 100644 index 76ca061bab..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultSCADefinitionsProviderExtensionPoint.java +++ /dev/null @@ -1,91 +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.sca.provider; - -import java.lang.reflect.Constructor; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -import org.apache.tuscany.sca.core.ExtensionPointRegistry; -import org.apache.tuscany.sca.extensibility.ServiceDeclaration; -import org.apache.tuscany.sca.extensibility.ServiceDiscovery; - -/** - * Concrete Implementation for the SCADefinitionsProviderExtensionPoint - * - * @version $Rev$ $Date$ - */ -public class DefaultSCADefinitionsProviderExtensionPoint implements - SCADefinitionsProviderExtensionPoint { - - private ExtensionPointRegistry extensionPointRegistry = null; - - private List<SCADefinitionsProvider> scaDefnsProviders = new ArrayList<SCADefinitionsProvider>(); - - public DefaultSCADefinitionsProviderExtensionPoint(ExtensionPointRegistry extnPtReg) { - this.extensionPointRegistry = extnPtReg; - } - - public void addSCADefinitionsProvider(SCADefinitionsProvider provider) { - scaDefnsProviders.add(provider); - } - - public void removeSCADefinitionsProvider(SCADefinitionsProvider provider) { - scaDefnsProviders.remove(provider); - } - - public List<SCADefinitionsProvider> getSCADefinitionsProviders() { - if (scaDefnsProviders.isEmpty()) { - loadProviders(); - } - return scaDefnsProviders; - } - - private synchronized void loadProviders() { - // Get the provider service declarations - Set<ServiceDeclaration> defnProviderDecls; - SCADefinitionsProvider aProvider = null; - Class providerClass = null; - Constructor constructor = null; - - try { - defnProviderDecls = - ServiceDiscovery.getInstance().getServiceDeclarations(SCADefinitionsProvider.class); - - for (ServiceDeclaration aDefnProviderDecl : defnProviderDecls) { - providerClass = aDefnProviderDecl.loadClass(); - - try { - constructor = providerClass.getConstructor(); - aProvider = (SCADefinitionsProvider)constructor.newInstance(); - } catch (NoSuchMethodException e1) { - constructor = providerClass.getConstructor(ExtensionPointRegistry.class); - aProvider = (SCADefinitionsProvider)constructor.newInstance(extensionPointRegistry); - } - - scaDefnsProviders.add(aProvider); - } - } catch (Exception e) { - throw new RuntimeException(e); - } - - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java deleted file mode 100644 index 015c673d66..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java +++ /dev/null @@ -1,68 +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.sca.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * A component implementation can implement this interface in order to tie - * into the Tuscany runtime - * - * @version $Rev$ $Date$ - */ -public interface ImplementationProvider { - - /** - * This method will be invoked when the component implementation - * is activated. - */ - void start(); - - /** - * This method will be invoked when the component implementation - * is deactivated. - */ - void stop(); - - /** - * Create an invoker for the component implementation in the invocation - * chain. The invoker will be responsible for calling the implementation - * logic for the given component. - * - * @param service The component service - * @param operation The operation that the interceptor will handle - * @return An invoker that handles the invocation logic, null should be - * returned if no invoker is required - */ - Invoker createInvoker(RuntimeComponentService service, Operation operation); - - /** - * For bindings that invoke one-way callback operations asynchronously, - * there is no need to perform a thread switch before calling the invoker. - * This method indicates whether the binding has this capability. - * - * @return true if the callback invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java deleted file mode 100644 index 6a37d1e951..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java +++ /dev/null @@ -1,42 +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.sca.provider; - -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * An interface for factories that create implementation providers. - * - * @version $Rev$ $Date$ - */ -public interface ImplementationProviderFactory<M extends Implementation> extends ProviderFactory<M> { - - /** - * Creates a new implementation provider for the given - * component. - * - * @param component The runtime component - * @param Implementation The implementation type - * @return The implementation provider - */ - ImplementationProvider createImplementationProvider(RuntimeComponent component, M Implementation); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java deleted file mode 100644 index f385c7dfba..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java +++ /dev/null @@ -1,39 +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.sca.provider; - -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface OperationSelectorProvider { - /** - * Create an interceptor for the operation selector - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java deleted file mode 100644 index 183b38cb33..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java +++ /dev/null @@ -1,53 +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.sca.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.OperationSelector; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface OperationSelectorProviderFactory<M extends OperationSelector> extends ProviderFactory<M> { - /** - * Create wire format provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - OperationSelectorProvider createReferenceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - OperationSelectorProvider createServiceOperationSelectorProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java deleted file mode 100644 index f2b59a7c54..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyImplementor.java +++ /dev/null @@ -1,38 +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.sca.provider; - -import java.util.List; - -import javax.xml.namespace.QName; - -/** - * This interface can be optionally implemented by the Binding or Implementation providers to - * indicate if they implement the policies in the binding/implementation provider. - * - * @version $Rev$ $Date$ - */ -public interface PolicyImplementor { - /** - * Get a list of policy names that are implemented by this policy implementor - * @return A list of policy names - */ - List<QName> getImplementedPolicies(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java deleted file mode 100644 index 644283dea1..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java +++ /dev/null @@ -1,41 +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.sca.provider; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface PolicyProvider { - /** - * Create an interceptor for a given operation - * @param operation - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(Operation operation); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java deleted file mode 100644 index b60a14d2da..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java +++ /dev/null @@ -1,63 +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.sca.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Implementation; -import org.apache.tuscany.sca.policy.Policy; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface PolicyProviderFactory<M extends Policy> extends ProviderFactory<M> { - /** - * Create policy provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - PolicyProvider createReferencePolicyProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - PolicyProvider createServicePolicyProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); - - /** - * Create policy provider for a given component implementation - * @param component - * @param implementation - * @return - */ - PolicyProvider createImplementationPolicyProvider(RuntimeComponent component, Implementation implementation); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java deleted file mode 100644 index 2102806881..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactory.java +++ /dev/null @@ -1,36 +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.sca.provider; - -/** - * A factory for runtime providers. - * - * @version $Rev$ $Date$ - */ -public interface ProviderFactory<M> { - - /** - * The model type that this factory creates providers for. - * - * @return the model type - */ - Class<M> getModelType(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java deleted file mode 100644 index d8f9973338..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java +++ /dev/null @@ -1,63 +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.sca.provider; - -import java.util.List; - - -/** - * An extension point for provider factories. Holds all of the provider - * factories from loaded extension points. Allows a provider factory - * to be located based on a given model type. Hence the runtime can - * generate runtime artifacts from the in memory assembly model. - * - * @version $Rev$ $Date$ - */ -public interface ProviderFactoryExtensionPoint { - - - /** - * Add a provider factory. - * - * @param providerFactory The provider factory - */ - void addProviderFactory(ProviderFactory providerFactory); - - /** - * Remove a provider factory. - * - * @param providerFactory The provider factory - */ - void removeProviderFactory(ProviderFactory providerFactory); - - /** - * Returns the provider factory associated with the given model type. - * @param modelType A model type - * @return The provider factory associated with the given model type - */ - ProviderFactory getProviderFactory(Class<?> modelType); - - /** - * Get a list of registered PolicyProviderFactory - * @return a list of registered PolicyProviderFactory - */ - List<PolicyProviderFactory> getPolicyProviderFactories(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java deleted file mode 100644 index b3ab1d8b87..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java +++ /dev/null @@ -1,76 +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.sca.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; - -/** - * A reference binding implementation can options implement this - * interface to tie into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface ReferenceBindingProvider { - - /** - * This method will be invoked when the component reference binding is - * activated. - */ - void start(); - - /** - * This method will be invoked when the component reference binding is - * deactivated. - */ - void stop(); - - /** - * Create an invoker for the reference binding in the invocation chain. The - * invoker is responsible for making the outbound invocation over the - * binding protocol. - * - * @param operation The operation that the interceptor will handle - * @return An invoker that handles the invocation logic, null should be - * returned if no invoker is required - */ - Invoker createInvoker(Operation operation); - - /** - * Get the effective interface contract imposed by the binding. For example, - * it will be interface contract introspected from the WSDL portType used by - * the endpoint for a WebService binding. - * - * @return The effective interface contract, if null is returned, the - * interface contract for the component reference will be used - */ - InterfaceContract getBindingInterfaceContract(); - - /** - * For bindings that invoke one-way operations asynchronously, there is no - * need to perform a thread switch before calling the invoker. This method - * indicates whether the binding has this capability. - * - * @return true if the binding invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java deleted file mode 100644 index 3ea9d0ac3c..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProviderRRB.java +++ /dev/null @@ -1,35 +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.sca.provider; - -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * TODO RRB experiment - * This is an experiment extension to try out the request response - * binding function - * - * @version $Rev$ $Date$ - */ -public interface ReferenceBindingProviderRRB extends ReferenceBindingProvider { - - void configureBindingChain(RuntimeWire runtimeWire); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java deleted file mode 100644 index bd0f4d4b75..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProvider.java +++ /dev/null @@ -1,33 +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.sca.provider; - -import org.apache.tuscany.sca.definitions.SCADefinitions; - -/** - * Models a provider of SCA Definitions. Typically SCA Definitions providers - * may either load a definitions.xml file or create the SCA Definitions model - * programmatically. - * - * @version $Rev$ $Date$ - */ -public interface SCADefinitionsProvider { - SCADefinitions getSCADefinition() throws SCADefinitionsProviderException ; -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java deleted file mode 100644 index b05130d6c8..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderException.java +++ /dev/null @@ -1,30 +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.sca.provider; - -/** - * @version $Rev$ $Date$ - */ -public class SCADefinitionsProviderException extends Exception { - - public SCADefinitionsProviderException(Throwable e) { - super(e); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java deleted file mode 100644 index a5d60cc6eb..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/SCADefinitionsProviderExtensionPoint.java +++ /dev/null @@ -1,35 +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.sca.provider; - -import java.util.List; - -/** - * An extension point for SCA Definitions Providers. SCA Definition providers, load SCA Definitions - * items that are being specifically contributed by the module that hosts the provider in question. - * - * @version $Rev$ $Date$ - */ -public interface SCADefinitionsProviderExtensionPoint { - - void addSCADefinitionsProvider(SCADefinitionsProvider provider); - void removeSCADefinitionsProvider(SCADefinitionsProvider provider); - List<SCADefinitionsProvider> getSCADefinitionsProviders(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java deleted file mode 100644 index e15234a549..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java +++ /dev/null @@ -1,63 +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.sca.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * A service binding can optionally implement this interface to tie - * into the Tuscany SCA runtime - * - * @version $Rev$ $Date$ - */ -public interface ServiceBindingProvider { - /** - * This method will be invoked when the component service binding is - * activated. - */ - void start(); - - /** - * This method will be invoked when the component service binding is - * deactivated. - */ - void stop(); - - /** - * Get the effective interface contract imposed by the binding. For example, - * it will be interface contract introspected from the WSDL portType used by - * the endpoint for a WebService binding. - * - * @return The effective interface contract, if null is returned, the - * interface contract for the component service will be used - */ - InterfaceContract getBindingInterfaceContract(); - - /** - * For bindings that invoke one-way callback operations asynchronously, - * there is no need to perform a thread switch before calling the invoker. - * This method indicates whether the binding has this capability. - * - * @return true if the callback invoker is able to invoke one-way operations - * asynchronously, false if all invocations are synchronous - */ - boolean supportsOneWayInvocation(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java deleted file mode 100644 index e23a37360a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProviderRRB.java +++ /dev/null @@ -1,39 +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.sca.provider; - -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.runtime.RuntimeWire; - -/** - * TODO RRB experiment - * This is an experiment extension to try out the request response - * binding function - * - * @version $Rev$ $Date$ - */ -public interface ServiceBindingProviderRRB extends ServiceBindingProvider { - - void configureBindingChain(RuntimeWire runtimeWire); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java deleted file mode 100644 index 35526cb251..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java +++ /dev/null @@ -1,54 +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.sca.provider; - -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.invocation.Interceptor; - -/** - * @version $Rev$ $Date$ - */ -public interface WireFormatProvider { - - /** - * Set up the contract that describes the interface that - * is providing data to or accepting data from the - * wire format interceptor. The wire format's job - * is to translate between this interface contract and the - * format on the wire. The interface contract may be - * configured separately for request and response - * wire formats - * - * @return the wire format interface contract - */ - public InterfaceContract configureWireFormatInterfaceContract(InterfaceContract interfaceContract); - - /** - * Create an interceptor for the wire format - * @return An interceptor that realize the policySet - */ - Interceptor createInterceptor(); - - /** - * Get the phase that the interceptor should be added - * @return The phase that this interceptor belongs to - */ - String getPhase(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java deleted file mode 100644 index fd748df6ca..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java +++ /dev/null @@ -1,53 +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.sca.provider; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.WireFormat; -import org.apache.tuscany.sca.runtime.RuntimeComponent; -import org.apache.tuscany.sca.runtime.RuntimeComponentReference; -import org.apache.tuscany.sca.runtime.RuntimeComponentService; - -/** - * @version $Rev$ $Date$ - */ -public interface WireFormatProviderFactory<M extends WireFormat> extends ProviderFactory<M> { - /** - * Create wire format provider for a given reference binding - * @param component - * @param reference - * @param binding - * @return - */ - WireFormatProvider createReferenceWireFormatProvider(RuntimeComponent component, - RuntimeComponentReference reference, - Binding binding); - - /** - * Create policy provider for a given service binding - * @param component - * @param service - * @param binding - * @return - */ - WireFormatProvider createServiceWireFormatProvider(RuntimeComponent component, - RuntimeComponentService service, - Binding binding); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java deleted file mode 100644 index 851afee3c1..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/DefaultWireProcessorExtensionPoint.java +++ /dev/null @@ -1,63 +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.sca.runtime; - -import java.util.ArrayList; -import java.util.List; - - -/** - * The default implementation of a <code>WireProcessorExtensionPoint</code> - * - * @version $Rev$ $Date$ - */ -public class DefaultWireProcessorExtensionPoint implements RuntimeWireProcessorExtensionPoint { - - /** - * The list of WireProcessors available to the runtime - */ - private final List<RuntimeWireProcessor> processors = new ArrayList<RuntimeWireProcessor>(); - - /** - * Registers a wire-processor in the runtime - * - * @param processor The processor to register - */ - public void addWireProcessor(RuntimeWireProcessor processor) { - processors.add(processor); - } - - /** - * De-registers a wire-processor in the runtime - * - * @param processor The processor to de-register - */ - public void removeWireProcessor(RuntimeWireProcessor processor) { - processors.remove(processor); - } - - /** - * Returns a list of registered wire-processors. - * - * @return The list of wire processors - */ - public List<RuntimeWireProcessor> getWireProcessors() { - return processors; - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.java deleted file mode 100644 index b6fafa5fb6..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointReference.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.sca.runtime; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.Contract; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; - -/** - * The endpoint reference for a component service or reference - * - * @version $Rev$ $Date$ - */ -public interface EndpointReference extends Cloneable { - /** - * Get the component for the endpoint - * @return The component, null of the EPR is for a non-SCA service - */ - RuntimeComponent getComponent(); - - /** - * Get the component service or reference for the endpoint - * @return The component service or reference, null if the EPR is for a non-SCA service - */ - Contract getContract(); - - /** - * Get the binding for the endpoint - * @return The binding - */ - Binding getBinding(); - - /** - * Get the interface contract for the endpoint - * @return The interface contract - */ - InterfaceContract getInterfaceContract(); - - /** - * Update the interface contract for the endpoint - * @param interfaceContract The updated interface contract - */ - void setInterfaceContract(InterfaceContract interfaceContract); - - /** - * Get the URI for this endpoint - * @return The URI of the endpoint - */ - String getURI(); - - /** - * Set the URI for this endpoint - * @param uri The new URI of the endpoint - */ - void setURI(String uri); - - /** - * Get the callback endpoint for this endpoint - * @return The callback endpoint for this endpoint - */ - EndpointReference getCallbackEndpoint(); - - /** - * Set the callback endpoint for this endpoint - * @param callbackEndpoint The new callback endpoint for this endpoint - */ - void setCallbackEndpoint(EndpointReference callbackEndpoint); - - Object clone() throws CloneNotSupportedException; - - void setReferenceParameters(ReferenceParameters parameters); - ReferenceParameters getReferenceParameters(); - - void mergeEndpoint(EndpointReference epr); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java deleted file mode 100644 index 0e19538aff..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/ReferenceParameters.java +++ /dev/null @@ -1,69 +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.sca.runtime; - -/** - * Parameters for the EndPointReference - * - * @version $Rev$ $Date$ - */ -public interface ReferenceParameters extends Cloneable { - /** - * Get the callback ID - * @return the callbackID - */ - Object getCallbackID(); - - /** - * Set the callback ID - * @param callbackID the callbackID to set - */ - void setCallbackID(Object callbackID); - - /** - * Get the conversation ID - * @return the conversationID - */ - Object getConversationID(); - - /** - * Set the conversation ID - * @param conversationID the conversationID to set - */ - void setConversationID(Object conversationID); - - /** - * Get the ID for the non-ServiceReference callback object - * @return - */ - Object getCallbackObjectID(); - - /** - * Set the ID for the non-ServiceReference callback object - * @param callbackObjectID - */ - void setCallbackObjectID(Object callbackObjectID); - - EndpointReference getCallbackReference(); - - void setCallbackReference(EndpointReference callback); - - Object clone() throws CloneNotSupportedException; -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java deleted file mode 100644 index 30bba78a40..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponent.java +++ /dev/null @@ -1,83 +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.sca.runtime; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Component; -import org.apache.tuscany.sca.provider.ImplementationProvider; -import org.apache.tuscany.sca.provider.PolicyProvider; - -/** - * The runtime component interface. Provides the bridge between the - * assembly model representation of a component and its runtime - * realization. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponent extends Component { - /** - * Set the implementation-specific configuration for this component - * @param implementationProvider The object that manages the component implementation - */ - void setImplementationProvider(ImplementationProvider implementationProvider); - - /** - * Get the implementation-specific configuration for this component - * @return The implementation provider for this component - */ - ImplementationProvider getImplementationProvider(); - - /** - * Get the associated component context - * @return - */ - RuntimeComponentContext getComponentContext(); - - /** - * Set the associated component context - * @param context - */ - void setComponentContext(RuntimeComponentContext context); - - /** - * Tests if the RuntimeComponent is started - * @return true if the RuntimeComponent is started otherwise false - */ - boolean isStarted(); - - /** - * Sets the RuntimeComponent started state - * @param started the state to set - */ - void setStarted(boolean started); - - /** - * Add a policy provider to the component - * @param policyProvider - */ - void addPolicyProvider(PolicyProvider policyProvider); - - /** - * Get a list of policy providers configured for this component - * @return - */ - List<PolicyProvider> getPolicyProviders(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java deleted file mode 100644 index f61bff9735..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentContext.java +++ /dev/null @@ -1,105 +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.sca.runtime; - -import java.io.IOException; -import java.io.Reader; -import java.io.Writer; - -import org.apache.tuscany.sca.api.ComponentContextExtension; -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.osoa.sca.CallableReference; -import org.osoa.sca.ComponentContext; -import org.osoa.sca.ServiceReference; - -/** - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentContext extends ComponentContextExtension { - /** - * Activate the reference (creating runtime wires) - * @param reference - */ - void start(RuntimeComponentReference reference); - - /** - * Deserialize the component reference - * @param reader - * @return A component that contains the reference - * @throws IOException - */ - RuntimeComponent read(Reader reader) throws IOException; - - /** - * Serialize the component reference - * @param reference - * @param writer - * @throws IOException - */ - void write(RuntimeComponentReference reference, Writer writer) throws IOException; - - /** - * Get the CallableReference for a given component reference - * @param <B> - * @param businessInterface The business interface - * @param reference The reference to be wired - * @param binding The binding to be used, if it's null, either binding.sca or the 1st binding - * will be selected - * @return A service reference representing the wire - */ - <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, - RuntimeComponentReference reference, - Binding binding); - - /** - * Bind the reference to a target component/componentService - * @param <B> - * @param businessInterface The business interface - * @param reference The reference to be wired - * @param component The target component - * @param service The target component service - * @return A service reference representing the wire - */ - <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, - RuntimeComponentReference reference, - RuntimeComponent component, - RuntimeComponentService service); - - /** - * Create a CallableReference for the given component service - * @param <B> - * @param businessInterface - * @param component - * @param service - * @return - */ - <B> CallableReference<B> getCallableReference(Class<B> businessInterface, - RuntimeComponent component, - RuntimeComponentService service); - - /** - * @param <B> - * @param businessInterface - * @param service - * @return - */ - <B> ServiceReference<B> createSelfReference(Class<B> businessInterface, ComponentService service); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java deleted file mode 100644 index 44ae7f552a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentReference.java +++ /dev/null @@ -1,119 +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.sca.runtime; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentReference; -import org.apache.tuscany.sca.assembly.Endpoint; -import org.apache.tuscany.sca.endpointresolver.EndpointResolver; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ReferenceBindingProvider; - -/** - * The runtime component reference. Provides the bridge between the - * assembly model representation of a component reference and its runtime - * realization - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentReference extends ComponentReference { - - /** - * Get a list of runtime wires to the reference - * - * @return The list of wires - */ - List<RuntimeWire> getRuntimeWires(); - - /** - * Get the runtime wire for the given binding - * @param binding The assembly model binding - * @return The runtime wire - */ - RuntimeWire getRuntimeWire(Binding binding); - - /** - * Returns the reference binding provider associated with this - * component reference and the given binding. - * - * @param binding The assembly model binding - * @return The runtime reference binding provider - */ - ReferenceBindingProvider getBindingProvider(Binding binding); - - /** - * Sets the reference binding provider associated with this - * component reference and the given binding. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime reference binding provider - */ - void setBindingProvider(Binding binding, ReferenceBindingProvider bindingProvider); - - /** - * Returns the endpoint resolver associated with this - * component reference and the given endpoint. - * - * @param endpont The assembly model endpoint - * @return The enpoint resolver - */ - EndpointResolver getEndpointResolver(Endpoint endpoint); - - /** - * Sets the endpoint resolver associated with this - * component reference and the given endpoint. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime reference binding provider - */ - void setEndpointResolver(Endpoint endpoint, EndpointResolver endpointResolver); - - /** - * Add a policy provider for the given binding to the reference - * @param binding The assembly model binding - * @param policyProvider The policy handler - */ - void addPolicyProvider(Binding binding, PolicyProvider policyProvider); - - /** - * Get a list of policy providers for the given binding - * @param binding The assembly model binding - * @return A list of policy providers for the given binding - */ - List<PolicyProvider> getPolicyProviders(Binding binding); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime Invoker - */ - Invoker getInvoker(Binding binding, Operation operation); - - /** - * Set the owning component - * @param component - */ - void setComponent(RuntimeComponent component); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java deleted file mode 100644 index 982724d798..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeComponentService.java +++ /dev/null @@ -1,138 +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.sca.runtime; - -import java.util.List; - -import org.apache.tuscany.sca.assembly.Binding; -import org.apache.tuscany.sca.assembly.ComponentService; -import org.apache.tuscany.sca.interfacedef.InterfaceContract; -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.provider.PolicyProvider; -import org.apache.tuscany.sca.provider.ServiceBindingProvider; - -/** - * The runtime component service. Provides the bridge between the - * assembly model representation of a component service and its runtime - * realization - * - * @version $Rev$ $Date$ - */ -public interface RuntimeComponentService extends ComponentService { - - /** - * Get a list of runtime wires to the service - * - * @return The list of wires - */ - List<RuntimeWire> getRuntimeWires(); - /** - * Get the runtime wire for the given binding - * @param binding The assembly model binding - * @return The runtime wire - */ - RuntimeWire getRuntimeWire(Binding binding); - - /** - * Get the callback wires associated with this service - * - * @return The list of runtime callback wires - */ - List<RuntimeWire> getCallbackWires(); - - /** - * Returns the service binding provider associated with this - * component service and the given binding. - * - * @param binding The assembly model binding - * @return The runtime service binding provider - */ - ServiceBindingProvider getBindingProvider(Binding binding); - - /** - * Returns the service binding provider associated with this - * component service and the given binding. - * - * @param binding - * @param interfaceContract - * @return - */ - RuntimeWire getRuntimeWire(Binding binding, InterfaceContract interfaceContract); - - /** - * Sets the service binding provider associated with this - * component service and the given binding. - * - * @param binding The assembly model binding - * @param bindingProvider The runtime service binding provider - */ - void setBindingProvider(Binding binding, ServiceBindingProvider bindingProvider); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime invoker - */ - Invoker getInvoker(Binding binding, Operation operation); - - /** - * Get the invoker for the given binding and operation - * @param binding The assembly model binding - * @param interfaceContract the client interface contract - * @param operation The assembly model operation - * @return The runtime invoker - */ - Invoker getInvoker(Binding binding, InterfaceContract interfaceContract, Operation operation); - - /** - * Get the invocation chain for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @return The runtime invocation chain - */ - InvocationChain getInvocationChain(Binding binding, Operation operation); - - /** - * Get the invocation chain for the given binding and operation - * @param binding The assembly model binding - * @param operation The assembly model operation - * @param interfaceContract the client interface contract - * @return The runtime invocation chain - */ - InvocationChain getInvocationChain(Binding binding, InterfaceContract interfaceContract, Operation operation); - - /** - * Add a policy provider for the given binding to the service - * @param binding The assembly model binding - * @param policyProvider The policy handler - */ - void addPolicyProvider(Binding binding, PolicyProvider policyProvider); - - /** - * Get a list of policy providers for the given binding - * @param binding The assembly model binding - * @return A list of policy providers for the given binding - */ - List<PolicyProvider> getPolicyProviders(Binding binding); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java deleted file mode 100644 index a2e7152202..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWire.java +++ /dev/null @@ -1,117 +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.sca.runtime; - -import java.lang.reflect.InvocationTargetException; -import java.util.List; - -import org.apache.tuscany.sca.interfacedef.Operation; -import org.apache.tuscany.sca.invocation.InvocationChain; -import org.apache.tuscany.sca.invocation.Message; - -/** - * The runtime wire interface that connects a component reference to a - * component service (or an external service) over the selected binding - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWire extends Cloneable { - - /** - * Get the source of the wire - * - * @return The end point reference of the source - */ - EndpointReference getSource(); - - /** - * Get the target of the wire - * - * @return The end point reference of the target - */ - EndpointReference getTarget(); - - /** - * Rebind the runtime wire with the given target - * @param target The target endpoint reference - */ - void setTarget(EndpointReference target); - - /** - * Force the invocation chains to be rebuilt - */ - void rebuild(); - - /** - * Returns the invocation chains for service operations associated with the - * wire - * - * @return the invocation chains for service operations associated with the - * wire - */ - List<InvocationChain> getInvocationChains(); - - /** - * Lookup the invocation chain by operation - * @param operation The operation - * @return The invocation chain for the given operation - */ - InvocationChain getInvocationChain(Operation operation); - - /** - * Get the invocation chain for the binding-specific handling - * @return - */ - InvocationChain getBindingInvocationChain(); - - /** - * This invoke method assumes that the binding invocation chain is in force - * and that there will be an operation selector element there to - * determine which operation to call - * @param msg The message - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Message msg) throws InvocationTargetException; - - /** - * Invoke an operation with given arguments - * @param operation The operation - * @param args The arguments - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Operation operation, Object[] args) throws InvocationTargetException; - - /** - * Invoke an operation with a context message - * @param operation The operation - * @param msg The message - * @return The result - * @throws InvocationTargetException - */ - Object invoke(Operation operation, Message msg) throws InvocationTargetException; - - /** - * @return a clone of the runtime wire - * @throws CloneNotSupportedException - */ - Object clone() throws CloneNotSupportedException; -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java deleted file mode 100644 index fbb7aae467..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java +++ /dev/null @@ -1,35 +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.sca.runtime; - -/** - * Implementations are called after wires are decorated with policy and before they are connected. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWireProcessor { - - /** - * Process the runtime wire to add interceptors - * - * @param wire - */ - void process(RuntimeWire wire); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java deleted file mode 100644 index 4b2c71b397..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessorExtensionPoint.java +++ /dev/null @@ -1,53 +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.sca.runtime; - -import java.util.List; - -/** - * Acts as a delegating <code>WireProcessorExtensionPoint</code>, delegating - * processing of wires after policies have been applied and source and targets - * have been connected. - * - * @version $Rev$ $Date$ - */ -public interface RuntimeWireProcessorExtensionPoint { - - /** - * Registers a wire-processor in the runtime - * - * @param processor The processor to register - */ - void addWireProcessor(RuntimeWireProcessor processor); - - /** - * De-registers a wire-processor in the runtime - * - * @param processor The processor to de-register - */ - void removeWireProcessor(RuntimeWireProcessor processor); - - /** - * Returns a list of registered wire-processors. - * - * @return The list of wire processors - */ - List<RuntimeWireProcessor> getWireProcessors(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java deleted file mode 100644 index 7d5cd6c54b..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/DuplicateRecordException.java +++ /dev/null @@ -1,56 +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.sca.store; - -/** - * thrown when a record already exists during an insert operation - * - * @version $Rev$ $Date$ - */ -public class DuplicateRecordException extends StoreWriteException { - private static final long serialVersionUID = 3116253222569378447L; - - /** - * {@inheritDoc} - */ - public DuplicateRecordException() { - super(); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public DuplicateRecordException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java deleted file mode 100644 index 9d965a3369..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/RecoveryListener.java +++ /dev/null @@ -1,46 +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.sca.store; - -import java.util.UUID; - -/** - * Implementations receive callback events during a store recovery operation - * - * @version $Rev$ $Date$ - */ -public interface RecoveryListener { - - /** - * Signals the start of a recovery - */ - void onBegin(); - - /** - * Received when a record is recovered - * - * @param id - */ - void onRecord(UUID id); - - /** - * Signals the end of recovery - */ - void onEnd(); -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java deleted file mode 100644 index b15cde066a..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/Store.java +++ /dev/null @@ -1,96 +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.sca.store; - -import org.apache.tuscany.sca.event.EventPublisher; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Implementations provide a persistent store for runtime data such as conversational state. A persistent store could be - * implemented in a durable fashion using JDBC or a journaling system, or using a non-durable mechanism such as an - * in-memory map. - * - * @version $Rev$ $Date$ - */ -public interface Store extends EventPublisher { - - /* Used to indicate an the default expiration offset for records for the store */ - long DEFAULT_EXPIRATION_OFFSET = -1; - - /* Used to indicate an entry should not expire */ - long NEVER = -2; - - /** - * Adds the given record to the store. Implementations may choose different strategies for writing data such as - * write-through or write-behind. - * - * @param owner the instance owner - * @param id the unique id of the record - * @param object the object representing the data to write - * @param expiration the time in milliseconds when the entry expires - * @throws StoreWriteException if an error occurs during the write operation - */ - void insertRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException; - - /** - * Updates a given record in the store, overwriting previous information. - * - * @param owner the instance owner - * @param id the unique id of the record - * @param object the object representing the data to write - * @param expiration the time in milliseconds when the entry expires - * @throws StoreWriteException - */ - void updateRecord(RuntimeComponent owner, String id, Object object, long expiration) throws StoreWriteException; - - /** - * Returns the deserialized object in the store corresponding to the given id - * - * @param owner the instance owner - * @param id the unique id of the record - * @return the deserialized object or null if one is not found - * @throws StoreReadException - */ - Object readRecord(RuntimeComponent owner, String id) throws StoreReadException; - - /** - * Removes a record from the store - * - * @param owner the instance owner - * @param id the unique id of the record - * @throws StoreWriteException - */ - void removeRecord(RuntimeComponent owner, String id) throws StoreWriteException; - - /** - * Removes all records from the store - * - * @throws StoreWriteException - */ - void removeRecords() throws StoreWriteException; - - /** - * Initiates a recovery operation, for example during restart after a crash - * - * @param listener the listener to receive recovery callback events - * @throws StoreReadException - */ - void recover(RecoveryListener listener) throws StoreReadException; - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java deleted file mode 100644 index 24eaddd3e0..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreException.java +++ /dev/null @@ -1,57 +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.sca.store; - - -/** - * Represents a generic exception thrown by a <code>Store</code> - * - * @version $Rev$ $Date$ - */ -public class StoreException extends Exception { - private static final long serialVersionUID = -319152147419962709L; - - /** - * {@inheritDoc} - */ - public StoreException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java deleted file mode 100644 index 5c1a3ca79d..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreExpirationEvent.java +++ /dev/null @@ -1,71 +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.sca.store; - -import org.apache.tuscany.sca.event.Event; -import org.apache.tuscany.sca.runtime.RuntimeComponent; - -/** - * Fired when a store implementation expires a resource - * - * @version $Rev$ $Date$ - */ -public class StoreExpirationEvent implements Event { - private Object source; - private RuntimeComponent owner; - private Object instance; - - /** - * Constructor. - * - * @param source the source of the event - * @param owner the owner of the expiring object - * @param instance the expiring object - */ - public StoreExpirationEvent(Object source, RuntimeComponent owner, Object instance) { - assert source != null; - assert owner != null; - assert instance != null; - this.source = source; - this.owner = owner; - this.instance = instance; - } - - public Object getSource() { - return source; - } - - /** - * Returns the owner of the expiring object. - * - * @return the owner of the expiring object. - */ - public RuntimeComponent getOwner() { - return owner; - } - - /** - * Returns the expiring object. - * - * @return the expiring object. - */ - public Object getInstance() { - return instance; - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java deleted file mode 100644 index 4bc7facf39..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreMonitor.java +++ /dev/null @@ -1,71 +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.sca.store; - - -/** - * A generic monitor interface for services to log events - * - * @version $Rev$ $Date$ - */ -public interface StoreMonitor { - - /** - * Signals the service has started - * - * @param msg - */ - void start(String msg); - - /** - * Signals the service has been shutdown - * - * @param msg - */ - void stop(String msg); - - /** - * Fired when recovery is started - */ - - void beginRecover(); - - /** - * Fired when recovery is completed - */ - - void endRecover(); - - /** - * Fired when a record is processed during recovery - * - * @param recordId the id of the record being recovered - */ - - void recover(Object recordId); - - /** - * Signals an error event - * - * @param e the error - */ - - void error(Throwable e); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java deleted file mode 100644 index c2346bddca..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreReadException.java +++ /dev/null @@ -1,56 +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.sca.store; - -/** - * Thrown when an error occurs reading from persistent storage - * - * @version $Rev$ $Date$ - */ -public class StoreReadException extends StoreException { - private static final long serialVersionUID = -8624542082121467271L; - - /** - * {@inheritDoc} - */ - public StoreReadException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreReadException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java deleted file mode 100644 index b37519b31c..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/store/StoreWriteException.java +++ /dev/null @@ -1,56 +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.sca.store; - -/** - * Thrown when an error occurs writing to persistent storage - * - * @version $Rev$ $Date$ - */ -public class StoreWriteException extends StoreException { - private static final long serialVersionUID = 5539070473942048555L; - - /** - * {@inheritDoc} - */ - public StoreWriteException() { - super(); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public StoreWriteException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java deleted file mode 100644 index d32af450ff..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/NotificationListener.java +++ /dev/null @@ -1,67 +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.sca.work; - -/** - * A callback interface that can be optionally used for registering - * interest in status of asynchronously scheduled unit of work. - * - * @version $Rev$ $Date$ - */ -public interface NotificationListener<T extends Runnable> { - - /** - * Callback method when the unit of work is accepted. - * - * @param work Work that was accepted. - */ - void workAccepted(T work); - - /** - * Callback method when the unit of work is successfully completed. - * - * @param work Work that was successfully completed. - */ - void workCompleted(T work); - - /** - * Callback when the unit of work is started. - * - * @param work Unit of work that was started. - */ - void workStarted(T work); - - /** - * Callback when the unit of work is rejected. - * - * @param work Unit of work that was rejected. - */ - void workRejected(T work); - - /** - * Callback when the unit of work fails to complete. - * - * @param work Unit of work that failed to complete. - * @param error Error that caused the unit of work to fail. - */ - void workFailed(T work, Throwable error); - - - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java deleted file mode 100644 index b1beac78e2..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkScheduler.java +++ /dev/null @@ -1,58 +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.sca.work; - -/** - * Defines the contract for scheduling asynchronous units of work. - * - * <p> - * Units of work can be scheduled with an optional <code>NotificationListener</code>. - * If a notification listener is specified, the caller will be notified regarding the - * status of the work. The unit of work can either be completed, rejected or completed - * with an error. If the work completed with an error, the caller is notified with the - * error details. - * </p> - * - * @version $Rev$ $Date$ - */ -public interface WorkScheduler { - - /** - * Schedules a unit of work for future execution. The notification listener - * is used to register interest in callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - * @param listener Notification listener for callbacks. - */ - <T extends Runnable>void scheduleWork(T work, NotificationListener<T> listener); - - /** - * Schedules a unit of work for future execution. The notification listener - * is used to register interest in callbacks regarding the status of the work. - * - * @param work The unit of work that needs to be asynchronously executed. - */ - <T extends Runnable>void scheduleWork(T work); - - /** - * Destroys the work scheduler - */ - void destroy(); - -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java b/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java deleted file mode 100644 index 18ec2dfeaa..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/java/org/apache/tuscany/sca/work/WorkSchedulerException.java +++ /dev/null @@ -1,59 +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.sca.work; - - -/** - * Exception thrown by the work scheduler in case of unexpected exceptions. - * - * @version $Rev$ $Date$ - * - * @version $Rev$ $Date$ - */ -public class WorkSchedulerException extends RuntimeException { - private static final long serialVersionUID = 1L; - - /** - * {@inheritDoc} - */ - public WorkSchedulerException() { - super(); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(String message, Throwable cause) { - super(message, cause); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(String message) { - super(message); - } - - /** - * {@inheritDoc} - */ - public WorkSchedulerException(Throwable cause) { - super(cause); - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint b/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint deleted file mode 100644 index ddd91bceac..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.context.ContextFactoryExtensionPoint +++ /dev/null @@ -1,18 +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. - -org.apache.tuscany.sca.context.DefaultContextFactoryExtensionPoint diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint b/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint deleted file mode 100644 index 91839e998f..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.endpointresolver.EndpointResolverFactoryExtensionPoint +++ /dev/null @@ -1,18 +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. - -org.apache.tuscany.sca.endpointresolver.DefaultEndpointResolverFactoryExtensionPoint diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint b/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint deleted file mode 100644 index e9de1f135f..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint +++ /dev/null @@ -1,18 +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. - -org.apache.tuscany.sca.provider.DefaultProviderFactoryExtensionPoint diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint b/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint deleted file mode 100644 index 2f700671ca..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.provider.SCADefinitionsProviderExtensionPoint +++ /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.
-
-org.apache.tuscany.sca.provider.DefaultSCADefinitionsProviderExtensionPoint
-
\ No newline at end of file diff --git a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint b/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint deleted file mode 100644 index 95591dca5d..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/main/resources/META-INF/services/org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint +++ /dev/null @@ -1,18 +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. - -org.apache.tuscany.sca.runtime.DefaultWireProcessorExtensionPoint diff --git a/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java b/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java deleted file mode 100644 index 3a27569a3b..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/context/DefaultContextFactoryExtensionPointTestCase.java +++ /dev/null @@ -1,208 +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.sca.context; - -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.core.ExtensionPointRegistry; - -import org.junit.Assert; -import org.junit.Test; - -/** - * This test case will test the class - * org.apache.tuscany.sca.context.DefaultContextFactoryExtensionPoint - * - * $Date$ $Rev$ - */ -public class DefaultContextFactoryExtensionPointTestCase { - - /** - * Tests adding/getting/removing a factory with no interfaces - */ - @Test - public void testFactoryWithNoInterfaces() { - Object factory = new FactoryWithNoInterfaces(); - Class<?>[] ifaces = {}; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests adding/getting/removing a factory with one interface - */ - @Test - public void testFactoryWithOneInterface() { - Object factory = new FactoryWithOneInterface(); - Class<?>[] ifaces = { FactoryOneInterface.class }; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests adding/getting/removing a factory with two interfaces - */ - @Test - public void testFactoryWithTwoInterfaces() { - Object factory = new FactoryWithTwoInterfaces(); - Class<?>[] ifaces = { FactoryTwoInterfacesA.class, FactoryTwoInterfacesB.class }; - addGetRemoveFactory(factory, ifaces); - } - - /** - * Tests having multiple factories registered - */ - @Test - public void testMultipleFactories() { - // Create new factories - FactoryWithOneInterface factory1 = new FactoryWithOneInterface(); - FactoryWithTwoInterfaces factory2 = new FactoryWithTwoInterfaces(); - - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - - // Register the factories - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - ctxFactory.addFactory(factory1); - ctxFactory.addFactory(factory2); - - // Re-get each of the factories - FactoryOneInterface regotFactory1 = ctxFactory.getFactory(FactoryOneInterface.class); - Assert.assertNotNull(regotFactory1); - Assert.assertSame(factory1, regotFactory1); - FactoryTwoInterfacesA regotFactory2A = ctxFactory.getFactory(FactoryTwoInterfacesA.class); - Assert.assertNotNull(regotFactory2A); - Assert.assertSame(factory2, regotFactory2A); - FactoryTwoInterfacesB regotFactory2B = ctxFactory.getFactory(FactoryTwoInterfacesB.class); - Assert.assertNotNull(regotFactory1); - Assert.assertSame(factory2, regotFactory2B); - } - - /** - * Tests passing in null to addFactory() - */ - @Test - public void testAddingNullFactory() { - - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.addFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Test passing in null to removeFactory() - */ - @Test - public void testRemovingNullFactory() { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.removeFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Test passing in null to getFactory() - */ - @Test - public void testGetNullFactory() { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - try { - ctxFactory.getFactory(null); - Assert.fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException ex) { - // As expected - } - } - - /** - * Utility method for testing adding and removing a factory - * - * @param factory The factory class to test - * @param factoryInterfaces The list of interfaces implemented by the factory - */ - private void addGetRemoveFactory(Object factory, Class<?>[] factoryInterfaces) { - ExtensionPointRegistry registry = new DefaultExtensionPointRegistry(); - DefaultContextFactoryExtensionPoint ctxFactory = new DefaultContextFactoryExtensionPoint(registry); - - // Make sure factory not already present - for (Class<?> iface : factoryInterfaces) { - Assert.assertNull(ctxFactory.getFactory(iface)); - } - - // Add the factory - ctxFactory.addFactory(factory); - - // Make sure we can get the factory recently registered factory - for (Class<?> iface : factoryInterfaces) { - Object regot = ctxFactory.getFactory(iface); - Assert.assertNotNull(regot); - Assert.assertSame(factory, regot); - } - - // Remove the factory - ctxFactory.removeFactory(factory); - - // Make sure factory is no longer registered - for (Class<?> iface : factoryInterfaces) { - Assert.assertNull(ctxFactory.getFactory(iface)); - } - } - - /** - * Simple factory with no interfaces - */ - private class FactoryWithNoInterfaces { - } - - /** - * Simple interface for the factory with one interface - */ - private interface FactoryOneInterface { - } - - /** - * Simple factory with one interface - */ - private class FactoryWithOneInterface implements FactoryOneInterface { - } - - /** - * Simple interface for the factory with two interfaces - */ - private interface FactoryTwoInterfacesA { - } - - /** - * Simple interface for the factory with two interfaces - */ - private interface FactoryTwoInterfacesB { - } - - /** - * Simple factory with two interfaces - */ - private class FactoryWithTwoInterfaces implements FactoryTwoInterfacesA, FactoryTwoInterfacesB { - } -} diff --git a/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java b/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java deleted file mode 100644 index 2425133273..0000000000 --- a/branches/sca-java-1.x/modules/core-spi/src/test/java/org/apache/tuscany/sca/event/TrueFilterTestCase.java +++ /dev/null @@ -1,63 +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.sca.event; - -import org.junit.Assert; -import org.junit.Test; - -/** - * Test case for TrueFilter - * - * @version $Rev$ $Date$ - */ -public class TrueFilterTestCase { - - /** - * Test TrueFilter matching an event - */ - @Test - public void testTrueFilterMatch() { - EventFilter filter = new TrueFilter(); - - Assert.assertTrue(filter.match(new DummyEvent())); - } - - /** - * Test TrueFilter matching null - */ - @Test - public void testTrueFilterMatchNull() { - EventFilter filter = new TrueFilter(); - - Assert.assertTrue(filter.match(null)); - } - - /** - * Dummy Event implementation for testing - */ - private class DummyEvent implements Event { - - /** - * {@inheritDoc} - */ - public Object getSource() { - throw new UnsupportedOperationException(); - } - } -} |