You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jeremy Boynes <jb...@apache.org> on 2007/02/07 00:50:29 UTC
Re: svn commit: r504366 - /incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java
What is DeploymentContext used for?
--
Jeremy
On Feb 6, 2007, at 3:32 PM, rfeng@apache.org wrote:
> Author: rfeng
> Date: Tue Feb 6 15:32:03 2007
> New Revision: 504366
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=504366
> Log:
> Add the ArtifactResolver SPI
>
> Added:
> incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
> tuscany/spi/deployer/ArtifactResolver.java (with props)
>
> Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
> apache/tuscany/spi/deployer/ArtifactResolver.java
> URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/
> spi/src/main/java/org/apache/tuscany/spi/deployer/
> ArtifactResolver.java?view=auto&rev=504366
> ======================================================================
> ========
> --- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
> tuscany/spi/deployer/ArtifactResolver.java (added)
> +++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
> tuscany/spi/deployer/ArtifactResolver.java Tue Feb 6 15:32:03 2007
> @@ -0,0 +1,82 @@
> +/*
> + * 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.spi.deployer;
> +
> +import java.net.URI;
> +import java.util.Map;
> +
> +
> +/**
> + * SCA Assemblies reference many artifacts of a wide variety of
> types. These
> + * include:
> + * <ul>
> + * <li> Reference from one SCA composite to another SCA composite
> + * <li> Reference to PolicySet files
> + * <li> Reference to interface definition files, either WSDL or
> Java interfaces
> + * <li> Reference to XSD files
> + * <li> Reference to any of a wide variety of implementation
> artifact files,
> + * including Java classes, BPEL scripts, C++ DLLs and classes, PHP
> scripts
> + * </ul>
> + * In the SCA assemblies, these various artifacts are referenced
> using either
> + * QNames or URIs that do not point to a specific entity.
> Resolution of these
> + * references to concrete artifacts is necessary as part of the
> operation of the
> + * SCA domain.
> + *
> + * @version $Rev$ $Date$
> + */
> +public interface ArtifactResolver {
> + /**
> + * Resolve an artifact by the qualified name
> + *
> + * @param contribution the URI of the contribution
> + * @param modelClass The java type of the artifact
> + * @param namespace The namespace of the artifact
> + * @param name The name of the artifact
> + * @param attributes Additional attributes that can be used to
> constrain the
> + * resolution
> + * @param context The deployment context
> + * @return The resolved artifact
> + */
> + <T> T resolve(URI contribution,
> + Class<T> modelClass,
> + String namespace,
> + String name,
> + Map attributes,
> + DeploymentContext context);
> +
> + /**
> + * Resolve an artifact by the URI. Some typical use cases are:
> + * <ul>
> + * <li>Reference a XML schema using
> + * {http://www.w3.org/2001/XMLSchema-instance}schemaLocation or
> + * <li>Reference a list of WSDLs using
> + * {http://www.w3.org/2004/08/wsdl-instance}wsdlLocation
> + * </ul>
> + *
> + * @param targetNamespace The target namespace of the
> referenced artifact,
> + * if the targetNamespace is null, then it's not
> specified
> + * @param location The URI of the referenced artifact, it can
> be absolute or
> + * relative
> + * @param baseURI The URI of the owning artifact
> + * @return The URI of the resolved artifact
> + */
> + URI resolve(URI contribution, String targetNamespace, String
> location, String baseURI, DeploymentContext context);
> +
> +}
>
> Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
> apache/tuscany/spi/deployer/ArtifactResolver.java
> ----------------------------------------------------------------------
> --------
> svn:eol-style = native
>
> Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
> apache/tuscany/spi/deployer/ArtifactResolver.java
> ----------------------------------------------------------------------
> --------
> svn:keywords = Rev Date
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-commits-help@ws.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Re: svn commit: r504366 - /incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java
Posted by Raymond Feng <en...@gmail.com>.
Hi,
I was thinking of getting some context from the DeploymentContext, such as
the classloader, to help resolve the artifacts.
Thanks,
Raymond
----- Original Message -----
From: "Jeremy Boynes" <jb...@apache.org>
To: <tu...@ws.apache.org>
Sent: Tuesday, February 06, 2007 3:50 PM
Subject: Re: svn commit: r504366 -
/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/deployer/ArtifactResolver.java
> What is DeploymentContext used for?
> --
> Jeremy
>
> On Feb 6, 2007, at 3:32 PM, rfeng@apache.org wrote:
>
>> Author: rfeng
>> Date: Tue Feb 6 15:32:03 2007
>> New Revision: 504366
>>
>> URL: http://svn.apache.org/viewvc?view=rev&rev=504366
>> Log:
>> Add the ArtifactResolver SPI
>>
>> Added:
>> incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
>> tuscany/spi/deployer/ArtifactResolver.java (with props)
>>
>> Added: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
>> apache/tuscany/spi/deployer/ArtifactResolver.java
>> URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/
>> spi/src/main/java/org/apache/tuscany/spi/deployer/
>> ArtifactResolver.java?view=auto&rev=504366
>> ======================================================================
>> ========
>> --- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
>> tuscany/spi/deployer/ArtifactResolver.java (added)
>> +++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/
>> tuscany/spi/deployer/ArtifactResolver.java Tue Feb 6 15:32:03 2007
>> @@ -0,0 +1,82 @@
>> +/*
>> + * 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.spi.deployer;
>> +
>> +import java.net.URI;
>> +import java.util.Map;
>> +
>> +
>> +/**
>> + * SCA Assemblies reference many artifacts of a wide variety of types.
>> These
>> + * include:
>> + * <ul>
>> + * <li> Reference from one SCA composite to another SCA composite
>> + * <li> Reference to PolicySet files
>> + * <li> Reference to interface definition files, either WSDL or Java
>> interfaces
>> + * <li> Reference to XSD files
>> + * <li> Reference to any of a wide variety of implementation artifact
>> files,
>> + * including Java classes, BPEL scripts, C++ DLLs and classes, PHP
>> scripts
>> + * </ul>
>> + * In the SCA assemblies, these various artifacts are referenced using
>> either
>> + * QNames or URIs that do not point to a specific entity. Resolution of
>> these
>> + * references to concrete artifacts is necessary as part of the
>> operation of the
>> + * SCA domain.
>> + *
>> + * @version $Rev$ $Date$
>> + */
>> +public interface ArtifactResolver {
>> + /**
>> + * Resolve an artifact by the qualified name
>> + *
>> + * @param contribution the URI of the contribution
>> + * @param modelClass The java type of the artifact
>> + * @param namespace The namespace of the artifact
>> + * @param name The name of the artifact
>> + * @param attributes Additional attributes that can be used to
>> constrain the
>> + * resolution
>> + * @param context The deployment context
>> + * @return The resolved artifact
>> + */
>> + <T> T resolve(URI contribution,
>> + Class<T> modelClass,
>> + String namespace,
>> + String name,
>> + Map attributes,
>> + DeploymentContext context);
>> +
>> + /**
>> + * Resolve an artifact by the URI. Some typical use cases are:
>> + * <ul>
>> + * <li>Reference a XML schema using
>> + * {http://www.w3.org/2001/XMLSchema-instance}schemaLocation or
>> + * <li>Reference a list of WSDLs using
>> + * {http://www.w3.org/2004/08/wsdl-instance}wsdlLocation
>> + * </ul>
>> + *
>> + * @param targetNamespace The target namespace of the referenced
>> artifact,
>> + * if the targetNamespace is null, then it's not
>> specified
>> + * @param location The URI of the referenced artifact, it can be
>> absolute or
>> + * relative
>> + * @param baseURI The URI of the owning artifact
>> + * @return The URI of the resolved artifact
>> + */
>> + URI resolve(URI contribution, String targetNamespace, String
>> location, String baseURI, DeploymentContext context);
>> +
>> +}
>>
>> Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
>> apache/tuscany/spi/deployer/ArtifactResolver.java
>> ----------------------------------------------------------------------
>> --------
>> svn:eol-style = native
>>
>> Propchange: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/
>> apache/tuscany/spi/deployer/ArtifactResolver.java
>> ----------------------------------------------------------------------
>> --------
>> svn:keywords = Rev Date
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
>> For additional commands, e-mail: tuscany-commits-help@ws.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org