Author: lresende
Date: Fri May 16 15:33:04 2008
New Revision: 657234

URL: http://svn.apache.org/viewvc?rev=657234&view=rev
Log:
TUSCANY-2295 Dynamically add validation schemas to the tuscany runtime

Added:
    incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/
    
incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/
    
incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
Modified:
    
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java

Added: 
incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema?rev=657234&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
 (added)
+++ 
incubator/tuscany/java/sca/modules/assembly-xsd/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.ValidationSchema
 Fri May 16 15:33:04 2008
@@ -0,0 +1,18 @@
+# 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. 
+#
+tuscany-sca.xsd
\ No newline at end of file

Modified: 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?rev=657234&r1=657233&r2=657234&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 Fri May 16 15:33:04 2008
@@ -24,6 +24,8 @@
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.List;
+import java.util.Set;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.xml.stream.XMLInputFactory;
@@ -43,6 +45,7 @@
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
 import 
org.apache.tuscany.sca.contribution.processor.DefaultValidatingXMLInputFactory;
+import 
org.apache.tuscany.sca.contribution.processor.DefaultValidationSchemaExtensionPoint;
 import 
org.apache.tuscany.sca.contribution.processor.ExtensiblePackageProcessor;
 import 
org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import 
org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
@@ -78,6 +81,8 @@
 import org.apache.tuscany.sca.core.scope.ScopeRegistryImpl;
 import org.apache.tuscany.sca.core.scope.StatelessScopeContainerFactory;
 import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
+import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -203,19 +208,8 @@
         modelFactories.addFactory(inputFactory);
         
         // Create a validation XML schema extension point
-        ValidationSchemaExtensionPoint schemas = 
registry.getExtensionPoint(ValidationSchemaExtensionPoint.class);
-        
-        // Allow privileged access to load resource. Requires RuntimePermssion 
in security policy.
-        URL schemaURL = AccessController.doPrivileged(new 
PrivilegedAction<URL>() {
-            public URL run() {
-                // ClassLoader of this class may not be the same as that of 
ReallySmallRuntimeBuilder
-                // ClassLoader xsdClassLoader = 
ReallySmallRuntimeBuilder.class.getClassLoader();
-                ClassLoader xsdClassLoader = 
Thread.currentThread().getContextClassLoader();
-                return xsdClassLoader.getResource("tuscany-sca.xsd");
-            }
-        });           
-        schemas.addSchema(schemaURL.toString());
-       
+        ValidationSchemaExtensionPoint schemas = new 
DefaultValidationSchemaExtensionPoint();
+               
         // Create a validating XML input factory
         XMLInputFactory validatingInputFactory = new 
DefaultValidatingXMLInputFactory(inputFactory, schemas, monitor);
         modelFactories.addFactory(validatingInputFactory);


Reply via email to