Author: slaws
Date: Wed Nov 25 15:36:08 2009
New Revision: 884150

URL: http://svn.apache.org/viewvc?rev=884150&view=rev
Log:
For POL_5001 test to see if there are extensions to handle implementation types 
that have been specified

Modified:
    
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java
    
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/definitions/xml/definitions-xml-validation-messages.properties

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java?rev=884150&r1=884149&r2=884150&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/definitions/xml/DefinitionsProcessor.java
 Wed Nov 25 15:36:08 2009
@@ -38,10 +38,13 @@
 import 
org.apache.tuscany.sca.contribution.processor.ContributionWriteException;
 import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import 
org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
 import org.apache.tuscany.sca.core.FactoryExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.definitions.Definitions;
 import org.apache.tuscany.sca.definitions.DefinitionsFactory;
+import org.apache.tuscany.sca.monitor.Monitor;
 import org.apache.tuscany.sca.policy.BindingType;
 import org.apache.tuscany.sca.policy.ImplementationType;
 import org.apache.tuscany.sca.policy.Intent;
@@ -53,6 +56,8 @@
  * @version $Rev$ $Date$
  */
 public class DefinitionsProcessor extends BaseStAXArtifactProcessor implements 
StAXArtifactProcessor<Definitions> {
+    private ExtensionPointRegistry registry;
+    private StAXArtifactProcessorExtensionPoint processors;
     private StAXArtifactProcessor<Object> extensionProcessor;
     private DefinitionsFactory definitionsFactory;
 
@@ -64,10 +69,14 @@
     public static final String TARGET_NAMESPACE = "targetNamespace";
     public static final String NAME = "name";
 
-    public DefinitionsProcessor(FactoryExtensionPoint factoryExtensionPoint,
+    public DefinitionsProcessor(ExtensionPointRegistry registry,
                                 StAXArtifactProcessor<Object> 
extensionProcessor) {
+        this.registry = registry;
         this.extensionProcessor = extensionProcessor;
+        this.processors = 
registry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class);
+        FactoryExtensionPoint factoryExtensionPoint = 
registry.getExtensionPoint(FactoryExtensionPoint.class);
         this.definitionsFactory = 
factoryExtensionPoint.getFactory(DefinitionsFactory.class);
+        
     }
 
     public Definitions read(XMLStreamReader reader, ProcessorContext context) 
throws ContributionReadException, XMLStreamException {
@@ -159,6 +168,7 @@
     }
 
     public void resolve(Definitions scaDefns, ModelResolver resolver, 
ProcessorContext context) throws ContributionResolveException {
+        
         // start by adding all of the top level artifacts into the resolver as 
there
         // are many cross artifact references in a definitions file and we 
don't want
         // to be dependent on the order things appear
@@ -212,10 +222,24 @@
         
         for (BindingType bindingType : scaDefns.getBindingTypes()) {
             extensionProcessor.resolve(bindingType, resolver, context);
+            if (processors.getProcessor(bindingType.getType())  == null){
+                Monitor.error(context.getMonitor(), 
+                              this, 
+                              
"org.apache.tuscany.sca.definitions.xml.definitions-xml-validation-messages", 
+                              "BindingTypeNotFound", 
+                              bindingType.getType().toString());
+            }
         }
 
         for (ImplementationType implementationType : 
scaDefns.getImplementationTypes()) {
             extensionProcessor.resolve(implementationType, resolver, context);
+            if (processors.getProcessor(implementationType.getType())  == 
null){
+                Monitor.error(context.getMonitor(), 
+                              this, 
+                              
"org.apache.tuscany.sca.definitions.xml.definitions-xml-validation-messages", 
+                              "ImplementationTypeNotFound", 
+                              implementationType.getType().toString());
+            }
         }
     }
 

Modified: 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/definitions/xml/definitions-xml-validation-messages.properties
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/definitions/xml/definitions-xml-validation-messages.properties?rev=884150&r1=884149&r2=884150&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/definitions/xml/definitions-xml-validation-messages.properties
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/assembly-xml/src/main/resources/org/apache/tuscany/sca/definitions/xml/definitions-xml-validation-messages.properties
 Wed Nov 25 15:36:08 2009
@@ -19,4 +19,6 @@
 #
 #
 ContributionReadException = ContributionReadException occured due to :
-PrivilegedActionException = Privileged Action Exception occured due to 
FilePermission in security policy file: 
\ No newline at end of file
+PrivilegedActionException = Privileged Action Exception occured due to 
FilePermission in security policy file:
+ImplementationTypeNotFound = [POL50001] An extension to support the 
implementation type {0} can't be found in the domain
+BindingTypeNotFound = An extension to support the binding type {0} can't be 
found in the domain  
\ No newline at end of file


Reply via email to