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);