Author: dkulp
Date: Thu Dec 18 11:20:00 2008
New Revision: 727795
URL: http://svn.apache.org/viewvc?rev=727795&view=rev
Log:
Merged revisions 727521 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r727521 | ericjohnson | 2008-12-17 16:42:08 -0500 (Wed, 17 Dec 2008) | 1 line
adding some JavaDoc comments around the contract resolving mechanism
........
Modified:
cxf/branches/2.1.x-fixes/ (props changed)
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolver.java
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistry.java
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistryImpl.java
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 18 11:20:00 2008
@@ -1 +1 @@
-/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445
+/cxf/trunk:686333-686363,686764,686820,687096,687194,687363,687387,687463,687543,687722,687798,687814,687817,687891,687910,687914,688086,688102,688133,688596,688735,688870,689572,689596,689855,689924,690067,690289,691246,691271,691295,691338,691355,691488,691602,691646,691706,691728,692116,692157,692310,692466,692499,693653,693819,694179,694263,694417,694716,694744,694747,694795,694869,694981,694987,694993,695041,695096,695396,695484,695537,695552,695561,695619,695684,695835,695840,695868,695935,695977,696016,696094,696433,696720,697085,697868,698128,699289,700261,700507,700602,700981,701316,701783,701830,701862,702187,702205-702248,702267,702547,702561,702580,702602,702609,702616,702653,702656,702957,703191,703239,703309,703501,703513,703548,704584,704937,704997,705150,705235,705274,705340,705446,705548,705614,705692,705708,706482,706631,706675,706900,706909,707034,707089,707100,707902,708035,708044,708074,708410,708417,708550,708554,709353-709354,709425,710076,710150,71015
4,711193,711388,711410,711490,711635,711949,711975,712194,712198,712238,712272,712299,712312,712670,712893,713082,713095-713096,713099,713584,713597,713737,713804,713899,714167-714168,714245,714255,717937-717961,718281-718448,718565,718620,718640,718665,718970,719017,719210,719215-719218,719222-719273,719305,719327-719680,720053,720119-720218,720238,720293-720316,720497,721221,721241,721501,722117,722129,722412,722988,723024,723338,723378,723716-723791,724333-724372,724433-724438,724449,724481,724485,724668,724780,724782,724785,724793,724795,724940,725071,725316,725332,725335,725348,725364,725418,725425-725426,725455,725506,725554,725562,725651,725671,725688,725754,725773,725799,725839,726342,726524,726631,726634,726637,726639,726692,726724,726769,726992,727096,727445,727521
Propchange: cxf/branches/2.1.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolver.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolver.java?rev=727795&r1=727794&r2=727795&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolver.java
(original)
+++
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolver.java
Thu Dec 18 11:20:00 2008
@@ -23,6 +23,20 @@
import javax.xml.namespace.QName;
+/**
+ * A <code>ServiceContractResolver</code> resolves QNames into URIs for
+ * WSDL contracts. They provide a method for locating WSDL contracts at
+ * runtime.
+ */
public interface ServiceContractResolver {
+
+ /**
+ * Resolves a QName to a URI representing the location of a WSDL contract.
+ * This method is called by the
<code>ServiceContractResolverRegistry</code>
+ * with which the contract resolver is registered.
+ *
+ * @param qname the QName being mapped to a URI
+ * @return URI representing the location of a WSDL contract
+ */
URI getContractLocation(QName qname);
}
Modified:
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistry.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistry.java?rev=727795&r1=727794&r2=727795&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistry.java
(original)
+++
cxf/branches/2.1.x-fixes/api/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistry.java
Thu Dec 18 11:20:00 2008
@@ -23,10 +23,43 @@
import javax.xml.namespace.QName;
+/**
+ * A registry for maintaining a collection of contract resolvers.
+ */
public interface ServiceContractResolverRegistry {
+
+ /**
+ * Resolves a QName to a URI respresenting the location of a WSDL contract.
+ * The registry method is called by the bus and should use the
+ * <code>getContractLocation</code> methods of the registered contract
+ * resolvers to do the actual resolution.
+ *
+ * @param qname the qname to resolve into a URI
+ * @return URI representing the WSDL contract's location
+ */
URI getContractLocation(QName qname);
+
+ /**
+ * Registers a contract resolver.
+ *
+ * @param resolver the contract resolver being registered
+ */
void register(ServiceContractResolver resolver);
+
+ /**
+ * Removes a contract resolver from the registry.
+ *
+ * @param resolver the contract resolver being removed
+ */
void unregister(ServiceContractResolver resolver);
+
+ /**
+ * Determines if a contract resolver is already registered with a
+ * registry.
+ *
+ * @param resolver the contract resolver for which to search
+ * @return <code>true</code> if the contract resolver is already registered
+ */
boolean isRegistered(ServiceContractResolver resolver);
}
Modified:
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistryImpl.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistryImpl.java?rev=727795&r1=727794&r2=727795&view=diff
==============================================================================
---
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistryImpl.java
(original)
+++
cxf/branches/2.1.x-fixes/rt/core/src/main/java/org/apache/cxf/endpoint/ServiceContractResolverRegistryImpl.java
Thu Dec 18 11:20:00 2008
@@ -28,6 +28,10 @@
import org.apache.cxf.Bus;
+/**
+ * A simple contract resolver registry. It maintains a list of contract
resolvers in an
+ * <code>ArrayList</code>.
+ */
public class ServiceContractResolverRegistryImpl implements
ServiceContractResolverRegistry {
private Bus bus;
@@ -44,6 +48,14 @@
}
}
+ /**
+ * Calls each of the registered <code>ServiceContractResolver</code>
instances
+ * to resolve the location of the service's contract. It returns the
location
+ * from the first resolver that matches the QName to a location.
+ *
+ * @param qname QName to be resolved into a contract location
+ * @return URI representing the location of the contract
+ */
public URI getContractLocation(QName qname) {
for (ServiceContractResolver resolver : resolvers) {
URI contractLocation = resolver.getContractLocation(qname);
@@ -54,18 +66,39 @@
return null;
}
+ /**
+ * Tests if a resolver is alreadey registered with this registry.
+ *
+ * @param resolver the contract resolver for which to searche
+ * @return <code>true</code> if the resolver is registered
+ */
public boolean isRegistered(ServiceContractResolver resolver) {
return resolvers.contains(resolver);
}
+ /**
+ * Registers a contract resolver with this registry.
+ *
+ * @param resolver the contract resolver to register
+ */
public synchronized void register(ServiceContractResolver resolver) {
resolvers.add(resolver);
}
+ /**
+ * Removes a contract resolver from this registry.
+ *
+ * @param resolver the contract resolver to remove
+ */
public synchronized void unregister(ServiceContractResolver resolver) {
resolvers.remove(resolver);
}
+ /**
+ * Sets the bus with which the registry is associated.
+ *
+ * @param bus
+ */
public void setBus(Bus bus) {
this.bus = bus;
}