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 de...@apache.org on 2005/11/30 08:16:59 UTC
svn commit: r349903 - in /webservices/axis2/trunk/java/modules:
core/src/org/apache/axis2/deployment/listener/
core/src/org/apache/axis2/deployment/repository/util/
wsdl/src/org/apache/axis2/wsdl/writer/
Author: deepal
Date: Tue Nov 29 23:16:41 2005
New Revision: 349903
URL: http://svn.apache.org/viewcvs?rev=349903&view=rev
Log:
1. Fixing deployment bug (Hot update)
2. update WOMWriter to support Java2WSDL
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/listener/RepositoryListenerImpl.java
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMWriter.java
webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL11Writer.java
webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL20Writer.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/listener/RepositoryListenerImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/listener/RepositoryListenerImpl.java?rev=349903&r1=349902&r2=349903&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/listener/RepositoryListenerImpl.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/listener/RepositoryListenerImpl.java Tue Nov 29 23:16:41 2005
@@ -33,6 +33,7 @@
* Referance to a WSInfoList
*/
private WSInfoList wsInfoList;
+ private DeploymentEngine deEngine;
/**
@@ -54,6 +55,7 @@
DeploymentEngine deploy_engine) {
this.folderName = folderName;
wsInfoList = new WSInfoList(deploy_engine);
+ this.deEngine = deploy_engine;
init();
}
@@ -97,8 +99,6 @@
* call to update method of WSInfoList object
*/
public void update() {
- //todo completet this
- // this call the update method of WSInfoList
wsInfoList.update();
}
@@ -112,7 +112,7 @@
wsInfoList.init();
checkModules();
// checkServices();
- update();
+ deEngine.doDeploy();
}
/**
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/WSInfoList.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/WSInfoList.java?rev=349903&r1=349902&r2=349903&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/WSInfoList.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/repository/util/WSInfoList.java Tue Nov 29 23:16:41 2005
@@ -30,6 +30,8 @@
*/
private static List jarList = new ArrayList();
+ private boolean compair = false; // to check wheter the checking is dond
+
/**
* All the curently updated jars
*/
@@ -104,25 +106,26 @@
ArchiveFileData archiveFileData = new ArchiveFileData(file, MODULE);
deployer.addWSToDeploy(archiveFileData);//to inform that new web service is deployed
} else {
- if (deployer.isHotUpdate()) {
- WSInfo tempWSInfo = getFileItem(file.getName());
- if (isModified(file, tempWSInfo)) {
- tempWSInfo.setLastModifiedDate(file.lastModified());
- WSInfo wsInfo = new WSInfo(tempWSInfo.getFileName(),
- tempWSInfo.getLastModifiedDate(),
- MODULE);
- deployer.addWSToUndeploy(wsInfo); // add entry to undeploy list
- ArchiveFileData archiveFileData = new ArchiveFileData(file, MODULE);
- deployer.addWSToDeploy(archiveFileData); // add entry to deploylist
-
- }
- }
+// if (deployer.isHotUpdate()) {
+// WSInfo tempWSInfo = getFileItem(file.getName());
+// if (isModified(file, tempWSInfo)) {
+// tempWSInfo.setLastModifiedDate(file.lastModified());
+// WSInfo wsInfo = new WSInfo(tempWSInfo.getFileName(),
+// tempWSInfo.getLastModifiedDate(),
+// MODULE);
+// deployer.addWSToUndeploy(wsInfo); // add entry to undeploy list
+// ArchiveFileData archiveFileData = new ArchiveFileData(file, MODULE);
+// deployer.addWSToDeploy(archiveFileData); // add entry to deploylist
+//
+// }
+// }
}
break;
}
}
String jarname = file.getName();
currentJars.add(jarname);
+ compair = true;
}
/**
@@ -170,6 +173,11 @@
* that is hot undeployment
*/
public void checkForUndeploye() {
+ if(!compair){
+ return;
+ } else {
+ compair = false;
+ }
Iterator iter = jarList.listIterator();
int size = currentJars.size();
List tempvector = new ArrayList();
@@ -178,6 +186,9 @@
boolean exist ;
while (iter.hasNext()) {
WSInfo fileitem = (WSInfo) iter.next();
+ if(fileitem.getType() == MODULE){
+ continue;
+ }
exist = false;
for (int i = 0; i < size; i++) {
filename = (String) currentJars.get(i);
@@ -209,12 +220,13 @@
*
*/
public void update() {
- checkForUndeploye();
- if (deployer.isHotUpdate()) {
- deployer.unDeploy();
+ synchronized (deployer) {
+ checkForUndeploye();
+ if (deployer.isHotUpdate()) {
+ deployer.unDeploy();
+ }
+ deployer.doDeploy();
}
- deployer.doDeploy();
-
}
}
Modified: webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMWriter.java?rev=349903&r1=349902&r2=349903&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMWriter.java (original)
+++ webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMWriter.java Tue Nov 29 23:16:41 2005
@@ -44,8 +44,7 @@
public void setEncoding(String encoding);
-
-
-
+ //to set the defaultWSDLPrefix for the wsdl file
+ void setdefaultWSDLPrefix(String defaultWSDLPrefix);
}
Modified: webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL11Writer.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL11Writer.java?rev=349903&r1=349902&r2=349903&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL11Writer.java (original)
+++ webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL11Writer.java Tue Nov 29 23:16:41 2005
@@ -1,26 +1,22 @@
package org.apache.axis2.wsdl.writer;
+import com.ibm.wsdl.util.xml.DOM2Writer;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMFactory;
+import org.apache.axis2.om.impl.OMOutputImpl;
+import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
import org.apache.axis2.wsdl.WSDLVersionWrapper;
import org.apache.wsdl.*;
-import org.apache.wsdl.extensions.SOAPAddress;
-import org.apache.wsdl.extensions.SOAPBinding;
-import org.apache.wsdl.extensions.SOAPBody;
-import org.apache.wsdl.extensions.SOAPHeader;
-import org.apache.wsdl.extensions.SOAPOperation;
-import org.apache.wsdl.extensions.Schema;
+import org.apache.wsdl.extensions.*;
import org.w3c.dom.Element;
import javax.wsdl.WSDLException;
import javax.wsdl.factory.WSDLFactory;
import javax.wsdl.xml.WSDLWriter;
import javax.xml.namespace.QName;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
+import javax.xml.stream.*;
+import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -71,11 +67,18 @@
private String soapNsPrefix = null;
private XMLStreamWriter writer;
+ private Writer rawWriter = null;
+
public void setEncoding(String encoding) {
this.encoding = encoding;
}
+ //to set the defaultWSDLPrefix for the wsdl file
+ public void setdefaultWSDLPrefix(String defaultWSDLPrefix) {
+ this.defaultWSDLPrefix = defaultWSDLPrefix;
+ }
+
/**
* @param wsdlWrapper
* @param out
@@ -114,7 +117,7 @@
public void writeWOM(WSDLDescription wsdlDescription, OutputStream out) throws WriterException, XMLStreamException {
try {
//create a writer from the stream
-// Writer writer = new OutputStreamWriter(out,encoding);
+ rawWriter = new OutputStreamWriter(out, encoding);
writer = XMLOutputFactory.newInstance().createXMLStreamWriter(out);
writeStartDescripton(wsdlDescription, writer);
@@ -312,6 +315,10 @@
writer.writeAttribute("name", part.getName());
String elementName = part.getElementName();
if (elementName != null) {
+ //todo ajith pls take a look at that I have done the correct thing here
+ if (part.getPrefix() != null && !part.getPrefix().trim().equals("")) {
+ elementName = part.getPrefix() + ":" + elementName;
+ }
writer.writeAttribute("element", elementName);
}
//put the type also here. For the time being let this be like it
@@ -352,6 +359,7 @@
WSDL11MessagePart part = new WSDL11MessagePart();
part.setName("part1");
part.setElementName(reference.getLocalPart()); //todo prefix needs to be here!!!!
+ part.setPrefix(reference.getPrefix());
WSDL11Message message = new WSDL11Message();
message.setMessageName(reference.getLocalPart() + MESSAGE_NAME_SUFFIX);
message.setParts(new WSDL11MessagePart[]{part});
@@ -451,7 +459,7 @@
MessageReference inputMessage = operation.getInputMessage();
if (inputMessage != null) {
message = (WSDL11Message) messageMap.get(inputMessage.getElementQName());
- writer.writeStartElement(defaultWSDLPrefix,INPUT_NAME, WSDL1_1_NAMESPACE_URI);
+ writer.writeStartElement(defaultWSDLPrefix, INPUT_NAME, WSDL1_1_NAMESPACE_URI);
writer.writeAttribute("message", targetNamespacePrefix + ":" + message.getMessageName());
writer.writeEndElement();
}
@@ -514,12 +522,13 @@
//write the input
WSDLBindingMessageReference input = bindingOp.getInput();
if (input != null) {
- writer.writeStartElement(defaultWSDLPrefix, BINDING_OUTPUT, WSDL1_1_NAMESPACE_URI);
+ //
+ writer.writeStartElement(defaultWSDLPrefix, BINDING_INPUT, WSDL1_1_NAMESPACE_URI);
handleExtensibiltyElements(input.getExtensibilityElements());
writer.writeEndElement();
}
- WSDLBindingMessageReference output = bindingOp.getInput();
+ WSDLBindingMessageReference output = bindingOp.getOutput();
if (output != null) {
writer.writeStartElement(defaultWSDLPrefix, BINDING_OUTPUT, WSDL1_1_NAMESPACE_URI);
handleExtensibiltyElements(output.getExtensibilityElements());
@@ -536,17 +545,31 @@
}
+ //to write scheam types into output straem
+ private void writeScheams(Element element) throws XMLStreamException {
+ String scheamTypes = DOM2Writer.nodeToString(element);
+ System.out.println(scheamTypes);
+ XMLStreamReader xmlReader = XMLInputFactory.newInstance().createXMLStreamReader(new
+ ByteArrayInputStream(scheamTypes.getBytes()));
+ OMFactory fac = OMAbstractFactory.getOMFactory();
+
+ StAXOMBuilder staxOMBuilder = new StAXOMBuilder(fac, xmlReader);
+ OMElement scheamElement = staxOMBuilder.getDocumentElement();
+ scheamElement.serialize(new OMOutputImpl(writer));
+ }
+
/**
* @param extElement
* @throws IOException
*/
protected void writeExtensibiltyElement(WSDLExtensibilityElement extElement) throws IOException, XMLStreamException {
+
if (extElement instanceof Schema) {
Element element = ((Schema) extElement).getElement();
- if (element.getNodeValue() != null) {
- writer.writeStartElement(element.toString());
- writer.writeEndElement();
- }
+// if (element.getNodeValue() != null) {
+ writeScheams(element);
+// rawWriter.write(element.toString()); //quick hack for crimson
+// }
} else if (extElement instanceof SOAPAddress) {
writeSOAPAddressExtensibilityElement((SOAPAddress) extElement);
} else if (extElement instanceof SOAPBinding) {
@@ -579,6 +602,9 @@
protected void writeSOAPBodyExtensibilityElement(SOAPBody soapBody) throws IOException, XMLStreamException {
writer.writeStartElement(soapNsPrefix, "body", WSDL1_1_SOAP_NAMESPACE_URI);
writer.writeAttribute("use", soapBody.getUse());
+ if (soapBody.getNamespaceURI() != null) {
+ writer.writeAttribute("namespace", soapBody.getNamespaceURI());
+ }
writer.writeEndElement();
}
@@ -593,6 +619,7 @@
writer.writeStartElement(soapNsPrefix, BINDING_OPERATION, WSDL1_1_SOAP_NAMESPACE_URI);
writer.writeAttribute("name", soapop.getType().getLocalPart());
writer.writeAttribute("soapaction", soapop.getSoapAction());
+ writer.writeAttribute("style", soapop.getStyle());
writer.writeEndElement();
}
@@ -630,6 +657,15 @@
private String name;
private String elementName;
private String type;
+ private String prefix;
+
+ public String getPrefix() {
+ return prefix;
+ }
+
+ public void setPrefix(String prefix) {
+ this.prefix = prefix;
+ }
public String getName() {
return name;
Modified: webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL20Writer.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL20Writer.java?rev=349903&r1=349902&r2=349903&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL20Writer.java (original)
+++ webservices/axis2/trunk/java/modules/wsdl/src/org/apache/axis2/wsdl/writer/WOMtoWSDL20Writer.java Tue Nov 29 23:16:41 2005
@@ -20,29 +20,32 @@
* limitations under the License.
*/
-public class WOMtoWSDL20Writer implements WOMWriter{
+public class WOMtoWSDL20Writer implements WOMWriter {
public void setEncoding(String encoding) {
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException();
+ }
+
+ //to set the defaultWSDLPrefix for the wsdl file
+ public void setdefaultWSDLPrefix(String defaultWSDLPrefix) {
+ throw new UnsupportedOperationException("Not complete!");
}
/**
- *
* @param wsdlWrapper
* @param out
* @throws WriterException
*/
public void writeWOM(WSDLVersionWrapper wsdlWrapper, OutputStream out) throws WriterException {
- throw new WriterException("Not complete!");
+ throw new WriterException("Not complete!");
}
/**
- *
* @param wsdlDescription
* @param out
* @throws WriterException
*/
public void writeWOM(WSDLDescription wsdlDescription, OutputStream out) throws WriterException {
- throw new WriterException("Not complete!");
+ throw new WriterException("Not complete!");
}
}