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/20 08:47:05 UTC
svn commit: r639189 - in /incubator/tuscany/branches/sca-java-1.2/modules:
assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/
policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/
Author: svkrish
Date: Thu Mar 20 00:47:04 2008
New Revision: 639189
URL: http://svn.apache.org/viewvc?rev=639189&view=rev
Log:
syncing up with r638840 in trunk : fixing resolution of intentattachpointtypes and fixing composite preprocessing for applicablepolicySets for the case of multiple contributions with their own definitions.xml
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java
incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java
incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java
Modified: incubator/tuscany/branches/sca-java-1.2/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java?rev=639189&r1=639188&r2=639189&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/CompositeDocumentProcessor.java Thu Mar 20 00:47:04 2008
@@ -24,6 +24,7 @@
import java.io.InputStream;
import java.net.URI;
import java.net.URL;
+import java.net.URLConnection;
import java.util.Collection;
import java.util.Hashtable;
import java.util.List;
@@ -69,18 +70,26 @@
public Composite read(URL contributionURL, URI uri, URL url) throws ContributionReadException {
InputStream scdlStream = null;
try {
- if ( domainPolicySets == null ) {
+ if (scaDefnSink != null ) {
fillDomainPolicySets(scaDefnSink);
}
+
byte[] transformedArtifactContent = null;
try {
- transformedArtifactContent =
- PolicyComputationUtils.addApplicablePolicySets(url, domainPolicySets);
+ if ( domainPolicySets != null ) {
+ transformedArtifactContent =
+ PolicyComputationUtils.addApplicablePolicySets(url, domainPolicySets);
+ scdlStream = new ByteArrayInputStream(transformedArtifactContent);
+ } else {
+ URLConnection connection = url.openConnection();
+ connection.setUseCaches(false);
+ scdlStream = connection.getInputStream();
+ }
} catch ( Exception e ) {
throw new ContributionReadException(e);
}
- scdlStream = new ByteArrayInputStream(transformedArtifactContent);
+
XMLStreamReader reader = inputFactory.createXMLStreamReader(scdlStream);
reader.nextTag();
@@ -138,8 +147,16 @@
}
private void fillDomainPolicySets(List scaDefnsSink) {
- Map<QName, PolicySet> domainPolicySetMap = new Hashtable<QName, PolicySet>();
- if ( scaDefnsSink != null ) {
+ Map<QName, PolicySet> domainPolicySetMap = null;
+ if ( !scaDefnsSink.isEmpty() ) {
+ domainPolicySetMap = new Hashtable<QName, PolicySet>();
+
+ if ( domainPolicySets != null ) {
+ for ( PolicySet policySet : domainPolicySets ) {
+ domainPolicySetMap.put(policySet.getName(), policySet);
+ }
+ }
+
for ( Object object : scaDefnsSink ) {
if ( object instanceof SCADefinitions ) {
for ( PolicySet policySet : ((SCADefinitions)object).getPolicySets() ) {
@@ -147,7 +164,8 @@
}
}
}
+ domainPolicySets = domainPolicySetMap.values();
+ scaDefnsSink.clear();
}
- domainPolicySets = domainPolicySetMap.values();
}
}
Modified: incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java?rev=639189&r1=639188&r2=639189&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/BindingTypeProcessor.java Thu Mar 20 00:47:04 2008
@@ -42,15 +42,4 @@
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/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java?rev=639189&r1=639188&r2=639189&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/ImplementationTypeProcessor.java Thu Mar 20 00:47:04 2008
@@ -43,15 +43,4 @@
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/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java?rev=639189&r1=639188&r2=639189&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/policy-xml/src/main/java/org/apache/tuscany/sca/policy/xml/IntentAttachPointTypeProcessor.java Thu Mar 20 00:47:04 2008
@@ -50,8 +50,6 @@
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;
this.attachPointTypeFactory = attachPointTypeFactory;
@@ -64,7 +62,7 @@
if ( type.getLocalPart().startsWith(BINDING) ) {
IntentAttachPointType bindingType = attachPointTypeFactory.createBindingType();
bindingType.setName(type);
- bindingType.setUnresolved(false);
+ bindingType.setUnresolved(true);
readAlwaysProvidedIntents(bindingType, reader);
readMayProvideIntents(bindingType, reader);
@@ -72,7 +70,7 @@
} else if ( type.getLocalPart().startsWith(IMPLEMENTATION) ) {
IntentAttachPointType implType = attachPointTypeFactory.createImplementationType();
implType.setName(type);
- implType.setUnresolved(false);
+ implType.setUnresolved(true);
readAlwaysProvidedIntents(implType, reader);
readMayProvideIntents(implType, reader);
@@ -157,64 +155,61 @@
public void resolve(IntentAttachPointType extnType, ModelResolver resolver) throws ContributionResolveException {
resolveAlwaysProvidedIntents(extnType, resolver);
resolveMayProvideIntents(extnType, resolver);
- resolveExtensionType(extnType, resolver);
-
-/* if ( !extnType.isUnresolved() ) {
- resolver.addModel(extnType);
- }*/
+ extnType.setUnresolved(false);
}
- private void resolveAlwaysProvidedIntents(IntentAttachPointType extensionType,
- ModelResolver resolver) throws ContributionResolveException {
- if (extensionType != null) {
- // resolve all provided intents
- List<Intent> alwaysProvided = new ArrayList<Intent>();
- for (Intent providedIntent : extensionType.getAlwaysProvidedIntents()) {
- if (providedIntent.isUnresolved()) {
- Intent resolvedProvidedIntent = resolver.resolveModel(Intent.class, providedIntent);
- if (resolvedProvidedIntent != null) {
- alwaysProvided.add(resolvedProvidedIntent);
- } else {
- throw new ContributionResolveException(
- "Always Provided Intent - " + providedIntent
- + " not found for ExtensionType "
- + extensionType);
-
- }
- } else {
- alwaysProvided.add(providedIntent);
- }
- }
- extensionType.getAlwaysProvidedIntents().clear();
- extensionType.getAlwaysProvidedIntents().addAll(alwaysProvided);
- }
- }
+ private void resolveAlwaysProvidedIntents(
+ IntentAttachPointType extensionType, ModelResolver resolver)
+ throws ContributionResolveException {
+ if (extensionType != null) {
+ // resolve all provided intents
+ List<Intent> alwaysProvided = new ArrayList<Intent>();
+ for (Intent providedIntent : extensionType.getAlwaysProvidedIntents()) {
+ if (providedIntent.isUnresolved()) {
+ providedIntent = resolver.resolveModel(Intent.class, providedIntent);
+ if (!providedIntent.isUnresolved()) {
+ alwaysProvided.add(providedIntent);
+ } else {
+ throw new ContributionResolveException(
+ "Always Provided Intent - " + providedIntent
+ + " not found for ExtensionType "
+ + extensionType);
+
+ }
+ } else {
+ alwaysProvided.add(providedIntent);
+ }
+ }
+ extensionType.getAlwaysProvidedIntents().clear();
+ extensionType.getAlwaysProvidedIntents().addAll(alwaysProvided);
+ }
+ }
private void resolveMayProvideIntents(IntentAttachPointType extensionType,
- ModelResolver resolver) throws ContributionResolveException {
- if (extensionType != null) {
- // resolve all provided intents
- List<Intent> mayProvide = new ArrayList<Intent>();
- for (Intent providedIntent : extensionType.getMayProvideIntents()) {
- if (providedIntent.isUnresolved()) {
- Intent resolvedProvidedIntent = resolver.resolveModel(Intent.class, providedIntent);
- if (resolvedProvidedIntent != null) {
- mayProvide.add(resolvedProvidedIntent);
- } else {
- throw new ContributionResolveException(
- "May Provide Intent - " + providedIntent
- + " not found for ExtensionType "
- + extensionType);
-
- }
- } else {
- mayProvide.add(providedIntent);
- }
- }
- extensionType.getMayProvideIntents().clear();
- extensionType.getMayProvideIntents().addAll(mayProvide);
- }
- }
+ ModelResolver resolver) throws ContributionResolveException {
+ if (extensionType != null) {
+ // resolve all provided intents
+ List<Intent> mayProvide = new ArrayList<Intent>();
+ for (Intent providedIntent : extensionType.getMayProvideIntents()) {
+ if (providedIntent.isUnresolved()) {
+ providedIntent = resolver.resolveModel(Intent.class, providedIntent);
+ if (!providedIntent.isUnresolved()) {
+ mayProvide.add(providedIntent);
+ } else {
+ throw new ContributionResolveException(
+ "May Provide Intent - " + providedIntent
+ + " not found for ExtensionType "
+ + extensionType);
+
+ }
+ } else {
+ mayProvide.add(providedIntent);
+ }
+ }
+ extensionType.getMayProvideIntents().clear();
+ extensionType.getMayProvideIntents().addAll(mayProvide);
+ }
+ }
public Class<IntentAttachPointType> getModelType() {
return IntentAttachPointType.class;
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org