You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2006/09/27 19:23:31 UTC

svn commit: r450512 - in /webservices/axis2/trunk/java/modules/jaxws: src/javax/jws/ src/org/apache/axis2/jaxws/description/builder/ test/org/apache/axis2/jaxws/description/builder/ test/org/apache/axis2/jaxws/framework/

Author: barrettj
Date: Wed Sep 27 10:23:30 2006
New Revision: 450512

URL: http://svn.apache.org/viewvc?view=rev&rev=450512
Log:
AXIS2-1195
Contributed by Roy A. Wood Jr.

Added:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/FieldDescriptionComposite.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/HandlerChainAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/RequestWrapperAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ResponseWrapperAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ServiceModeAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/SoapBindingAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebEndpointAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebFaultAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebMethodAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebParamAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebResultAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceClientAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceContextAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceProviderAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/DescriptionBuilderTests.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java?view=diff&rev=450512&r1=450511&r2=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/javax/jws/WebMethod.java Wed Sep 27 10:23:30 2006
@@ -13,5 +13,5 @@
 public @interface WebMethod {
 	String operationName() default "";
 	String action() default "";
-	String exclude() default "";
+	boolean exclude() default false;
 }

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/BindingTypeAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class BindingTypeAnnot implements javax.xml.ws.BindingType{
+	
+	private String value = "";
+
+	/**
+     * A BindingTypeAnnot cannot be instantiated.
+     */
+	private  BindingTypeAnnot(){
+		
+	}
+	
+	private  BindingTypeAnnot( String value)
+	{
+		this.value = value;
+	}
+
+    public static BindingTypeAnnot createBindingTypeAnnotImpl() {
+        return new BindingTypeAnnot();
+    }
+
+    public static BindingTypeAnnot createBindingTypeAnnotImpl( String value) 
+    {
+        return new BindingTypeAnnot( value );
+    }
+
+	/**
+	 * @return Returns the value.
+	 */
+	public String value() {
+		return value;
+	}
+
+	/**
+	 * @param value The value to set.
+	 */
+	public void setValue(String value) {
+		this.value = value;
+	}
+	
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderComposite.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,332 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.description.builder;
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Definition;
+
+public class DescriptionBuilderComposite {
+	/*
+	 * This structure contains the full reflected class, as well as, the
+	 * possible annotations found for this class...the class description 
+	 * must be complete enough for full validation between class info and annotations
+	 * The annotations will be added to the corresponding class members.
+	 */
+
+	public DescriptionBuilderComposite () {
+		
+	}
+
+	//Class type within the module
+	private enum ModuleClassType { SERVICEIMPL, SEI, SERVICE, SUPER, PROVIDER, FAULT }
+	
+	//Note: a WSDL is not necessary
+	private Definition	wsdlDefinition;
+
+	// Class-level annotations
+	private WebServiceAnnot 			webServiceAnnot;	
+	private WebServiceProviderAnnot 	webServiceProviderAnnot; //	TODO EDIT CHECK: WebService and WebServiceProvider are mutually exclusive
+	private ServiceModeAnnot 			serviceModeAnnot;	//	TODO EDIT CHECK: valid only if is a provider class	
+	private WebServiceClientAnnot 		webServiceClientAnnot;
+	private WebFaultAnnot 				webFaultAnnot;
+	private HandlerChainAnnot 			handlerChainAnnot;
+	private SoapBindingAnnot 			soapBindingAnnot;
+	private List<WebServiceRefAnnot> 	webServiceRefAnnotList;
+	private BindingTypeAnnot 			bindingTypeAnnot;
+	private WebServiceContextAnnot 		webServiceContextAnnot;
+	
+	// Class information
+	private String 			className;
+	private String[] 		classModifiers; //public, abstract, final, strictfp...
+	private String			extendsClass;	//Set to the name of the super class
+	private List<String>	interfacesList; //Set this for all implemented interfaces
+
+	private List<MethodDescriptionComposite> methodDescriptions;		
+	private List<FieldDescriptionComposite> fieldDescriptions;		
+
+	// Methods
+	public WebServiceAnnot getWebServiceAnnot() {
+		return this.webServiceAnnot;
+	}
+
+	/**
+	 * @return Returns the classModifiers.
+	 */
+	public String[] getClassModifiers() {
+		return classModifiers;
+	}
+
+	/**
+	 * @return Returns the className.
+	 */
+	public String getClassName() {
+		return className;
+	}
+
+	/**
+	 * @return Returns the super class name.
+	 */
+	public String getSuperClassName() {
+		return extendsClass;
+	}
+
+	/**
+	 * @return Returns the list of implemented interfaces.
+	 */
+	public List<String> getInterfacesList() {
+		return interfacesList;
+	}
+
+	/**
+	 * @return Returns the handlerChainAnnotImpl.
+	 */
+	public HandlerChainAnnot getHandlerChainAnnot() {
+		return handlerChainAnnot;
+	}
+
+	/**
+	 * @return Returns the serviceModeAnnot.
+	 */
+	public ServiceModeAnnot getServiceModeAnnot() {
+		return serviceModeAnnot;
+	}
+
+	/**
+	 * @return Returns the soapBindingAnnot.
+	 */
+	public SoapBindingAnnot getSoapBindingAnnot() {
+		return soapBindingAnnot;
+	}
+
+	/**
+	 * @return Returns the webFaultAnnot.
+	 */
+	public WebFaultAnnot getWebFaultAnnot() {
+		return webFaultAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceClientAnnot.
+	 */
+	public WebServiceClientAnnot getWebServiceClientAnnot() {
+		return webServiceClientAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceProviderAnnot.
+	 */
+	public WebServiceProviderAnnot getWebServiceProviderAnnot() {
+		return webServiceProviderAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceRefAnnot.
+	 */
+	public WebServiceRefAnnot getWebServiceRefAnnot(String name) {
+		
+		WebServiceRefAnnot wsra = null;
+		Iterator<WebServiceRefAnnot> iter = 
+							webServiceRefAnnotList.iterator();
+			
+		while(iter.hasNext()) {
+			wsra = iter.next();
+			if (wsra.name().equals(name))
+				return wsra;
+		}
+		return wsra;
+	}
+
+	/**
+	 * @return Returns the webServiceRefAnnot.
+	 */
+	public BindingTypeAnnot getBindingTypeAnnot() {
+		return bindingTypeAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceContextAnnot.
+	 */
+	public WebServiceContextAnnot getWebServiceContextAnnot() {
+		return webServiceContextAnnot;
+	}
+
+	/**
+	 * @return Returns the wsdlDefinition.
+	 */
+	public Definition getWsdlDefinition() {
+		return wsdlDefinition;
+	}
+	
+	/**
+	 * Returns the nth occurence of this MethodComposite. Since
+	 * method names are not unique, we have to account for multiple occurrences
+	 *
+	 * @return Returns the methodDescriptionComposite.
+	 */
+	public MethodDescriptionComposite getMethodDescriptionComposite(
+						String 	methodName,
+						int		occurence) {
+
+		MethodDescriptionComposite composite = null;
+		Iterator<MethodDescriptionComposite> iter = 
+							methodDescriptions.iterator();
+		int hits = 0;
+		while(iter.hasNext()) {
+			composite = iter.next();
+			
+			if (composite.getMethodName().equals(methodName)){
+				hits++;
+				if (hits == occurence)
+					return composite;
+			}
+		}
+		
+		return composite;
+	}
+	
+	/**
+	 *
+	 * @return Returns the methodDescriptionComposite..null if not found
+	 */
+	public FieldDescriptionComposite getFieldDescriptionComposite(String fieldName){
+
+		FieldDescriptionComposite composite = null;
+		Iterator<FieldDescriptionComposite> iter = 
+							fieldDescriptions.iterator();
+			
+		while(iter.hasNext()) {
+			composite = iter.next();
+			if (composite.getFieldName().equals(fieldName))
+				return composite;
+		}
+		return composite;
+	}
+	
+	//++++++++
+	//Setters
+	//++++++++
+	public void setWebServiceAnnot(WebServiceAnnot webServiceAnnot) {
+		this.webServiceAnnot = webServiceAnnot;
+	}
+
+	/**
+	 * @param classModifiers The classModifiers to set.
+	 */
+	public void setClassModifiers(String[] classModifiers) {
+		this.classModifiers = classModifiers;
+	}
+
+	/**
+	 * @param className The className to set.
+	 */
+	public void setClassName(String className) {
+		this.className = className;
+	}
+	
+	/**
+	 * @param extendsClass The name of the super class to set.
+	 */
+	public void setSuperClassName(String extendsClass) {
+		this.extendsClass = extendsClass;
+	}
+
+	/**
+	 * @param interfacesList  The interfacesList to set.
+	 */
+	public void getInterfacesList(List<String> interfacesList) {
+		this.interfacesList = interfacesList;
+	}
+	
+	/**
+	 * @param handlerChainAnnot The handlerChainAnnot to set.
+	 */
+	public void setHandlerChainAnnot(HandlerChainAnnot handlerChainAnnot) {
+		this.handlerChainAnnot = handlerChainAnnot;
+	}
+
+	/**
+	 * @param serviceModeAnnot The serviceModeAnnot to set.
+	 */
+	public void setServiceModeAnnot(ServiceModeAnnot serviceModeAnnot) {
+		this.serviceModeAnnot = serviceModeAnnot;
+	}
+
+	/**
+	 * @param soapBindingAnnot The soapBindingAnnot to set.
+	 */
+	public void setSoapBindingAnnot(SoapBindingAnnot soapBindingAnnot) {
+		this.soapBindingAnnot = soapBindingAnnot;
+	}
+
+	/**
+	 * @param webFaultAnnot The webFaultAnnot to set.
+	 */
+	public void setWebFaultAnnot(WebFaultAnnot webFaultAnnot) {
+		this.webFaultAnnot = webFaultAnnot;
+	}
+
+	/**
+	 * @param webServiceClientAnnot The webServiceClientAnnot to set.
+	 */
+	public void setWebServiceClientAnnot(
+			WebServiceClientAnnot webServiceClientAnnot) {
+		this.webServiceClientAnnot = webServiceClientAnnot;
+	}
+
+	/**
+	 * @param webServiceProviderAnnot The webServiceProviderAnnot to set.
+	 */
+	public void setWebServiceProviderAnnot(
+			WebServiceProviderAnnot webServiceProviderAnnot) {
+		this.webServiceProviderAnnot = webServiceProviderAnnot;
+	}
+
+	/**
+	 * @param webServiceRefAnnot The webServiceRefAnnot to add to the list.
+	 */
+	public void addWebServiceRefAnnot(
+			WebServiceRefAnnot webServiceRefAnnot) {
+		webServiceRefAnnotList.add(webServiceRefAnnot);
+	}
+
+	/**
+	 * @param wsdlDefinition The wsdlDefinition to set.
+	 */
+	public void setWsdlDefinition(Definition wsdlDefinition) {
+		this.wsdlDefinition = wsdlDefinition;
+	}
+
+	/**
+	 * @param BindingTypeAnnot The BindingTypeAnnot to set.
+	 */
+	public void setBindingTypeAnnot(
+			BindingTypeAnnot bindingTypeAnnot) {
+		this.bindingTypeAnnot = bindingTypeAnnot;
+	}
+
+	/**
+	 * @param webServiceContextAnnot The webServiceContextAnnot to set.
+	 */
+	public void setWebServiceContextAnnot(
+			WebServiceContextAnnot webServiceContextAnnot) {
+		this.webServiceContextAnnot = webServiceContextAnnot;
+	}
+
+	/**
+	 *  @param methodDescription The methodDescription to add to the set.
+	 */
+	public void addMethodDescriptionComposite(MethodDescriptionComposite methodDescription) {
+		methodDescriptions.add(methodDescription);
+	}
+	
+	/**
+	 *  @param methodDescription The methodDescription to add to the set.
+	 */
+	public void addFieldDescriptionComposite(FieldDescriptionComposite fieldDescription) {
+		fieldDescriptions.add(fieldDescription);
+	}
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/FieldDescriptionComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/FieldDescriptionComposite.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/FieldDescriptionComposite.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/FieldDescriptionComposite.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,91 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.description.builder;
+
+
+public class FieldDescriptionComposite {
+	
+	//Method reflective information
+	private String 	fieldName;		//field name
+	private String 	modifierType;	//field modifier
+
+	private HandlerChainAnnot	handlerChainAnnot;	
+	private WebServiceRefAnnot 	webServiceRefAnnot;	
+
+	/*
+	 * Default Constructor
+	 */
+	public FieldDescriptionComposite () {
+		
+	}
+	
+	public FieldDescriptionComposite (	
+			String 					fieldName,
+			String 					modifierType,
+			HandlerChainAnnot 		handlerChainAnnot,
+			WebServiceRefAnnot 		webServiceRefAnnot
+	) {
+		this.fieldName = fieldName;
+		this.modifierType = modifierType;
+		this.handlerChainAnnot = handlerChainAnnot;
+		this.webServiceRefAnnot = webServiceRefAnnot;
+	}
+
+	/**
+	 * @return Returns the fieldName.
+	 */
+	public String getFieldName() {
+		return fieldName;
+	}
+
+	/**
+	 * @return Returns the handlerChainAnnot.
+	 */
+	public HandlerChainAnnot getHandlerChainAnnot() {
+		return handlerChainAnnot;
+	}
+
+	/**
+	 * @return Returns the modifierType.
+	 */
+	public String getModifierType() {
+		return modifierType;
+	}
+
+	/**
+	 * @return Returns the webServiceRefAnnot.
+	 */
+	public WebServiceRefAnnot getWebServiceRefAnnot() {
+		return webServiceRefAnnot;
+	}
+
+	/**
+	 * @param fieldName The fieldName to set.
+	 */
+	public void setFieldName(String fieldName) {
+		this.fieldName = fieldName;
+	}
+
+	/**
+	 * @param handlerChainAnnot The handlerChainAnnot to set.
+	 */
+	public void setHandlerChainAnnot(HandlerChainAnnot handlerChainAnnot) {
+		this.handlerChainAnnot = handlerChainAnnot;
+	}
+
+	/**
+	 * @param modifierType The modifierType to set.
+	 */
+	public void setModifierType(String modifierType) {
+		this.modifierType = modifierType;
+	}
+
+	/**
+	 * @param webServiceRefAnnot The webServiceRefAnnot to set.
+	 */
+	public void setWebServiceRefAnnot(WebServiceRefAnnot webServiceRefAnnot) {
+		this.webServiceRefAnnot = webServiceRefAnnot;
+	}
+}
+	

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/HandlerChainAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/HandlerChainAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/HandlerChainAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/HandlerChainAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,73 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.net.URL;
+
+import javax.jws.HandlerChain;
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.jaxws.ExceptionFactory;
+
+import java.lang.annotation.Annotation;
+
+public class HandlerChainAnnot implements javax.jws.HandlerChain{
+
+	private String file = "";
+	private String name = "";
+	
+	/**
+     * A WebServiceAnnot cannot be instantiated.
+     */
+	private  HandlerChainAnnot(){
+		
+	}
+	
+    public static HandlerChainAnnot createHandlerChainAnnotImpl() {
+        return new HandlerChainAnnot();
+    }
+
+    public String file(){
+		return this.file;
+	}
+		
+	public String name(){
+		return this.name;
+	}
+	
+	/**
+	 * @param file The file to set.
+	 */
+	public void setFile(String file) {
+		this.file = file;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,276 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.description.builder;
+
+import java.util.List;
+
+public class MethodDescriptionComposite {
+	
+	//Method reflective information
+	private String 		methodName;	//a public method name in this class
+	private String 		returnType;	//Methods return type
+	private String[]	exceptions;
+
+	boolean	oneWayAnnotated;	
+	private WebMethodAnnot	webMethodAnnot;	
+	private WebResultAnnot 	webResultAnnot;
+	private WebServiceContextAnnot 	webServiceContextAnnot;	
+	private HandlerChainAnnot	handlerChainAnnot;	
+	private SoapBindingAnnot 	soapBindingAnnot;
+	private WebServiceRefAnnot 	webServiceRefAnnot;	
+	private WebEndpointAnnot 	webEndpointAnnot;
+	private RequestWrapperAnnot requestWrapperAnnot; //TODO EDIT CHECK: only on methods of SEI
+	private ResponseWrapperAnnot responseWrapperAnnot;//TODO EDIT CHECK: only on methods of SEI
+	private List<ParameterDescriptionComposite> parameterDescriptions;//TODO EDIT CHECK: only on methods of SEI
+
+	/*
+	 * Default Constructor
+	 */
+	public MethodDescriptionComposite () {
+		
+	}
+	
+	public MethodDescriptionComposite (	
+			String 					methodName,
+			String 					returnType,
+			WebMethodAnnot 			webMethodAnnot,
+			WebResultAnnot 			webResultAnnot,
+			boolean 				oneWayAnnotated,
+			HandlerChainAnnot 		handlerChainAnnot,
+			SoapBindingAnnot 		soapBindingAnnot,
+			WebServiceRefAnnot 		webServiceRefAnnot,
+			WebEndpointAnnot 		webEndpointAnnot,
+			RequestWrapperAnnot 	requestWrapperAnnot,
+			ResponseWrapperAnnot 	responseWrapperAnnot,
+			WebServiceContextAnnot	webServiceContextAnnot
+	) {
+		
+		this.methodName 			= methodName;
+		this.returnType				= returnType;
+		this.webMethodAnnot 		= webMethodAnnot;
+		this.webResultAnnot 		= webResultAnnot;
+		this.oneWayAnnotated 		= oneWayAnnotated;
+		this.handlerChainAnnot 		= handlerChainAnnot;
+		this.soapBindingAnnot 		= soapBindingAnnot;
+		this.webServiceRefAnnot 	= webServiceRefAnnot;
+		this.webEndpointAnnot 		= webEndpointAnnot;
+		this.requestWrapperAnnot 	= requestWrapperAnnot;
+		this.responseWrapperAnnot 	= responseWrapperAnnot;
+		this.webServiceContextAnnot = webServiceContextAnnot;
+	}
+	
+	/**
+	 * @return Returns the methodName
+	 */
+	public String getMethodName() {
+		return methodName;
+	}
+
+	/**
+	 * @return Returns the returnType
+	 */
+	public String getReturnType() {
+		return returnType;
+	}
+
+	/**
+	 * @return returns whether this is OneWay
+	 */
+	public boolean isOneWay() {
+		return oneWayAnnotated;
+	}
+
+	/**
+	 * @return Returns the webEndpointAnnot.
+	 */
+	public WebEndpointAnnot getWebEndpointAnnot() {
+		return webEndpointAnnot;
+	}
+
+	/**
+	 * @return Returns the requestWrapperAnnot.
+	 */
+	public RequestWrapperAnnot getRequestWrapperAnnot() {
+		return requestWrapperAnnot;
+	}
+
+	/**
+	 * @return Returns the responseWrapperAnnot.
+	 */
+	public ResponseWrapperAnnot getResponseWrapperAnnot() {
+		return responseWrapperAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceContextAnnot.
+	 */
+	public WebServiceContextAnnot getWebServiceContextAnnot() {
+		return webServiceContextAnnot;
+	}
+
+	/**
+	 * @return Returns the handlerChainAnnot.
+	 */
+	public HandlerChainAnnot getHandlerChainAnnot() {
+		return handlerChainAnnot;
+	}
+
+	/**
+	 * @return Returns the soapBindingAnnot.
+	 */
+	public SoapBindingAnnot getSoapBindingAnnot() {
+		return soapBindingAnnot;
+	}
+
+	/**
+	 * @return Returns the webMethodAnnot.
+	 */
+	public WebMethodAnnot getWebMethodAnnot() {
+		return webMethodAnnot;
+	}
+
+	/**
+	 * @return Returns the webResultAnnot.
+	 */
+	public WebResultAnnot getWebResultAnnot() {
+		return webResultAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceRefAnnot.
+	 */
+	public WebServiceRefAnnot getWebServiceRefAnnot() {
+		return webServiceRefAnnot;
+	}
+
+	/**
+	 * @return Returns the exceptions.
+	 */
+	public String[] getExceptions() {
+		return exceptions;
+	}
+
+	/**
+	 * @param methodName The methodName to set.
+	 */
+	public void setMethodName(String methodName) {
+		this.methodName = methodName;
+	}
+
+	/**
+	 * @param returnType The returnType to set.
+	 */
+	public void setReturnType(String returnType) {
+		this.returnType = returnType;
+	}
+
+	/**
+	 * @param oneWayAnnotated The oneWay boolean to set
+	 */
+	public void setOneWayAnnot(boolean oneWayAnnotated) {
+		this.oneWayAnnotated = oneWayAnnotated;
+	}
+
+	/**
+	 * @param webEndpointAnnotImpl The webEndpointAnnotImpl to set.
+	 */
+	public void setWebEndpointAnnot(WebEndpointAnnot webEndpointAnnot) {
+		this.webEndpointAnnot = webEndpointAnnot;
+	}
+
+	/**
+	 * @param requestWrapperAnnot The requestWrapperAnnot to set.
+	 */
+	public void setRequestWrapperAnnot(
+			RequestWrapperAnnot requestWrapperAnnot) {
+		this.requestWrapperAnnot = requestWrapperAnnot;
+	}
+
+	/**
+	 * @param responseWrapperAnnot The responseWrapperAnnot to set.
+	 */
+	public void setResponseWrapperAnnot(
+			ResponseWrapperAnnot responseWrapperAnnot) {
+		this.responseWrapperAnnot = responseWrapperAnnot;
+	}
+	
+	/**
+	 * @param webServiceContextAnnot The webServiceContextAnnot to set.
+	 */
+	private void setWebServiceContextAnnot(WebServiceContextAnnot webServiceContextAnnot) {
+		this.webServiceContextAnnot = webServiceContextAnnot;
+	}
+
+
+	/**
+	 * @param handlerChainAnnot The handlerChainAnnot to set.
+	 */
+	public void setHandlerChainAnnot(HandlerChainAnnot handlerChainAnnot) {
+		this.handlerChainAnnot = handlerChainAnnot;
+	}
+
+	/**
+	 * @param soapBindingAnnot The soapBindingAnnot to set.
+	 */
+	public void setSoapBindingAnnot(SoapBindingAnnot soapBindingAnnot) {
+		this.soapBindingAnnot = soapBindingAnnot;
+	}
+
+	/**
+	 * @param webMethodAnnot The webMethodAnnot to set.
+	 */
+	public void setWebMethodAnnot(WebMethodAnnot webMethodAnnot) {
+		this.webMethodAnnot = webMethodAnnot;
+	}
+
+	/**
+	 * @param webResultAnnot The webResultAnnot to set.
+	 */
+	public void setWebResultAnnot(WebResultAnnot webResultAnnot) {
+		this.webResultAnnot = webResultAnnot;
+	}
+
+	/**
+	 * @param webServiceRefAnnot The webServiceRefAnnot to set.
+	 */
+	public void setWebServiceRefAnnot(WebServiceRefAnnot webServiceRefAnnot) {
+		this.webServiceRefAnnot = webServiceRefAnnot;
+	}
+	
+	/**
+	 *  @param parameterDescription The parameterDescription to add to the set.
+	 */
+	public void addParameterDescriptionComposite(ParameterDescriptionComposite parameterDescription) {
+		parameterDescriptions.add(parameterDescription);
+	}
+	
+	/**
+	 *  @param parameterDescription The parameterDescription to add to the set.
+	 *  @param index The index at which to place this parameterDescription
+	 */
+	public void addParameterDescriptionComposite(ParameterDescriptionComposite parameterDescription, int index) {
+		parameterDescriptions.add(index, parameterDescription);
+	}
+	
+	/**
+	 *  @param parameterDescription The parameterDescription to add to the set.
+	 */
+	public void setParameterDescriptionCompositeList(List<ParameterDescriptionComposite> parameterDescriptionList) {
+		this.parameterDescriptions = parameterDescriptionList;
+	}
+	
+	/**
+	 *  @param parameterDescription The parameterDescription to add to the set.
+	 */
+	public ParameterDescriptionComposite getParameterDescriptionComposite(int index) {
+		return parameterDescriptions.get(index);
+	}
+
+	/**
+	 * @param exceptions The exceptions to set.
+	 */
+	public void setExceptions(String[] exceptions) {
+		this.exceptions = exceptions;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,86 @@
+/**
+ * 
+ */
+package org.apache.axis2.jaxws.description.builder;
+
+public class ParameterDescriptionComposite {
+	
+	private String 					parameterType;	
+	private WebParamAnnot			webParamAnnot;
+	private WebServiceRefAnnot 		webServiceRefAnnot;
+	private WebServiceContextAnnot	webServiceContextAnnot;
+
+	public ParameterDescriptionComposite () {
+		
+	}
+	
+	public ParameterDescriptionComposite (	
+			String 					parameterType,
+			WebParamAnnot 			webParamAnnot,
+			WebServiceRefAnnot 		webServiceRefAnnot,
+			WebServiceContextAnnot	webServiceContextAnnot) {
+
+		this.parameterType 			= parameterType;
+		this.webParamAnnot 			= webParamAnnot;
+		this.webServiceRefAnnot 	= webServiceRefAnnot;
+		this.webServiceContextAnnot = webServiceContextAnnot;
+	}
+	
+
+	/**
+	 * @return Returns the parameterType.
+	 */
+	private String getParameterType() {
+		return parameterType;
+	}
+
+	/**
+	 * @return Returns the webParamAnnot.
+	 */
+	private WebParamAnnot getWebParamAnnot() {
+		return webParamAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceRefAnnot.
+	 */
+	private WebServiceRefAnnot getWebServiceRefAnnot() {
+		return webServiceRefAnnot;
+	}
+
+	/**
+	 * @return Returns the webServiceContextAnnot.
+	 */
+	public WebServiceContextAnnot getWebServiceContextAnnot() {
+		return webServiceContextAnnot;
+	}
+
+	/**
+	 * @param parameterType The parameterType to set.
+	 */
+	private void setParameterType(String parameterType) {
+		this.parameterType = parameterType;
+	}
+
+	/**
+	 * @param webParamAnnot The webParamAnnot to set.
+	 */
+	private void setWebParamAnnot(WebParamAnnot webParamAnnot) {
+		this.webParamAnnot = webParamAnnot;
+	}
+
+	/**
+	 * @param webServiceRefAnnot The webServiceRefAnnot to set.
+	 */
+	private void setWebServiceRefAnnot(WebServiceRefAnnot webServiceRefAnnot) {
+		this.webServiceRefAnnot = webServiceRefAnnot;
+	}
+
+	/**
+	 * @param webServiceContextAnnot The webServiceContextAnnot to set.
+	 */
+	private void setWebServiceContextAnnot(WebServiceContextAnnot webServiceContextAnnot) {
+		this.webServiceContextAnnot = webServiceContextAnnot;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/RequestWrapperAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/RequestWrapperAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/RequestWrapperAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/RequestWrapperAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,109 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class RequestWrapperAnnot implements javax.xml.ws.RequestWrapper{
+
+	private String 	localName;
+	private String 	targetNamespace;
+	private String 	className;			
+
+	
+	/**
+     * A RequestWrapperAnnot cannot be instantiated.
+     */
+	private  RequestWrapperAnnot(){
+		
+	}
+	
+	private  RequestWrapperAnnot(
+			String localName,
+			String targetNamespace,
+			String className)
+	{
+		this.localName = localName;
+		this.targetNamespace = targetNamespace;
+		this.className = className;
+	}
+
+    public static RequestWrapperAnnot createRequestWrapperAnnotImpl() {
+        return new RequestWrapperAnnot();
+    }
+
+    public static RequestWrapperAnnot createRequestWrapperAnnotImpl( 
+    			String localName,
+    			String targetNamespace,
+    			String className
+    		) 
+    {
+        return new RequestWrapperAnnot( localName, 
+        								targetNamespace, 
+        								className);
+    }
+	
+	
+	/**
+	 * @return Returns the name.
+	 */
+	public String localName() {
+		return this.localName;
+	}
+	
+	/**
+	 * @return Returns the targetNamespace.
+	 */
+	public String targetNamespace() {
+		return this.targetNamespace;
+	}
+	
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String className() {
+		return this.className;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setLocalName(String localName) {
+		this.localName = localName;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setClassName(String className) {
+		this.className = className;
+	}
+	
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ResponseWrapperAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ResponseWrapperAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ResponseWrapperAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ResponseWrapperAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,109 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class ResponseWrapperAnnot implements javax.xml.ws.ResponseWrapper{
+
+	private String 	localName;
+	private String 	targetNamespace;
+	private String 	className;			
+
+	
+	/**
+     * A ResponseWrapperAnnot cannot be instantiated.
+     */
+	private  ResponseWrapperAnnot(){
+		
+	}
+	
+	private  ResponseWrapperAnnot(
+			String localName,
+			String targetNamespace,
+			String className)
+	{
+		this.localName = localName;
+		this.targetNamespace = targetNamespace;
+		this.className = className;
+	}
+
+    public static ResponseWrapperAnnot createResponseWrapperAnnotImpl() {
+        return new ResponseWrapperAnnot();
+    }
+
+    public static ResponseWrapperAnnot createResponseWrapperAnnotImpl( 
+    			String localName,
+    			String targetNamespace,
+    			String className
+    		) 
+    {
+        return new ResponseWrapperAnnot( localName, 
+        								targetNamespace, 
+        								className);
+    }
+	
+	
+	/**
+	 * @return Returns the name.
+	 */
+	public String localName() {
+		return this.localName;
+	}
+	
+	/**
+	 * @return Returns the targetNamespace.
+	 */
+	public String targetNamespace() {
+		return this.targetNamespace;
+	}
+	
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String className() {
+		return this.className;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setLocalName(String localName) {
+		this.localName = localName;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setClassName(String className) {
+		this.className = className;
+	}
+	
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ServiceModeAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ServiceModeAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ServiceModeAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ServiceModeAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+import javax.xml.ws.Service;
+ 
+public class ServiceModeAnnot implements javax.xml.ws.ServiceMode{
+	
+	private Service.Mode value = Service.Mode.PAYLOAD;
+
+	/**
+     * A ServiceModeAnnot cannot be instantiated.
+     */
+	private  ServiceModeAnnot(){
+		
+	}
+	
+	private  ServiceModeAnnot( Service.Mode value)
+	{
+		this.value = value;
+	}
+
+    public static ServiceModeAnnot createWebServiceAnnotImpl() {
+        return new ServiceModeAnnot();
+    }
+
+    public static ServiceModeAnnot createWebServiceAnnotImpl( Service.Mode value) 
+    {
+        return new ServiceModeAnnot( value );
+    }
+
+	public Service.Mode value(){
+		return this.value;
+	}
+	
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+	
+	//Setters
+	public void setValue(Service.Mode value){
+		this.value = value;
+	}
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/SoapBindingAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/SoapBindingAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/SoapBindingAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/SoapBindingAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,80 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+import javax.jws.soap.SOAPBinding.ParameterStyle;
+import javax.jws.soap.SOAPBinding.Style;
+import javax.jws.soap.SOAPBinding.Use;
+
+public class SoapBindingAnnot implements javax.jws.soap.SOAPBinding{
+
+    private Style style = Style.DOCUMENT;
+    private Use use = Use.LITERAL;
+    private ParameterStyle parameterStyle = ParameterStyle.WRAPPED;
+
+	/**
+     * A SoapBindingAnnot cannot be instantiated.
+     */
+	private  SoapBindingAnnot(){
+		
+	}
+	
+    public static SoapBindingAnnot createSoapBindingAnnotImpl() {
+        return new SoapBindingAnnot();
+    }
+
+    public Style style(){
+		return this.style;
+	}
+		
+    public Use use(){
+		return this.use;
+	}
+	
+    public ParameterStyle parameterStyle(){
+		return this.parameterStyle;
+	}
+			
+
+	/**
+	 * @param parameterStyle The parameterStyle to set.
+	 */
+	public void setParameterStyle(ParameterStyle parameterStyle) {
+		this.parameterStyle = parameterStyle;
+	}
+
+	/**
+	 * @param style The style to set.
+	 */
+	public void setStyle(Style style) {
+		this.style = style;
+	}
+
+	/**
+	 * @param use The use to set.
+	 */
+	public void setUse(Use use) {
+		this.use = use;
+	}
+
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebEndpointAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebEndpointAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebEndpointAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebEndpointAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,65 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebEndpointAnnot implements javax.xml.ws.WebEndpoint{
+
+	private String 	name = "";
+
+	/**
+     * A WebEndpointAnnot cannot be instantiated.
+     */
+	private	WebEndpointAnnot( String name )
+	{
+		this.name = name;
+	}
+	
+	private WebEndpointAnnot()
+	{
+		
+	}
+
+    public static WebEndpointAnnot createWebEndpointAnnotImpl() {
+        return new WebEndpointAnnot();
+    }
+
+    public static WebEndpointAnnot createWebEndpointAnnotImpl( String name )
+    {
+        return new WebEndpointAnnot( name );
+    }
+
+	/**
+	 * @return Returns the name.
+	 */
+	public String name() {
+		return name;
+	}
+	
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebFaultAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebFaultAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebFaultAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebFaultAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,79 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebFaultAnnot implements javax.xml.ws.WebFault{
+
+	private String name = "return";
+	private String targetNamespace = "";
+	private String faultBean = "";
+	
+	/**
+     * A WebFaultAnnot cannot be instantiated.
+     */
+	private  WebFaultAnnot(){
+		
+	}
+	
+    public static WebFaultAnnot createWebFaultAnnotImpl() {
+        return new WebFaultAnnot();
+    }
+    
+    /**
+     * Get the 'name'
+     * @return String 
+     */
+	public String name() {
+		return this.name;
+	}
+	
+	public String targetNamespace() {
+		return this.targetNamespace;
+	}
+	
+	public String faultBean() {
+		return this.faultBean;
+	}
+				
+	/**
+	 * @param faultBean The faultBean to set.
+	 */
+	public void setFaultBean(String faultBean) {
+		this.faultBean = faultBean;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebMethodAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebMethodAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebMethodAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebMethodAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,74 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebMethodAnnot implements javax.jws.WebMethod{
+
+	private String operationName = "";
+	private String action = "";
+	private boolean exclude = false;
+	/**
+     * A WebMethodAnnot cannot be instantiated.
+     */
+	private  WebMethodAnnot(){
+		
+	}
+	
+    public static WebMethodAnnot createWebMethodAnnotImpl() {
+        return new WebMethodAnnot();
+    }
+    
+	public String operationName() {
+		return this.operationName;
+	}
+	
+	public String action() {
+		return this.action;
+	}
+	public boolean exclude() {
+		return this.exclude;
+	}
+	
+	/**
+	 * @param action The action to set.
+	 */
+	public void setAction(String action) {
+		this.action = action;
+	}
+
+	/**
+	 * @param exclude The exclude to set.
+	 */
+	public void setExclude(boolean exclude) {
+		this.exclude = exclude;
+	}
+
+	/**
+	 * @param operationName The operationName to set.
+	 */
+	public void setOperationName(String operationName) {
+		this.operationName = operationName;
+	}
+
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebParamAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebParamAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebParamAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebParamAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,105 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+import javax.jws.WebParam.Mode;
+
+public class WebParamAnnot implements javax.jws.WebParam{
+
+	private String 	name;
+	private String 	targetNamespace;
+	private Mode 	mode = Mode.IN;
+	private boolean header;
+	private String 	partName;
+
+	/**
+     * A WebParamAnnot cannot be instantiated.
+     */
+	private  WebParamAnnot(){
+		
+	}
+	
+    public static WebParamAnnot createWebParamAnnotImpl() {
+        return new WebParamAnnot();
+    }
+    
+    /**
+     * Get the 'name'
+     * @return String 
+     */
+	public String name() {
+		return this.name;
+	}
+	
+	public String targetNamespace() {
+		return this.targetNamespace;
+	}
+	
+	public Mode mode() {
+		return this.mode;
+	}
+	
+	public boolean header () {
+		return this.header;
+	}
+	
+	public String partName() {
+		return this.partName;
+	}
+	
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param mode The mode to set.
+	 */
+	public void setMode(Mode mode) {
+		this.mode = mode;
+	}
+
+	/**
+	 * @param header The header to set.
+	 */
+	public void setHeader(boolean header) {
+		this.header = header;
+	}
+
+	/**
+	 * @param partName The partName to set.
+	 */
+	public void setPartName(String partName) {
+		this.partName = partName;
+	}
+				
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebResultAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebResultAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebResultAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebResultAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,102 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebResultAnnot implements javax.jws.WebResult{
+
+	private String name = "return";
+	private String targetNamespace = "";
+	private boolean header = false;
+	private String partName = "";
+	
+	/**
+     * A WebResultAnnot cannot be instantiated.
+     */
+	private  WebResultAnnot(){
+		
+	}
+	
+	/**
+	 * @return Returns an instance of WebResultAnnot.
+	 */	
+    public static WebResultAnnot createWebResultAnnotImpl() {
+        return new WebResultAnnot();
+    }
+    
+	/**
+	 * @return Returns the header.
+	 */
+	public boolean header() {
+		return header;
+	}
+
+	/**
+	 * @return Returns the name.
+	 */
+	public String name() {
+		return name;
+	}
+
+	/**
+	 * @return Returns the partName.
+	 */
+	public String partName() {
+		return partName;
+	}
+
+	/**
+	 * @return Returns the targetNamespace.
+	 */
+	public String targetNamespace() {
+		return targetNamespace;
+	}
+
+	/**
+	 * @param header The header to set.
+	 */
+	public void setHeader(boolean header) {
+		this.header = header;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param partName The partName to set.
+	 */
+	public void setPartName(String partName) {
+		this.partName = partName;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebServiceAnnot implements javax.jws.WebService{
+	
+	private String name = "";
+	private String targetNamespace = "";
+	private String serviceName = "";
+	private String wsdlLocation = "";
+	private String endpointInterface = "";
+	private String portName = "";
+
+	/**
+     * A WebServiceAnnot cannot be instantiated.
+     */
+	private  WebServiceAnnot(){
+		
+	}
+	
+	private  WebServiceAnnot(
+			String name,
+			String targetNamespace,
+			String serviceName,
+			String wsdlLocation,
+			String endpointInterface,
+			String portName)
+	{
+		this.name = name;
+		this.targetNamespace = targetNamespace;
+		this.serviceName = serviceName;
+		this.wsdlLocation = wsdlLocation;
+		this.endpointInterface = endpointInterface;
+		this.portName = portName;
+	}
+
+    public static WebServiceAnnot createWebServiceAnnotImpl() {
+        return new WebServiceAnnot();
+    }
+
+    public static WebServiceAnnot createWebServiceAnnotImpl( 
+    			String name,
+    			String targetNamespace,
+    			String serviceName,
+    			String wsdlLocation,
+    			String endpointInterface,
+    			String portName
+    		) 
+    {
+        return new WebServiceAnnot( name, 
+        								targetNamespace, 
+        								serviceName, 
+        								wsdlLocation, 
+        								endpointInterface, 
+        								portName);
+    }
+
+	public String name(){
+		return this.name;
+	}
+	
+	public String targetNamespace(){
+		return this.targetNamespace;
+	}
+	
+	public String serviceName(){
+		return this.serviceName;
+	}
+	
+	public String wsdlLocation(){
+		return this.wsdlLocation;
+	}
+	
+	public String endpointInterface(){
+		return this.endpointInterface;
+	}
+	
+	public String portName(){
+		return this.portName;
+	}
+	
+
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+	//Setters
+	/**
+	 * @param endpointInterface The endpointInterface to set.
+	 */
+	public void setEndpointInterface(String endpointInterface) {
+		this.endpointInterface = endpointInterface;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param portName The portName to set.
+	 */
+	public void setPortName(String portName) {
+		this.portName = portName;
+	}
+
+	/**
+	 * @param serviceName The serviceName to set.
+	 */
+	public void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setWsdlLocation(String wsdlLocation) {
+		this.wsdlLocation = wsdlLocation;
+	}
+	
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceClientAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceClientAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceClientAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceClientAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,109 @@
+/* Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebServiceClientAnnot implements javax.xml.ws.WebServiceClient{
+
+	private String 	name;
+	private String 	targetNamespace;
+	private String 	wsdlLocation;			
+
+	
+	/**
+     * A WebServiceClientAnnot cannot be instantiated.
+     */
+	private  WebServiceClientAnnot(){
+		
+	}
+	
+	private  WebServiceClientAnnot(
+			String name,
+			String targetNamespace,
+			String wsdlLocation)
+	{
+		this.name = name;
+		this.targetNamespace = targetNamespace;
+		this.wsdlLocation = wsdlLocation;
+	}
+
+    public static WebServiceClientAnnot createWebServiceClientAnnotImpl() {
+        return new WebServiceClientAnnot();
+    }
+
+    public static WebServiceClientAnnot createWebServiceClientAnnotImpl( 
+    			String name,
+    			String targetNamespace,
+    			String wsdlLocation
+    		) 
+    {
+        return new WebServiceClientAnnot( name, 
+        								targetNamespace, 
+        								wsdlLocation);
+    }
+	
+	
+	/**
+	 * @return Returns the name.
+	 */
+	public String name() {
+		return name;
+	}
+	
+	/**
+	 * @return Returns the targetNamespace.
+	 */
+	public String targetNamespace() {
+		return targetNamespace;
+	}
+	
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String wsdlLocation() {
+		return wsdlLocation;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setWsdlLocation(String wsdlLocation) {
+		this.wsdlLocation = wsdlLocation;
+	}
+	
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceContextAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceContextAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceContextAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceContextAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+import java.security.Principal;
+
+import javax.xml.ws.handler.MessageContext;
+
+public class WebServiceContextAnnot implements javax.xml.ws.WebServiceContext{
+	
+	private MessageContext messageContext;
+	private Principal userPrincipal;
+	private boolean isUserInRole = false;
+
+	/**
+     * A WebServiceContextAnnot cannot be instantiated.
+     */
+	private  WebServiceContextAnnot(){
+		
+	}
+	
+	private  WebServiceContextAnnot(
+				MessageContext messageContext,
+				Principal userPrincipal,
+				boolean isUserInRole)
+	{
+		this.messageContext = messageContext;
+		this.userPrincipal = userPrincipal;
+		this.isUserInRole = isUserInRole;
+	}
+
+    public static WebServiceContextAnnot createWebServiceConextAnnot() {
+        return new WebServiceContextAnnot();
+    }
+
+    public static WebServiceContextAnnot createWebServiceContextAnnot( 
+			MessageContext messageContext,
+			Principal userPrincipal,
+			boolean isUserInRole
+    		) 
+    {
+        return new WebServiceContextAnnot( 	messageContext,
+        									userPrincipal,
+        									isUserInRole);
+    }
+
+	/**
+	 * @param role The role to check.
+	 * @return Returns boolean indicating whether user is in Role
+	 */
+	public boolean isUserInRole(String role) {
+		return isUserInRole;
+	}
+
+	/**
+	 * @return Returns the messageContext.
+	 */
+	public MessageContext getMessageContext() {
+		return messageContext;
+	}
+
+	/**
+	 * @return Returns the userPrincipal.
+	 */
+	public Principal getUserPrincipal() {
+		return userPrincipal;
+	}
+
+	/**
+	 * @param isUserInRole The isUserInRole to set.
+	 */
+	public void setUserInRole(boolean isUserInRole) {
+		this.isUserInRole = isUserInRole;
+	}
+
+	/**
+	 * @param messageContext The messageContext to set.
+	 */
+	public void setMessageContext(MessageContext messageContext) {
+		this.messageContext = messageContext;
+	}
+
+	/**
+	 * @param userPrincipal The userPrincipal to set.
+	 */
+	public void setUserPrincipal(Principal userPrincipal) {
+		this.userPrincipal = userPrincipal;
+	}
+
+
+	//hmm, should we really do this
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+	
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceProviderAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceProviderAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceProviderAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceProviderAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebServiceProviderAnnot implements javax.xml.ws.WebServiceProvider{
+	
+	private String wsdlLocation = "";
+	private String serviceName = "";
+	private String portName = "";
+	private String targetNamespace = "";
+
+	/**
+     * A WebServiceProviderAnnot cannot be instantiated.
+     */
+	private  WebServiceProviderAnnot(){
+		
+	}
+	
+	private  WebServiceProviderAnnot(
+			String wsdlLocation,
+			String serviceName,
+			String portName,
+			String targetNamespace)
+	{
+		this.targetNamespace = targetNamespace;
+		this.serviceName = serviceName;
+		this.wsdlLocation = wsdlLocation;
+		this.portName = portName;
+	}
+
+    public static WebServiceProviderAnnot createWebServiceAnnotImpl() {
+        return new WebServiceProviderAnnot();
+    }
+
+    public static WebServiceProviderAnnot createWebServiceAnnotImpl( 
+    			String name,
+    			String targetNamespace,
+    			String serviceName,
+    			String wsdlLocation,
+    			String endpointInterface,
+    			String portName
+    		) 
+    {
+        return new WebServiceProviderAnnot( wsdlLocation,
+        										serviceName,
+        										portName,
+        										targetNamespace); 
+    }
+
+	/**
+	 * @return Returns the portName.
+	 */
+	public String portName() {
+		return portName;
+	}
+
+	/**
+	 * @return Returns the serviceName.
+	 */
+	public String serviceName() {
+		return serviceName;
+	}
+
+	/**
+	 * @return Returns the targetNamespace.
+	 */
+	public String targetNamespace() {
+		return targetNamespace;
+	}
+
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String wsdlLocation() {
+		return wsdlLocation;
+	}
+
+	/**
+	 * @param portName The portName to set.
+	 */
+	public void setPortName(String portName) {
+		this.portName = portName;
+	}
+
+	/**
+	 * @param serviceName The serviceName to set.
+	 */
+	public void setServiceName(String serviceName) {
+		this.serviceName = serviceName;
+	}
+
+	/**
+	 * @param targetNamespace The targetNamespace to set.
+	 */
+	public void setTargetNamespace(String targetNamespace) {
+		this.targetNamespace = targetNamespace;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setWsdlLocation(String wsdlLocation) {
+		this.wsdlLocation = wsdlLocation;
+	}
+
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/WebServiceRefAnnot.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,190 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import java.lang.annotation.Annotation;
+
+public class WebServiceRefAnnot implements javax.xml.ws.WebServiceRef{
+	
+	private String name = "";
+	private String wsdlLocation = "";
+	private Class type;
+	private Class value;
+	private String mappedName = "";
+	
+	private String typeString = "";
+	private String valueString = "";
+	
+	/**
+     * A WebServiceRefAnnot cannot be instantiated.
+     */
+	private  WebServiceRefAnnot(){
+		
+	}
+	
+	private  WebServiceRefAnnot(
+			String 	name,
+			String 	wsdlLocation,
+			Class	type,
+			Class	value,
+			String 	mappedName,
+			String	typeString,
+			String	valueString)
+	{
+		this.name = name;
+		this.wsdlLocation = wsdlLocation;
+		this.type = type;
+		this.value = value;
+		this.mappedName = mappedName;
+		this.typeString = typeString;
+		this.valueString = valueString;
+	}
+
+    public static WebServiceRefAnnot createWebServiceRefAnnotImpl() {
+        return new WebServiceRefAnnot();
+    }
+
+    public static WebServiceRefAnnot createWebServiceRefAnnotImpl( 
+    			String 	name,
+    			String 	wsdlLocation,
+    			Class	type,
+    			Class	value,
+    			String	mappedName,
+    			String	typeString,
+    			String	valueString
+    		) 
+    {
+        return new WebServiceRefAnnot( 	name, 
+        								wsdlLocation, 
+        								type, 
+        								value, 
+        								mappedName,
+        								typeString,
+        								valueString);
+    }
+
+	
+	/**
+	 * @return Returns the mappedName.
+	 */
+	public String mappedName() {
+		return mappedName;
+	}
+
+	/**
+	 * @return Returns the name.
+	 */
+	public String name() {
+		return name;
+	}
+
+	/**
+	 * @return Returns the type.
+	 */
+	public Class type() {
+		return type;
+	}
+
+	/**
+	 * @return Returns the value.
+	 */
+	public Class value() {
+		return value;
+	}
+
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String wsdlLocation() {
+		return wsdlLocation;
+	}
+
+	/**
+	 * @return Returns the typeString.
+	 */
+	public String getTypeString() {
+		return typeString;
+	}
+
+	/**
+	 * @return Returns the valueString.
+	 */
+	public String getValueString() {
+		return valueString;
+	}
+	
+	/**
+	 * @param mappedName The mappedName to set.
+	 */
+	public void setMappedName(String mappedName) {
+		this.mappedName = mappedName;
+	}
+
+	/**
+	 * @param name The name to set.
+	 */
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	/**
+	 * @param type The type to set.
+	 */
+	public void setType(Class type) {
+		this.type = type;
+	}
+
+	/**
+	 * @param value The value to set.
+	 */
+	public void setValue(Class value) {
+		this.value = value;
+	}
+
+	/**
+	 * @param wsdlLocation The wsdlLocation to set.
+	 */
+	public void setWsdlLocation(String wsdlLocation) {
+		this.wsdlLocation = wsdlLocation;
+	}
+
+	/**
+	 * @return Returns the wsdlLocation.
+	 */
+	public String getWsdlLocation() {
+		return wsdlLocation;
+	}
+
+	/**
+	 * @param typeString The typeString to set.
+	 */
+	public void setTypeString(String typeString) {
+		this.typeString = typeString;
+	}
+	
+	/**
+	 * @param valueString The valueString to set.
+	 */
+	public void setValueString(String valueString) {
+		this.valueString = valueString;
+	}
+	
+	public Class<Annotation> annotationType(){
+		return Annotation.class;
+	}
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/DescriptionBuilderTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/DescriptionBuilderTests.java?view=auto&rev=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/DescriptionBuilderTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/builder/DescriptionBuilderTests.java Wed Sep 27 10:23:30 2006
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.axis2.jaxws.description.builder;
+
+import junit.framework.TestCase;
+
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.builder.WebServiceAnnot;
+
+/**
+ * Directly test the Description classes built via annotations without a WSDL file.
+ * These tests focus on combinations of the following:
+ * - A generic service (no annotations)
+ * - A generated service (annotations)
+ * - An SEI
+ */
+public class DescriptionBuilderTests extends TestCase {
+    
+    /* 
+     * ========================================================================
+     * ServiceDescription Tests
+     * ========================================================================
+     */
+    public void testCreateWebServiceInputImpl() {
+        String name = "EchoServiceAnnotated";
+        String targetNamespace = "echoTargetNamespace";
+        String serviceName = "EchoServiceName";
+        String wsdlLocation = "http://EchoService/wsdl";
+        String endpointInterface = "EchoServiceEndpointInterface";
+        String portName = "EchoServiceAnnotatedPort";
+        
+    	WebServiceAnnot webServiceAnnotImpl1 = 
+    				WebServiceAnnot.createWebServiceAnnotImpl();
+
+    	WebServiceAnnot webServiceAnnotImpl2 = 
+			WebServiceAnnot.createWebServiceAnnotImpl(
+	    													name,
+	    													targetNamespace,
+	    													serviceName,
+	    													wsdlLocation,
+	    													endpointInterface,
+	    													portName);
+    	
+    	DescriptionBuilderComposite descriptionBuilderComposite = 
+    									new DescriptionBuilderComposite();
+    	
+    	descriptionBuilderComposite.setWebServiceAnnot(webServiceAnnotImpl2);
+    	
+    	
+    	WebServiceAnnot webServiceAnnotImpl3 = 
+    		descriptionBuilderComposite.getWebServiceAnnot();
+        
+    	assertNotNull("WebService name not set", webServiceAnnotImpl3.name());
+    	assertNotNull("WebService targetNamespace not set", webServiceAnnotImpl3.name());
+    	assertNotNull("WebService serviceName not set", webServiceAnnotImpl3.name());
+    	assertNotNull("WebService wsdlLocation not set", webServiceAnnotImpl3.name());
+    	assertNotNull("WebService endpointInterface not set", webServiceAnnotImpl3.name());
+	
+    	System.out.println("WebService name:" +webServiceAnnotImpl3.name());
+    }
+ 
+}

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java?view=diff&rev=450512&r1=450511&r2=450512
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java Wed Sep 27 10:23:30 2006
@@ -29,6 +29,7 @@
 import org.apache.axis2.jaxws.description.ServiceDescriptionTests;
 import org.apache.axis2.jaxws.description.WSDLDescriptionTests;
 import org.apache.axis2.jaxws.description.WSDLTests;
+import org.apache.axis2.jaxws.description.builder.DescriptionBuilderTests;
 import org.apache.axis2.jaxws.dispatch.SOAP12Dispatch;
 import org.apache.axis2.jaxws.exception.ExceptionFactoryTests;
 import org.apache.axis2.jaxws.handler.HandlerChainProcessorTests;
@@ -68,6 +69,7 @@
         suite.addTestSuite(MTOMSerializationTests.class);
         
         suite.addTestSuite(WSDLTests.class);
+        suite.addTestSuite(DescriptionBuilderTests.class);
         suite.addTestSuite(ServiceDescriptionTests.class);
         suite.addTestSuite(WSDLDescriptionTests.class);
         suite.addTestSuite(AnnotationDescriptionTests.class);



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org