You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/07/22 18:44:00 UTC
svn commit: r558509 - in /incubator/tuscany/java/sca/modules:
assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/
distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/
host-embedded/src/main/java/org/apache/tuscany/sca/hos...
Author: lresende
Date: Sun Jul 22 09:43:59 2007
New Revision: 558509
URL: http://svn.apache.org/viewvc?view=rev&rev=558509
Log:
Updates to ModelReseolver extensibility
- Adding ConstrainingTypeModelResolver
Added:
incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java
Modified:
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
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-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java?view=auto&rev=558509
==============================================================================
--- incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java (added)
+++ incubator/tuscany/java/sca/modules/assembly-xml/src/main/java/org/apache/tuscany/sca/assembly/xml/ConstrainingTypeModelResolver.java Sun Jul 22 09:43:59 2007
@@ -0,0 +1,70 @@
+/*
+ * 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.assembly.xml;
+
+import org.apache.tuscany.sca.assembly.ConstrainingType;
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.ContributionImport;
+import org.apache.tuscany.sca.contribution.resolver.DefaultModelResolver;
+
+/**
+ * An Model Resolver for ConstrainigType artifact types.
+ *
+ * @version $Rev: 557916 $ $Date: 2007-07-20 01:04:40 -0700 (Fri, 20 Jul 2007) $
+ */
+public class ConstrainingTypeModelResolver extends DefaultModelResolver {
+
+ public ConstrainingTypeModelResolver(ClassLoader cl, Contribution contribution) {
+ super(cl,contribution);
+ }
+
+ private ConstrainingType resolveImportedModel(ConstrainingType unresolved) {
+ ConstrainingType resolved = unresolved;
+ String namespace = unresolved.getName().getNamespaceURI();
+ if (namespace != null && namespace.length() > 0) {
+ for (ContributionImport contributionImport : this.contribution.getImports()) {
+ if (contributionImport.getNamespace().equals(namespace)) {
+
+ // Delegate the resolution to the import resolver
+ resolved = contributionImport.getModelResolver().resolveModel(ConstrainingType.class, unresolved);
+
+ // If resolved... then we are done
+ if(unresolved.isUnresolved() == false) {
+ break;
+ }
+ }
+ }
+ }
+ return resolved;
+ }
+
+ @Override
+ public <T> T resolveModel(Class<T> modelClass, T unresolved) {
+ ConstrainingType resolved = (ConstrainingType) super.resolveModel(modelClass, unresolved);
+
+ if (resolved.isUnresolved()) {
+ resolved = resolveImportedModel(resolved);
+ }
+
+ return (T)resolved;
+ }
+
+
+}
Modified: incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java?view=diff&rev=558509&r1=558508&r2=558509
==============================================================================
--- incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java Sun Jul 22 09:43:59 2007
@@ -31,6 +31,7 @@
import org.apache.tuscany.sca.assembly.xml.CompositeModelResolver;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
+import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeModelResolver;
import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
import org.apache.tuscany.sca.contribution.ContributionFactory;
import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
@@ -126,6 +127,7 @@
registry.addExtensionPoint(modelResolverExtensionPoint);
modelResolverExtensionPoint.addResolver(Composite.class, CompositeModelResolver.class);
+ modelResolverExtensionPoint.addResolver(Composite.class, ConstrainingTypeModelResolver.class);
//Create contribution postProcessor extension point
DefaultContributionPostProcessorExtensionPoint contributionPostProcessors = new DefaultContributionPostProcessorExtensionPoint();
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?view=diff&rev=558509&r1=558508&r2=558509
==============================================================================
--- 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 Sun Jul 22 09:43:59 2007
@@ -45,6 +45,7 @@
import org.apache.tuscany.sca.assembly.xml.CompositeModelResolver;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
+import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeModelResolver;
import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
import org.apache.tuscany.sca.assembly.xml.SCABindingProcessor;
import org.apache.tuscany.sca.contribution.ContributionFactory;
@@ -207,6 +208,7 @@
registry.addExtensionPoint(modelResolverExtensionPoint);
modelResolverExtensionPoint.addResolver(Composite.class, CompositeModelResolver.class);
+ modelResolverExtensionPoint.addResolver(Composite.class, ConstrainingTypeModelResolver.class);
//Create contribution postProcessor extension point
DefaultContributionPostProcessorExtensionPoint contributionPostProcessors = new DefaultContributionPostProcessorExtensionPoint();
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org