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 ch...@apache.org on 2004/12/07 05:25:51 UTC

svn commit: r110071 - in webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura: src/java/org/apache/axis/wsdl/servicedesc src/java/org/apache/axis/wsdl/towom src/java/org/apache/axis/wsdl/wom src/java/org/apache/wsdl src/java/org/apache/wsdl/wom src/java/org/apache/wsdl/wom/impl src/java/org/apache/wsdl/wom/mdesbak src/java/org/apache/wsdl/wsdltowom test/test/wsdl/wom test/test/wsdl/wombuilder

Author: chinthaka
Date: Mon Dec  6 20:25:50 2004
New Revision: 110071

URL: http://svn.apache.org/viewcvs?view=rev&rev=110071
Log:
The cleaned up interface with Incomplete WSDL 1.1 To WOM Builder
Added:
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/servicedesc/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/servicedesc/AXISWSDLService.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Componen.uml   (contents, props changed)
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Component.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/FaultReference.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/MessageReference.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WDSLProperty.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLBinding.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLConstants.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLDefinitions.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLEndpoint.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFault.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFeature.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLInterface.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLOperation.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLService.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/ComponentImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/FaultReferenceImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/MessageReferenceImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WDSLPropertyImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLBindingImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLDefinitionsImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLEndpointImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFaultImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFeatureImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLInterfaceImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLOperationImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLProcessingException.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLServiceImpl.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/mdesbak/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/mdesbak/Componen_b0.uml   (contents, props changed)
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/Parser.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilder.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilderFactory.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL1ToWOMBuilder.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL2ToWOMBuilder.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL4JtoWOMPump.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDLPump.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wombuilder/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wombuilder/WSDL1BuilderTest.java
Removed:
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/towom/
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/wom/
Modified:
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java
   webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/servicedesc/AXISWSDLService.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/servicedesc/AXISWSDLService.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/axis/wsdl/servicedesc/AXISWSDLService.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.axis.wsdl.servicedesc;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axis.deployment.MetaData.BeanMappingMetaData;
+import org.apache.axis.engine.Operation;
+import org.apache.axis.engine.Provider;
+import org.apache.axis.engine.registry.Flow;
+import org.apache.axis.engine.registry.Parameter;
+import org.apache.axis.engine.registry.TypeMapping;
+import org.apache.wsdl.wom.WSDLService;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface AXISWSDLService extends WSDLService{
+    public void addModules(QName moduleref);
+
+    public void addParameters(Parameter parameter);
+
+    public void setInFlow(Flow inflow);
+
+    public Flow getInFlow();
+    
+    public void setOutFlow(Flow outflow);
+
+    public Flow getOutFlow();
+
+    public void setFaultFlow(Flow faultflow);
+
+    public Flow getFaultFlow();
+
+    public void setClassLoader(ClassLoader classloader);
+
+    public void setTypeMapping(TypeMapping typemapping);
+
+    public void setBeanMapping(BeanMappingMetaData beanmapping);
+
+    public void setProvider(Provider provider);
+
+    public void setStyle(String style);
+
+    public void setContextPath(String contextpath);
+
+    public Operation getOperation();
+
+    public void setOperation(Operation operation);
+
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Componen.uml
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Componen.uml?view=auto&rev=110071
==============================================================================
Binary file. No diff available.

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Component.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Component.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/Component.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.util.HashMap;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface Component {
+    /**
+     * Returns the properties that are specific to this WSDL Component.
+     * 
+     */
+    public HashMap getComponentProperties();
+
+    /**
+     * Sets the properties of the Component if any.
+     */
+    public void setComponentProperties(HashMap properties);
+
+    /**
+     * Will set the property keyed with the relavent key
+     * @param key Key in the map
+     * @param obj Object to be put
+     */
+    public void setComponentProperty(Object key, Object obj);
+
+    /**
+     * Gets the component property
+     * @param key key for the map search.
+     * @return
+     */
+    public Object getComponentProperty(Object key);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.util.HashMap;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface Component {
+    /**
+     * Returns the properties that are specific to this WSDL Component.
+     * 
+     */
+    public HashMap getComponentProperties();
+
+    /**
+     * Sets the properties of the Component if any.
+     */
+    public void setComponentProperties(HashMap properties);
+
+    /**
+     * Will set the property keyed with the relavent key
+     * @param key Key in the map
+     * @param obj Object to be put
+     */
+    public void setComponentProperty(Object key, Object obj);
+
+    /**
+     * Gets the component property
+     * @param key key for the map search.
+     * @return
+     */
+    public Object getComponentProperty(Object key);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/FaultReference.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/FaultReference.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/FaultReference.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface FaultReference {
+    /**
+     * Returns the direction of the Fault according the MEP
+     * @return
+     */
+    public String getDirection();
+
+    /**
+     * Sets the direction of the Fault.
+     * @param direction
+     */
+    public void setDirection(String direction);
+
+    public String getMessageLabel();
+
+    public void setMessageLabel(String messageLabel);
+
+    /**
+     * Returns the Fault reference.
+     * @return
+     */
+    public String getRef();
+
+    /**
+     * Sets the Fault reference.
+     * @param ref
+     */
+    public void setRef(String ref);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface FaultReference {
+    /**
+     * Returns the direction of the Fault according the MEP
+     * @return
+     */
+    public String getDirection();
+
+    /**
+     * Sets the direction of the Fault.
+     * @param direction
+     */
+    public void setDirection(String direction);
+
+    public String getMessageLabel();
+
+    public void setMessageLabel(String messageLabel);
+
+    /**
+     * Returns the Fault reference.
+     * @return
+     */
+    public String getRef();
+
+    /**
+     * Sets the Fault reference.
+     * @param ref
+     */
+    public void setRef(String ref);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/MessageReference.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/MessageReference.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/MessageReference.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface MessageReference {
+    public String getDirection();
+
+    public void setDirection(String direction);
+
+    public String getElement();
+
+    public void setElement(String element);
+
+    public String getMessageLabel();
+
+    public void setMessageLabel(String messageLabel);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface MessageReference {
+    public String getDirection();
+
+    public void setDirection(String direction);
+
+    public String getElement();
+
+    public void setElement(String element);
+
+    public String getMessageLabel();
+
+    public void setMessageLabel(String messageLabel);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WDSLProperty.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WDSLProperty.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WDSLProperty.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WDSLProperty {
+    public Object getConstraint();
+
+    public void setConstraint(Object constraint);
+
+    public URI getName();
+
+    public void setName(URI name);
+
+    public Object getValue();
+
+    public void setValue(Object value);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WDSLProperty {
+    public Object getConstraint();
+
+    public void setConstraint(Object constraint);
+
+    public URI getName();
+
+    public void setName(URI name);
+
+    public Object getValue();
+
+    public void setValue(Object value);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLBinding.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLBinding.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLBinding.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLBinding {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public WSDLInterface getBoundInterface();
+
+    public void setBoundInterface(WSDLInterface boundInterface);
+
+    public List getFaults();
+
+    public void setFaults(List faults);
+
+    public QName getName();
+
+    public void setName(QName name);
+
+    public List getOperations();
+
+    public void setOperations(List operations);
+
+    public URI getTargetNameSpace();
+
+    public void setTargetNameSpace(URI targetNameSpace);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLBinding {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public WSDLInterface getBoundInterface();
+
+    public void setBoundInterface(WSDLInterface boundInterface);
+
+    public List getFaults();
+
+    public void setFaults(List faults);
+
+    public QName getName();
+
+    public void setName(QName name);
+
+    public List getOperations();
+
+    public void setOperations(List operations);
+
+    public URI getTargetNameSpace();
+
+    public void setTargetNameSpace(URI targetNameSpace);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLConstants.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLConstants.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLConstants.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLConstants {
+
+  public static final String WSDL2_0_NAMESPACE = "http://www.w3.org/2004/03/wsdl";
+  
+  public static final String WSDL1_1_NAMESPACE = "http://schemas.xmlsoap.org/wsdl/";
+  
+  public static final String[]WSDL_NAMESPACES = {WSDL2_0_NAMESPACE, WSDL1_1_NAMESPACE};
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLConstants {
+
+  public static final String WSDL2_0_NAMESPACE = "http://www.w3.org/2004/03/wsdl";
+  
+  public static final String WSDL1_1_NAMESPACE = "http://schemas.xmlsoap.org/wsdl/";
+  
+  public static final String[]WSDL_NAMESPACES = {WSDL2_0_NAMESPACE, WSDL1_1_NAMESPACE};
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLDefinitions.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLDefinitions.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLDefinitions.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,286 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.xmlbeans.XmlObject;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLDefinitions {
+    /**
+     * Returns a Map of <code>WSDLBindings</code> Objects keyed by the <code>QName</code>
+     * of the Binding. 
+     */
+    public HashMap getBindings();
+
+    /**
+     * Sets the whole new set of Bindings to the WSDLDefinition.
+     */
+    public void setBindings(HashMap bindings);
+
+    /**
+     * The WSDLBinding Will be added to the map keyed  with its own QName.
+     * If the WSDLBinding is null it will not be added.
+     * If the WSDLBinding is not null and  Binding name is null then 
+     * WSDLProcessingException will be thrown
+     * @param binding <code>WSDLBinding</code> Object
+     */
+    public void addBinding(WSDLBinding binding);
+
+    /**
+     * Retrives the <code>WSDLBinding</code> by its QName. Will throw an exception 
+     * if the Binding is not found in the  <code>WSDLBinding</code>s map it will throw an
+     * WSDLProcessingException.
+     * @param qName THe QName of the Binding.
+     */
+    public WSDLBinding getBinding(QName qName);
+
+    /**
+     * The Interface component will be added to the map keyed with its own name.
+     * If the Interface is null it will not be added.
+     * If the interface name is null an WSDLProcessingException will be thrown
+     * @param interfaceComponent
+     */
+    public void addInterface(WSDLInterface interfaceComponent);
+
+    /**
+     * The Interface Component will be returned if it exsists, otherwise will throw an 
+     * WSDLException.
+     * @param qName qName of the Interface.
+     * @return The Interface Component with the relavent QName w
+     */
+    public WSDLInterface getInterface(QName qName);
+
+    public HashMap getServices();
+
+    public void setServices(HashMap services);
+
+    /**
+     * The Service will be retrived despite its namespace being either of
+     * that specified in the WSDLConstants class(WSDL_NAMESPACES) otherwise the checkValidityOfNamespaceWRTWSDLContext() 
+     * method will throw an exception.
+     * @param qName THe Namespace of the QName should be either of the WSDL_NAMESPACES
+     * mentioned in the WSDLConstants interface.
+     * @return The Service with the relavent QName which have a namespace
+     * that qualifies that of the versions in the WSDLConstants interface.
+     */
+    public WSDLService getService(QName qName);
+
+    /**
+     * Service will be retrived by its NCName and the Namespace of the QName
+     * is assumed to be in line with that of the WSDL_NAMESPACES in the WSDLConstants
+     * interface, Thus no namespace checking will be done.
+     * @param nCName NCName of the Service
+     * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+     */
+    public WSDLService getService(String nCName);
+
+    public String getTargetNameSpace();
+
+    public void setTargetNameSpace(String targetNameSpace);
+
+    public HashMap getWsdlInterfaces();
+
+    public void setWsdlInterfaces(HashMap wsdlInterfaces);
+
+    public XmlObject[] getTypes();
+
+    public void setTypes(XmlObject[] types);
+
+    /**
+     * Gets the name attrebute of the WSDL 1.1 Definitions Element 
+     * @return
+     */
+    public QName getWSDL1DefinitionName();
+
+    /**
+     * Sets the name attrebute of the WSDL 1.1 Definitions Element
+     * @param wsdl1DefinitionName
+     */
+    public void setWSDL1DefinitionName(QName wsdl1DefinitionName);
+
+    /**
+     * Will return all the Namespaces associated with the Definition
+     * Component and will be keyed by the Napespace Prefix.
+     * @return
+     */
+    public HashMap getNamespaces();
+
+    /**
+     * Sets the Namespaces associated with the Difinition Component
+     * and they should be keyed by its Namespace Prefix.
+     * @param namespaces
+     */
+    public void setNamespaces(HashMap namespaces);
+
+    /**
+     * Will return the Namespace URI as a String if there exists an 
+     * Namespace URI associated with the given prefix, in the Definition
+     * Component, Will return null if not found.
+     * @param prefix Prefix defined in the Definitions elemet in the WSDL file
+     * @return The Namespace URI for the prefix.
+     */
+    public String getNamespace(String prefix);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.xmlbeans.XmlObject;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLDefinitions {
+    /**
+     * Returns a Map of <code>WSDLBindings</code> Objects keyed by the <code>QName</code>
+     * of the Binding. 
+     */
+    public HashMap getBindings();
+
+    /**
+     * Sets the whole new set of Bindings to the WSDLDefinition.
+     */
+    public void setBindings(HashMap bindings);
+
+    /**
+     * The WSDLBinding Will be added to the map keyed  with its own QName.
+     * If the WSDLBinding is null it will not be added.
+     * If the WSDLBinding is not null and  Binding name is null then 
+     * WSDLProcessingException will be thrown
+     * @param binding <code>WSDLBinding</code> Object
+     */
+    public void addBinding(WSDLBinding binding);
+
+    /**
+     * Retrives the <code>WSDLBinding</code> by its QName. Will throw an exception 
+     * if the Binding is not found in the  <code>WSDLBinding</code>s map it will throw an
+     * WSDLProcessingException.
+     * @param qName THe QName of the Binding.
+     */
+    public WSDLBinding getBinding(QName qName);
+
+    /**
+     * The Interface component will be added to the map keyed with its own name.
+     * If the Interface is null it will not be added.
+     * If the interface name is null an WSDLProcessingException will be thrown
+     * @param interfaceComponent
+     */
+    public void addInterface(WSDLInterface interfaceComponent);
+
+    /**
+     * The Interface Component will be returned if it exsists, otherwise will throw an 
+     * WSDLException.
+     * @param qName qName of the Interface.
+     * @return The Interface Component with the relavent QName w
+     */
+    public WSDLInterface getInterface(QName qName);
+
+    public HashMap getServices();
+
+    public void setServices(HashMap services);
+
+    /**
+     * The Service will be retrived despite its namespace being either of
+     * that specified in the WSDLConstants class(WSDL_NAMESPACES) otherwise the checkValidityOfNamespaceWRTWSDLContext() 
+     * method will throw an exception.
+     * @param qName THe Namespace of the QName should be either of the WSDL_NAMESPACES
+     * mentioned in the WSDLConstants interface.
+     * @return The Service with the relavent QName which have a namespace
+     * that qualifies that of the versions in the WSDLConstants interface.
+     */
+    public WSDLService getService(QName qName);
+
+    /**
+     * Service will be retrived by its NCName and the Namespace of the QName
+     * is assumed to be in line with that of the WSDL_NAMESPACES in the WSDLConstants
+     * interface, Thus no namespace checking will be done.
+     * @param nCName NCName of the Service
+     * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+     */
+    public WSDLService getService(String nCName);
+
+    public String getTargetNameSpace();
+
+    public void setTargetNameSpace(String targetNameSpace);
+
+    public HashMap getWsdlInterfaces();
+
+    public void setWsdlInterfaces(HashMap wsdlInterfaces);
+
+    public XmlObject[] getTypes();
+
+    public void setTypes(XmlObject[] types);
+
+    /**
+     * Gets the name attrebute of the WSDL 1.1 Definitions Element 
+     * @return
+     */
+    public QName getWSDL1DefinitionName();
+
+    /**
+     * Sets the name attrebute of the WSDL 1.1 Definitions Element
+     * @param wsdl1DefinitionName
+     */
+    public void setWSDL1DefinitionName(QName wsdl1DefinitionName);
+
+    /**
+     * Will return all the Namespaces associated with the Definition
+     * Component and will be keyed by the Napespace Prefix.
+     * @return
+     */
+    public HashMap getNamespaces();
+
+    /**
+     * Sets the Namespaces associated with the Difinition Component
+     * and they should be keyed by its Namespace Prefix.
+     * @param namespaces
+     */
+    public void setNamespaces(HashMap namespaces);
+
+    /**
+     * Will return the Namespace URI as a String if there exists an 
+     * Namespace URI associated with the given prefix, in the Definition
+     * Component, Will return null if not found.
+     * @param prefix Prefix defined in the Definitions elemet in the WSDL file
+     * @return The Namespace URI for the prefix.
+     */
+    public String getNamespace(String prefix);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLEndpoint.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLEndpoint.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLEndpoint.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLEndpoint {
+    public WSDLBinding getBinding();
+
+    public void setBinding(WSDLBinding binding);
+
+    public String getName();
+
+    public void setName(String name);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLEndpoint {
+    public WSDLBinding getBinding();
+
+    public void setBinding(WSDLBinding binding);
+
+    public String getName();
+
+    public void setName(String name);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFault.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFault.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFault.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import org.w3c.dom.Element;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLFault {
+	public Element getElement();
+
+	public void setElement(Element element);
+
+	public String getName();
+
+	public void setName(String name);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import org.w3c.dom.Element;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLFault {
+	public Element getElement();
+
+	public void setElement(Element element);
+
+	public String getName();
+
+	public void setName(String name);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFeature.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFeature.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLFeature.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLFeature {
+	public URI getName();
+
+	public void setName(URI name);
+
+	public boolean isRequired();
+
+	public void setRequired(boolean required);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLFeature {
+	public URI getName();
+
+	public void setName(URI name);
+
+	public boolean isRequired();
+
+	public void setRequired(boolean required);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLInterface.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLInterface.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLInterface.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,256 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLInterface {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public HashMap getDefinedOperations(WSDLInterface wsdlInterface);
+
+    public HashMap getDefinedOperations();
+
+    /**
+     * Will return a map of all this <code>WSDLOperation</code>s that 
+     * are defined and inherited from super interfaces.
+     */
+    public HashMap getAllOperations();
+
+    /**
+     * @return
+     */
+    public List getFaults();
+
+    /**
+     * @return
+     */
+    public QName getName();
+
+    /**
+     * @return
+     */
+    public HashMap getOperations();
+
+    public WSDLOperation getOperation(QName qName);
+
+    public WSDLOperation getOperation(String nCName);
+
+    /**
+     * @return
+     */
+    public HashMap getSuperInterfaces();
+
+    public WSDLInterface getSuperInterface(QName qName);
+
+    /**
+     * @return
+     */
+    public URI getTargetnamespace();
+
+    /**
+     * @param list
+     */
+    public void setFaults(List list);
+
+    /**
+     * @param string
+     */
+    public void setName(QName qName);
+
+    /**
+     * @param list
+     */
+    public void setOperations(HashMap list);
+
+    /**
+     * The Operation will be added to the interfce's operations.
+     * Though the Qname is required the actual storage will be from the 
+     * NCName of the operation, but the namespace URI of the QName 
+     * should match that of the Namespaces defined in the WSDLConstants interface. 
+     * @param qName
+     * @param operation
+     */
+    public void setOperation(QName qName, WSDLOperation operation);
+
+    /**
+     * The operation is added by its ncname.
+     * @param nCName
+     * @param operation
+     */
+    public void setOperation(String nCName, WSDLOperation operation);
+
+    /**
+     * @param list
+     */
+    public void setSuperInterfaces(HashMap list);
+
+    /**
+     * The Inteface will be added to the list of super interfaces keyed with 
+     * the QName.
+     * @param qName The QName of the Inteface
+     * @param interfaceComponent WSDLInterface Object
+     */
+    public void addSuperInterface(QName qName, WSDLInterface interfaceComponent);
+
+    /**
+     * @param uri
+     */
+    public void setTargetnamespace(URI uri);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLInterface {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public HashMap getDefinedOperations(WSDLInterface wsdlInterface);
+
+    public HashMap getDefinedOperations();
+
+    /**
+     * Will return a map of all this <code>WSDLOperation</code>s that 
+     * are defined and inherited from super interfaces.
+     */
+    public HashMap getAllOperations();
+
+    /**
+     * @return
+     */
+    public List getFaults();
+
+    /**
+     * @return
+     */
+    public QName getName();
+
+    /**
+     * @return
+     */
+    public HashMap getOperations();
+
+    public WSDLOperation getOperation(QName qName);
+
+    public WSDLOperation getOperation(String nCName);
+
+    /**
+     * @return
+     */
+    public HashMap getSuperInterfaces();
+
+    public WSDLInterface getSuperInterface(QName qName);
+
+    /**
+     * @return
+     */
+    public URI getTargetnamespace();
+
+    /**
+     * @param list
+     */
+    public void setFaults(List list);
+
+    /**
+     * @param string
+     */
+    public void setName(QName qName);
+
+    /**
+     * @param list
+     */
+    public void setOperations(HashMap list);
+
+    /**
+     * The Operation will be added to the interfce's operations.
+     * Though the Qname is required the actual storage will be from the 
+     * NCName of the operation, but the namespace URI of the QName 
+     * should match that of the Namespaces defined in the WSDLConstants interface. 
+     * @param qName
+     * @param operation
+     */
+    public void setOperation(QName qName, WSDLOperation operation);
+
+    /**
+     * The operation is added by its ncname.
+     * @param nCName
+     * @param operation
+     */
+    public void setOperation(String nCName, WSDLOperation operation);
+
+    /**
+     * @param list
+     */
+    public void setSuperInterfaces(HashMap list);
+
+    /**
+     * The Inteface will be added to the list of super interfaces keyed with 
+     * the QName.
+     * @param qName The QName of the Inteface
+     * @param interfaceComponent WSDLInterface Object
+     */
+    public void addSuperInterface(QName qName, WSDLInterface interfaceComponent);
+
+    /**
+     * @param uri
+     */
+    public void setTargetnamespace(URI uri);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLOperation.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLOperation.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLOperation.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,140 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.List;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLOperation {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public List getInfaults();
+
+    public void setInfaults(List infaults);
+
+    public MessageReference getInputMessage();
+
+    public void setInputMessage(MessageReference inputMessage);
+
+    public int getMessageExchangePattern();
+
+    public void setMessageExchangePattern(int messageExchangePattern);
+
+    public String getName();
+
+    public void setName(String name);
+
+    public List getOutfaults();
+
+    public void setOutfaults(List outfaults);
+
+    public MessageReference getOutputMessage();
+
+    public void setOutputMessage(MessageReference outputMessage);
+
+    public boolean isSafe();
+
+    public void setSafety(boolean safe);
+
+    public int getStyle();
+
+    public void setStyle(int style);
+
+    public URI getTargetnemespace();
+
+    public void setTargetnemespace(URI targetnemespace);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.List;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLOperation {
+    public List getFeatures();
+
+    public void setFeatures(List features);
+
+    public List getProperties();
+
+    public void setProperties(List properties);
+
+    public List getInfaults();
+
+    public void setInfaults(List infaults);
+
+    public MessageReference getInputMessage();
+
+    public void setInputMessage(MessageReference inputMessage);
+
+    public int getMessageExchangePattern();
+
+    public void setMessageExchangePattern(int messageExchangePattern);
+
+    public String getName();
+
+    public void setName(String name);
+
+    public List getOutfaults();
+
+    public void setOutfaults(List outfaults);
+
+    public MessageReference getOutputMessage();
+
+    public void setOutputMessage(MessageReference outputMessage);
+
+    public boolean isSafe();
+
+    public void setSafety(boolean safe);
+
+    public int getStyle();
+
+    public void setStyle(int style);
+
+    public URI getTargetnemespace();
+
+    public void setTargetnemespace(URI targetnemespace);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLService.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLService.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/WSDLService.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.HashMap;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLService {
+    public HashMap getEndpoints();
+
+    public void setEndpoints(HashMap endpoints);
+
+    /**
+     * Will add a WSDLEndpoint object to the WOM keyed with NCName;
+     */
+    public void setEndpoint(WSDLEndpoint endpoint, String nCName);
+
+    /**
+     * Endpoint will be retrived by its NCName.
+     * @param nCName NCName of the Service
+     * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+     */
+    public WSDLService getService(String nCName);
+
+    public String getName();
+
+    public void setName(String name);
+
+    public URI getNamespaceURI();
+
+    public void setNamespaceURI(URI namespaceURI);
+
+    public WSDLInterface getServiceInterface();
+
+    public void setServiceInterface(WSDLInterface serviceInterface);
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom;
+
+import java.net.URI;
+import java.util.HashMap;
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WSDLService {
+    public HashMap getEndpoints();
+
+    public void setEndpoints(HashMap endpoints);
+
+    /**
+     * Will add a WSDLEndpoint object to the WOM keyed with NCName;
+     */
+    public void setEndpoint(WSDLEndpoint endpoint, String nCName);
+
+    /**
+     * Endpoint will be retrived by its NCName.
+     * @param nCName NCName of the Service
+     * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+     */
+    public WSDLService getService(String nCName);
+
+    public String getName();
+
+    public void setName(String name);
+
+    public URI getNamespaceURI();
+
+    public void setNamespaceURI(URI namespaceURI);
+
+    public WSDLInterface getServiceInterface();
+
+    public void setServiceInterface(WSDLInterface serviceInterface);
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/ComponentImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/ComponentImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/ComponentImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,150 @@
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.Component;
+import org.apache.wsdl.wom.WSDLConstants;
+
+
+
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class ComponentImpl implements  WSDLConstants, Component{
+
+    protected HashMap componentProperties = new HashMap();
+    
+    /**
+     * Returns the properties that are specific to this WSDL Component.
+     * 
+     */
+    public HashMap getComponentProperties() {
+        return componentProperties;
+    }
+    /**
+     * Sets the properties of the Component if any.
+     */
+    public void setComponentProperties(HashMap properties) {
+        this.componentProperties = properties;
+    }
+    
+    /**
+     * Will set the property keyed with the relavent key
+     * @param key Key in the map
+     * @param obj Object to be put
+     */
+    public void setComponentProperty(Object key, Object obj){
+        this.componentProperties.put(key, obj);
+    }
+    
+    /**
+     * Gets the component property
+     * @param key key for the map search.
+     * @return
+     */
+    public Object getComponentProperty(Object key){
+        return this.componentProperties.get(key);
+    }
+    
+    protected void checkValidityOfNamespaceWRTWSDLContext(QName qName){
+        for(int i=0; i< WSDL_NAMESPACES.length; i++){
+            if(qName.getNamespaceURI() == WSDL_NAMESPACES[i]) 
+               return;
+        }
+        throw new WSDLProcessingException("The Namespace of the QName is not a valid WSDL namespace");
+    }
+}
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.Component;
+import org.apache.wsdl.wom.WSDLConstants;
+
+
+
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class ComponentImpl implements  WSDLConstants, Component{
+
+    protected HashMap componentProperties = new HashMap();
+    
+    /**
+     * Returns the properties that are specific to this WSDL Component.
+     * 
+     */
+    public HashMap getComponentProperties() {
+        return componentProperties;
+    }
+    /**
+     * Sets the properties of the Component if any.
+     */
+    public void setComponentProperties(HashMap properties) {
+        this.componentProperties = properties;
+    }
+    
+    /**
+     * Will set the property keyed with the relavent key
+     * @param key Key in the map
+     * @param obj Object to be put
+     */
+    public void setComponentProperty(Object key, Object obj){
+        this.componentProperties.put(key, obj);
+    }
+    
+    /**
+     * Gets the component property
+     * @param key key for the map search.
+     * @return
+     */
+    public Object getComponentProperty(Object key){
+        return this.componentProperties.get(key);
+    }
+    
+    protected void checkValidityOfNamespaceWRTWSDLContext(QName qName){
+        for(int i=0; i< WSDL_NAMESPACES.length; i++){
+            if(qName.getNamespaceURI() == WSDL_NAMESPACES[i]) 
+               return;
+        }
+        throw new WSDLProcessingException("The Namespace of the QName is not a valid WSDL namespace");
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/FaultReferenceImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/FaultReferenceImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/FaultReferenceImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,144 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.FaultReference;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class FaultReferenceImpl extends ComponentImpl implements FaultReference   {
+
+	//TODO make it  a QNAME
+	private String ref;
+	
+	//TODO put the value if available ; if not message lable property of the message with same direction of the interface component.
+	private String messageLabel;
+	
+	private String direction;
+	
+	/**
+	 * Returns the direction of the Fault according the MEP
+	 * @return
+	 */
+	public String getDirection() {
+		return direction;
+	}
+	
+	/**
+	 * Sets the direction of the Fault.
+	 * @param direction
+	 */
+	public void setDirection(String direction) {
+		this.direction = direction;
+	}
+	
+	public String getMessageLabel() {
+		return messageLabel;
+	}
+	public void setMessageLabel(String messageLabel) {
+		this.messageLabel = messageLabel;
+	}
+	
+	/**
+	 * Returns the Fault reference.
+	 * @return
+	 */
+	public String getRef() {
+		return ref;
+	}
+	
+	/**
+	 * Sets the Fault reference.
+	 * @param ref
+	 */
+	public void setRef(String ref) {
+		this.ref = ref;
+	}
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.FaultReference;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class FaultReferenceImpl extends ComponentImpl implements FaultReference   {
+
+	//TODO make it  a QNAME
+	private String ref;
+	
+	//TODO put the value if available ; if not message lable property of the message with same direction of the interface component.
+	private String messageLabel;
+	
+	private String direction;
+	
+	/**
+	 * Returns the direction of the Fault according the MEP
+	 * @return
+	 */
+	public String getDirection() {
+		return direction;
+	}
+	
+	/**
+	 * Sets the direction of the Fault.
+	 * @param direction
+	 */
+	public void setDirection(String direction) {
+		this.direction = direction;
+	}
+	
+	public String getMessageLabel() {
+		return messageLabel;
+	}
+	public void setMessageLabel(String messageLabel) {
+		this.messageLabel = messageLabel;
+	}
+	
+	/**
+	 * Returns the Fault reference.
+	 * @return
+	 */
+	public String getRef() {
+		return ref;
+	}
+	
+	/**
+	 * Sets the Fault reference.
+	 * @param ref
+	 */
+	public void setRef(String ref) {
+		this.ref = ref;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/MessageReferenceImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/MessageReferenceImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/MessageReferenceImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,120 @@
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.MessageReference;
+
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class MessageReferenceImpl  extends ComponentImpl implements MessageReference  {
+
+			
+	//Referes to the MEP the Message relates to.
+	private String messageLabel;
+	
+	// Can be "in" or "out" depending on the element name being "input" or "output" respectively; 
+	private String Direction;
+	
+	
+	//TODO Do we need it "Message content model"
+	
+	//TODO can make it a QNAME value is a QName that needs to be resolved by the types element children
+	private String element;
+	
+	
+	
+	public String getDirection() {
+		return Direction;
+	}
+	public void setDirection(String direction) {
+		Direction = direction;
+	}
+	public String getElement() {
+		return element;
+	}
+	public void setElement(String element) {
+		this.element = element;
+	}
+	public String getMessageLabel() {
+		return messageLabel;
+	}
+	public void setMessageLabel(String messageLabel) {
+		this.messageLabel = messageLabel;
+	}
+}
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.MessageReference;
+
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class MessageReferenceImpl  extends ComponentImpl implements MessageReference  {
+
+			
+	//Referes to the MEP the Message relates to.
+	private String messageLabel;
+	
+	// Can be "in" or "out" depending on the element name being "input" or "output" respectively; 
+	private String Direction;
+	
+	
+	//TODO Do we need it "Message content model"
+	
+	//TODO can make it a QNAME value is a QName that needs to be resolved by the types element children
+	private String element;
+	
+	
+	
+	public String getDirection() {
+		return Direction;
+	}
+	public void setDirection(String direction) {
+		Direction = direction;
+	}
+	public String getElement() {
+		return element;
+	}
+	public void setElement(String element) {
+		this.element = element;
+	}
+	public String getMessageLabel() {
+		return messageLabel;
+	}
+	public void setMessageLabel(String messageLabel) {
+		this.messageLabel = messageLabel;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WDSLPropertyImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WDSLPropertyImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WDSLPropertyImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+
+import org.apache.wsdl.wom.WDSLProperty;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WDSLPropertyImpl extends ComponentImpl implements WDSLProperty  {
+
+	
+	private URI name;
+	
+	//TODO replace with the  data binding object structure
+	private Object constraint;
+	
+	//TODO replace with the  data binding object structure
+	private Object value;
+	
+	
+	public Object getConstraint() {
+		return constraint;
+	}
+	public void setConstraint(Object constraint) {
+		this.constraint = constraint;
+	}
+	public URI getName() {
+		return name;
+	}
+	public void setName(URI name) {
+		this.name = name;
+	}
+	public Object getValue() {
+		return value;
+	}
+	public void setValue(Object value) {
+		this.value = value;
+	}
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+
+import org.apache.wsdl.wom.WDSLProperty;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WDSLPropertyImpl extends ComponentImpl implements WDSLProperty  {
+
+	
+	private URI name;
+	
+	//TODO replace with the  data binding object structure
+	private Object constraint;
+	
+	//TODO replace with the  data binding object structure
+	private Object value;
+	
+	
+	public Object getConstraint() {
+		return constraint;
+	}
+	public void setConstraint(Object constraint) {
+		this.constraint = constraint;
+	}
+	public URI getName() {
+		return name;
+	}
+	public void setName(URI name) {
+		this.name = name;
+	}
+	public Object getValue() {
+		return value;
+	}
+	public void setValue(Object value) {
+		this.value = value;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLBindingImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLBindingImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLBindingImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,184 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLInterface;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLBindingImpl extends ComponentImpl implements WSDLBinding  {
+
+	private QName name;
+	
+	private URI targetNameSpace;
+	
+	private WSDLInterface boundInterface;
+	
+	private List faults;
+	
+	private List operations;
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();	
+	
+	
+	 
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}	
+	
+	public WSDLInterface getBoundInterface() {
+		return boundInterface;
+	}
+	public void setBoundInterface(WSDLInterface boundInterface) {
+		this.boundInterface = boundInterface;
+	}
+	public List getFaults() {
+		return faults;
+	}
+	public void setFaults(List faults) {
+		this.faults = faults;
+	}
+	public QName getName() {
+		return name;
+	}
+	public void setName(QName name) {
+		this.name = name;
+	}
+	public List getOperations() {
+		return operations;
+	}
+	public void setOperations(List operations) {
+		this.operations = operations;
+	}
+	public URI getTargetNameSpace() {
+		return targetNameSpace;
+	}
+	public void setTargetNameSpace(URI targetNameSpace) {
+		this.targetNameSpace = targetNameSpace;
+	}
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.LinkedList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLInterface;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLBindingImpl extends ComponentImpl implements WSDLBinding  {
+
+	private QName name;
+	
+	private URI targetNameSpace;
+	
+	private WSDLInterface boundInterface;
+	
+	private List faults;
+	
+	private List operations;
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();	
+	
+	
+	 
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}	
+	
+	public WSDLInterface getBoundInterface() {
+		return boundInterface;
+	}
+	public void setBoundInterface(WSDLInterface boundInterface) {
+		this.boundInterface = boundInterface;
+	}
+	public List getFaults() {
+		return faults;
+	}
+	public void setFaults(List faults) {
+		this.faults = faults;
+	}
+	public QName getName() {
+		return name;
+	}
+	public void setName(QName name) {
+		this.name = name;
+	}
+	public List getOperations() {
+		return operations;
+	}
+	public void setOperations(List operations) {
+		this.operations = operations;
+	}
+	public URI getTargetNameSpace() {
+		return targetNameSpace;
+	}
+	public void setTargetNameSpace(URI targetNameSpace) {
+		this.targetNameSpace = targetNameSpace;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLDefinitionsImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLDefinitionsImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLDefinitionsImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,520 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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 thWSDLInterfaceImple 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.wsdl.wom.impl;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLService;
+import org.apache.xmlbeans.XmlObject;
+
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLDefinitionsImpl extends ComponentImpl implements WSDLDefinitions  {
+
+	/**
+	 * The name token of WSDL 1.1 Definition.
+	 */
+    private QName wsdl1DefinitionName ;
+    
+    //TODO local name and the naspace name to be made static or through a Constant class.
+	
+	// The attrebute information items
+	
+	//TODO required; thus check it up
+	private String targetNameSpace;
+	
+	//private NamespaceMappings[] namespaceDefinitions;
+	
+	//TODO The object structure of some external xml data binding is going to be pluged here eventually.  
+	
+	private XmlObject[] types;
+	
+	/**
+	 * This List will be a list of <code>WSDLInterface</code> objects.
+	 */
+	private HashMap wsdlInterfaces = new HashMap();
+	
+	/**
+	 * This <code>HashMap </code> is a Map of <code>WSDLBinding </code> objects. 
+	 */
+	private HashMap bindings = new HashMap();
+	
+	/**
+	 * This <code>HashMap </code> is a list of <code>WSDLService </code> objects.
+	 * Support of multiple is backed by the requirements in the specification.
+	 */
+	private HashMap services = new HashMap();
+	
+	/**
+	 * Will keep a map of all the Namespaces associated with the 
+	 * Definition Component and will be keyed by the Namespace prefix.
+	 */
+	private HashMap namespaces = new HashMap();
+	
+	/**
+	 * Returns a Map of <code>WSDLBindings</code> Objects keyed by the <code>QName</code>
+	 * of the Binding. 
+	 */
+	public HashMap getBindings() {
+		return bindings;
+	}
+	
+	
+	/**
+	 * Sets the whole new set of Bindings to the WSDLDefinition.
+	 */
+	public void setBindings(HashMap bindings) {
+//	    if(this.bindings.size() > 0) throw new WSDLProcessingException("WSDLBimding Map already contains " +
+//	    		"one or more bindings. Trying to assign a new map will loose those Bindings.");
+		this.bindings = bindings;
+	}
+	
+		
+	/**
+	 * The WSDLBinding Will be added to the map keyed  with its own QName.
+	 * If the WSDLBinding is null it will not be added.
+	 * If the WSDLBinding is not null and  Binding name is null then 
+	 * WSDLProcessingException will be thrown
+	 * @param binding <code>WSDLBinding</code> Object
+	 */
+	public void addBinding(WSDLBinding binding){
+	    
+	    if(null == binding) return;
+	    
+	    if( null == binding.getName()) 
+	        	throw new WSDLProcessingException("The WSDLBinding name cannot be null(Required)");
+	   	    
+	    this.bindings.put(binding.getName(), binding);
+	}
+	
+	/**
+	 * Retrives the <code>WSDLBinding</code> by its QName. Will throw an exception 
+	 * if the Binding is not found in the  <code>WSDLBinding</code>s map it will throw an
+	 * WSDLProcessingException.
+	 * @param qName THe QName of the Binding.
+	 */
+	public WSDLBinding getBinding(QName qName){
+	    WSDLBinding temp = (WSDLBinding)this.bindings.get(qName);
+	    
+	    if(null == temp) throw new WSDLProcessingException("Binding not found for QName "+qName);
+	    
+	    return temp;
+	}
+
+		
+	
+	/**
+	 * The Interface component will be added to the map keyed with its own name.
+	 * If the Interface is null it will not be added.
+	 * If the interface name is null an WSDLProcessingException will be thrown
+	 * @param interfaceComponent
+	 */
+	public void addInterface(WSDLInterface interfaceComponent){
+	    if(null == interfaceComponent) return;
+	    if(null == interfaceComponent.getName()) 
+	        throw new WSDLProcessingException("PortType/Interface name cannot be null(Required) ");
+	    
+	    this.wsdlInterfaces.put(interfaceComponent.getName(), interfaceComponent);
+	}
+		
+	
+	/**
+	 * The Interface Component will be returned if it exsists, otherwise will throw an 
+	 * WSDLException.
+	 * @param qName qName of the Interface.
+	 * @return The Interface Component with the relavent QName w
+	 */
+	public WSDLInterface getInterface(QName qName){
+	    
+	    WSDLInterface temp =this.getInterface(qName);
+	    
+	    if(null == temp) throw new WSDLProcessingException("Interface/PortType not found with QName " +qName);
+	    
+	    return temp;
+	}
+
+	
+    public HashMap getServices() {
+        return services;
+    }
+    public void setServices(HashMap services) {
+        this.services = services;
+    }
+    
+    /**
+	 * The Service will be retrived despite its namespace being either of
+	 * that specified in the WSDLConstants class(WSDL_NAMESPACES) otherwise the checkValidityOfNamespaceWRTWSDLContext() 
+	 * method will throw an exception.
+	 * @param qName THe Namespace of the QName should be either of the WSDL_NAMESPACES
+	 * mentioned in the WSDLConstants interface.
+	 * @return The Service with the relavent QName which have a namespace
+	 * that qualifies that of the versions in the WSDLConstants interface.
+	 */
+	public WSDLService getService(QName qName){
+	    checkValidityOfNamespaceWRTWSDLContext(qName);
+	    return this.getService(qName.getLocalPart());
+	}
+	/**
+	 * Service will be retrived by its NCName and the Namespace of the QName
+	 * is assumed to be in line with that of the WSDL_NAMESPACES in the WSDLConstants
+	 * interface, Thus no namespace checking will be done.
+	 * @param nCName NCName of the Service
+	 * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+	 */
+	public WSDLService getService(String nCName){
+	    WSDLService temp = (WSDLService)this.services.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("Service not found for NCName "+nCName);
+	    return temp;
+	}
+    
+    
+	public String getTargetNameSpace() {
+		return targetNameSpace;
+	}
+	public void setTargetNameSpace(String targetNameSpace) {
+		this.targetNameSpace = targetNameSpace;
+	}
+	
+	public HashMap getWsdlInterfaces() {
+		return wsdlInterfaces;
+	}
+	public void setWsdlInterfaces(HashMap wsdlInterfaces) {
+		this.wsdlInterfaces = wsdlInterfaces;
+	}
+    public XmlObject[] getTypes() {
+        return types;
+    }
+    public void setTypes(XmlObject[] types) {
+        this.types = types;
+    }
+    /**
+     * Gets the name attrebute of the WSDL 1.1 Definitions Element 
+     * @return
+     */
+    public QName getWSDL1DefinitionName() {
+        return wsdl1DefinitionName;
+    }
+    
+    /**
+     * Sets the name attrebute of the WSDL 1.1 Definitions Element
+     * @param wsdl1DefinitionName
+     */
+    public void setWSDL1DefinitionName(QName wsdl1DefinitionName) {
+        this.wsdl1DefinitionName = wsdl1DefinitionName;
+    }
+    /**
+     * Will return all the Namespaces associated with the Definition
+     * Component and will be keyed by the Napespace Prefix.
+     * @return
+     */
+    public HashMap getNamespaces() {
+        return namespaces;
+    }
+    
+    /**
+     * Sets the Namespaces associated with the Difinition Component
+     * and they should be keyed by its Namespace Prefix.
+     * @param namespaces
+     */
+    public void setNamespaces(HashMap namespaces) {
+        this.namespaces = namespaces;
+    }
+    
+    
+    /**
+     * Will return the Namespace URI as a String if there exists an 
+     * Namespace URI associated with the given prefix, in the Definition
+     * Component, Will return null if not found.
+     * @param prefix Prefix defined in the Definitions elemet in the WSDL file
+     * @return The Namespace URI for the prefix.
+     */
+    public String getNamespace(String prefix){
+        if(null == prefix){
+            return null;
+        }
+        
+        return (String) this.namespaces.get(prefix);
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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 thWSDLInterfaceImple 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.wsdl.wom.impl;
+
+import java.util.HashMap;
+
+import javax.xml.namespace.QName;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLService;
+import org.apache.xmlbeans.XmlObject;
+
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLDefinitionsImpl extends ComponentImpl implements WSDLDefinitions  {
+
+	/**
+	 * The name token of WSDL 1.1 Definition.
+	 */
+    private QName wsdl1DefinitionName ;
+    
+    //TODO local name and the naspace name to be made static or through a Constant class.
+	
+	// The attrebute information items
+	
+	//TODO required; thus check it up
+	private String targetNameSpace;
+	
+	//private NamespaceMappings[] namespaceDefinitions;
+	
+	//TODO The object structure of some external xml data binding is going to be pluged here eventually.  
+	
+	private XmlObject[] types;
+	
+	/**
+	 * This List will be a list of <code>WSDLInterface</code> objects.
+	 */
+	private HashMap wsdlInterfaces = new HashMap();
+	
+	/**
+	 * This <code>HashMap </code> is a Map of <code>WSDLBinding </code> objects. 
+	 */
+	private HashMap bindings = new HashMap();
+	
+	/**
+	 * This <code>HashMap </code> is a list of <code>WSDLService </code> objects.
+	 * Support of multiple is backed by the requirements in the specification.
+	 */
+	private HashMap services = new HashMap();
+	
+	/**
+	 * Will keep a map of all the Namespaces associated with the 
+	 * Definition Component and will be keyed by the Namespace prefix.
+	 */
+	private HashMap namespaces = new HashMap();
+	
+	/**
+	 * Returns a Map of <code>WSDLBindings</code> Objects keyed by the <code>QName</code>
+	 * of the Binding. 
+	 */
+	public HashMap getBindings() {
+		return bindings;
+	}
+	
+	
+	/**
+	 * Sets the whole new set of Bindings to the WSDLDefinition.
+	 */
+	public void setBindings(HashMap bindings) {
+//	    if(this.bindings.size() > 0) throw new WSDLProcessingException("WSDLBimding Map already contains " +
+//	    		"one or more bindings. Trying to assign a new map will loose those Bindings.");
+		this.bindings = bindings;
+	}
+	
+		
+	/**
+	 * The WSDLBinding Will be added to the map keyed  with its own QName.
+	 * If the WSDLBinding is null it will not be added.
+	 * If the WSDLBinding is not null and  Binding name is null then 
+	 * WSDLProcessingException will be thrown
+	 * @param binding <code>WSDLBinding</code> Object
+	 */
+	public void addBinding(WSDLBinding binding){
+	    
+	    if(null == binding) return;
+	    
+	    if( null == binding.getName()) 
+	        	throw new WSDLProcessingException("The WSDLBinding name cannot be null(Required)");
+	   	    
+	    this.bindings.put(binding.getName(), binding);
+	}
+	
+	/**
+	 * Retrives the <code>WSDLBinding</code> by its QName. Will throw an exception 
+	 * if the Binding is not found in the  <code>WSDLBinding</code>s map it will throw an
+	 * WSDLProcessingException.
+	 * @param qName THe QName of the Binding.
+	 */
+	public WSDLBinding getBinding(QName qName){
+	    WSDLBinding temp = (WSDLBinding)this.bindings.get(qName);
+	    
+	    if(null == temp) throw new WSDLProcessingException("Binding not found for QName "+qName);
+	    
+	    return temp;
+	}
+
+		
+	
+	/**
+	 * The Interface component will be added to the map keyed with its own name.
+	 * If the Interface is null it will not be added.
+	 * If the interface name is null an WSDLProcessingException will be thrown
+	 * @param interfaceComponent
+	 */
+	public void addInterface(WSDLInterface interfaceComponent){
+	    if(null == interfaceComponent) return;
+	    if(null == interfaceComponent.getName()) 
+	        throw new WSDLProcessingException("PortType/Interface name cannot be null(Required) ");
+	    
+	    this.wsdlInterfaces.put(interfaceComponent.getName(), interfaceComponent);
+	}
+		
+	
+	/**
+	 * The Interface Component will be returned if it exsists, otherwise will throw an 
+	 * WSDLException.
+	 * @param qName qName of the Interface.
+	 * @return The Interface Component with the relavent QName w
+	 */
+	public WSDLInterface getInterface(QName qName){
+	    
+	    WSDLInterface temp =this.getInterface(qName);
+	    
+	    if(null == temp) throw new WSDLProcessingException("Interface/PortType not found with QName " +qName);
+	    
+	    return temp;
+	}
+
+	
+    public HashMap getServices() {
+        return services;
+    }
+    public void setServices(HashMap services) {
+        this.services = services;
+    }
+    
+    /**
+	 * The Service will be retrived despite its namespace being either of
+	 * that specified in the WSDLConstants class(WSDL_NAMESPACES) otherwise the checkValidityOfNamespaceWRTWSDLContext() 
+	 * method will throw an exception.
+	 * @param qName THe Namespace of the QName should be either of the WSDL_NAMESPACES
+	 * mentioned in the WSDLConstants interface.
+	 * @return The Service with the relavent QName which have a namespace
+	 * that qualifies that of the versions in the WSDLConstants interface.
+	 */
+	public WSDLService getService(QName qName){
+	    checkValidityOfNamespaceWRTWSDLContext(qName);
+	    return this.getService(qName.getLocalPart());
+	}
+	/**
+	 * Service will be retrived by its NCName and the Namespace of the QName
+	 * is assumed to be in line with that of the WSDL_NAMESPACES in the WSDLConstants
+	 * interface, Thus no namespace checking will be done.
+	 * @param nCName NCName of the Service
+	 * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+	 */
+	public WSDLService getService(String nCName){
+	    WSDLService temp = (WSDLService)this.services.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("Service not found for NCName "+nCName);
+	    return temp;
+	}
+    
+    
+	public String getTargetNameSpace() {
+		return targetNameSpace;
+	}
+	public void setTargetNameSpace(String targetNameSpace) {
+		this.targetNameSpace = targetNameSpace;
+	}
+	
+	public HashMap getWsdlInterfaces() {
+		return wsdlInterfaces;
+	}
+	public void setWsdlInterfaces(HashMap wsdlInterfaces) {
+		this.wsdlInterfaces = wsdlInterfaces;
+	}
+    public XmlObject[] getTypes() {
+        return types;
+    }
+    public void setTypes(XmlObject[] types) {
+        this.types = types;
+    }
+    /**
+     * Gets the name attrebute of the WSDL 1.1 Definitions Element 
+     * @return
+     */
+    public QName getWSDL1DefinitionName() {
+        return wsdl1DefinitionName;
+    }
+    
+    /**
+     * Sets the name attrebute of the WSDL 1.1 Definitions Element
+     * @param wsdl1DefinitionName
+     */
+    public void setWSDL1DefinitionName(QName wsdl1DefinitionName) {
+        this.wsdl1DefinitionName = wsdl1DefinitionName;
+    }
+    /**
+     * Will return all the Namespaces associated with the Definition
+     * Component and will be keyed by the Napespace Prefix.
+     * @return
+     */
+    public HashMap getNamespaces() {
+        return namespaces;
+    }
+    
+    /**
+     * Sets the Namespaces associated with the Difinition Component
+     * and they should be keyed by its Namespace Prefix.
+     * @param namespaces
+     */
+    public void setNamespaces(HashMap namespaces) {
+        this.namespaces = namespaces;
+    }
+    
+    
+    /**
+     * Will return the Namespace URI as a String if there exists an 
+     * Namespace URI associated with the given prefix, in the Definition
+     * Component, Will return null if not found.
+     * @param prefix Prefix defined in the Definitions elemet in the WSDL file
+     * @return The Namespace URI for the prefix.
+     */
+    public String getNamespace(String prefix){
+        if(null == prefix){
+            return null;
+        }
+        
+        return (String) this.namespaces.get(prefix);
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLEndpointImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLEndpointImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLEndpointImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,90 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLEndpoint;
+
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLEndpointImpl extends  ComponentImpl implements WSDLEndpoint {
+
+    private String name;
+    
+    private WSDLBinding binding;
+    
+    public WSDLBinding getBinding() {
+        return binding;
+    }
+    public void setBinding(WSDLBinding binding) {
+        this.binding = binding;
+    }
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLEndpoint;
+
+
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLEndpointImpl extends  ComponentImpl implements WSDLEndpoint {
+
+    private String name;
+    
+    private WSDLBinding binding;
+    
+    public WSDLBinding getBinding() {
+        return binding;
+    }
+    public void setBinding(WSDLBinding binding) {
+        this.binding = binding;
+    }
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFaultImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFaultImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFaultImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.WSDLFault;
+import org.w3c.dom.Element;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLFaultImpl extends ComponentImpl implements WSDLFault {
+	
+	//TODO its a NCName so parse it. and this is required
+	private String name;
+	
+	private Element element;
+
+	public Element getElement() {
+		return element;
+	}
+	public void setElement(Element element) {
+		this.element = element;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import org.apache.wsdl.wom.WSDLFault;
+import org.w3c.dom.Element;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLFaultImpl extends ComponentImpl implements WSDLFault {
+	
+	//TODO its a NCName so parse it. and this is required
+	private String name;
+	
+	private Element element;
+
+	public Element getElement() {
+		return element;
+	}
+	public void setElement(Element element) {
+		this.element = element;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFeatureImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFeatureImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLFeatureImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+
+import org.apache.wsdl.wom.WSDLFeature;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLFeatureImpl extends ComponentImpl implements WSDLFeature {
+
+	
+	private URI name;
+	
+	private boolean required;
+	
+	
+	public URI getName() {
+		return name;
+	}
+	public void setName(URI name) {
+		this.name = name;
+	}
+	public boolean isRequired() {
+		return required;
+	}
+	public void setRequired(boolean required) {
+		this.required = required;
+	}
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+
+import org.apache.wsdl.wom.WSDLFeature;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLFeatureImpl extends ComponentImpl implements WSDLFeature {
+
+	
+	private URI name;
+	
+	private boolean required;
+	
+	
+	public URI getName() {
+		return name;
+	}
+	public void setName(URI name) {
+		this.name = name;
+	}
+	public boolean isRequired() {
+		return required;
+	}
+	public void setRequired(boolean required) {
+		this.required = required;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLInterfaceImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLInterfaceImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLInterfaceImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,496 @@
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.LinkedList;
+
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLOperation;
+
+import javax.xml.namespace.QName;
+
+
+
+
+
+/**
+ * @author Chathura Herath
+ *  
+ */
+public class WSDLInterfaceImpl extends ComponentImpl implements  WSDLInterface {
+	
+	
+	private QName name;
+
+	private URI targetnamespace;
+
+	private HashMap superInterfaces = new HashMap();
+
+	private List faults = new LinkedList();
+
+	private HashMap operations = new HashMap();
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();
+	
+	
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}
+	public HashMap getDefinedOperations(WSDLInterface wsdlInterface){
+		Object temp = this.superInterfaces.get(wsdlInterface.getName());
+		if(null == temp ) throw new WSDLProcessingException(wsdlInterface.getName()+" is not a valid super interface of the "+this.getName()+". Interface cannot be located.");
+		return ((WSDLInterface)temp).getDefinedOperations();
+	}
+	
+	
+	public HashMap getDefinedOperations(){
+		
+		return this.operations;
+		
+	}
+	/**
+	 * Will return a map of all this <code>WSDLOperation</code>s that 
+	 * are defined and inherited from super interfaces.
+	 */
+	public HashMap getAllOperations(){
+	    
+	    HashMap all = (HashMap)this.operations.clone();
+	    
+	    
+	    if(this.superInterfaces.size() ==0 ){
+	        return all;
+	    }else{
+	        Iterator superIterator = this.superInterfaces.values().iterator();
+	        Iterator operationIterator;
+	        WSDLInterface superInterface;
+	        WSDLOperation superInterfaceOperation;
+	        Iterator thisIterator = all.values().iterator();
+	        WSDLOperation thisOperation;
+	        boolean tobeAdded = false;
+	        while(superIterator.hasNext()){
+	            superInterface = (WSDLInterface)superIterator.next();
+	            operationIterator = superInterface.getAllOperations().values().iterator();
+	            while(operationIterator.hasNext()){
+	                superInterfaceOperation = (WSDLOperation)operationIterator.next();
+	                tobeAdded = true;
+	                while(thisIterator.hasNext()){
+	                    thisOperation = (WSDLOperation)thisIterator.next();
+	                    
+	                    if(thisOperation.getName() == superInterfaceOperation.getName() && !tobeAdded){
+	                        if(thisOperation.getTargetnemespace().getPath().equals(superInterfaceOperation.getTargetnemespace().getPath())){
+	                            //Both are the same Operation; the one inherited and
+	                            //the one that is already in the map(may or maynot be inherited)
+	                            tobeAdded = false;
+	                        }
+	                        else{
+	                            //same name but target namespces dont match 
+	                            //TODO Think this is an error
+	                            throw new WSDLProcessingException("The Interface " +this.getName() +" has more than one Operation that has the same name but not the same interface ");
+	                        }
+	                    }
+	                }
+	                if(tobeAdded){
+	                    //This one is not in the list already developped
+	                    all.put(superInterfaceOperation.getName(), superInterfaceOperation);
+	                }
+	                
+	            }
+	        }
+	        return all;
+	    	
+	    }
+	}
+
+	/**
+	 * @return
+	 */
+	public List getFaults() {
+		return faults;
+	}
+
+	/**
+	 * @return
+	 */
+	public QName getName() {
+		return name;
+	}
+
+	/**
+	 * @return
+	 */
+	public HashMap getOperations() {
+		return operations;
+	}
+	
+	public WSDLOperation getOperation(QName qName){
+	    this.checkValidityOfNamespaceWRTWSDLContext(qName);
+	    return this.getOperation(qName.getLocalPart());
+	}
+	
+	public WSDLOperation getOperation(String nCName){
+	    Object temp = this.operations.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("No Operation found with the QName with ncname/ ncname with "+nCName);
+	    return (WSDLOperation)temp;
+	}
+
+	/**
+	 * @return
+	 */
+	public HashMap getSuperInterfaces() {
+		return superInterfaces;
+	}
+	
+	public WSDLInterface getSuperInterface(QName qName){
+	    return (WSDLInterface)this.superInterfaces.get(qName);
+	}
+
+	/**
+	 * @return
+	 */
+	public URI getTargetnamespace() {
+		return targetnamespace;
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setFaults(List list) {
+		faults = list;
+	}
+
+	/**
+	 * @param qName
+	 */
+	public void setName(QName qName) {
+		name = qName;
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setOperations(HashMap list) {
+		operations = list;
+	}
+	/**
+	 * The Operation will be added to the interfce's operations.
+	 * Though the Qname is required the actual storage will be from the 
+	 * NCName of the operation, but the namespace URI of the QName 
+	 * should match that of the Namespaces defined in the WSDLConstants interface. 
+	 * @param qName
+	 * @param operation
+	 */
+	public void setOperation(QName qName, WSDLOperation operation){
+	    this.checkValidityOfNamespaceWRTWSDLContext(qName);
+	    this.setOperation(qName.getLocalPart(), operation);
+	}
+	
+	/**
+	 * The operation is added by its ncname.
+	 * @param nCName
+	 * @param operation
+	 */
+	public void setOperation(String nCName, WSDLOperation operation){
+	    this.operations.put(nCName, operation);
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setSuperInterfaces(HashMap list) {
+		superInterfaces = list;
+	}
+	
+	/**
+	 * The Inteface will be added to the list of super interfaces keyed with 
+	 * the QName.
+	 * @param qName The QName of the Inteface
+	 * @param interfaceComponent WSDLInterface Object
+	 */
+	public void addSuperInterface(QName qName, WSDLInterface interfaceComponent){
+	    this.superInterfaces.put(qName, interfaceComponent);
+	}
+
+	/**
+	 * @param uri
+	 */
+	public void setTargetnamespace(URI uri) {
+		targetnamespace = uri;
+	}
+
+}
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.LinkedList;
+
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLOperation;
+
+import javax.xml.namespace.QName;
+
+
+
+
+
+/**
+ * @author Chathura Herath
+ *  
+ */
+public class WSDLInterfaceImpl extends ComponentImpl implements  WSDLInterface {
+	
+	
+	private QName name;
+
+	private URI targetnamespace;
+
+	private HashMap superInterfaces = new HashMap();
+
+	private List faults = new LinkedList();
+
+	private HashMap operations = new HashMap();
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();
+	
+	
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}
+	public HashMap getDefinedOperations(WSDLInterface wsdlInterface){
+		Object temp = this.superInterfaces.get(wsdlInterface.getName());
+		if(null == temp ) throw new WSDLProcessingException(wsdlInterface.getName()+" is not a valid super interface of the "+this.getName()+". Interface cannot be located.");
+		return ((WSDLInterface)temp).getDefinedOperations();
+	}
+	
+	
+	public HashMap getDefinedOperations(){
+		
+		return this.operations;
+		
+	}
+	/**
+	 * Will return a map of all this <code>WSDLOperation</code>s that 
+	 * are defined and inherited from super interfaces.
+	 */
+	public HashMap getAllOperations(){
+	    
+	    HashMap all = (HashMap)this.operations.clone();
+	    
+	    
+	    if(this.superInterfaces.size() ==0 ){
+	        return all;
+	    }else{
+	        Iterator superIterator = this.superInterfaces.values().iterator();
+	        Iterator operationIterator;
+	        WSDLInterface superInterface;
+	        WSDLOperation superInterfaceOperation;
+	        Iterator thisIterator = all.values().iterator();
+	        WSDLOperation thisOperation;
+	        boolean tobeAdded = false;
+	        while(superIterator.hasNext()){
+	            superInterface = (WSDLInterface)superIterator.next();
+	            operationIterator = superInterface.getAllOperations().values().iterator();
+	            while(operationIterator.hasNext()){
+	                superInterfaceOperation = (WSDLOperation)operationIterator.next();
+	                tobeAdded = true;
+	                while(thisIterator.hasNext()){
+	                    thisOperation = (WSDLOperation)thisIterator.next();
+	                    
+	                    if(thisOperation.getName() == superInterfaceOperation.getName() && !tobeAdded){
+	                        if(thisOperation.getTargetnemespace().getPath().equals(superInterfaceOperation.getTargetnemespace().getPath())){
+	                            //Both are the same Operation; the one inherited and
+	                            //the one that is already in the map(may or maynot be inherited)
+	                            tobeAdded = false;
+	                        }
+	                        else{
+	                            //same name but target namespces dont match 
+	                            //TODO Think this is an error
+	                            throw new WSDLProcessingException("The Interface " +this.getName() +" has more than one Operation that has the same name but not the same interface ");
+	                        }
+	                    }
+	                }
+	                if(tobeAdded){
+	                    //This one is not in the list already developped
+	                    all.put(superInterfaceOperation.getName(), superInterfaceOperation);
+	                }
+	                
+	            }
+	        }
+	        return all;
+	    	
+	    }
+	}
+
+	/**
+	 * @return
+	 */
+	public List getFaults() {
+		return faults;
+	}
+
+	/**
+	 * @return
+	 */
+	public QName getName() {
+		return name;
+	}
+
+	/**
+	 * @return
+	 */
+	public HashMap getOperations() {
+		return operations;
+	}
+	
+	public WSDLOperation getOperation(QName qName){
+	    this.checkValidityOfNamespaceWRTWSDLContext(qName);
+	    return this.getOperation(qName.getLocalPart());
+	}
+	
+	public WSDLOperation getOperation(String nCName){
+	    Object temp = this.operations.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("No Operation found with the QName with ncname/ ncname with "+nCName);
+	    return (WSDLOperation)temp;
+	}
+
+	/**
+	 * @return
+	 */
+	public HashMap getSuperInterfaces() {
+		return superInterfaces;
+	}
+	
+	public WSDLInterface getSuperInterface(QName qName){
+	    return (WSDLInterface)this.superInterfaces.get(qName);
+	}
+
+	/**
+	 * @return
+	 */
+	public URI getTargetnamespace() {
+		return targetnamespace;
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setFaults(List list) {
+		faults = list;
+	}
+
+	/**
+	 * @param qName
+	 */
+	public void setName(QName qName) {
+		name = qName;
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setOperations(HashMap list) {
+		operations = list;
+	}
+	/**
+	 * The Operation will be added to the interfce's operations.
+	 * Though the Qname is required the actual storage will be from the 
+	 * NCName of the operation, but the namespace URI of the QName 
+	 * should match that of the Namespaces defined in the WSDLConstants interface. 
+	 * @param qName
+	 * @param operation
+	 */
+	public void setOperation(QName qName, WSDLOperation operation){
+	    this.checkValidityOfNamespaceWRTWSDLContext(qName);
+	    this.setOperation(qName.getLocalPart(), operation);
+	}
+	
+	/**
+	 * The operation is added by its ncname.
+	 * @param nCName
+	 * @param operation
+	 */
+	public void setOperation(String nCName, WSDLOperation operation){
+	    this.operations.put(nCName, operation);
+	}
+
+	/**
+	 * @param list
+	 */
+	public void setSuperInterfaces(HashMap list) {
+		superInterfaces = list;
+	}
+	
+	/**
+	 * The Inteface will be added to the list of super interfaces keyed with 
+	 * the QName.
+	 * @param qName The QName of the Inteface
+	 * @param interfaceComponent WSDLInterface Object
+	 */
+	public void addSuperInterface(QName qName, WSDLInterface interfaceComponent){
+	    this.superInterfaces.put(qName, interfaceComponent);
+	}
+
+	/**
+	 * @param uri
+	 */
+	public void setTargetnamespace(URI uri) {
+		targetnamespace = uri;
+	}
+
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLOperationImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLOperationImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLOperationImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,232 @@
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.wsdl.wom.MessageReference;
+import org.apache.wsdl.wom.WSDLOperation;
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class WSDLOperationImpl extends ComponentImpl implements WSDLOperation  {
+
+	private String name;
+	private URI targetnemespace;
+	private int messageExchangePattern;
+	private MessageReference inputMessage;
+	private MessageReference outputMessage;
+ 	private List infaults = new LinkedList();
+	private List outfaults = new LinkedList();
+	//value of parent if not specified
+	private int style;
+	
+	private boolean safety = false;
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();	
+	
+	
+	 
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}
+	public List getInfaults() {
+		return infaults;
+	}
+	public void setInfaults(List infaults) {
+		this.infaults = infaults;
+	}
+	public MessageReference getInputMessage() {
+		return inputMessage;
+	}
+	public void setInputMessage(MessageReference inputMessage) {
+		this.inputMessage = inputMessage;
+	}
+	public int getMessageExchangePattern() {
+		return messageExchangePattern;
+	}
+	public void setMessageExchangePattern(int messageExchangePattern) {
+		this.messageExchangePattern = messageExchangePattern;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public List getOutfaults() {
+		return outfaults;
+	}
+	public void setOutfaults(List outfaults) {
+		this.outfaults = outfaults;
+	}
+	public MessageReference getOutputMessage() {
+		return outputMessage;
+	}
+	public void setOutputMessage(MessageReference outputMessage) {
+		this.outputMessage = outputMessage;
+	}
+	
+	public boolean isSafe() {
+		return safety;
+	}
+	public void setSafety(boolean safe) {
+		this.safety = safe;
+	}
+	public int getStyle() {
+		return style;
+	}
+	public void setStyle(int style) {
+		this.style = style;
+	}
+	public URI getTargetnemespace() {
+		return targetnemespace;
+	}
+	public void setTargetnemespace(URI targetnemespace) {
+		this.targetnemespace = targetnemespace;
+	}
+}
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * 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
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.wsdl.wom.MessageReference;
+import org.apache.wsdl.wom.WSDLOperation;
+
+/**
+ * @author Chathura Herath
+ *
+ */
+public class WSDLOperationImpl extends ComponentImpl implements WSDLOperation  {
+
+	private String name;
+	private URI targetnemespace;
+	private int messageExchangePattern;
+	private MessageReference inputMessage;
+	private MessageReference outputMessage;
+ 	private List infaults = new LinkedList();
+	private List outfaults = new LinkedList();
+	//value of parent if not specified
+	private int style;
+	
+	private boolean safety = false;
+	
+	private List features = new LinkedList();
+	
+	private List properties = new LinkedList();	
+	
+	
+	 
+	public List getFeatures() {
+		return features;
+	}
+	public void setFeatures(List features) {
+		this.features = features;
+	}
+	public List getProperties() {
+		return properties;
+	}
+	public void setProperties(List properties) {
+		this.properties = properties;
+	}
+	public List getInfaults() {
+		return infaults;
+	}
+	public void setInfaults(List infaults) {
+		this.infaults = infaults;
+	}
+	public MessageReference getInputMessage() {
+		return inputMessage;
+	}
+	public void setInputMessage(MessageReference inputMessage) {
+		this.inputMessage = inputMessage;
+	}
+	public int getMessageExchangePattern() {
+		return messageExchangePattern;
+	}
+	public void setMessageExchangePattern(int messageExchangePattern) {
+		this.messageExchangePattern = messageExchangePattern;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public List getOutfaults() {
+		return outfaults;
+	}
+	public void setOutfaults(List outfaults) {
+		this.outfaults = outfaults;
+	}
+	public MessageReference getOutputMessage() {
+		return outputMessage;
+	}
+	public void setOutputMessage(MessageReference outputMessage) {
+		this.outputMessage = outputMessage;
+	}
+	
+	public boolean isSafe() {
+		return safety;
+	}
+	public void setSafety(boolean safe) {
+		this.safety = safe;
+	}
+	public int getStyle() {
+		return style;
+	}
+	public void setStyle(int style) {
+		this.style = style;
+	}
+	public URI getTargetnemespace() {
+		return targetnemespace;
+	}
+	public void setTargetnemespace(URI targetnemespace) {
+		this.targetnemespace = targetnemespace;
+	}
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLProcessingException.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLProcessingException.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLProcessingException.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLProcessingException extends RuntimeException {
+
+    public WSDLProcessingException(String message){
+        super(message);
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLProcessingException extends RuntimeException {
+
+    public WSDLProcessingException(String message){
+        super(message);
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLServiceImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLServiceImpl.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/impl/WSDLServiceImpl.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,192 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.HashMap;
+
+import org.apache.wsdl.wom.WSDLConstants;
+import org.apache.wsdl.wom.WSDLEndpoint;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLService;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLServiceImpl extends ComponentImpl implements  WSDLService {
+
+    /**
+     * The NCName that identifies the Service.
+     */
+    private String name;
+    
+    /**
+     * Namespace of the target namespace of the Definition Component's targetNamespace 
+     * attrebute information item.
+     */
+    private URI namespaceURI;
+    
+    /**
+     * The Interface that this Service is an instance of.
+     */
+    private WSDLInterface serviceInterface;
+    
+    /**
+     * 
+     */
+    private HashMap endpoints;
+    
+    
+    public HashMap getEndpoints() {
+        return endpoints;
+    }
+    public void setEndpoints(HashMap endpoints) {
+        this.endpoints = endpoints;
+    }
+    
+    /**
+     * Will add a WSDLEndpoint object to the WOM keyed with NCName;
+     */
+    public void setEndpoint(WSDLEndpoint endpoint, String nCName){
+        this.endpoints.put(nCName, endpoint);
+    }
+    
+    /**
+	 * Endpoint will be retrived by its NCName.
+	 * @param nCName NCName of the Service
+	 * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+	 */
+	public WSDLService getService(String nCName){
+	    WSDLService temp = (WSDLService)this.endpoints.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("Service not found for NCName "+nCName);
+	    return temp;
+	}
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public URI getNamespaceURI() {
+        return namespaceURI;
+    }
+    public void setNamespaceURI(URI namespaceURI) {
+        this.namespaceURI = namespaceURI;
+    }
+    public WSDLInterface getServiceInterface() {
+        return serviceInterface;
+    }
+    public void setServiceInterface(WSDLInterface serviceInterface) {
+        this.serviceInterface = serviceInterface;
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wom.impl;
+
+import java.net.URI;
+import java.util.HashMap;
+
+import org.apache.wsdl.wom.WSDLConstants;
+import org.apache.wsdl.wom.WSDLEndpoint;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLService;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLServiceImpl extends ComponentImpl implements  WSDLService {
+
+    /**
+     * The NCName that identifies the Service.
+     */
+    private String name;
+    
+    /**
+     * Namespace of the target namespace of the Definition Component's targetNamespace 
+     * attrebute information item.
+     */
+    private URI namespaceURI;
+    
+    /**
+     * The Interface that this Service is an instance of.
+     */
+    private WSDLInterface serviceInterface;
+    
+    /**
+     * 
+     */
+    private HashMap endpoints;
+    
+    
+    public HashMap getEndpoints() {
+        return endpoints;
+    }
+    public void setEndpoints(HashMap endpoints) {
+        this.endpoints = endpoints;
+    }
+    
+    /**
+     * Will add a WSDLEndpoint object to the WOM keyed with NCName;
+     */
+    public void setEndpoint(WSDLEndpoint endpoint, String nCName){
+        this.endpoints.put(nCName, endpoint);
+    }
+    
+    /**
+	 * Endpoint will be retrived by its NCName.
+	 * @param nCName NCName of the Service
+	 * @return WSDLService Object or will throw an WSDLProcessingException in the case of object not found. 
+	 */
+	public WSDLService getService(String nCName){
+	    WSDLService temp = (WSDLService)this.endpoints.get(nCName);
+	    if(null == temp) throw new WSDLProcessingException("Service not found for NCName "+nCName);
+	    return temp;
+	}
+    public String getName() {
+        return name;
+    }
+    public void setName(String name) {
+        this.name = name;
+    }
+    public URI getNamespaceURI() {
+        return namespaceURI;
+    }
+    public void setNamespaceURI(URI namespaceURI) {
+        this.namespaceURI = namespaceURI;
+    }
+    public WSDLInterface getServiceInterface() {
+        return serviceInterface;
+    }
+    public void setServiceInterface(WSDLInterface serviceInterface) {
+        this.serviceInterface = serviceInterface;
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/mdesbak/Componen_b0.uml
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wom/mdesbak/Componen_b0.uml?view=auto&rev=110071
==============================================================================
Binary file. No diff available.

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/Parser.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/Parser.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/Parser.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class Parser {
+
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class Parser {
+
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilder.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilder.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WOMBuilder {
+
+    public WSDLDefinitions build(InputStream in)throws WSDLException;
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public interface WOMBuilder {
+
+    public WSDLDefinitions build(InputStream in)throws WSDLException;
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilderFactory.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilderFactory.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WOMBuilderFactory.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,172 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.axis.utils.XMLUtils;
+import org.apache.wsdl.wom.WSDLConstants;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WOMBuilderFactory {
+
+    private static final int WSDL11 = 1;
+    private static final int wsdl20 = 2;
+    
+    
+    
+    public static WOMBuilder getBuilder(InputStream in) throws WSDLException{
+        // Load the wsdl as a DOM
+        Document doc;
+        try{
+            doc = XMLUtils.newDocument(in);
+        }
+        catch(ParserConfigurationException e){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Exception", e);
+        }
+        catch(IOException e1){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "WSDL Document read error", e1);
+        }
+        catch(SAXException e2){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Exception", e2);
+        }
+        
+        
+        //Check the target namespace of the WSDL and determine the WSDL version.
+        int version = getWSDLVersion(doc);
+        
+        if(version == WSDL11){
+            return (WOMBuilder)new WSDL1ToWOMBuilder();
+        }
+        else if(version == wsdl20){
+            return (WOMBuilder)new WSDL2ToWOMBuilder();
+        }
+        
+        throw new WSDLException(WSDLException.OTHER_ERROR,"Unable to Figure out the WSDL vesion of the Document");
+    }
+    /**
+     * Will return an int that will represent the wsdl version and the int will correspond to the static 
+     * variables defined in this class.
+     * @param doc 
+     * @return
+     * @throws WSDLException If the version cannot be determined
+     */
+    private static int getWSDLVersion(Document doc) throws WSDLException{
+        //TODO check weather the namespaces are correct and the / problem too
+        if(WSDLConstants.WSDL2_0_NAMESPACE.equals(doc.getDocumentElement().getNamespaceURI())){
+            return wsdl20;
+        }else if(WSDLConstants.WSDL1_1_NAMESPACE.equals(doc.getDocumentElement().getNamespaceURI())){
+            return WSDL11;
+        }
+        
+        throw new WSDLException(WSDLException.OTHER_ERROR, "Unable to Figure out the WSDL vesion of the Document");
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.axis.utils.XMLUtils;
+import org.apache.wsdl.wom.WSDLConstants;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WOMBuilderFactory {
+
+    private static final int WSDL11 = 1;
+    private static final int wsdl20 = 2;
+    
+    
+    
+    public static WOMBuilder getBuilder(InputStream in) throws WSDLException{
+        // Load the wsdl as a DOM
+        Document doc;
+        try{
+            doc = XMLUtils.newDocument(in);
+        }
+        catch(ParserConfigurationException e){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Exception", e);
+        }
+        catch(IOException e1){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "WSDL Document read error", e1);
+        }
+        catch(SAXException e2){
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Exception", e2);
+        }
+        
+        
+        //Check the target namespace of the WSDL and determine the WSDL version.
+        int version = getWSDLVersion(doc);
+        
+        if(version == WSDL11){
+            return (WOMBuilder)new WSDL1ToWOMBuilder();
+        }
+        else if(version == wsdl20){
+            return (WOMBuilder)new WSDL2ToWOMBuilder();
+        }
+        
+        throw new WSDLException(WSDLException.OTHER_ERROR,"Unable to Figure out the WSDL vesion of the Document");
+    }
+    /**
+     * Will return an int that will represent the wsdl version and the int will correspond to the static 
+     * variables defined in this class.
+     * @param doc 
+     * @return
+     * @throws WSDLException If the version cannot be determined
+     */
+    private static int getWSDLVersion(Document doc) throws WSDLException{
+        //TODO check weather the namespaces are correct and the / problem too
+        if(WSDLConstants.WSDL2_0_NAMESPACE.equals(doc.getDocumentElement().getNamespaceURI())){
+            return wsdl20;
+        }else if(WSDLConstants.WSDL1_1_NAMESPACE.equals(doc.getDocumentElement().getNamespaceURI())){
+            return WSDL11;
+        }
+        
+        throw new WSDLException(WSDLException.OTHER_ERROR, "Unable to Figure out the WSDL vesion of the Document");
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL1ToWOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL1ToWOMBuilder.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL1ToWOMBuilder.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.axis.utils.XMLUtils;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.impl.WSDLDefinitionsImpl;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL1ToWOMBuilder implements WOMBuilder {
+    
+    public WSDLDefinitions build(InputStream in)throws WSDLException{
+        
+        WSDLDefinitions wsdlDefinitions = new WSDLDefinitionsImpl();
+        
+        WSDLPump pump = new WSDLPump(wsdlDefinitions, this.readInTheWSDLFile(in));
+        pump.pump();
+        
+        return wsdlDefinitions;
+    }
+    
+    private Definition readInTheWSDLFile(InputStream in) throws WSDLException{
+        
+        WSDLReader reader =
+            WSDLFactory.newInstance().newWSDLReader();
+        Document doc;
+        try {
+            doc = XMLUtils.newDocument(in);
+        } catch (ParserConfigurationException e) {
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Error", e);
+        } catch (SAXException e) {
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser SAX Error", e);
+            
+        } catch (IOException e) {
+            throw new WSDLException(WSDLException.INVALID_WSDL, "IO Error", e);
+        }
+        
+        return reader.readWSDL(null, doc);
+    }
+    
+    
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.axis.utils.XMLUtils;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.impl.WSDLDefinitionsImpl;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL1ToWOMBuilder implements WOMBuilder {
+    
+    public WSDLDefinitions build(InputStream in)throws WSDLException{
+        
+        WSDLDefinitions wsdlDefinitions = new WSDLDefinitionsImpl();
+        
+        WSDLPump pump = new WSDLPump(wsdlDefinitions, this.readInTheWSDLFile(in));
+        pump.pump();
+        
+        return wsdlDefinitions;
+    }
+    
+    private Definition readInTheWSDLFile(InputStream in) throws WSDLException{
+        
+        WSDLReader reader =
+            WSDLFactory.newInstance().newWSDLReader();
+        Document doc;
+        try {
+            doc = XMLUtils.newDocument(in);
+        } catch (ParserConfigurationException e) {
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser Configuration Error", e);
+        } catch (SAXException e) {
+            throw new WSDLException(WSDLException.PARSER_ERROR, "Parser SAX Error", e);
+            
+        } catch (IOException e) {
+            throw new WSDLException(WSDLException.INVALID_WSDL, "IO Error", e);
+        }
+        
+        return reader.readWSDL(null, doc);
+    }
+    
+    
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL2ToWOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL2ToWOMBuilder.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL2ToWOMBuilder.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2001-2004 The apace Software Foundation.
+ * 
+ * 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
+ * 
+ *      tap://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.wsdl.wsdltowom;
+
+import java.io.InputStream;
+
+import javax.wsdl.Types;
+import javax.wsdl.WSDLException;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL2ToWOMBuilder implements WOMBuilder{
+
+    public WSDLDefinitions build(InputStream in ) throws WSDLException{
+        
+        throw new UnsupportedOperationException("Fill the imps");
+        
+        
+    }
+}
+/*
+ * Copyright 2001-2004 The apace Software Foundation.
+ * 
+ * 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
+ * 
+ *      tap://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.wsdl.wsdltowom;
+
+import java.io.InputStream;
+
+import javax.wsdl.Types;
+import javax.wsdl.WSDLException;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL2ToWOMBuilder implements WOMBuilder{
+
+    public WSDLDefinitions build(InputStream in ) throws WSDLException{
+        
+        throw new UnsupportedOperationException("Fill the imps");
+        
+        
+    }
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL4JtoWOMPump.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL4JtoWOMPump.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDL4JtoWOMPump.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,96 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL4JtoWOMPump {
+    
+    public void pump(WSDLDefinitions wsdlDefinitiios, Definition wsdl4jDefinition){
+        //Copy the Definition's Attrebute Information items and pump the
+        wsdlDefinitiios.setTargetNameSpace( wsdl4jDefinition.getTargetNamespace());
+        //wsdl4jDefinition.getNamespace()
+        //top level components
+    }
+    
+    private void pumpInterface(WSDLInterface wsdlInterface, PortType wsdl4jPortType){
+        // Copy The PortType Info to WSDLInterface info.
+    }
+    
+    
+    private void pumpBinding(WSDLBinding wsdlBinding, Binding wsdl4jBinding){
+        
+    }
+
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL4JtoWOMPump {
+    
+    public void pump(WSDLDefinitions wsdlDefinitiios, Definition wsdl4jDefinition){
+        //Copy the Definition's Attrebute Information items and pump the
+        wsdlDefinitiios.setTargetNameSpace( wsdl4jDefinition.getTargetNamespace());
+        //wsdl4jDefinition.getNamespace()
+        //top level components
+    }
+    
+    private void pumpInterface(WSDLInterface wsdlInterface, PortType wsdl4jPortType){
+        // Copy The PortType Info to WSDLInterface info.
+    }
+    
+    
+    private void pumpBinding(WSDLBinding wsdlBinding, Binding wsdl4jBinding){
+        
+    }
+
+}

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDLPump.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDLPump.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/src/java/org/apache/wsdl/wsdltowom/WSDLPump.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,214 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.impl.WSDLBindingImpl;
+import org.apache.wsdl.wom.impl.WSDLInterfaceImpl;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLPump {
+
+    private WSDLDefinitions womDefinition;
+    
+    private Definition wsdl4jParsedDefinition;
+    
+    
+    public WSDLPump(WSDLDefinitions womDefinition, Definition wsdl4jParsedDefinition){
+        this.womDefinition = womDefinition;
+        this.wsdl4jParsedDefinition = wsdl4jParsedDefinition;
+    }
+    
+    public void pump(){
+        this.populateDefinition(this.womDefinition, this.wsdl4jParsedDefinition);
+        
+    }
+    
+    
+    
+    
+    private void populateDefinition(WSDLDefinitions wsdlDefinition, Definition wsdl4JDefinition){
+        //Go through the WSDL4J Definition and pump it to the WOM
+        wsdlDefinition.setWSDL1DefinitionName(wsdl4JDefinition.getQName());
+        wsdlDefinition.setTargetNameSpace(wsdl4JDefinition.getTargetNamespace());
+        
+        
+        //pump the Interfaces: Get the PortTypes from WSDL4J parse OM and pump it to the 
+        //WOM's WSDLInterface Components 
+        
+        Map wsdl4jPortTypeMap = wsdl4JDefinition.getPortTypes();
+        Iterator portTypeIterator = wsdl4jPortTypeMap.values().iterator();
+        WSDLInterface wsdlInterface;
+        while(portTypeIterator.hasNext()){
+            wsdlInterface = new WSDLInterfaceImpl();
+            this.populateInterfaces(wsdlInterface, (PortType)portTypeIterator.next());
+            wsdlDefinition.addInterface(wsdlInterface);
+            
+        }
+        
+        
+        //pump the Bindings: Get the Bindings map from WSDL4J and create a new map of 
+        //WSDLBinding elements
+        
+        Map wsdl4jBindingsMap = wsdl4JDefinition.getBindings();
+        Iterator bindingIterator = wsdl4jBindingsMap.values().iterator();
+        WSDLBinding wsdlBinding;
+        while(bindingIterator.hasNext()){
+            wsdlBinding = new WSDLBindingImpl();
+            this.populateBindings(wsdlBinding, (Binding)bindingIterator.next());
+            wsdlDefinition.addBinding(wsdlBinding);
+            
+        }
+        //Copy the services, 
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    
+    
+    
+    
+    private void populateBindings(WSDLBinding wsdlBinding, Binding wsdl4JBinding){
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    private void populateInterfaces(WSDLInterface wsdlInterface, PortType wsdl4jPortType){
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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.wsdl.wsdltowom;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.PortType;
+
+import org.apache.wsdl.wom.WSDLBinding;
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.impl.WSDLBindingImpl;
+import org.apache.wsdl.wom.impl.WSDLInterfaceImpl;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDLPump {
+
+    private WSDLDefinitions womDefinition;
+    
+    private Definition wsdl4jParsedDefinition;
+    
+    
+    public WSDLPump(WSDLDefinitions womDefinition, Definition wsdl4jParsedDefinition){
+        this.womDefinition = womDefinition;
+        this.wsdl4jParsedDefinition = wsdl4jParsedDefinition;
+    }
+    
+    public void pump(){
+        this.populateDefinition(this.womDefinition, this.wsdl4jParsedDefinition);
+        
+    }
+    
+    
+    
+    
+    private void populateDefinition(WSDLDefinitions wsdlDefinition, Definition wsdl4JDefinition){
+        //Go through the WSDL4J Definition and pump it to the WOM
+        wsdlDefinition.setWSDL1DefinitionName(wsdl4JDefinition.getQName());
+        wsdlDefinition.setTargetNameSpace(wsdl4JDefinition.getTargetNamespace());
+        
+        
+        //pump the Interfaces: Get the PortTypes from WSDL4J parse OM and pump it to the 
+        //WOM's WSDLInterface Components 
+        
+        Map wsdl4jPortTypeMap = wsdl4JDefinition.getPortTypes();
+        Iterator portTypeIterator = wsdl4jPortTypeMap.values().iterator();
+        WSDLInterface wsdlInterface;
+        while(portTypeIterator.hasNext()){
+            wsdlInterface = new WSDLInterfaceImpl();
+            this.populateInterfaces(wsdlInterface, (PortType)portTypeIterator.next());
+            wsdlDefinition.addInterface(wsdlInterface);
+            
+        }
+        
+        
+        //pump the Bindings: Get the Bindings map from WSDL4J and create a new map of 
+        //WSDLBinding elements
+        
+        Map wsdl4jBindingsMap = wsdl4JDefinition.getBindings();
+        Iterator bindingIterator = wsdl4jBindingsMap.values().iterator();
+        WSDLBinding wsdlBinding;
+        while(bindingIterator.hasNext()){
+            wsdlBinding = new WSDLBindingImpl();
+            this.populateBindings(wsdlBinding, (Binding)bindingIterator.next());
+            wsdlDefinition.addBinding(wsdlBinding);
+            
+        }
+        //Copy the services, 
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    
+    
+    
+    
+    private void populateBindings(WSDLBinding wsdlBinding, Binding wsdl4JBinding){
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    private void populateInterfaces(WSDLInterface wsdlInterface, PortType wsdl4jPortType){
+        
+        throw new UnsupportedOperationException("Fill the impl");
+    }
+    
+    
+}

Modified: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java?view=diff&rev=110071&p1=webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java&r1=110070&p2=webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java&r2=110071
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/AllTests.java	Mon Dec  6 20:25:50 2004
@@ -15,6 +15,7 @@
  */
 package test.wsdl.wom;
 
+import test.wsdl.wombuilder.WSDL1BuilderTest;
 import junit.framework.Test;
 import junit.framework.TestSuite;
 
@@ -28,6 +29,7 @@
         TestSuite suite = new TestSuite("Test for test.wsdl.wom");
         //$JUnit-BEGIN$
         suite.addTestSuite(InterfaceTest.class);
+        suite.addTestSuite(WSDL1BuilderTest.class);
         //$JUnit-END$
         return suite;
     }

Modified: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java?view=diff&rev=110071&p1=webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java&r1=110070&p2=webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java&r2=110071
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wom/InterfaceTest.java	Mon Dec  6 20:25:50 2004
@@ -22,11 +22,11 @@
 
 import junit.framework.TestCase;
 
-import org.apache.axis.wsdl.wom.WSDLConstants;
-import org.apache.axis.wsdl.wom.WSDLInterface;
-import org.apache.axis.wsdl.wom.WSDLOperation;
-import org.apache.axis.wsdl.wom.impl.WSDLInterfaceImpl;
-import org.apache.axis.wsdl.wom.impl.WSDLOperationImpl;
+import org.apache.wsdl.wom.WSDLConstants;
+import org.apache.wsdl.wom.WSDLInterface;
+import org.apache.wsdl.wom.WSDLOperation;
+import org.apache.wsdl.wom.impl.WSDLInterfaceImpl;
+import org.apache.wsdl.wom.impl.WSDLOperationImpl;
 
 /**
  * @author chathura@opensource.lk
@@ -42,7 +42,7 @@
         
         for(int j=0; j<interfaceCounter; j++){
             intfc = new WSDLInterfaceImpl();
-            intfc.setName("inteface"+j);
+            intfc.setName(new QName(WSDLConstants.WSDL2_0_NAMESPACE,"inteface"+j));
 	        for(int i=0; i<operationCounter; i++){
 	            op = new WSDLOperationImpl();
 	        	op.setName("op"+i+"of inteface"+j);
@@ -50,7 +50,7 @@
 	        	intfc.setOperation("op"+i+"of inteface"+j, op);
 	        }
 	        if(j>0){
-	            intfc.addSuperInterface(new QName(WSDLConstants.WSDL2_0_NAMESPACE, array[j-1].getName()), array[j-1]);
+	            intfc.addSuperInterface(array[j-1].getName(), array[j-1]);
 	        }
 	        array[j] = intfc;
         }
@@ -97,13 +97,13 @@
                 op.setTargetnemespace(new URI(WSDLConstants.WSDL2_0_NAMESPACE));
                 intfc.setOperation(op.getName(), op);
             }
-            intfc.setName("Interface"+i);
+            intfc.setName(new QName(WSDLConstants.WSDL2_0_NAMESPACE, "Interface"+i));
             array[i] = intfc;
         }
                 
         WSDLInterface inheritedInterface = new WSDLInterfaceImpl();
         for(int i=0; i< array.length; i++){
-            inheritedInterface.addSuperInterface(new QName(WSDLConstants.WSDL2_0_NAMESPACE, array[i].getName()), array[i]);
+            inheritedInterface.addSuperInterface(array[i].getName(), array[i]);
         }
         
         System.out.println(inheritedInterface.getAllOperations().size());

Added: webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wombuilder/WSDL1BuilderTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wombuilder/WSDL1BuilderTest.java?view=auto&rev=110071
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/wsdl_pt_chatura/test/test/wsdl/wombuilder/WSDL1BuilderTest.java	Mon Dec  6 20:25:50 2004
@@ -0,0 +1,102 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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 test.wsdl.wombuilder;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+
+import junit.framework.TestCase;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wsdltowom.WOMBuilder;
+import org.apache.wsdl.wsdltowom.WOMBuilderFactory;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL1BuilderTest extends TestCase {
+
+    public void testBuilderFactory() throws IOException, WSDLException{
+        InputStream in = new FileInputStream(new File("./samples/InteropTest.wsdl"));
+        WOMBuilder builder = WOMBuilderFactory.getBuilder(in);
+        InputStream in1 = new FileInputStream(new File("./samples/InteropTest.wsdl"));
+        try {
+            WSDLDefinitions wsdlDoc = builder.build(in1);
+        } catch (UnsupportedOperationException e) {
+            
+            System.out.println("To be implemented stuff remain msg: " +e.getMessage());
+            // TODO Auto-generated catch block
+           // e.printStackTrace();
+        }
+         
+    }
+}
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * 
+ * 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 test.wsdl.wombuilder;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.wsdl.WSDLException;
+
+import junit.framework.TestCase;
+
+import org.apache.wsdl.wom.WSDLDefinitions;
+import org.apache.wsdl.wsdltowom.WOMBuilder;
+import org.apache.wsdl.wsdltowom.WOMBuilderFactory;
+
+/**
+ * @author chathura@opensource.lk
+ *
+ */
+public class WSDL1BuilderTest extends TestCase {
+
+    public void testBuilderFactory() throws IOException, WSDLException{
+        InputStream in = new FileInputStream(new File("./samples/InteropTest.wsdl"));
+        WOMBuilder builder = WOMBuilderFactory.getBuilder(in);
+        InputStream in1 = new FileInputStream(new File("./samples/InteropTest.wsdl"));
+        try {
+            WSDLDefinitions wsdlDoc = builder.build(in1);
+        } catch (UnsupportedOperationException e) {
+            
+            System.out.println("To be implemented stuff remain msg: " +e.getMessage());
+            // TODO Auto-generated catch block
+           // e.printStackTrace();
+        }
+         
+    }
+}