You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by as...@apache.org on 2005/07/04 14:42:56 UTC
svn commit: r209064 -
/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java
Author: ashutosh
Date: Mon Jul 4 05:42:54 2005
New Revision: 209064
URL: http://svn.apache.org/viewcvs?rev=209064&view=rev
Log:
HandlerRegistry implementation as an inner class of ServiceImpl
Modified:
webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java
Modified: webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java?rev=209064&r1=209063&r2=209064&view=diff
==============================================================================
--- webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java (original)
+++ webservices/axis/trunk/archive/java/scratch/ashu_jaya_venkat/jaxws/src/org/apache/axis/jaxrpc/client/ServiceImpl.java Mon Jul 4 05:42:54 2005
@@ -3,15 +3,21 @@
import java.net.URI;
import java.net.URL;
import java.rmi.Remote;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.Dispatch;
+import javax.xml.rpc.JAXRPCException;
import javax.xml.rpc.ServiceException;
import javax.xml.rpc.Service.Mode;
import javax.xml.rpc.encoding.TypeMappingRegistry;
+import javax.xml.rpc.handler.HandlerInfo;
import javax.xml.rpc.handler.HandlerRegistry;
import javax.xml.rpc.security.SecurityConfiguration;
@@ -21,7 +27,7 @@
*/
public class ServiceImpl implements javax.xml.rpc.Service {
- private HandlerRegistry handlerRegistry;
+ private HandlerRegistryImpl handlerRegistry = new HandlerRegistryImpl();
private TypeMappingRegistry typeMappingRegistry;
@@ -39,6 +45,89 @@
public Call createCall() throws ServiceException {
Call call = new CallImpl();
return call;
+ }
+
+ protected class HandlerRegistryImpl implements HandlerRegistry{
+
+ //Adding as an inner class to ServiceImpl.
+ // Might need to revisit later, if it needs to be an independent one.
+
+ private List<HandlerInfo> serviceHandlerChain;
+ private Map<URI, List> bindingHandlerChain;
+ private Map<QName, List> portHandlerChain;
+
+ private void confirmPort(javax.xml.namespace.QName portName){
+ Iterator<QName> ports = null;
+ try{
+ ports = getPorts();
+ while(ports.hasNext()){
+ if(ports.next()== portName)
+ return;
+ }
+ }catch(ServiceException se){
+
+ }
+ throw new java.lang.IllegalArgumentException("Invalid portName");
+ }
+
+ private void confirmBindingId(java.net.URI bindingId){
+
+ if(bindingId.toString().equalsIgnoreCase("http://schemas.xmlsoap.org/wsdl/soap/http"))
+ return;
+
+ throw new java.lang.IllegalArgumentException("Invalid bindingId");
+ }
+
+ public java.util.List getHandlerChain(javax.xml.namespace.QName portName) throws java.lang.IllegalArgumentException{
+
+ confirmPort(portName);
+ if(portHandlerChain == null)
+ portHandlerChain = new HashMap<QName, List>();
+ if(portHandlerChain.get(portName) == null){
+ setHandlerChain(portName, new ArrayList());
+ }
+ return portHandlerChain.get(portName);
+ }
+
+ public void setHandlerChain(javax.xml.namespace.QName portName,
+ java.util.List chain) throws JAXRPCException, java.lang.UnsupportedOperationException,
+ java.lang.IllegalArgumentException{
+
+ confirmPort(portName);
+ if(portHandlerChain == null)
+ portHandlerChain = new HashMap<QName, List>();
+ portHandlerChain.put(portName, chain);
+ }
+
+ public java.util.List<HandlerInfo> getHandlerChain(){
+ if(serviceHandlerChain == null)
+ serviceHandlerChain = new ArrayList<HandlerInfo>();
+ return serviceHandlerChain;
+ }
+
+ public void setHandlerChain(java.util.List<HandlerInfo> chain) throws java.lang.UnsupportedOperationException, JAXRPCException{
+ serviceHandlerChain = chain;
+ }
+
+ public java.util.List<HandlerInfo> getHandlerChain(java.net.URI bindingId) throws java.lang.IllegalArgumentException{
+ confirmBindingId(bindingId);
+ if(bindingHandlerChain == null)
+ bindingHandlerChain = new HashMap<URI, List>();
+ if(bindingHandlerChain.get(bindingId) == null){
+ setHandlerChain(bindingId, new ArrayList());
+ }
+ return bindingHandlerChain.get(bindingId);
+ }
+
+ public void setHandlerChain(java.net.URI bindingId,
+ java.util.List<HandlerInfo> chain) throws JAXRPCException,
+ java.lang.UnsupportedOperationException, java.lang.IllegalArgumentException{
+
+ confirmBindingId(bindingId);
+ if(bindingHandlerChain == null)
+ bindingHandlerChain = new HashMap<URI, List>();
+ bindingHandlerChain.put(bindingId, chain);
+ }
}
/**