You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sv...@apache.org on 2008/03/17 19:45:01 UTC
svn commit: r638020 - in /incubator/tuscany/java/sca/modules:
binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/
binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/
binding-sca/src/main/resources/META-INF/services/ binding-...
Author: svkrish
Date: Mon Mar 17 11:44:55 2008
New Revision: 638020
URL: http://svn.apache.org/viewvc?rev=638020&view=rev
Log:
adding SCADefinitionsProvider mechanism for tuscany modules contributing policy intents, policysets, bindingtype definitions etc. thro the SCADefinitions
Added:
incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/
incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml (with props)
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/definitions.xml
- copied unchanged from r637581, incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java (with props)
incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java (with props)
incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java (with props)
incubator/tuscany/java/sca/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint
incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/tuscany/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/policy/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/policy/logging/
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/org/apache/tuscany/sca/policy/logging/definitions.xml
- copied unchanged from r637581, incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/
incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml (with props)
incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java (with props)
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml
- copied, changed from r637581, incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml (with props)
Removed:
incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/definitions.xml
incubator/tuscany/java/sca/modules/policy/src/main/resources/META-INF/services/definitions.xml
Modified:
incubator/tuscany/java/sca/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java
incubator/tuscany/java/sca/modules/definitions/pom.xml
incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
incubator/tuscany/java/sca/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java
incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java
incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java
incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java
Modified: incubator/tuscany/java/sca/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-xml/src/main/java/org/apache/tuscany/sca/binding/sca/xml/SCABindingProcessor.java Mon Mar 17 11:44:55 2008
@@ -103,6 +103,7 @@
}
public void resolve(SCABinding model, ModelResolver resolver) throws ContributionResolveException {
+ policyProcessor.resolvePolicies(model, resolver);
}
public void write(SCABinding scaBinding, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
Added: incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.binding.sca;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderException;
+
+/**
+ * Provider for Policy Intents and PolicySet definitions related to security
+ */
+public class SCABindingDefinitionsProvider implements SCADefinitionsProvider {
+ private String definitionsFile = "org/apache/tuscany/sca/binding/sca/definitions.xml";
+ URLArtifactProcessor urlArtifactProcessor = null;
+
+ public SCABindingDefinitionsProvider(ExtensionPointRegistry registry) {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ }
+
+ public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException {
+ URL defintionsFileUrl = getClass().getClassLoader().getResource(definitionsFile);
+ Object scaDefn = null;
+ try {
+ URI uri = new URI(definitionsFile);
+ return (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+ } catch ( Exception e ) {
+ throw new SCADefinitionsProviderException(e);
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/binding-sca/src/main/java/org/apache/tuscany/sca/binding/sca/SCABindingDefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider (added)
+++ incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for SCA Definitions Providers
+org.apache.tuscany.sca.binding.sca.SCABindingDefinitionsProvider
\ No newline at end of file
Added: incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml (added)
+++ incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml Mon Mar 17 11:44:55 2008
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<sca:definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+
+ <sca:bindingType type="sca:binding.sca" mayProvide="" alwaysProvides=""/>
+ </sca:definitions>
\ No newline at end of file
Propchange: incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/modules/binding-sca/src/main/resources/org/apache/tuscany/sca/binding/sca/definitions.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.binding.ws.axis2;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderException;
+
+/**
+ * Provider for Policy Intents and PolicySet definitions related to security
+ */
+public class WSBindingDefinitionsProvider implements SCADefinitionsProvider {
+ private String definitionsFile = "org/apache/tuscany/sca/binding/ws/axis2/definitions.xml";
+ URLArtifactProcessor urlArtifactProcessor = null;
+
+ public WSBindingDefinitionsProvider(ExtensionPointRegistry registry) {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ }
+
+ public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException {
+ URL defintionsFileUrl = getClass().getClassLoader().getResource(definitionsFile);
+ Object scaDefn = null;
+ try {
+ URI uri = new URI(definitionsFile);
+ return (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+ } catch ( Exception e ) {
+ throw new SCADefinitionsProviderException(e);
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/java/org/apache/tuscany/sca/binding/ws/axis2/WSBindingDefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider (added)
+++ incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for SCA Definitions Providers
+org.apache.tuscany.sca.binding.ws.axis2.WSBindingDefinitionsProvider
\ No newline at end of file
Modified: incubator/tuscany/java/sca/modules/definitions/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/pom.xml?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/definitions/pom.xml Mon Mar 17 11:44:55 2008
@@ -40,6 +40,12 @@
<artifactId>tuscany-policy</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-core-spi</artifactId>
+ <version>1.2-incubating-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
Added: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,31 @@
+/*
+ * 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.definitions;
+
+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.
+ */
+public interface SCADefinitionsProvider {
+ SCADefinitions getSCADefinition() throws SCADefinitionsProviderException ;
+}
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java (added)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,30 @@
+/*
+ * 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.definitions;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class SCADefinitionsProviderException extends Exception {
+
+ public SCADefinitionsProviderException(Throwable e) {
+ super(e);
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderException.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java (added)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,33 @@
+/*
+ * 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.definitions;
+
+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.
+ */
+public interface SCADefinitionsProviderExtensionPoint {
+
+ void addSCADefinitionsProvider(SCADefinitionsProvider provider);
+ void removeSCADefinitionsProvider(SCADefinitionsProvider provider);
+ List<SCADefinitionsProvider> getSCADefinitionsProviders();
+}
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/SCADefinitionsProviderExtensionPoint.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java (added)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,91 @@
+/*
+ * 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.definitions.impl;
+
+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.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint;
+import org.apache.tuscany.sca.extensibility.ServiceDeclaration;
+import org.apache.tuscany.sca.extensibility.ServiceDiscovery;
+
+/**
+ * Concrete Implementation for the SCADefinitionsProviderExtensionPoint
+ */
+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 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);
+ }
+
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/impl/DefaultSCADefinitionsProviderExtensionPoint.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java (original)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/java/org/apache/tuscany/sca/definitions/util/SCADefinitionsUtil.java Mon Mar 17 11:44:55 2008
@@ -19,6 +19,7 @@
package org.apache.tuscany.sca.definitions.util;
+import java.net.URI;
import java.util.HashMap;
import java.util.Map;
@@ -70,6 +71,14 @@
target.getPolicySets().addAll(source.getPolicySets());
target.getBindingTypes().addAll(source.getBindingTypes());
target.getImplementationTypes().addAll(source.getImplementationTypes());
+ }
+
+ public static boolean isSCADefnsFile(URI uri) {
+ int index = uri.toString().lastIndexOf("/");
+
+ index = (index != -1) ? index + 1 : 0;
+
+ return uri.toString().substring(index).equals("definitions.xml");
}
}
Added: incubator/tuscany/java/sca/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint (added)
+++ incubator/tuscany/java/sca/modules/definitions/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.definitions.impl.DefaultSCADefinitionsProviderExtensionPoint
+
\ No newline at end of file
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java Mon Mar 17 11:44:55 2008
@@ -53,6 +53,8 @@
import org.apache.tuscany.sca.core.invocation.ProxyFactory;
import org.apache.tuscany.sca.core.scope.ScopeRegistry;
import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderExtensionPoint;
import org.apache.tuscany.sca.definitions.impl.SCADefinitionsImpl;
import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil;
import org.apache.tuscany.sca.definitions.xml.SCADefinitionsDocumentProcessor;
@@ -63,8 +65,11 @@
import org.apache.tuscany.sca.invocation.MessageFactory;
import org.apache.tuscany.sca.policy.DefaultIntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
+import org.apache.tuscany.sca.policy.Intent;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.PolicySet;
import org.apache.tuscany.sca.work.WorkScheduler;
public class ReallySmallRuntime {
@@ -234,7 +239,44 @@
}
private void loadSCADefinitions(ExtensionPointRegistry registry) throws ActivationException {
- URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ try {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ SCADefinitionsDocumentProcessor definitionsProcessor = (SCADefinitionsDocumentProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ SCADefinitionsProviderExtensionPoint scaDefnProviders = registry.getExtensionPoint(SCADefinitionsProviderExtensionPoint.class);
+
+ SCADefinitions systemSCADefinitions = new SCADefinitionsImpl();
+ SCADefinitions aSCADefn = null;
+ for ( SCADefinitionsProvider aProvider : scaDefnProviders.getSCADefinitionsProviders() ) {
+ aSCADefn = aProvider.getSCADefinition();
+ SCADefinitionsUtil.aggregateSCADefinitions(aSCADefn, systemSCADefinitions);
+ }
+
+ //we cannot expect that providers will add the intents and policysets into the resolver
+ //so we do this here explicitly
+ for ( Intent intent : systemSCADefinitions.getPolicyIntents() ) {
+ definitionsProcessor.getSCADefinitionsResolver().addModel(intent);
+ }
+
+ for ( PolicySet policySet : systemSCADefinitions.getPolicySets() ) {
+ definitionsProcessor.getSCADefinitionsResolver().addModel(policySet);
+ }
+
+ for ( IntentAttachPointType attachPoinType : systemSCADefinitions.getBindingTypes() ) {
+ definitionsProcessor.getSCADefinitionsResolver().addModel(attachPoinType);
+ }
+
+ for ( IntentAttachPointType attachPoinType : systemSCADefinitions.getImplementationTypes() ) {
+ definitionsProcessor.getSCADefinitionsResolver().addModel(attachPoinType);
+ }
+
+ //now that all system sca definitions have been read, lets resolve them rightaway
+ definitionsProcessor.resolve(systemSCADefinitions,
+ definitionsProcessor.getSCADefinitionsResolver());
+ } catch ( Exception e ) {
+ throw new ActivationException(e);
+ }
+
+ /*URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
SCADefinitionsDocumentProcessor definitionsProcessor = (SCADefinitionsDocumentProcessor)documentProcessors.getProcessor(SCADefinitions.class);
try {
@@ -257,7 +299,7 @@
throw new ActivationException(e);
} catch ( IOException e ) {
throw new ActivationException(e);
- }
+ }*/
}
@SuppressWarnings("unchecked")
Added: incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.policy.logging;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderException;
+
+/**
+ * Provider for Policy Intents and PolicySet definitions related to security
+ */
+public class LoggingPolicyDefinitionsProvider implements SCADefinitionsProvider {
+ private String definitionsFile = "org/apache/tuscany/sca/policy/logging/definitions.xml";
+ URLArtifactProcessor urlArtifactProcessor = null;
+
+ public LoggingPolicyDefinitionsProvider(ExtensionPointRegistry registry) {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ }
+
+ public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException {
+ URL defintionsFileUrl = getClass().getClassLoader().getResource(definitionsFile);
+ Object scaDefn = null;
+ try {
+ URI uri = new URI(definitionsFile);
+ return (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+ } catch ( Exception e ) {
+ throw new SCADefinitionsProviderException(e);
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/policy-logging/src/main/java/org/apache/tuscany/sca/policy/logging/LoggingPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider (added)
+++ incubator/tuscany/java/sca/modules/policy-logging/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for SCA Definitions Providers
+org.apache.tuscany.sca.policy.logging.LoggingPolicyDefinitionsProvider
\ No newline at end of file
Added: incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.policy.security;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderException;
+
+/**
+ * Provider for Policy Intents and PolicySet definitions related to security
+ */
+public class SecurityPolicyDefinitionsProvider implements SCADefinitionsProvider {
+ private String definitionsFile = "org/apache/tuscany/sca/policy/security/definitions.xml";
+ URLArtifactProcessor urlArtifactProcessor = null;
+
+ public SecurityPolicyDefinitionsProvider(ExtensionPointRegistry registry) {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ }
+
+ public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException {
+ URL defintionsFileUrl = getClass().getClassLoader().getResource(definitionsFile);
+ Object scaDefn = null;
+ try {
+ URI uri = new URI(definitionsFile);
+ return (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+ } catch ( Exception e ) {
+ throw new SCADefinitionsProviderException(e);
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/policy-security/src/main/java/org/apache/tuscany/sca/policy/security/SecurityPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider (added)
+++ incubator/tuscany/java/sca/modules/policy-security/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for SCA Definitions Providers
+org.apache.tuscany.sca.policy.security.SecurityPolicyDefinitionsProvider
\ No newline at end of file
Added: incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml (added)
+++ incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml Mon Mar 17 11:44:55 2008
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0"
+ xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+
+ <!-- Policy Intents Defined by the SCA Runtime -->
+ <intent name="authentication"
+ constrains="sca:binding">
+ <description>
+ Specifying this intent on references requires necessary authentication information
+ to be sent along with outgoing messages. Specifying this intent on service requires
+ incoming messages to be authenticated
+ </description>
+ </intent>
+
+ <intent name="confidentiality"
+ constrains="sca:binding">
+ <description>
+ Specifying this intent requires message exchanged to be encrypted
+ </description>
+ </intent>
+
+ <intent name="integrity"
+ constrains="sca:binding">
+ <description>
+ Specifying this intent requires message exchanged to be signed
+ </description>
+ </intent>
+</definitions>
\ No newline at end of file
Propchange: incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/modules/policy-security/src/main/resources/org/apache/tuscany/sca/policy/security/definitions.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java (added)
+++ incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java Mon Mar 17 11:44:55 2008
@@ -0,0 +1,78 @@
+/*
+ * 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.policy.transaction;
+
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.definitions.SCADefinitions;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProvider;
+import org.apache.tuscany.sca.definitions.SCADefinitionsProviderException;
+import org.apache.tuscany.sca.definitions.util.SCADefinitionsUtil;
+
+/**
+ * Provider for Policy Intents and PolicySet definitions related to security
+ */
+public class TransactionPolicyDefinitionsProvider implements SCADefinitionsProvider {
+ private String scaDefinitionsFile = "org/apache/tuscany/sca/policy/transaction/definitions.xml";
+ private String tuscanyDefinitionsFile = "org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml";
+ URLArtifactProcessor urlArtifactProcessor = null;
+
+ public TransactionPolicyDefinitionsProvider(ExtensionPointRegistry registry) {
+ URLArtifactProcessorExtensionPoint documentProcessors = registry.getExtensionPoint(URLArtifactProcessorExtensionPoint.class);
+ urlArtifactProcessor = (URLArtifactProcessor)documentProcessors.getProcessor(SCADefinitions.class);
+ }
+
+ public SCADefinitions getSCADefinition() throws SCADefinitionsProviderException {
+
+ Object scaDefn = null;
+ try {
+ SCADefinitions scaTransactionPolicyDefns = null;
+ SCADefinitions tuscanyTransactionPolicyDefns = null;
+
+ URI uri = new URI(scaDefinitionsFile);
+ URL defintionsFileUrl = getClass().getClassLoader().getResource(scaDefinitionsFile);
+ scaTransactionPolicyDefns = (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+
+ uri = new URI(tuscanyDefinitionsFile);
+ defintionsFileUrl = getClass().getClassLoader().getResource(tuscanyDefinitionsFile);
+ tuscanyTransactionPolicyDefns = (SCADefinitions)urlArtifactProcessor.read(null,
+ uri,
+ defintionsFileUrl);
+
+
+ SCADefinitionsUtil.aggregateSCADefinitions(tuscanyTransactionPolicyDefns,
+ scaTransactionPolicyDefns);
+
+
+
+ return scaTransactionPolicyDefns;
+ } catch ( Exception e ) {
+ throw new SCADefinitionsProviderException(e);
+ }
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/policy-transaction/src/main/java/org/apache/tuscany/sca/policy/transaction/TransactionPolicyDefinitionsProvider.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider (added)
+++ incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/org.apache.tuscany.sca.definitions.SCADefinitionsProvider Mon Mar 17 11:44:55 2008
@@ -0,0 +1,19 @@
+# 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.
+
+# Implementation class for SCA Definitions Providers
+org.apache.tuscany.sca.policy.transaction.TransactionPolicyDefinitionsProvider
\ No newline at end of file
Copied: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml (from r637581, incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/definitions.xml)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml?p2=incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml&p1=incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/definitions.xml&r1=637581&r2=638020&rev=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/META-INF/services/definitions.xml (original)
+++ incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/definitions.xml Mon Mar 17 11:44:55 2008
@@ -20,38 +20,6 @@
<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://www.osoa.org/xmlns/sca/1.0"
xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
- <policySet name="tuscany:ManagedTransactionPolicySet" provides="managedTransaction" appliesTo="implementation">
- <intentMap provides="managedTransaction" default="global">
- <qualifier name="global">
- <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_GLOBAL" />
- </qualifier>
- <qualifier name="local">
- <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_LOCAL" />
- </qualifier>
- </intentMap>
- </policySet>
-
- <policySet name="tuscany:NoManagedTransactionPolicySet" provides="noManagedTransaction"
- appliesTo="implementation">
- <tuscany:transactionPolicy action="REQUIRE_NONE" />
- </policySet>
-
- <policySet name="tuscany:PropagatesTransactionPolicySet" provides="propagatesTransaction" appliesTo="binding">
- <tuscany:transactionPolicy action="PROPAGATE" />
- </policySet>
-
- <policySet name="tuscany:SuspendsTransactionPolicySet" provides="suspendsTransaction" appliesTo="binding">
- <tuscany:transactionPolicy action="SUSPEND" />
- </policySet>
-
- <policySet name="tuscany:TransactedOneWayPolicySet" provides="transactedOneWay" appliesTo="binding">
- <tuscany:transactionPolicy action="PROPAGATE" />
- </policySet>
-
- <policySet name="tuscany:ImmediateOneWayPolicySet" provides="immediateOneWay" appliesTo="binding">
- <tuscany:transactionPolicy action="SUSPEND" />
- </policySet>
-
<intent name="managedTransaction" constrains="implementation">
<description>Used to indicate the transaction environment desired by a component implementation.</description>
</intent>
@@ -95,5 +63,4 @@
messages immediately, regardless of any transaction under which the sending/receiving component runs.
</description>
</intent>
-
</definitions>
Added: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml?rev=638020&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml (added)
+++ incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml Mon Mar 17 11:44:55 2008
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ASCII"?>
+<!--
+ * 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.
+-->
+<definitions xmlns="http://www.osoa.org/xmlns/sca/1.0" targetNamespace="http://tuscany.apache.org/xmlns/sca/1.0"
+ xmlns:sca="http://www.osoa.org/xmlns/sca/1.0" xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0">
+
+ <policySet name="ManagedTransactionPolicySet" provides="managedTransaction" appliesTo="implementation">
+ <intentMap provides="managedTransaction" default="global">
+ <qualifier name="global">
+ <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_GLOBAL" />
+ </qualifier>
+ <qualifier name="local">
+ <tuscany:transactionPolicy transactionTimeout="1200" action="REQUIRE_LOCAL" />
+ </qualifier>
+ </intentMap>
+ </policySet>
+
+ <policySet name="NoManagedTransactionPolicySet" provides="noManagedTransaction"
+ appliesTo="implementation">
+ <tuscany:transactionPolicy action="REQUIRE_NONE" />
+ </policySet>
+
+ <policySet name="PropagatesTransactionPolicySet" provides="propagatesTransaction" appliesTo="binding">
+ <tuscany:transactionPolicy action="PROPAGATE" />
+ </policySet>
+
+ <policySet name="SuspendsTransactionPolicySet" provides="suspendsTransaction" appliesTo="binding">
+ <tuscany:transactionPolicy action="SUSPEND" />
+ </policySet>
+
+ <policySet name="TransactedOneWayPolicySet" provides="transactedOneWay" appliesTo="binding">
+ <tuscany:transactionPolicy action="PROPAGATE" />
+ </policySet>
+
+ <policySet name="ImmediateOneWayPolicySet" provides="immediateOneWay" appliesTo="binding">
+ <tuscany:transactionPolicy action="SUSPEND" />
+ </policySet>
+</definitions>
\ No newline at end of file
Propchange: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: incubator/tuscany/java/sca/modules/policy-transaction/src/main/resources/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: incubator/tuscany/java/sca/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/policy-transaction/src/test/java/org/apache/tuscany/sca/policy/transaction/PolicyReadTestCase.java Mon Mar 17 11:44:55 2008
@@ -44,7 +44,7 @@
TransactionPolicyProcessor processor = new TransactionPolicyProcessor(null);
- URL url = getClass().getResource("/META-INF/services/definitions.xml");
+ URL url = getClass().getResource("/org/apache/tuscany/sca/policy/transaction/tuscany_definitions.xml");
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream urlStream = url.openStream();
Modified: incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java Mon Mar 17 11:44:55 2008
@@ -22,8 +22,12 @@
import javax.xml.namespace.QName;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.impl.BindingTypeImpl;
/*
@@ -37,5 +41,16 @@
public QName getArtifactType() {
return BINDING_TYPE_QNAME;
+ }
+
+ @Override
+ public IntentAttachPointType resolveExtensionType(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException {
+ if ( extnType instanceof BindingTypeImpl ) {
+ BindingTypeImpl bindingType = (BindingTypeImpl)extnType;
+ return resolver.resolveModel(BindingTypeImpl.class, bindingType);
+ } else {
+ return extnType;
+ }
+
}
}
Modified: incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java Mon Mar 17 11:44:55 2008
@@ -22,8 +22,13 @@
import javax.xml.namespace.QName;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.policy.IntentAttachPointType;
import org.apache.tuscany.sca.policy.IntentAttachPointTypeFactory;
import org.apache.tuscany.sca.policy.PolicyFactory;
+import org.apache.tuscany.sca.policy.impl.BindingTypeImpl;
+import org.apache.tuscany.sca.policy.impl.ImplementationTypeImpl;
/*
@@ -37,5 +42,16 @@
public QName getArtifactType() {
return IMPLEMENTATION_TYPE_QNAME;
+ }
+
+ @Override
+ public IntentAttachPointType resolveExtensionType(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException {
+ if ( extnType instanceof ImplementationTypeImpl ) {
+ ImplementationTypeImpl implType = (ImplementationTypeImpl)extnType;
+ return resolver.resolveModel(ImplementationTypeImpl.class, implType);
+ } else {
+ return extnType;
+ }
+
}
}
Modified: incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java?rev=638020&r1=638019&r2=638020&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java Mon Mar 17 11:44:55 2008
@@ -50,6 +50,7 @@
private IntentAttachPointTypeFactory attachPointTypeFactory;
private PolicyFactory policyFactory;
+ public abstract IntentAttachPointType resolveExtensionType(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException;
public IntentAttachPointTypeProcessor(PolicyFactory policyFactory, IntentAttachPointTypeFactory attachPointTypeFactory, StAXArtifactProcessor<Object> extensionProcessor) {
this.policyFactory = policyFactory;
@@ -63,6 +64,7 @@
if ( type.getLocalPart().startsWith(BINDING) ) {
IntentAttachPointType bindingType = attachPointTypeFactory.createBindingType();
bindingType.setName(type);
+ bindingType.setUnresolved(false);
readAlwaysProvidedIntents(bindingType, reader);
readMayProvideIntents(bindingType, reader);
@@ -70,6 +72,7 @@
} else if ( type.getLocalPart().startsWith(IMPLEMENTATION) ) {
IntentAttachPointType implType = attachPointTypeFactory.createImplementationType();
implType.setName(type);
+ implType.setUnresolved(false);
readAlwaysProvidedIntents(implType, reader);
readMayProvideIntents(implType, reader);
@@ -151,19 +154,14 @@
}
}
- private void resolveExtensionType(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException {
- //FIXME: need to resolve the binding and implementations across the assembly model
- extnType.setUnresolved(false);
- }
-
public void resolve(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException {
resolveAlwaysProvidedIntents(extnType, resolver);
resolveMayProvideIntents(extnType, resolver);
resolveExtensionType(extnType, resolver);
- if ( !extnType.isUnresolved() ) {
+/* if ( !extnType.isUnresolved() ) {
resolver.addModel(extnType);
- }
+ }*/
}
private void resolveAlwaysProvidedIntents(IntentAttachPointType extensionType,
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org