JBossWS SVN: r5984 - in stack/native/trunk/src/main/java/org/jboss/ws/core: soap and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2008-03-15 13:38:05 -0400 (Sat, 15 Mar 2008)
New Revision: 5984
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
Log:
[JBWS-2002] folled back fixes for [JBWS-2010] and [JBWS-1994] - these fixes were not TCK5 compliant and broke the jaxws TCK 5 suite
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java 2008-03-15 03:42:44 UTC (rev 5983)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java 2008-03-15 17:38:05 UTC (rev 5984)
@@ -223,7 +223,7 @@
}
catch (InvocationTargetException th)
{
- //Unwrap the throwable raised by the service endpoint implementation
+ // Unwrap the throwable raised by the service endpoint implementation
Throwable targetEx = th.getTargetException();
throw (targetEx instanceof Exception ? (Exception)targetEx : new UndeclaredThrowableException(targetEx));
}
@@ -269,7 +269,7 @@
faultType[0] = null;
}
}
- catch (Exception ex)
+ catch (RuntimeException ex)
{
// Reverse the message direction
processPivotInternal(msgContext, direction);
@@ -277,8 +277,7 @@
try
{
CommonBinding binding = bindingProvider.getCommonBinding();
- MessageAbstraction exMessage = binding.bindFaultMessage(ex);
- msgContext.setMessageAbstraction(exMessage);
+ binding.bindFaultMessage(ex);
// call the fault handler chain
boolean handlersPass = true;
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2008-03-15 03:42:44 UTC (rev 5983)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/soap/SOAPMessageDispatcher.java 2008-03-15 17:38:05 UTC (rev 5984)
@@ -93,7 +93,7 @@
if (childNode instanceof SOAPBodyElement)
{
soapBodyElement = (SOAPBodyElement)childNode;
- soapBodyElement.getValue(); //force transition to DOM-Valid model
+ //soapBodyElement.getValue(); //force transition to DOM-Valid model
}
}
16 years, 6 months
JBossWS SVN: r5983 - in stack/native/trunk: ant-import-tests and 16 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-03-14 23:42:44 -0400 (Fri, 14 Mar 2008)
New Revision: 5983
Added:
stack/native/trunk/src/main/java/org/jboss/ws/annotation/JsonEncoding.java
stack/native/trunk/src/main/java/org/jboss/ws/core/client/JsonConnectionHTTP.java
stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageMarshaller.java
stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageUnMarshaller.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/
stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/BadgerFishXMLEventWriter.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentParser.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentSerializer.java
stack/native/trunk/src/main/java/org/jboss/ws/feature/JsonEncodingFeature.java
stack/native/trunk/src/main/resources/jbossws-core.jar/META-INF/services/org.jboss.ws.core.client.RemoteConnection.http.json
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonEndpoint.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonPort.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonTestCase.java
stack/native/trunk/src/test/resources/jaxws/json/
stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/
stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/web.xml
Removed:
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java
Modified:
stack/native/trunk/ant-import-tests/build-jars-jaxws.xml
stack/native/trunk/ant-import/jbossws-deploy-macros.xml
stack/native/trunk/src/main/java/javax/xml/ws/http/HTTPBinding.java
stack/native/trunk/src/main/java/org/jboss/ws/core/CommonClient.java
stack/native/trunk/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java
stack/native/trunk/src/main/java/org/jboss/ws/core/client/RemoteConnectionFactory.java
stack/native/trunk/src/main/java/org/jboss/ws/feature/FastInfosetFeature.java
stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/EndpointFeatureProcessor.java
stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/fastinfoset/FastInfosetAPITestCase.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java
Log:
[JBWS-1165] Add initial JSON support
Modified: stack/native/trunk/ant-import/jbossws-deploy-macros.xml
===================================================================
--- stack/native/trunk/ant-import/jbossws-deploy-macros.xml 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/ant-import/jbossws-deploy-macros.xml 2008-03-15 03:42:44 UTC (rev 5983)
@@ -44,6 +44,7 @@
<include name="**/jboss-jaxws.jar"/>
<include name="**/jboss-jaxws-ext.jar"/>
<include name="**/jboss-saaj.jar"/>
+ <include name="**/jettison.jar"/>
<include name="**/policy.jar"/>
<include name="**/stax-api.jar"/>
<include name="**/stax-ex.jar"/>
@@ -79,6 +80,7 @@
<include name="**/FastInfoset.jar"/>
<include name="**/jboss-jaxb-intros.jar"/>
<include name="**/jbossws-core.jar"/>
+ <include name="**/jettison.jar"/>
<include name="**/policy.jar"/>
<include name="**/wsdl4j.jar"/>
<include name="**/xmlsec.jar"/>
Modified: stack/native/trunk/ant-import-tests/build-jars-jaxws.xml
===================================================================
--- stack/native/trunk/ant-import-tests/build-jars-jaxws.xml 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/ant-import-tests/build-jars-jaxws.xml 2008-03-15 03:42:44 UTC (rev 5983)
@@ -146,6 +146,13 @@
</classes>
</war>
+ <!-- jaxws-json -->
+ <war warfile="${tests.output.dir}/libs/jaxws-json.war" webxml="${tests.output.dir}/resources/jaxws/json/WEB-INF/web.xml">
+ <classes dir="${tests.output.dir}/classes">
+ <include name="org/jboss/test/ws/jaxws/json/JsonEndpoint.class"/>
+ </classes>
+ </war>
+
<!-- jaxws-jaxbintros -->
<war warfile="${tests.output.dir}/libs/jaxws-jaxbintros.war" webxml="${tests.output.dir}/resources/jaxws/jaxbintros/WEB-INF/web.xml">
<classes dir="${tests.output.dir}/classes">
Modified: stack/native/trunk/src/main/java/javax/xml/ws/http/HTTPBinding.java
===================================================================
--- stack/native/trunk/src/main/java/javax/xml/ws/http/HTTPBinding.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/javax/xml/ws/http/HTTPBinding.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -24,7 +24,6 @@
// $Id$
import javax.xml.ws.Binding;
-import javax.xml.ws.Binding21;
/** The <code>HTTPBinding</code> interface is an
* abstraction for the XML/HTTP binding.
@@ -33,7 +32,6 @@
**/
public interface HTTPBinding extends Binding
{
-
/**
* A constant representing the identity of the XML/HTTP binding.
*/
Added: stack/native/trunk/src/main/java/org/jboss/ws/annotation/JsonEncoding.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/annotation/JsonEncoding.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/annotation/JsonEncoding.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.annotation;
+
+// $Id$
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import org.jboss.ws.feature.JsonEncodingFeature;
+
+/**
+ * This feature represents the use of JSON encoding
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 29-Feb-2008
+ */
+@Retention(value = RetentionPolicy.RUNTIME)
+@Target(value = { ElementType.TYPE })
+@EndpointFeature(id = JsonEncodingFeature.ID)
+public @interface JsonEncoding {
+
+ /**
+ * Specifies if the feature is enabled or disabled
+ */
+ boolean enabled() default true;
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/annotation/JsonEncoding.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/CommonClient.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/CommonClient.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/CommonClient.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -49,7 +49,6 @@
import org.jboss.ws.core.client.EndpointInfo;
import org.jboss.ws.core.client.RemoteConnection;
import org.jboss.ws.core.client.RemoteConnectionFactory;
-import org.jboss.ws.core.client.SOAPProtocolConnectionHTTP;
import org.jboss.ws.core.jaxrpc.ParameterWrapping;
import org.jboss.ws.core.soap.MessageContextAssociation;
import org.jboss.ws.core.soap.Style;
@@ -107,7 +106,7 @@
{
this.epMetaData = serviceMetaData.getEndpoints().get(0);
}
-
+
// Initialize the binding provider
this.bindingProvider = getCommonBindingProvider();
}
@@ -117,7 +116,7 @@
protected CommonClient(EndpointMetaData epMetaData)
{
this.epMetaData = epMetaData;
-
+
// Initialize the binding provider
this.bindingProvider = getCommonBindingProvider();
}
@@ -146,7 +145,7 @@
{
setOperationName(opName);
}
-
+
// Initialize the binding provider
this.bindingProvider = getCommonBindingProvider();
}
@@ -657,7 +656,7 @@
EndpointMetaData epMetaData = getEndpointMetaData();
return epMetaData.getConfigFile();
}
-
+
public String getSecurityConfig()
{
return securityConfig;
@@ -666,7 +665,7 @@
public void setSecurityConfig(String securityConfig)
{
this.securityConfig = securityConfig;
-
+
if (securityConfig != null)
{
EndpointMetaData epMetaData = getEndpointMetaData();
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -52,14 +52,13 @@
import org.jboss.ws.core.StubExt;
import org.jboss.ws.core.WSTimeoutException;
import org.jboss.ws.core.soap.MessageContextAssociation;
-import org.jboss.ws.metadata.config.EndpointProperty;
-import org.jboss.ws.metadata.config.CommonConfig;
-import org.jboss.ws.metadata.umdm.EndpointMetaData;
-
import org.jboss.ws.extensions.wsrm.transport.RMChannel;
-import org.jboss.ws.extensions.wsrm.transport.RMTransportHelper;
import org.jboss.ws.extensions.wsrm.transport.RMMetadata;
+import org.jboss.ws.extensions.wsrm.transport.RMTransportHelper;
import org.jboss.ws.feature.FastInfosetFeature;
+import org.jboss.ws.metadata.config.CommonConfig;
+import org.jboss.ws.metadata.config.EndpointProperty;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
/**
* SOAPConnection implementation.
Added: stack/native/trunk/src/main/java/org/jboss/ws/core/client/JsonConnectionHTTP.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/client/JsonConnectionHTTP.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/client/JsonConnectionHTTP.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.client;
+
+// $Id$
+
+import java.util.Map;
+
+import javax.xml.soap.MimeHeaders;
+import javax.xml.soap.SOAPConstants;
+
+import org.jboss.remoting.marshal.Marshaller;
+import org.jboss.remoting.marshal.UnMarshaller;
+import org.jboss.ws.core.MessageAbstraction;
+import org.jboss.ws.core.jaxws.binding.JsonMessageMarshaller;
+import org.jboss.ws.core.jaxws.binding.JsonMessageUnMarshaller;
+import org.jboss.ws.core.soap.attachment.MimeConstants;
+
+/**
+ * JSON remoting connection
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-Mar-2008
+ */
+public class JsonConnectionHTTP extends HTTPRemotingConnection
+{
+ public UnMarshaller getUnmarshaller()
+ {
+ return new JsonMessageUnMarshaller();
+ }
+
+ public Marshaller getMarshaller()
+ {
+ return new JsonMessageMarshaller();
+ }
+
+ @Override
+ protected void populateHeaders(MessageAbstraction reqMessage, Map<String, Object> metadata)
+ {
+ // TODO: fix the content-type
+ MimeHeaders mimeHeaders = reqMessage.getMimeHeaders();
+ mimeHeaders.setHeader(MimeConstants.CONTENT_TYPE, SOAPConstants.SOAP_1_1_CONTENT_TYPE);
+
+ super.populateHeaders(reqMessage, metadata);
+ }
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/core/client/JsonConnectionHTTP.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/src/main/java/org/jboss/ws/core/client/RemoteConnectionFactory.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/client/RemoteConnectionFactory.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/client/RemoteConnectionFactory.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -22,6 +22,7 @@
package org.jboss.ws.core.client;
import org.jboss.ws.feature.FastInfosetFeature;
+import org.jboss.ws.feature.JsonEncodingFeature;
import org.jboss.wsf.spi.util.ServiceLoader;
// $Id$
@@ -50,7 +51,13 @@
throw new IllegalArgumentException("Cannot obtain remote connetion for: " + targetAddress);
if (epInfo.isFeatureEnabled(FastInfosetFeature.class))
+ {
key += ".fastinfoset";
+ }
+ else if (epInfo.isFeatureEnabled(JsonEncodingFeature.class))
+ {
+ key += ".json";
+ }
RemoteConnection con = (RemoteConnection)ServiceLoader.loadService(key, null);
if (con == null)
Added: stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageMarshaller.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageMarshaller.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageMarshaller.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.jaxws.binding;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
+import org.jboss.logging.Logger;
+import org.jboss.remoting.InvocationRequest;
+import org.jboss.remoting.invocation.OnewayInvocation;
+import org.jboss.remoting.marshal.Marshaller;
+import org.jboss.ws.core.soap.SOAPBodyImpl;
+import org.jboss.ws.core.soap.SOAPMessageImpl;
+import org.jboss.ws.extensions.json.DOMDocumentSerializer;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Nov-2004
+ */
+public class JsonMessageMarshaller implements Marshaller
+{
+ // Provide logging
+ private static Logger log = Logger.getLogger(JsonMessageMarshaller.class);
+
+ /**
+ * Marshaller will need to take the dataObject and convert
+ * into primitive java data types and write to the
+ * given output.
+ *
+ * @param dataObject Object to be writen to output
+ * @param output The data output to write the object
+ * data to.
+ */
+ public void write(Object dataObject, OutputStream output) throws IOException
+ {
+ if (dataObject instanceof InvocationRequest)
+ dataObject = ((InvocationRequest)dataObject).getParameter();
+
+ if (dataObject instanceof OnewayInvocation)
+ dataObject = ((OnewayInvocation)dataObject).getParameters()[0];
+
+ // TODO: this should not be a SOAP message
+ if ((dataObject instanceof SOAPMessageImpl) == false)
+ throw new IllegalArgumentException("Not a SOAPMessageImpl: " + dataObject);
+
+ try
+ {
+ SOAPMessage soapMessage = (SOAPMessage)dataObject;
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)soapMessage.getSOAPBody();
+ SOAPBodyElement payload = soapBody.getBodyElement();
+ new DOMDocumentSerializer(output).serialize(payload);
+ }
+ catch (SOAPException ex)
+ {
+ IOException ioex = new IOException("Cannot serialize: " + dataObject);
+ ioex.initCause(ex);
+ throw ioex;
+ }
+ }
+
+ public Marshaller cloneMarshaller() throws CloneNotSupportedException
+ {
+ return new JsonMessageMarshaller();
+ }
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageMarshaller.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageUnMarshaller.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageUnMarshaller.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageUnMarshaller.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.jaxws.binding;
+
+// $Id$
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.soap.MimeHeaders;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
+
+import org.jboss.logging.Logger;
+import org.jboss.remoting.marshal.UnMarshaller;
+import org.jboss.ws.core.soap.MessageFactoryImpl;
+import org.jboss.ws.extensions.json.DOMDocumentParser;
+import org.w3c.dom.Document;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Nov-2004
+ */
+public class JsonMessageUnMarshaller implements UnMarshaller
+{
+ // Provide logging
+ private static Logger log = Logger.getLogger(JsonMessageUnMarshaller.class);
+
+ public Object read(InputStream inputStream, Map metadata) throws IOException, ClassNotFoundException
+ {
+ if (log.isTraceEnabled())
+ {
+ log.trace("Read input stream with metadata=" + metadata);
+ }
+
+ // TODO: this should not be a SOAP message
+ try
+ {
+ MessageFactoryImpl factory = new MessageFactoryImpl();
+ SOAPMessage soapMsg = factory.createMessage();
+ Document doc = new DOMDocumentParser().parse(inputStream);
+ soapMsg.getSOAPBody().addDocument(doc);
+ return soapMsg;
+ }
+ catch (SOAPException ex)
+ {
+ IOException ioex = new IOException("Cannot unmarshall json input stream");
+ ioex.initCause(ex);
+ throw ioex;
+ }
+ }
+
+ /**
+ * Set the class loader to use for unmarhsalling. This may
+ * be needed when need to have access to class definitions that
+ * are not part of this unmarshaller's parent classloader (especially
+ * when doing remote classloading).
+ *
+ * @param classloader
+ */
+ public void setClassLoader(ClassLoader classloader)
+ {
+ //NO OP
+ }
+
+ public UnMarshaller cloneUnMarshaller() throws CloneNotSupportedException
+ {
+ return new JsonMessageUnMarshaller();
+ }
+
+ private MimeHeaders getMimeHeaders(Map metadata)
+ {
+ log.debug("getMimeHeaders from: " + metadata);
+
+ MimeHeaders headers = new MimeHeaders();
+ Iterator i = metadata.keySet().iterator();
+ while (i.hasNext())
+ {
+ String key = (String)i.next();
+ Object value = metadata.get(key);
+ if (key != null && value instanceof List)
+ {
+ for (Object listValue : (List)value)
+ {
+ headers.addHeader(key, listValue.toString());
+ }
+ }
+ }
+ return headers;
+ }
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/core/jaxws/binding/JsonMessageUnMarshaller.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Copied: stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/BadgerFishXMLEventWriter.java (from rev 5982, stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java)
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/BadgerFishXMLEventWriter.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/BadgerFishXMLEventWriter.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,158 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.json;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.stream.events.Attribute;
+import javax.xml.stream.events.Characters;
+import javax.xml.stream.events.Namespace;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+
+/**
+ * An BadgerFishXMLEventWriter that delegates to an XMLStreamWriter.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class BadgerFishXMLEventWriter implements XMLEventWriter
+{
+ private XMLStreamWriter streamWriter;
+
+ public BadgerFishXMLEventWriter(XMLStreamWriter streamWriter)
+ {
+ this.streamWriter = streamWriter;
+ }
+
+ public void add(XMLEvent event) throws XMLStreamException
+ {
+ if (event.isStartDocument())
+ {
+ streamWriter.writeStartDocument();
+ }
+ else if (event.isStartElement())
+ {
+ StartElement element = event.asStartElement();
+ QName elQName = element.getName();
+ if (elQName.getPrefix().length() > 0 && elQName.getNamespaceURI().length() > 0)
+ streamWriter.writeStartElement(elQName.getPrefix(), elQName.getLocalPart(), elQName.getNamespaceURI());
+ else if (elQName.getNamespaceURI().length() > 0)
+ streamWriter.writeStartElement(elQName.getNamespaceURI(), elQName.getLocalPart());
+ else
+ streamWriter.writeStartElement(elQName.getLocalPart());
+
+ // Add element namespaces
+ Iterator namespaces = element.getNamespaces();
+ while (namespaces.hasNext())
+ {
+ Namespace ns = (Namespace)namespaces.next();
+ String prefix = ns.getPrefix();
+ String nsURI = ns.getNamespaceURI();
+ streamWriter.writeNamespace(prefix, nsURI);
+ }
+
+ // Add element attributes
+ Iterator attris = element.getAttributes();
+ while (attris.hasNext())
+ {
+ Attribute attr = (Attribute)attris.next();
+ QName atQName = attr.getName();
+ String value = attr.getValue();
+ if (atQName.getPrefix().length() > 0 && atQName.getNamespaceURI().length() > 0)
+ streamWriter.writeAttribute(atQName.getPrefix(), atQName.getNamespaceURI(), atQName.getLocalPart(), value);
+ else if (atQName.getNamespaceURI().length() > 0)
+ streamWriter.writeAttribute(atQName.getNamespaceURI(), atQName.getLocalPart(), value);
+ else
+ streamWriter.writeAttribute(atQName.getLocalPart(), value);
+ }
+ }
+ else if (event.isCharacters())
+ {
+ Characters chars = event.asCharacters();
+ streamWriter.writeCharacters(chars.getData());
+ }
+ else if (event.isEndElement())
+ {
+ streamWriter.writeEndElement();
+ }
+ else if (event.isEndDocument())
+ {
+ streamWriter.writeEndDocument();
+ }
+ else
+ {
+ throw new XMLStreamException("Unsupported event type: " + event);
+ }
+ }
+
+ public void add(XMLEventReader eventReader) throws XMLStreamException
+ {
+ while (eventReader.hasNext())
+ {
+ XMLEvent event = eventReader.nextEvent();
+ add(event);
+ }
+ close();
+ }
+
+ public void close() throws XMLStreamException
+ {
+ streamWriter.close();
+ }
+
+ public void flush() throws XMLStreamException
+ {
+ streamWriter.flush();
+ }
+
+ public NamespaceContext getNamespaceContext()
+ {
+ return streamWriter.getNamespaceContext();
+ }
+
+ public String getPrefix(String prefix) throws XMLStreamException
+ {
+ return streamWriter.getPrefix(prefix);
+ }
+
+ public void setDefaultNamespace(String namespace) throws XMLStreamException
+ {
+ streamWriter.setDefaultNamespace(namespace);
+ }
+
+ public void setNamespaceContext(NamespaceContext nsContext) throws XMLStreamException
+ {
+ streamWriter.setNamespaceContext(nsContext);
+ }
+
+ public void setPrefix(String prefix, String uri) throws XMLStreamException
+ {
+ streamWriter.setPrefix(prefix, uri);
+ }
+}
\ No newline at end of file
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentParser.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentParser.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentParser.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.json;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.codehaus.jettison.badgerfish.BadgerFishXMLInputFactory;
+import org.w3c.dom.Document;
+import org.xml.sax.SAXException;
+
+/**
+ * An JSON BadgerFish DOM parser
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class DOMDocumentParser
+{
+ public Document parse(InputStream input) throws IOException
+ {
+ try
+ {
+ BadgerFishXMLInputFactory inputFactory = new BadgerFishXMLInputFactory();
+ XMLStreamReader streamReader = inputFactory.createXMLStreamReader(input);
+ XMLInputFactory readerFactory = XMLInputFactory.newInstance();
+ XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
+
+ // Can not create a STaX writer for a DOMResult in woodstox-3.1.1
+ // DOMResult result = new DOMResult();
+ // XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(result);
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+ XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(baos);
+ eventWriter.add(eventReader);
+ eventWriter.close();
+
+ // This parsing step should not be necessary, if we could output to a DOMResult
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ return getDocumentBuilder().parse(bais);
+ }
+ catch (XMLStreamException ex)
+ {
+ IOException ioex = new IOException("Cannot parse input stream");
+ ioex.initCause(ex);
+ throw ioex;
+ }
+ catch (SAXException ex)
+ {
+ IOException ioex = new IOException("Cannot import in target document");
+ ioex.initCause(ex);
+ throw ioex;
+ }
+ }
+
+ private DocumentBuilder getDocumentBuilder()
+ {
+ try
+ {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setValidating(false);
+ factory.setNamespaceAware(true);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ return builder;
+ }
+ catch (ParserConfigurationException e)
+ {
+ throw new RuntimeException("Failed to create DocumentBuilder", e);
+ }
+ }
+}
\ No newline at end of file
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentParser.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentSerializer.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentSerializer.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentSerializer.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.json;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.transform.dom.DOMSource;
+
+import org.codehaus.jettison.badgerfish.BadgerFishXMLOutputFactory;
+import org.w3c.dom.Element;
+
+/**
+ * An JSON BadgerFish DOM serializer
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class DOMDocumentSerializer
+{
+ private OutputStream output;
+
+ public DOMDocumentSerializer(OutputStream output)
+ {
+ this.output = output;
+ }
+
+ public void serialize(Element el) throws IOException
+ {
+ if (output == null)
+ throw new IllegalStateException("OutputStream cannot be null");
+
+ try
+ {
+ DOMSource source = new DOMSource(el);
+ XMLInputFactory readerFactory = XMLInputFactory.newInstance();
+ XMLStreamReader streamReader = readerFactory.createXMLStreamReader(source);
+ XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
+
+ BadgerFishXMLOutputFactory writerFactory = new BadgerFishXMLOutputFactory();
+ XMLStreamWriter streamWriter = writerFactory.createXMLStreamWriter(output);
+ // Not implemented in jettison-1.0-RC2
+ // XMLEventWriter eventWriter = writerFactory.createXMLEventWriter(output);
+ XMLEventWriter eventWriter = new BadgerFishXMLEventWriter(streamWriter);
+ eventWriter.add(eventReader);
+ eventWriter.close();
+ }
+ catch (XMLStreamException ex)
+ {
+ IOException ioex = new IOException("Cannot serialize: " + el);
+ ioex.initCause(ex);
+ throw ioex;
+ }
+ }
+}
\ No newline at end of file
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/json/DOMDocumentSerializer.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/src/main/java/org/jboss/ws/feature/FastInfosetFeature.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/feature/FastInfosetFeature.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/ws/feature/FastInfosetFeature.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -36,12 +36,12 @@
public final class FastInfosetFeature extends WebServiceFeature
{
/**
- * Constant value identifying the SchemaValidationFeature
+ * Constant value identifying the FastInfosetFeature
*/
public static final String ID = Constants.NS_JBOSSWS_URI + "/features/fastinfoset";
/**
- * Create an <code>SchemaValidationFeature</code>.
+ * Create an <code>FastInfosetFeature</code>.
* The instance created will be enabled.
*/
public FastInfosetFeature()
@@ -50,7 +50,7 @@
}
/**
- * Creates an <code>SchemaValidationFeature</code>.
+ * Creates an <code>FastInfosetFeature</code>.
*
* @param enabled specifies if this feature should be enabled or not
*/
Added: stack/native/trunk/src/main/java/org/jboss/ws/feature/JsonEncodingFeature.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/feature/JsonEncodingFeature.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/feature/JsonEncodingFeature.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.feature;
+
+// $Id$
+
+import javax.xml.ws.WebServiceFeature;
+
+import org.jboss.ws.Constants;
+
+/**
+ * This feature represents the use of JSON encoding
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 29-Feb-2008
+ */
+public final class JsonEncodingFeature extends WebServiceFeature
+{
+ /**
+ * Constant value identifying the JSON encoding feature
+ */
+ public static final String ID = Constants.NS_JBOSSWS_URI + "/features/json";
+
+ /**
+ * Create an <code>JsonFeature</code>.
+ * The instance created will be enabled.
+ */
+ public JsonEncodingFeature()
+ {
+ this.enabled = true;
+ }
+
+ /**
+ * Creates an <code>JsonFeature</code>.
+ *
+ * @param enabled specifies if this feature should be enabled or not
+ */
+ public JsonEncodingFeature(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getID()
+ {
+ return ID;
+ }
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/feature/JsonEncodingFeature.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/EndpointFeatureProcessor.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/EndpointFeatureProcessor.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/ws/metadata/builder/jaxws/EndpointFeatureProcessor.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -29,8 +29,10 @@
import org.jboss.ws.WSException;
import org.jboss.ws.annotation.FastInfoset;
+import org.jboss.ws.annotation.JsonEncoding;
import org.jboss.ws.annotation.SchemaValidation;
import org.jboss.ws.feature.FastInfosetFeature;
+import org.jboss.ws.feature.JsonEncodingFeature;
import org.jboss.ws.feature.SchemaValidationFeature;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
@@ -55,18 +57,19 @@
}
else if (an.annotationType() == FastInfoset.class)
{
- processFastInfoset(dep, sepMetaData, sepClass);
+ FastInfoset anFeature = sepClass.getAnnotation(FastInfoset.class);
+ FastInfosetFeature feature = new FastInfosetFeature(anFeature.enabled());
+ sepMetaData.addFeature(feature);
}
+ else if (an.annotationType() == JsonEncoding.class)
+ {
+ JsonEncoding anFeature = sepClass.getAnnotation(JsonEncoding.class);
+ JsonEncodingFeature feature = new JsonEncodingFeature(anFeature.enabled());
+ sepMetaData.addFeature(feature);
+ }
}
}
- private void processFastInfoset(Deployment dep, ServerEndpointMetaData sepMetaData, Class<?> sepClass)
- {
- FastInfoset anFeature = sepClass.getAnnotation(FastInfoset.class);
- FastInfosetFeature feature = new FastInfosetFeature(anFeature.enabled());
- sepMetaData.addFeature(feature);
- }
-
private void processSchemaValidation(Deployment dep, ServerEndpointMetaData sepMetaData, Class<?> sepClass)
{
SchemaValidation anFeature = sepClass.getAnnotation(SchemaValidation.class);
Modified: stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerImpl.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -44,6 +44,7 @@
import javax.xml.namespace.QName;
import javax.xml.rpc.JAXRPCException;
import javax.xml.soap.MimeHeaders;
+import javax.xml.soap.SOAPBodyElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
@@ -74,13 +75,16 @@
import org.jboss.ws.core.server.WSDLRequestHandler;
import org.jboss.ws.core.soap.MessageContextAssociation;
import org.jboss.ws.core.soap.MessageFactoryImpl;
+import org.jboss.ws.core.soap.SOAPBodyImpl;
import org.jboss.ws.core.soap.SOAPConnectionImpl;
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.core.utils.ThreadLocalAssociation;
import org.jboss.ws.extensions.addressing.AddressingConstantsImpl;
+import org.jboss.ws.extensions.json.DOMDocumentParser;
import org.jboss.ws.extensions.wsrm.RMConstant;
import org.jboss.ws.extensions.xop.XOPContext;
import org.jboss.ws.feature.FastInfosetFeature;
+import org.jboss.ws.feature.JsonEncodingFeature;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
@@ -98,8 +102,6 @@
import org.jboss.wsf.common.IOUtils;
import org.w3c.dom.Document;
-import com.sun.xml.fastinfoset.dom.DOMDocumentSerializer;
-
/**
* A request handler
*
@@ -359,6 +361,7 @@
}
else
{
+ // FastInfoset support
if (epMetaData.isFeatureEnabled(FastInfosetFeature.class) && resMessage instanceof SOAPMessage)
{
SOAPMessage soapMessage = (SOAPMessage)resMessage;
@@ -366,10 +369,21 @@
throw new IllegalStateException("Attachments not supported with FastInfoset");
SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope();
- DOMDocumentSerializer serializer = new DOMDocumentSerializer();
+ com.sun.xml.fastinfoset.dom.DOMDocumentSerializer serializer = new com.sun.xml.fastinfoset.dom.DOMDocumentSerializer();
serializer.setOutputStream(output);
serializer.serialize(soapEnv);
}
+ // JSON support
+ else if (epMetaData.isFeatureEnabled(JsonEncodingFeature.class) && resMessage instanceof SOAPMessage)
+ {
+ SOAPMessage soapMessage = (SOAPMessage)resMessage;
+ if (soapMessage.getAttachments().hasNext())
+ throw new IllegalStateException("Attachments not supported with JSON");
+
+ SOAPBodyImpl soapBody = (SOAPBodyImpl)soapMessage.getSOAPBody();
+ SOAPBodyElement payload = soapBody.getBodyElement();
+ new org.jboss.ws.extensions.json.DOMDocumentSerializer(output).serialize(payload);
+ }
else
{
resMessage.writeTo(output);
@@ -413,9 +427,16 @@
{
reqMessage = new HTTPMessageImpl(headers, inputStream);
}
+ else if (sepMetaData.isFeatureEnabled(JsonEncodingFeature.class))
+ {
+ MessageFactoryImpl factory = new MessageFactoryImpl();
+ SOAPMessageImpl soapMsg = (SOAPMessageImpl)factory.createMessage();
+ Document doc = new DOMDocumentParser().parse(inputStream);
+ soapMsg.getSOAPBody().addDocument(doc);
+ reqMessage = soapMsg;
+ }
else
{
-
msgFactory.setServiceMode(sepMetaData.getServiceMode());
msgFactory.setStyle(sepMetaData.getStyle());
msgFactory.setFeatures(sepMetaData.getFeatures());
Added: stack/native/trunk/src/main/resources/jbossws-core.jar/META-INF/services/org.jboss.ws.core.client.RemoteConnection.http.json
===================================================================
--- stack/native/trunk/src/main/resources/jbossws-core.jar/META-INF/services/org.jboss.ws.core.client.RemoteConnection.http.json (rev 0)
+++ stack/native/trunk/src/main/resources/jbossws-core.jar/META-INF/services/org.jboss.ws.core.client.RemoteConnection.http.json 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1 @@
+org.jboss.ws.core.client.JsonConnectionHTTP
\ No newline at end of file
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/fastinfoset/FastInfosetAPITestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/fastinfoset/FastInfosetAPITestCase.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/fastinfoset/FastInfosetAPITestCase.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -24,14 +24,10 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPMessage;
-import org.jboss.ws.core.soap.MessageContextAssociation;
import org.jboss.ws.core.soap.MessageFactoryImpl;
import org.jboss.ws.feature.FastInfosetFeature;
import org.jboss.wsf.common.DOMUtils;
Deleted: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -1,153 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.ws.jaxws.json;
-
-import java.util.Iterator;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.XMLEventWriter;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.stream.events.Attribute;
-import javax.xml.stream.events.Characters;
-import javax.xml.stream.events.StartElement;
-import javax.xml.stream.events.XMLEvent;
-
-/**
- * An BadgerFishXMLEventWriter that delegates to an XMLStreamWriter.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 12-Mar-2008
- */
-public class BadgerFishXMLEventWriter implements XMLEventWriter
-{
- private XMLStreamWriter streamWriter;
-
- public BadgerFishXMLEventWriter(XMLStreamWriter streamWriter)
- {
- this.streamWriter = streamWriter;
- }
-
- public void add(XMLEvent event) throws XMLStreamException
- {
- if (event.isStartDocument())
- {
- streamWriter.writeStartDocument();
- }
- else if (event.isStartElement())
- {
- StartElement element = event.asStartElement();
- QName elQName = element.getName();
- if (elQName.getPrefix().length() > 0 && elQName.getNamespaceURI().length() > 0)
- streamWriter.writeStartElement(elQName.getPrefix(), elQName.getLocalPart(), elQName.getNamespaceURI());
- else if (elQName.getNamespaceURI().length() > 0)
- streamWriter.writeStartElement(elQName.getNamespaceURI(), elQName.getLocalPart());
- else
- streamWriter.writeStartElement(elQName.getLocalPart());
-
- Iterator attris = element.getAttributes();
- while (attris.hasNext())
- {
- Attribute attr = (Attribute)attris.next();
- QName atQName = attr.getName();
- String value = attr.getValue();
- if (atQName.getPrefix().length() > 0 && atQName.getNamespaceURI().length() > 0)
- streamWriter.writeAttribute(atQName.getPrefix(), atQName.getNamespaceURI(), atQName.getLocalPart(), value);
- else if (atQName.getNamespaceURI().length() > 0)
- streamWriter.writeAttribute(atQName.getNamespaceURI(), atQName.getLocalPart(), value);
- else
- streamWriter.writeAttribute(atQName.getLocalPart(), value);
- }
- }
- else if (event.isNamespace())
- {
- Attribute attr = (Attribute)event;
- QName qname = attr.getName();
- String nsURI = attr.getValue();
- streamWriter.writeNamespace(qname.getPrefix(), nsURI);
- }
- else if (event.isCharacters())
- {
- Characters chars = event.asCharacters();
- streamWriter.writeCharacters(chars.getData());
- }
- else if (event.isEndElement())
- {
- streamWriter.writeEndElement();
- }
- else if (event.isEndDocument())
- {
- streamWriter.writeEndDocument();
- }
- else
- {
- throw new XMLStreamException("Unsupported event type: " + event);
- }
- }
-
- public void add(XMLEventReader eventReader) throws XMLStreamException
- {
- while (eventReader.hasNext())
- {
- XMLEvent event = eventReader.nextEvent();
- add(event);
- }
- close();
- }
-
- public void close() throws XMLStreamException
- {
- streamWriter.close();
- }
-
- public void flush() throws XMLStreamException
- {
- streamWriter.flush();
- }
-
- public NamespaceContext getNamespaceContext()
- {
- return streamWriter.getNamespaceContext();
- }
-
- public String getPrefix(String prefix) throws XMLStreamException
- {
- return streamWriter.getPrefix(prefix);
- }
-
- public void setDefaultNamespace(String namespace) throws XMLStreamException
- {
- streamWriter.setDefaultNamespace(namespace);
- }
-
- public void setNamespaceContext(NamespaceContext nsContext) throws XMLStreamException
- {
- streamWriter.setNamespaceContext(nsContext);
- }
-
- public void setPrefix(String prefix, String uri) throws XMLStreamException
- {
- streamWriter.setPrefix(prefix, uri);
- }
-}
\ No newline at end of file
Modified: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java 2008-03-14 15:12:14 UTC (rev 5982)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -23,24 +23,17 @@
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.StringWriter;
-import javax.xml.stream.FactoryConfigurationError;
-import javax.xml.stream.XMLEventReader;
-import javax.xml.stream.XMLEventWriter;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import org.codehaus.jettison.badgerfish.BadgerFishXMLInputFactory;
-import org.codehaus.jettison.badgerfish.BadgerFishXMLOutputFactory;
-import org.codehaus.jettison.json.JSONTokener;
+import org.jboss.ws.extensions.json.DOMDocumentParser;
+import org.jboss.ws.extensions.json.DOMDocumentSerializer;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.DOMWriter;
import org.jboss.wsf.test.JBossWSTest;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
/**
- * Test Json functionality
+ * Test Json API
*
* @author Thomas.Diesler(a)jboss.com
* @since 12-Mar-2008
@@ -49,77 +42,70 @@
{
public void testSimple() throws Exception
{
- String xmlStr = "<root>hello world</root>";
- String expStr = "{\"root\":{\"$\":\"hello world\"}}";
- String resStr = toJSON(xmlStr);
+ String xmlStr = "<kermit>the frog</kermit>";
+ String expStr = "{\"kermit\":{\"$\":\"the frog\"}}";
+ String resStr = toJSON(DOMUtils.parse(xmlStr));
assertEquals("Unexpected result: " + resStr, expStr, resStr);
-
+
String resXML = toXML(resStr);
assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
}
public void testSimpleAttribute() throws Exception
{
- String xmlStr = "<root myat=\"value\">hello world</root>";
- String expStr = "{\"root\":{\"@myat\":\"value\",\"$\":\"hello world\"}}";
- String resStr = toJSON(xmlStr);
+ String xmlStr = "<kermit mygirl='piggy'>the frog</kermit>";
+ String expStr = "{\"kermit\":{\"@mygirl\":\"piggy\",\"$\":\"the frog\"}}";
+ String resStr = toJSON(DOMUtils.parse(xmlStr));
assertEquals("Unexpected result: " + resStr, expStr, resStr);
-
+
String resXML = toXML(resStr);
assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
}
- public void _testDefaultNamespace() throws Exception
+ public void testDefaultNamespace() throws Exception
{
- String xmlStr = "<root xmlns=\"http://somns\">hello world</root>";
- String expStr = "{\"root\":{\"$\":\"hello world\"}}";
- String resStr = toJSON(xmlStr);
+ String xmlStr = "<kermit xmlns='http://somens'>the frog</kermit>";
+ String expStr = "{\"kermit\":{\"@xmlns\":{\"$\":\"http:\\/\\/somens\"},\"$\":\"the frog\"}}";
+ String resStr = toJSON(DOMUtils.parse(xmlStr));
assertEquals("Unexpected result: " + resStr, expStr, resStr);
-
+
String resXML = toXML(resStr);
assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
}
- private String toJSON(String srcXML) throws FactoryConfigurationError, XMLStreamException
+ public void testElementNamespace() throws Exception
{
- ByteArrayInputStream bais = new ByteArrayInputStream(srcXML.getBytes());
+ String xmlStr = "<ns1:kermit xmlns:ns1='http://somens'>the frog</ns1:kermit>";
+ String expStr = "{\"ns1:kermit\":{\"@xmlns\":{\"ns1\":\"http:\\/\\/somens\"},\"$\":\"the frog\"}}";
+ String resStr = toJSON(DOMUtils.parse(xmlStr));
+ assertEquals("Unexpected result: " + resStr, expStr, resStr);
- XMLInputFactory readerFactory = XMLInputFactory.newInstance();
- XMLStreamReader streamReader = readerFactory.createXMLStreamReader(bais);
- XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
+ String resXML = toXML(resStr);
+ assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
+ }
- StringWriter strWriter = new StringWriter();
- BadgerFishXMLOutputFactory writerFactory = new BadgerFishXMLOutputFactory();
- XMLStreamWriter streamWriter = writerFactory.createXMLStreamWriter(strWriter);
+ public void testElementAttributeNamespace() throws Exception
+ {
+ String xmlStr = "<ns1:kermit ns1:mygirl='piggy' xmlns:ns1='http://somens'>the frog</ns1:kermit>";
+ String expStr = "{\"ns1:kermit\":{\"@xmlns\":{\"ns1\":\"http:\\/\\/somens\"},\"@ns1:mygirl\":\"piggy\",\"$\":\"the frog\"}}";
+ String resStr = toJSON(DOMUtils.parse(xmlStr));
+ assertEquals("Unexpected result: " + resStr, expStr, resStr);
- // UnsupportedOperationException in jettison-1.0-RC2
- //XMLEventWriter eventWriter = writerFactory.createXMLEventWriter(strWriter);
-
- XMLEventWriter eventWriter = new BadgerFishXMLEventWriter(streamWriter);
- eventWriter.add(eventReader);
- eventWriter.close();
-
- String jsonStr = strWriter.toString();
- return jsonStr;
+ String resXML = toXML(resStr);
+ assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
}
- private String toXML(String jsonStr) throws XMLStreamException, FactoryConfigurationError
+ private String toJSON(Element srcDOM) throws Exception
{
- BadgerFishXMLInputFactory inputFactory = new BadgerFishXMLInputFactory();
- XMLStreamReader streamReader = inputFactory.createXMLStreamReader(new JSONTokener(jsonStr));
- XMLInputFactory readerFactory = XMLInputFactory.newInstance();
- XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
-
ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(baos);
- eventWriter.add(eventReader);
- eventWriter.close();
-
- String resXML = new String(baos.toByteArray());
- if (resXML.startsWith("<?xml "))
- resXML = resXML.substring(resXML.indexOf("?>") + 2);
-
- return resXML;
+ new DOMDocumentSerializer(baos).serialize(srcDOM);
+ return new String(baos.toByteArray());
}
+
+ private String toXML(String jsonStr) throws Exception
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream(jsonStr.getBytes());
+ Document resDOM = new DOMDocumentParser().parse(bais);
+ return DOMWriter.printNode(resDOM, false);
+ }
}
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonEndpoint.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonEndpoint.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonEndpoint.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.json;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+import org.jboss.logging.Logger;
+import org.jboss.ws.annotation.JsonEncoding;
+
+@WebService(targetNamespace = "http://org.jboss.ws/json")
+@JsonEncoding
+public class JsonEndpoint
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(JsonEndpoint.class);
+
+ @WebMethod
+ public String echo(String code)
+ {
+ log.info(code);
+ return code;
+ }
+}
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonEndpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonPort.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonPort.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonPort.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.json;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+@WebService(targetNamespace = "http://org.jboss.ws/json")
+public interface JsonPort
+{
+ @WebMethod
+ String echo(String code);
+}
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonPort.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonTestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonTestCase.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonTestCase.java 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.json;
+
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service21;
+
+import junit.framework.Test;
+
+import org.jboss.ws.feature.JsonEncodingFeature;
+import org.jboss.wsf.test.JBossWSTest;
+import org.jboss.wsf.test.JBossWSTestSetup;
+
+/**
+ * Test JSON functionality
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class JsonTestCase extends JBossWSTest
+{
+ public static Test suite()
+ {
+ return new JBossWSTestSetup(JsonTestCase.class, "jaxws-json.war");
+ }
+
+ public void testRoundTrip() throws Exception
+ {
+ URL wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-json?wsdl");
+ QName serviceName = new QName("http://org.jboss.ws/json", "JsonEndpointService");
+ Service21 service = Service21.create(wsdlURL, serviceName);
+
+ JsonEncodingFeature feature = new JsonEncodingFeature();
+ JsonPort port = service.getPort(JsonPort.class, feature);
+ String retStr = port.echo("hello world");
+ assertEquals("hello world", retStr);
+ }
+
+}
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/web.xml
===================================================================
--- stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/web.xml (rev 0)
+++ stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/web.xml 2008-03-15 03:42:44 UTC (rev 5983)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+ <servlet>
+ <servlet-name>JsonEndpoint</servlet-name>
+ <servlet-class>org.jboss.test.ws.jaxws.json.JsonEndpoint</servlet-class>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>JsonEndpoint</servlet-name>
+ <url-pattern>/*</url-pattern>
+ </servlet-mapping>
+</web-app>
\ No newline at end of file
Property changes on: stack/native/trunk/src/test/resources/jaxws/json/WEB-INF/web.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
16 years, 6 months
JBossWS SVN: r5982 - in stack/native/trunk/src: main/java/org/jboss/ws/extensions/wsrm/persistence and 2 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2008-03-14 11:12:14 -0400 (Fri, 14 Mar 2008)
New Revision: 5982
Added:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessage.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessageFactory.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequence.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceFactory.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaData.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilder.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilderFactory.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceState.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMStore.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/PersistenceTestCase.java
Log:
[JBWS-1828] message store interfaces for future use on both client and server side
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessage.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessage.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessage.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+/**
+ * Message abstraction on persistence layer
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public interface RMMessage
+{
+
+ /**
+ * Message id specified in either <b>MessageID</b> or <b>RelatesTo</b> addressing header element
+ * @return message id
+ */
+ String getMessageId();
+
+ /**
+ * Gets bytes of SOAP payload without WS-Security and WS-RM elements present
+ * @return
+ */
+ byte[] getData();
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessage.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessageFactory.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessageFactory.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessageFactory.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import org.jboss.util.NotImplementedException;
+
+/**
+ * Factory for creating storable message wrappers
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public final class RMMessageFactory
+{
+
+ private static final RMMessageFactory instance = new RMMessageFactory();
+
+ private RMMessageFactory()
+ {
+ // forbidden inheritance
+ }
+
+ /**
+ * Gets factory instance
+ * @return factory instance
+ */
+ public static final RMMessageFactory getInstance()
+ {
+ return instance;
+ }
+
+ /**
+ * Constructs new storable message wrapper
+ * @param messageId specified in either <b>MessageID</b> or <b>RelatesTo</b> addressing header element
+ * @param data bytes of SOAP payload without WS-Security and WS-RM elements present
+ * @return storable message wrapper
+ */
+ public final RMMessage newMessage(String messageId, byte[] data)
+ {
+ throw new NotImplementedException();
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMMessageFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequence.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequence.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequence.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import java.util.Iterator;
+
+/**
+ * Storable sequence
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public interface RMSequence
+{
+
+ /**
+ * Gets sequence outbound id
+ * @return sequence outbound id
+ */
+ String getOutboundId();
+
+ /**
+ * Gets sequence inbound id
+ * @return sequence inbound id
+ */
+ String getInboundId();
+
+ /**
+ * This method will be used on client side only.
+ * Inbound sequence id is available on first response message from server
+ * @param inboundId inbound id to set
+ */
+ void setInboundId(String inboundId);
+
+ /**
+ * Gets sequence metadata
+ * @return sequence metadata
+ */
+ RMSequenceMetaData getMetaData();
+
+ /**
+ * Sets sequence state
+ * @param seqState new sequence state
+ */
+ void setState(RMSequenceState seqState);
+
+ /**
+ * Gets sequence state
+ * @return sequence state
+ */
+ RMSequenceState getState();
+
+ /**
+ * Adds new inbound message to the sequence
+ * @param msg inbound message persistence wrapper
+ */
+ void addInboundMessage(RMMessage msg);
+
+ /**
+ * Adds new outbound message to the sequence
+ * @param msg outbound message persistence wrapper
+ */
+ void addOutboundMessage(RMMessage msg);
+
+ /**
+ * Gets all arrived inbound messages ids
+ * @return all arrived inbound messages ids
+ */
+ Iterator<Long> getInboundMessageNumbers();
+
+ /**
+ * Gets all sent inbound messages ids
+ * @return all sent inbound messages ids
+ */
+ Iterator<Long> getOutboundMessageNumbers();
+
+ /**
+ * Gets particular inbound message wrapper identified by its message number
+ * @param msgInboundNo message inbound number
+ * @return message wrapper
+ */
+ RMMessage getInboundMessage(long msgInboundNo);
+
+ /**
+ * Gets particular outbound message wrapper identified by its message number
+ * @param msgInboundNo message outbound number
+ * @return message wrapper
+ */
+ RMMessage getOutboundMessage(long msgOutboundNo);
+
+ /**
+ * Gets particular inbound message wrapper identified by its message id
+ * @param msgInboundNo message inbound number
+ * @return message wrapper
+ */
+ RMMessage getInboundMessage(String messageId);
+
+ /**
+ * Gets particular outbound message wrapper identified by its message id
+ * @param msgInboundNo message outbound number
+ * @return message wrapper
+ */
+ RMMessage getOutboundMessage(String messageId);
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequence.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceFactory.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceFactory.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceFactory.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,74 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import org.jboss.util.NotImplementedException;
+
+/**
+ * Sequence factory used on both client and server sides
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public final class RMSequenceFactory
+{
+
+ private static RMSequenceFactory instance = new RMSequenceFactory();
+
+ private RMSequenceFactory()
+ {
+ // forbidden inheritance
+ }
+
+ /**
+ * Gets factory instance
+ * @return factory instance
+ */
+ public static final RMSequenceFactory getInstance()
+ {
+ return instance;
+ }
+
+ /**
+ * Creates new sequence instance. This method will be used on server side only.
+ * The created sequence will have automatically generated both inbound and outbound ids.
+ * @param seqMD sequence metadata
+ * @return new server sequence instance
+ */
+ public RMSequence newSequence(RMSequenceMetaData seqMD)
+ {
+ return newSequence(seqMD, null);
+ }
+
+ /**
+ * Creates new sequence instance. This method will be used on client side only.
+ * The created sequence will have outbound id set to the value passed via <b>outboundId</b> parameter
+ * and inbound id will be null until client will change it to the specified value lazily.
+ * @param seqMD sequence metadata
+ * @param outboundId outbound sequence id
+ * @return new client sequence instance
+ */
+ public RMSequence newSequence(RMSequenceMetaData seqMD, String outboundId)
+ {
+ throw new NotImplementedException();
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaData.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaData.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaData.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import org.jboss.ws.extensions.wsrm.RMDeliveryAssurance;
+
+/**
+ * Sequence meta data associated with sequence during its lifetime
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public interface RMSequenceMetaData
+{
+
+ /**
+ * Gets sequence SOAP version
+ * @return sequence SOAP version
+ */
+ public String getSOAPVersion();
+
+ /**
+ * Gets sequence WSRM version
+ * @return sequence WSRM version
+ */
+ public String getWSRMVersion();
+
+ /**
+ * Gets sequence ADDR version
+ * @return sequence ADDR version
+ */
+ public String getADDRVersion();
+
+ /**
+ * Gets endpoint address
+ * @return endpoint address
+ */
+ public String getEndpointAddress();
+
+ /**
+ * Gets acks to address
+ * @return acks to address
+ */
+ public String getAcksToAddress();
+
+ /**
+ * Gets quality of service to be ensured
+ * @return quality of service
+ */
+ public RMDeliveryAssurance getDeliveryAssurance();
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaData.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilder.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilder.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilder.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+/**
+ * Sequence metadata builder
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public interface RMSequenceMetaDataBuilder
+{
+
+ /**
+ * Sets sequence SOAP version
+ * @param soapVersion SOAP version used during sequence lifetime
+ * @return this
+ */
+ RMSequenceMetaDataBuilder setSOAPVersion(String soapVersion);
+
+ /**
+ * Sets sequence WSRM version
+ * @param wsrmVersion WSRM version used during sequence lifetime
+ * @return this
+ */
+ RMSequenceMetaDataBuilder setWSRMVersion(String wsrmVersion);
+
+ /**
+ * Sets sequence ADDR version
+ * @param addrVersion ADDR version used during sequence lifetime
+ * @return this
+ */
+ RMSequenceMetaDataBuilder setADDRVersion(String addrVersion);
+
+ /**
+ * Sets endpoint address
+ * @param endpointAddr endpoint address
+ * @return this
+ */
+ RMSequenceMetaDataBuilder setEndpointAddress(String endpointAddr);
+
+ /**
+ * Sets acks to address
+ * @param acksToAddr acks to address
+ * @return this
+ */
+ RMSequenceMetaDataBuilder setAcksToAddress(String acksToAddr);
+
+ /**
+ * Builded sequence metadata
+ * @return sequence metadata
+ */
+ RMSequenceMetaData toSequenceMetaData();
+
+ /**
+ * Clear internals so this instance can be reused
+ */
+ void clear();
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilder.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilderFactory.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilderFactory.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilderFactory.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import org.jboss.util.NotImplementedException;
+
+/**
+ * Sequence metadata builder factory
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public final class RMSequenceMetaDataBuilderFactory
+{
+
+ private static RMSequenceMetaDataBuilderFactory instance = new RMSequenceMetaDataBuilderFactory();
+
+ private RMSequenceMetaDataBuilderFactory()
+ {
+ // forbidden instantiation
+ }
+
+ /**
+ * Gets factory instance
+ * @return factory instance
+ */
+ public static final RMSequenceMetaDataBuilderFactory getInstance()
+ {
+ return instance;
+ }
+
+ /**
+ * Returns new sequence metadata builder instance
+ * @return new sequence metadata builder instance
+ */
+ public final RMSequenceMetaDataBuilder newBuilder()
+ {
+ return new RMSequenceMetaDataBuilderImpl();
+ }
+
+ /**
+ * @see org.jboss.ws.extensions.wsrm.persistence.RMSequenceMetaDataBuilder
+ */
+ private static class RMSequenceMetaDataBuilderImpl implements RMSequenceMetaDataBuilder
+ {
+
+ public void clear()
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaDataBuilder setAcksToAddress(String acksToAddr)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaDataBuilder setADDRVersion(String addrVersion)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaDataBuilder setEndpointAddress(String endpointAddr)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaDataBuilder setSOAPVersion(String soapVersion)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaDataBuilder setWSRMVersion(String wsrmVersion)
+ {
+ throw new NotImplementedException();
+ }
+
+ public RMSequenceMetaData toSequenceMetaData()
+ {
+ throw new NotImplementedException();
+ }
+
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceMetaDataBuilderFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceState.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceState.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceState.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+/**
+ * Possible sequence states
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public enum RMSequenceState
+{
+
+ CREATED(0),
+ CLOSED(1),
+ TERMINATED(2);
+
+ private final int state;
+
+ private RMSequenceState(int state)
+ {
+ this.state = state;
+ }
+
+ /**
+ * Returns integer representation of the enum instance
+ * @return
+ */
+ public final int getState()
+ {
+ return this.state;
+ }
+
+ /**
+ * Factory method for constructing this enum instance from its integer representation
+ * @param state for which enum instance is required
+ * @return enum instance
+ */
+ public final RMSequenceState valueOf(int state)
+ {
+ if (0 == state)
+ return CREATED;
+ if (1 == state)
+ return CLOSED;
+ if (2 == state)
+ return TERMINATED;
+
+ throw new RuntimeException();
+ }
+
+ /**
+ * Returns string enum representation
+ * @return string enum representation
+ */
+ @Override
+ public final String toString()
+ {
+ if (CREATED == this)
+ return "created";
+ if (CLOSED == this)
+ return "closed";
+ if (TERMINATED == this)
+ return "terminated";
+
+ throw new RuntimeException();
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMSequenceState.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMStore.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMStore.java (rev 0)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMStore.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.extensions.wsrm.persistence;
+
+import org.jboss.util.NotImplementedException;
+
+/**
+ * Sequences persistent store singleton.
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public final class RMStore
+{
+
+ private static final RMStore instance = new RMStore();
+
+ private RMStore()
+ {
+ // forbidden inheritance
+ }
+
+ /**
+ * Gets store instance
+ * @return store instance
+ */
+ public static final RMStore getInstance()
+ {
+ return instance;
+ }
+
+ /**
+ * Writes sequence to the persistence layer
+ * @param seq sequence to be persisted
+ */
+ public final void write(RMSequence seq)
+ {
+ throw new NotImplementedException();
+ }
+
+ /**
+ * Reads sequence from persistence layer
+ * @param sequenceId sequence id to use for lookup
+ * @param outbound if true <b>sequenceId</b> is outbound otherwise inbound
+ * @return sequence or null
+ */
+ public final RMSequence read(String sequenceId, boolean outbound)
+ {
+ throw new NotImplementedException();
+ }
+
+}
Property changes on: stack/native/trunk/src/main/java/org/jboss/ws/extensions/wsrm/persistence/RMStore.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/PersistenceTestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/PersistenceTestCase.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/PersistenceTestCase.java 2008-03-14 15:12:14 UTC (rev 5982)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.wsrm.persistence;
+
+import java.util.Iterator;
+
+import org.jboss.ws.extensions.wsrm.persistence.RMMessage;
+import org.jboss.ws.extensions.wsrm.persistence.RMMessageFactory;
+import org.jboss.ws.extensions.wsrm.persistence.RMSequence;
+import org.jboss.ws.extensions.wsrm.persistence.RMSequenceFactory;
+import org.jboss.ws.extensions.wsrm.persistence.RMSequenceMetaData;
+import org.jboss.ws.extensions.wsrm.persistence.RMSequenceMetaDataBuilder;
+import org.jboss.ws.extensions.wsrm.persistence.RMSequenceMetaDataBuilderFactory;
+import org.jboss.ws.extensions.wsrm.persistence.RMStore;
+
+import org.jboss.wsf.test.JBossWSTest;
+
+/**
+ * WSRM persistent store test
+ *
+ * @author richard.opalka(a)jboss.com
+ */
+public final class PersistenceTestCase extends JBossWSTest
+{
+
+ public void testPersistency() throws Exception
+ {
+
+ if (true)
+ {
+ System.out.println("FIXME [JBWS-2044]");
+ return;
+ }
+
+ RMSequenceMetaDataBuilder seqMDBuilder = RMSequenceMetaDataBuilderFactory.getInstance().newBuilder();
+ RMSequenceMetaData sequenceMD = seqMDBuilder
+ .setSOAPVersion("http://schemas.xmlsoap.org/soap/envelope/")
+ .setWSRMVersion("http://docs.oasis-open.org/ws-rx/wsrm/200702")
+ .setADDRVersion("http://www.w3.org/2005/08/addressing")
+ .setEndpointAddress("http://somehost:666/endpoint")
+ .setAcksToAddress("http://www.w3.org/2005/08/addressing/anonymous")
+ .toSequenceMetaData();
+
+ RMSequence sequence = RMSequenceFactory.getInstance().newSequence(sequenceMD);
+ RMMessage inboundMessage = RMMessageFactory.getInstance().newMessage("messageId", "data".getBytes());
+ RMMessage outboundMessage = RMMessageFactory.getInstance().newMessage("messageId", "data".getBytes());
+ sequence.addInboundMessage(inboundMessage);
+ sequence.addOutboundMessage(outboundMessage);
+ Iterator<Long> inboundIds = sequence.getInboundMessageNumbers();
+ Iterator<Long> outboundIds = sequence.getOutboundMessageNumbers();
+ inboundMessage = sequence.getInboundMessage(1);
+ outboundMessage = sequence.getOutboundMessage(2);
+ inboundMessage = sequence.getInboundMessage("messageId");
+ outboundMessage = sequence.getOutboundMessage("messageId");
+ RMStore store = RMStore.getInstance();
+ sequence = store.read("sequenceOutboundId", true);
+ sequence = store.read("sequenceInboundId", false);
+ sequence.addInboundMessage(inboundMessage);
+ store.write(sequence);
+ }
+
+}
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/wsrm/persistence/PersistenceTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
16 years, 6 months
JBossWS SVN: r5981 - in stack/native/trunk: ant-import and 3 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2008-03-14 10:40:51 -0400 (Fri, 14 Mar 2008)
New Revision: 5981
Added:
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java
stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java
Modified:
stack/native/trunk/.classpath
stack/native/trunk/ant-import-tests/build-testsuite.xml
stack/native/trunk/ant-import/build-thirdparty.xml
stack/native/trunk/version.properties
Log:
[JBWS-1165] JSON support, first cut
Modified: stack/native/trunk/.classpath
===================================================================
--- stack/native/trunk/.classpath 2008-03-14 13:55:13 UTC (rev 5980)
+++ stack/native/trunk/.classpath 2008-03-14 14:40:51 UTC (rev 5981)
@@ -40,5 +40,6 @@
<classpathentry kind="lib" path="thirdparty/jbossws-common.jar" sourcepath="thirdparty/jbossws-common-src.zip"/>
<classpathentry kind="lib" path="thirdparty/jbossws-spi.jar" sourcepath="thirdparty/jbossws-spi-src.zip"/>
<classpathentry kind="lib" path="thirdparty/FastInfoset.jar"/>
+ <classpathentry kind="lib" path="thirdparty/jettison.jar" sourcepath="thirdparty/jettison-src.jar"/>
<classpathentry kind="output" path="output/eclipse"/>
</classpath>
Modified: stack/native/trunk/ant-import/build-thirdparty.xml
===================================================================
--- stack/native/trunk/ant-import/build-thirdparty.xml 2008-03-14 13:55:13 UTC (rev 5980)
+++ stack/native/trunk/ant-import/build-thirdparty.xml 2008-03-14 14:40:51 UTC (rev 5981)
@@ -75,6 +75,8 @@
<get src="${jboss.repository}/apache-xerces/${apache-xerces}/lib/xercesImpl.jar" dest="${thirdparty.dir}/xercesImpl.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/apache-xerces/${apache-xerces}/lib/xml-apis.jar" dest="${thirdparty.dir}/xml-apis.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/apache-xmlsec/${apache-xmlsec}/lib/xmlsec.jar" dest="${thirdparty.dir}/xmlsec.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/codehaus-jettison/${codehaus-jettison}/lib/jettison.jar" dest="${thirdparty.dir}/jettison.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/codehaus-jettison/${codehaus-jettison}/lib/jettison-src.jar" dest="${thirdparty.dir}/jettison-src.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/dom4j/${dom4j}/lib/dom4j.jar" dest="${thirdparty.dir}/dom4j.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/gnu-getopt/${gnu-getopt}/lib/getopt.jar" dest="${thirdparty.dir}/getopt.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/hibernate/${hibernate}/lib/hibernate3.jar" dest="${thirdparty.dir}/hibernate3.jar" usetimestamp="true" verbose="true"/>
@@ -161,6 +163,7 @@
<pathelement location="${thirdparty.dir}/jboss-remoting.jar"/>
<pathelement location="${thirdparty.dir}/jboss-xml-binding.jar"/>
<pathelement location="${thirdparty.dir}/jbosssx.jar"/>
+ <pathelement location="${thirdparty.dir}/jettison.jar"/>
<pathelement location="${thirdparty.dir}/mail.jar"/>
<pathelement location="${thirdparty.dir}/policy.jar"/>
<pathelement location="${thirdparty.dir}/servlet-api.jar"/>
Modified: stack/native/trunk/ant-import-tests/build-testsuite.xml
===================================================================
--- stack/native/trunk/ant-import-tests/build-testsuite.xml 2008-03-14 13:55:13 UTC (rev 5980)
+++ stack/native/trunk/ant-import-tests/build-testsuite.xml 2008-03-14 14:40:51 UTC (rev 5981)
@@ -40,8 +40,9 @@
<path id="tests.extra.classpath">
<pathelement location="${core.dir}/thirdparty/FastInfoset.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jaxws-tools.jar"/>
<pathelement location="${core.dir}/thirdparty/jbossws-framework.jar"/>
- <pathelement location="${core.dir}/thirdparty/jaxws-tools.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jettison.jar"/>
<pathelement location="${core.dir}/thirdparty/policy.jar"/>
<pathelement location="${core.dir}/thirdparty/qdox.jar"/>
<pathelement location="${core.dir}/thirdparty/stax-api.jar"/>
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java 2008-03-14 14:40:51 UTC (rev 5981)
@@ -0,0 +1,153 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.json;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.stream.events.Attribute;
+import javax.xml.stream.events.Characters;
+import javax.xml.stream.events.StartElement;
+import javax.xml.stream.events.XMLEvent;
+
+/**
+ * An BadgerFishXMLEventWriter that delegates to an XMLStreamWriter.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class BadgerFishXMLEventWriter implements XMLEventWriter
+{
+ private XMLStreamWriter streamWriter;
+
+ public BadgerFishXMLEventWriter(XMLStreamWriter streamWriter)
+ {
+ this.streamWriter = streamWriter;
+ }
+
+ public void add(XMLEvent event) throws XMLStreamException
+ {
+ if (event.isStartDocument())
+ {
+ streamWriter.writeStartDocument();
+ }
+ else if (event.isStartElement())
+ {
+ StartElement element = event.asStartElement();
+ QName elQName = element.getName();
+ if (elQName.getPrefix().length() > 0 && elQName.getNamespaceURI().length() > 0)
+ streamWriter.writeStartElement(elQName.getPrefix(), elQName.getLocalPart(), elQName.getNamespaceURI());
+ else if (elQName.getNamespaceURI().length() > 0)
+ streamWriter.writeStartElement(elQName.getNamespaceURI(), elQName.getLocalPart());
+ else
+ streamWriter.writeStartElement(elQName.getLocalPart());
+
+ Iterator attris = element.getAttributes();
+ while (attris.hasNext())
+ {
+ Attribute attr = (Attribute)attris.next();
+ QName atQName = attr.getName();
+ String value = attr.getValue();
+ if (atQName.getPrefix().length() > 0 && atQName.getNamespaceURI().length() > 0)
+ streamWriter.writeAttribute(atQName.getPrefix(), atQName.getNamespaceURI(), atQName.getLocalPart(), value);
+ else if (atQName.getNamespaceURI().length() > 0)
+ streamWriter.writeAttribute(atQName.getNamespaceURI(), atQName.getLocalPart(), value);
+ else
+ streamWriter.writeAttribute(atQName.getLocalPart(), value);
+ }
+ }
+ else if (event.isNamespace())
+ {
+ Attribute attr = (Attribute)event;
+ QName qname = attr.getName();
+ String nsURI = attr.getValue();
+ streamWriter.writeNamespace(qname.getPrefix(), nsURI);
+ }
+ else if (event.isCharacters())
+ {
+ Characters chars = event.asCharacters();
+ streamWriter.writeCharacters(chars.getData());
+ }
+ else if (event.isEndElement())
+ {
+ streamWriter.writeEndElement();
+ }
+ else if (event.isEndDocument())
+ {
+ streamWriter.writeEndDocument();
+ }
+ else
+ {
+ throw new XMLStreamException("Unsupported event type: " + event);
+ }
+ }
+
+ public void add(XMLEventReader eventReader) throws XMLStreamException
+ {
+ while (eventReader.hasNext())
+ {
+ XMLEvent event = eventReader.nextEvent();
+ add(event);
+ }
+ close();
+ }
+
+ public void close() throws XMLStreamException
+ {
+ streamWriter.close();
+ }
+
+ public void flush() throws XMLStreamException
+ {
+ streamWriter.flush();
+ }
+
+ public NamespaceContext getNamespaceContext()
+ {
+ return streamWriter.getNamespaceContext();
+ }
+
+ public String getPrefix(String prefix) throws XMLStreamException
+ {
+ return streamWriter.getPrefix(prefix);
+ }
+
+ public void setDefaultNamespace(String namespace) throws XMLStreamException
+ {
+ streamWriter.setDefaultNamespace(namespace);
+ }
+
+ public void setNamespaceContext(NamespaceContext nsContext) throws XMLStreamException
+ {
+ streamWriter.setNamespaceContext(nsContext);
+ }
+
+ public void setPrefix(String prefix, String uri) throws XMLStreamException
+ {
+ streamWriter.setPrefix(prefix, uri);
+ }
+}
\ No newline at end of file
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/BadgerFishXMLEventWriter.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java
===================================================================
--- stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java (rev 0)
+++ stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java 2008-03-14 14:40:51 UTC (rev 5981)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.jaxws.json;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.StringWriter;
+
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLEventReader;
+import javax.xml.stream.XMLEventWriter;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.codehaus.jettison.badgerfish.BadgerFishXMLInputFactory;
+import org.codehaus.jettison.badgerfish.BadgerFishXMLOutputFactory;
+import org.codehaus.jettison.json.JSONTokener;
+import org.jboss.wsf.test.JBossWSTest;
+
+/**
+ * Test Json functionality
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 12-Mar-2008
+ */
+public class JsonAPITestCase extends JBossWSTest
+{
+ public void testSimple() throws Exception
+ {
+ String xmlStr = "<root>hello world</root>";
+ String expStr = "{\"root\":{\"$\":\"hello world\"}}";
+ String resStr = toJSON(xmlStr);
+ assertEquals("Unexpected result: " + resStr, expStr, resStr);
+
+ String resXML = toXML(resStr);
+ assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
+ }
+
+ public void testSimpleAttribute() throws Exception
+ {
+ String xmlStr = "<root myat=\"value\">hello world</root>";
+ String expStr = "{\"root\":{\"@myat\":\"value\",\"$\":\"hello world\"}}";
+ String resStr = toJSON(xmlStr);
+ assertEquals("Unexpected result: " + resStr, expStr, resStr);
+
+ String resXML = toXML(resStr);
+ assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
+ }
+
+ public void _testDefaultNamespace() throws Exception
+ {
+ String xmlStr = "<root xmlns=\"http://somns\">hello world</root>";
+ String expStr = "{\"root\":{\"$\":\"hello world\"}}";
+ String resStr = toJSON(xmlStr);
+ assertEquals("Unexpected result: " + resStr, expStr, resStr);
+
+ String resXML = toXML(resStr);
+ assertEquals("Unexpected result: " + resXML, xmlStr, resXML);
+ }
+
+ private String toJSON(String srcXML) throws FactoryConfigurationError, XMLStreamException
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream(srcXML.getBytes());
+
+ XMLInputFactory readerFactory = XMLInputFactory.newInstance();
+ XMLStreamReader streamReader = readerFactory.createXMLStreamReader(bais);
+ XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
+
+ StringWriter strWriter = new StringWriter();
+ BadgerFishXMLOutputFactory writerFactory = new BadgerFishXMLOutputFactory();
+ XMLStreamWriter streamWriter = writerFactory.createXMLStreamWriter(strWriter);
+
+ // UnsupportedOperationException in jettison-1.0-RC2
+ //XMLEventWriter eventWriter = writerFactory.createXMLEventWriter(strWriter);
+
+ XMLEventWriter eventWriter = new BadgerFishXMLEventWriter(streamWriter);
+ eventWriter.add(eventReader);
+ eventWriter.close();
+
+ String jsonStr = strWriter.toString();
+ return jsonStr;
+ }
+
+ private String toXML(String jsonStr) throws XMLStreamException, FactoryConfigurationError
+ {
+ BadgerFishXMLInputFactory inputFactory = new BadgerFishXMLInputFactory();
+ XMLStreamReader streamReader = inputFactory.createXMLStreamReader(new JSONTokener(jsonStr));
+ XMLInputFactory readerFactory = XMLInputFactory.newInstance();
+ XMLEventReader eventReader = readerFactory.createXMLEventReader(streamReader);
+
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
+ XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(baos);
+ eventWriter.add(eventReader);
+ eventWriter.close();
+
+ String resXML = new String(baos.toByteArray());
+ if (resXML.startsWith("<?xml "))
+ resXML = resXML.substring(resXML.indexOf("?>") + 2);
+
+ return resXML;
+ }
+}
Property changes on: stack/native/trunk/src/test/java/org/jboss/test/ws/jaxws/json/JsonAPITestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/trunk/version.properties
===================================================================
--- stack/native/trunk/version.properties 2008-03-14 13:55:13 UTC (rev 5980)
+++ stack/native/trunk/version.properties 2008-03-14 14:40:51 UTC (rev 5981)
@@ -44,6 +44,7 @@
apache-logging=1.1.0.jboss
apache-xalan=j_2.7.0
apache-xerces=2.9.0
+codehaus-jettison=1.0-RC2
dom4j=1.6.1
gnu-getopt=1.0.10
hibernate=3.2.1.GA
16 years, 6 months
JBossWS SVN: r5980 - in stack/native/trunk/src/main/java/org/jboss/ws/extensions/security: jaxrpc and 1 other directories.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2008-03-14 09:55:13 -0400 (Fri, 14 Mar 2008)
New Revision: 5980
Removed:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/MessageContextConfigSelector.java
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java
Log:
[JBWS-2022] better implementation, no changes to the interface
Deleted: stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/MessageContextConfigSelector.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/MessageContextConfigSelector.java 2008-03-14 11:21:10 UTC (rev 5979)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/MessageContextConfigSelector.java 2008-03-14 13:55:13 UTC (rev 5980)
@@ -1,182 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.extensions.security;
-
-//$Id$
-
-import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPException;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.logging.Logger;
-import org.jboss.ws.WSException;
-import org.jboss.ws.core.CommonMessageContext;
-import org.jboss.ws.core.soap.SOAPMessageImpl;
-import org.jboss.ws.metadata.umdm.EndpointMetaData;
-import org.jboss.ws.metadata.umdm.OperationMetaData;
-import org.jboss.ws.metadata.wsse.Config;
-import org.jboss.ws.metadata.wsse.Encrypt;
-import org.jboss.ws.metadata.wsse.Operation;
-import org.jboss.ws.metadata.wsse.Port;
-import org.jboss.ws.metadata.wsse.Requires;
-import org.jboss.ws.metadata.wsse.Sign;
-import org.jboss.ws.metadata.wsse.Timestamp;
-import org.jboss.ws.metadata.wsse.Username;
-import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
-
-/**
- * A Config whose attributes are derived from the specified message context.
- * This is useful to provide the WSSecurityDispatcher with the right config
- * according to the operation/port the current message is related to.
- *
- * @author alessio.soldano(a)jboss.com
- * @since 06-Mar-2008
- */
-public class MessageContextConfigSelector extends Config
-{
- private static Logger log = Logger.getLogger(MessageContextConfigSelector.class);
- private CommonMessageContext ctx;
- private WSSecurityConfiguration configuration;
- private Config config;
- private QName opName;
-
- public MessageContextConfigSelector(CommonMessageContext ctx)
- {
- this.ctx = ctx;
- this.configuration = ctx.getEndpointMetaData().getServiceMetaData().getSecurityConfiguration();
- if (configuration == null)
- throw new WSException("Cannot obtain security configuration from message context");
- this.config = new Config(); //empty config, no wsse requirements / processing
- }
-
- public Encrypt getEncrypt()
- {
- readConfig();
- return config.getEncrypt();
- }
-
- public Requires getRequires()
- {
- readConfig();
- return config.getRequires();
- }
-
- public Sign getSign()
- {
- readConfig();
- return config.getSign();
- }
-
- public Timestamp getTimestamp()
- {
- readConfig();
- return config.getTimestamp();
- }
-
- public Username getUsername()
- {
- readConfig();
- return config.getUsername();
- }
-
- /**
- * Gets the operation & port the current message is headed to and
- * use them to get the right config to use.
- *
- */
- private void readConfig()
- {
- //once the operation name is known the specific config
- //is not going to change
- if (opName == null)
- {
- EndpointMetaData epMetaData = ctx.getEndpointMetaData();
- QName port = epMetaData.getPortName();
-
- OperationMetaData opMetaData = ctx.getOperationMetaData();
- if (opMetaData == null)
- {
- // Get the operation meta data from the soap message
- // for the server side inbound message.
- SOAPMessageImpl soapMessage = (SOAPMessageImpl)ctx.getSOAPMessage();
- try
- {
- opMetaData = soapMessage.getOperationMetaData(epMetaData);
- }
- catch (SOAPException e)
- {
- throw new WebServiceException("Error while looking for the operation meta data: " + e);
- }
- }
- if (opMetaData != null)
- opName = opMetaData.getQName();
-
- Config opConfig = getConfig(port, opName);
- log.debug("WS-Security config: " + opConfig);
- if (opConfig != null)
- this.config = opConfig;
- }
- }
-
- private Config getConfig(QName portName, QName opName)
- {
- Port port = configuration.getPorts().get(portName != null ? portName.getLocalPart() : null);
- if (port == null)
- return configuration.getDefaultConfig();
-
- Operation operation = port.getOperations().get(opName != null ? opName.toString() : null);
- if (operation == null)
- {
- //if the operation name was not available or didn't match any wsse configured operation,
- //we fall back to the port wsse config (if available) or the default config.
- Config portConfig = port.getDefaultConfig();
- return (portConfig == null) ? configuration.getDefaultConfig() : portConfig;
-
- }
- return operation.getConfig();
- }
-
- public void setEncrypt(Encrypt encrypt)
- {
- throw new UnsupportedOperationException();
- }
-
- public void setSign(Sign sign)
- {
- throw new UnsupportedOperationException();
- }
-
- public void setTimestamp(Timestamp timestamp)
- {
- throw new UnsupportedOperationException();
- }
-
- public void setUsername(Username username)
- {
- throw new UnsupportedOperationException();
- }
-
- public void setRequires(Requires requires)
- {
- throw new UnsupportedOperationException();
- }
-}
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2008-03-14 11:21:10 UTC (rev 5979)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/WSSecurityDispatcher.java 2008-03-14 13:55:13 UTC (rev 5980)
@@ -30,16 +30,19 @@
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPMessage;
+import javax.xml.ws.WebServiceException;
import org.jboss.logging.Logger;
+import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.CommonSOAPFaultException;
+import org.jboss.ws.core.soap.MessageContextAssociation;
+import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.extensions.security.exception.InvalidSecurityHeaderException;
import org.jboss.ws.extensions.security.exception.WSSecurityException;
import org.jboss.ws.extensions.security.nonce.DefaultNonceFactory;
import org.jboss.ws.extensions.security.nonce.NonceFactory;
import org.jboss.ws.extensions.security.operation.EncodingOperation;
import org.jboss.ws.extensions.security.operation.EncryptionOperation;
-//import org.jboss.ws.extensions.security.operation.OperationDescription;
import org.jboss.ws.extensions.security.operation.RequireEncryptionOperation;
import org.jboss.ws.extensions.security.operation.RequireOperation;
import org.jboss.ws.extensions.security.operation.RequireSignatureOperation;
@@ -47,8 +50,12 @@
import org.jboss.ws.extensions.security.operation.SendUsernameOperation;
import org.jboss.ws.extensions.security.operation.SignatureOperation;
import org.jboss.ws.extensions.security.operation.TimestampOperation;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.ws.metadata.umdm.OperationMetaData;
import org.jboss.ws.metadata.wsse.Config;
import org.jboss.ws.metadata.wsse.Encrypt;
+import org.jboss.ws.metadata.wsse.Operation;
+import org.jboss.ws.metadata.wsse.Port;
import org.jboss.ws.metadata.wsse.RequireEncryption;
import org.jboss.ws.metadata.wsse.RequireSignature;
import org.jboss.ws.metadata.wsse.RequireTimestamp;
@@ -126,10 +133,58 @@
private static Config getActualConfig(WSSecurityConfiguration configuration, Config operationConfig)
{
+ if (operationConfig == null)
+ {
+ //if no configuration override, we try getting the right operation config
+ //according to the invoked operation that can be found using the context
+ CommonMessageContext ctx = MessageContextAssociation.peekMessageContext();
+ if (ctx != null)
+ {
+ EndpointMetaData epMetaData = ctx.getEndpointMetaData();
+ QName port = epMetaData.getPortName();
+
+ OperationMetaData opMetaData = ctx.getOperationMetaData();
+ if (opMetaData == null)
+ {
+ // Get the operation meta data from the soap message
+ // for the server side inbound message.
+ SOAPMessageImpl soapMessage = (SOAPMessageImpl)ctx.getSOAPMessage();
+ try
+ {
+ opMetaData = soapMessage.getOperationMetaData(epMetaData);
+ }
+ catch (SOAPException e)
+ {
+ throw new WebServiceException("Error while looking for the operation meta data: " + e);
+ }
+ }
+ if (opMetaData != null)
+ operationConfig = selectOperationConfig(configuration, port, opMetaData.getQName());
+ }
+ }
//null operationConfig means default behavior
return operationConfig != null ? operationConfig : configuration.getDefaultConfig();
}
+ private static Config selectOperationConfig(WSSecurityConfiguration configuration, QName portName, QName opName)
+ {
+ Port port = configuration.getPorts().get(portName != null ? portName.getLocalPart() : null);
+ if (port == null)
+ return configuration.getDefaultConfig();
+
+ Operation operation = port.getOperations().get(opName != null ? opName.toString() : null);
+ if (operation == null)
+ {
+ //if the operation name was not available or didn't match any wsse configured operation,
+ //we fall back to the port wsse config (if available) or the default config.
+ Config portConfig = port.getDefaultConfig();
+ return (portConfig == null) ? configuration.getDefaultConfig() : portConfig;
+
+ }
+ return operation.getConfig();
+ }
+
+
private static boolean hasRequirements(Config config)
{
return config != null && config.getRequires() != null;
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2008-03-14 11:21:10 UTC (rev 5979)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2008-03-14 13:55:13 UTC (rev 5980)
@@ -36,7 +36,6 @@
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.extensions.security.Constants;
-import org.jboss.ws.extensions.security.MessageContextConfigSelector;
import org.jboss.ws.extensions.security.WSSecurityDispatcher;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
@@ -70,7 +69,7 @@
CommonMessageContext ctx = (CommonMessageContext)msgContext;
SOAPMessageImpl soapMessage = (SOAPMessageImpl)ctx.getSOAPMessage();
- new WSSecurityDispatcher().decodeMessage(configuration, soapMessage, new MessageContextConfigSelector(ctx));
+ new WSSecurityDispatcher().decodeMessage(configuration, soapMessage, null);
}
}
catch (SOAPException ex)
@@ -93,7 +92,7 @@
String user = (String)ctx.get(Stub.USERNAME_PROPERTY);
String pass = (String)ctx.get(Stub.PASSWORD_PROPERTY);
- new WSSecurityDispatcher().encodeMessage(configuration, soapMessage, new MessageContextConfigSelector(ctx), user, pass);
+ new WSSecurityDispatcher().encodeMessage(configuration, soapMessage, null, user, pass);
}
}
catch (SOAPException ex)
Modified: stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java 2008-03-14 11:21:10 UTC (rev 5979)
+++ stack/native/trunk/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java 2008-03-14 13:55:13 UTC (rev 5980)
@@ -39,7 +39,6 @@
import org.jboss.ws.core.jaxws.handler.GenericSOAPHandler;
import org.jboss.ws.core.soap.SOAPMessageImpl;
import org.jboss.ws.extensions.security.Constants;
-import org.jboss.ws.extensions.security.MessageContextConfigSelector;
import org.jboss.ws.extensions.security.WSSecurityDispatcher;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
@@ -81,8 +80,7 @@
{
CommonMessageContext ctx = (CommonMessageContext)msgContext;
SOAPMessageImpl soapMessage = (SOAPMessageImpl)ctx.getSOAPMessage();
-
- new WSSecurityDispatcher().decodeMessage(configuration, soapMessage, new MessageContextConfigSelector(ctx));
+ new WSSecurityDispatcher().decodeMessage(configuration, soapMessage, null);
}
}
catch (SOAPException ex)
@@ -105,7 +103,7 @@
String user = (String)ctx.get(BindingProvider.USERNAME_PROPERTY);
String pass = (String)ctx.get(BindingProvider.PASSWORD_PROPERTY);
- new WSSecurityDispatcher().encodeMessage(configuration, soapMessage, new MessageContextConfigSelector(ctx), user, pass);
+ new WSSecurityDispatcher().encodeMessage(configuration, soapMessage, null, user, pass);
}
}
catch (SOAPException ex)
16 years, 6 months
JBossWS SVN: r5979 - in stack/native/branches/hbraun/src/test/java/org/jboss/test/ws: embedded and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-03-14 07:21:10 -0400 (Fri, 14 Mar 2008)
New Revision: 5979
Added:
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/BootstrapTestCase.java
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/EmbeddedTestCase.java
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldEndpoint.java
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldSEI.java
Log:
Renamed from Container to WSFRuntime
Added: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/BootstrapTestCase.java
===================================================================
--- stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/BootstrapTestCase.java (rev 0)
+++ stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/BootstrapTestCase.java 2008-03-14 11:21:10 UTC (rev 5979)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.embedded;
+
+import org.jboss.wsf.stack.jbws.standalone.EmbeddedBootstrap;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.dependency.spi.ControllerContext;
+
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class BootstrapTestCase extends TestCase
+{
+ private URL standaloneConfig;
+
+ protected void setUp() throws Exception
+ {
+ ClassLoader cl = org.jboss.wsf.stack.jbws.standalone.EmbeddableWSFRuntime.class.getClassLoader();
+ String config = "org/jboss/wsf/stack/jbws/standalone/standalone-config.xml";
+ standaloneConfig = cl.getResource(config);
+ if(null==standaloneConfig)
+ throw new RuntimeException("Unable to read config: "+config);
+ }
+
+ /**
+ * Check if the bootstrap in setup() works correctly
+ * @throws Exception
+ */
+ public void testBootStrap() throws Exception
+ {
+ EmbeddedBootstrap bootstrap = new EmbeddedBootstrap();
+ bootstrap.run();
+ bootstrap.deploy(standaloneConfig);
+
+ Kernel kernel = bootstrap.getKernel();
+ KernelController controller = kernel.getController();
+
+ String beanName = "WSNativeDeploymentAspectInstallerJSE";
+ ControllerContext context = controller.getInstalledContext(beanName);
+ assertNotNull("Unable to retrieve "+beanName, context);
+
+ System.out.println("WSDeploymentAspectManagerJSE: " + context.getTarget());
+ }
+}
Property changes on: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/BootstrapTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/EmbeddedTestCase.java
===================================================================
--- stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/EmbeddedTestCase.java (rev 0)
+++ stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/EmbeddedTestCase.java 2008-03-14 11:21:10 UTC (rev 5979)
@@ -0,0 +1,132 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.embedded;
+
+import junit.framework.TestCase;
+import org.jboss.wsf.common.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.stack.jbws.standalone.EmbeddableWSFRuntime;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class EmbeddedTestCase extends TestCase
+{
+
+ /**
+ * During instantation the the standalone container
+ * goes through the SPIProvider to get all required {@link org.jboss.wsf.spi.SPIView}'s
+ * to properly staff itself.
+ * However this requires a successfully bootstrapped container.
+ * @throws Exception
+ */
+ public void testEmbeddedContainer() throws Exception
+ {
+ SPIProvider spi = SPIProviderResolver.getInstance().getProvider();
+ DeploymentModelFactory modelFactory = spi.getSPI(DeploymentModelFactory.class);
+
+ // Deployment
+ ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
+ Deployment dep = modelFactory.newDeployment("HelloWorldDeployment", contextClassLoader);
+ dep.setRuntimeClassLoader(contextClassLoader);
+
+ // TODO: Hack, should this become another DeploymentAspect?
+ ((ArchiveDeployment)dep).setRootFile(new ResourceLoaderAdapter());
+
+ dep.setType(Deployment.DeploymentType.JAXWS_JSE);
+ dep.setService(modelFactory.newService());
+
+ // Service
+ dep.getService().setContextRoot("/hello");
+
+ // Endpoint
+ Endpoint endpoint = modelFactory.newEndpoint("org.jboss.test.ws.embedded.HelloWorldEndpoint");
+ endpoint.setShortName("hello");
+ endpoint.setURLPattern("/endpoint");
+ dep.getService().addEndpoint(endpoint);
+
+ // Publish
+ EmbeddableWSFRuntime container = EmbeddableWSFRuntime.bootstrap( EmbeddableWSFRuntime.DEFAULT_CONFIG_URL);
+ container.publish(dep);
+
+ // Invoke it
+ String wsdl = GETRequest("/hello/endpoint?wsdl");
+ assertNotNull("Unable to retrieve WSDL", wsdl);
+
+ Service service = Service.create(
+ new URL("http://localhost:20000/hello/endpoint?wsdl"),
+ new QName("http://embedded.ws.test.jboss.org/", "HelloWorldEndpointService")
+ );
+
+ HelloWorldSEI port = service.getPort(HelloWorldSEI.class);
+ String response = port.hello("StandaloneContainer");
+ assertEquals("Hello StandaloneContainer", response);
+
+ // Remove
+ container.remove(dep);
+ try
+ {
+ wsdl = GETRequest("/hello/endpoint?wsdl");
+ } catch (IOException e)
+ {
+ //
+ }
+
+ assertNull("Endpoint not removed", wsdl);
+ }
+
+ public static String GETRequest(String context)
+ throws IOException
+ {
+ if(context.startsWith("/"))
+ context = context.substring(1);
+
+ URLConnection con = new URL("http://localhost:20000/"+context).openConnection();
+ con.connect();
+
+ BufferedReader in = new BufferedReader(
+ new InputStreamReader(
+ con.getInputStream()
+ )
+ );
+
+ String inputLine;
+ StringBuffer sb = new StringBuffer();
+ while ((inputLine = in.readLine()) != null)
+ sb.append(inputLine);
+ in.close();
+ return sb.toString();
+ }
+}
Property changes on: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/EmbeddedTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldEndpoint.java
===================================================================
--- stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldEndpoint.java (rev 0)
+++ stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldEndpoint.java 2008-03-14 11:21:10 UTC (rev 5979)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.embedded;
+
+import javax.jws.WebService;
+import javax.jws.WebMethod;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@WebService
+public class HelloWorldEndpoint implements HelloWorldSEI
+{
+ @WebMethod
+ public String hello(String name)
+ {
+ return "Hello " + name;
+ }
+}
\ No newline at end of file
Property changes on: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldEndpoint.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldSEI.java
===================================================================
--- stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldSEI.java (rev 0)
+++ stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldSEI.java 2008-03-14 11:21:10 UTC (rev 5979)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.ws.embedded;
+
+import javax.jws.WebService;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+@WebService
+public interface HelloWorldSEI
+{
+ String hello(String name);
+}
Property changes on: stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/embedded/HelloWorldSEI.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
16 years, 6 months
JBossWS SVN: r5978 - in stack/native/branches/hbraun: ant-import and 4 other directories.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-03-14 07:20:13 -0400 (Fri, 14 Mar 2008)
New Revision: 5978
Added:
stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddableWSFRuntime.java
Removed:
stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/StandaloneContainer.java
stack/native/branches/hbraun/src/test/java/org/jboss/test/ws/container/
Modified:
stack/native/branches/hbraun/ant-import-tests/build-testsuite.xml
stack/native/branches/hbraun/ant-import/build-thirdparty.xml
stack/native/branches/hbraun/native-standalone.iml
stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddedBootstrap.java
stack/native/branches/hbraun/src/test/resources/test-excludes-jboss500.txt
stack/native/branches/hbraun/version.properties
Log:
Renamed from Container to WSFRuntime
Modified: stack/native/branches/hbraun/ant-import/build-thirdparty.xml
===================================================================
--- stack/native/branches/hbraun/ant-import/build-thirdparty.xml 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/ant-import/build-thirdparty.xml 2008-03-14 11:20:13 UTC (rev 5978)
@@ -93,6 +93,10 @@
<get src="${jboss.repository}/jboss/jbossxb/${jboss-jbossxb-jboss42}/lib/jboss-xml-binding.jar" dest="${thirdparty.dir}/jboss-xml-binding.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/jbossxb/${jboss-jbossxb-jboss42}/lib/jboss-xml-binding-sources.jar" dest="${thirdparty.dir}/jboss-xml-binding-sources.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/jaxbintros/${jboss-jaxbintros}/lib/jboss-jaxb-intros.jar" dest="${thirdparty.dir}/jboss-jaxb-intros.jar" usetimestamp="true" verbose="true"/>
+
+ <get src="${jboss.repository}/jetty/${jetty}/lib/jetty.jar" dest="${thirdparty.dir}/jetty.jar" usetimestamp="true" verbose="true"/>
+ <get src="${jboss.repository}/jetty/${jetty}/lib/jetty-util.jar" dest="${thirdparty.dir}/jetty-util.jar" usetimestamp="true" verbose="true"/>
+
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-container.jar" dest="${thirdparty.dir}/jboss-container.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-dependency.jar" dest="${thirdparty.dir}/jboss-dependency.jar" usetimestamp="true" verbose="true"/>
<get src="${jboss.repository}/jboss/microcontainer/${jboss-microcontainer}/lib/jboss-deployers.jar" dest="${thirdparty.dir}/jboss-deployers.jar" usetimestamp="true" verbose="true"/>
Modified: stack/native/branches/hbraun/ant-import-tests/build-testsuite.xml
===================================================================
--- stack/native/branches/hbraun/ant-import-tests/build-testsuite.xml 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/ant-import-tests/build-testsuite.xml 2008-03-14 11:20:13 UTC (rev 5978)
@@ -10,215 +10,226 @@
<project>
- <property name="tests.output.dir" value="${core.dir}/output/tests"/>
-
- <import file="${core.dir}/src/test-framework/ant-import/build-testsuite.xml"/>
+ <property name="tests.output.dir" value="${core.dir}/output/tests"/>
- <!-- Define excluded tests -->
- <property name="excludes-short-name" value="test-excludes-${jbossws.integration.target}.txt"/>
- <property name="excludesfile" value="${core.dir}/src/test/resources/test-excludes-${jbossws.integration.target}.txt"/>
-
- <property name="tests.dir" value="${core.dir}/src/test"/>
- <property name="tests.java.dir" value="${tests.dir}/java"/>
- <property name="tests.resources.dir" value="${tests.dir}/resources"/>
+ <import file="${core.dir}/src/test-framework/ant-import/build-testsuite.xml"/>
- <!--
- Init the various classpaths
- -->
- <target name="tests-init" depends="thirdparty-classpath,tests-classpath">
+ <!-- Define excluded tests -->
+ <property name="excludes-short-name" value="test-excludes-${jbossws.integration.target}.txt"/>
+ <property name="excludesfile" value="${core.dir}/src/test/resources/test-excludes-${jbossws.integration.target}.txt"/>
- <path id="ws.stack.classpath">
- <pathelement location="${core.dir}/thirdparty/jbossws-common.jar"/>
- <pathelement location="${core.dir}/thirdparty/jbossws-spi.jar"/>
- <pathelement location="${core.dir}/output/lib/jboss-jaxrpc.jar"/>
- <pathelement location="${core.dir}/output/lib/jboss-jaxws.jar"/>
- <pathelement location="${core.dir}/output/lib/jboss-jaxws-ext.jar"/>
- <pathelement location="${core.dir}/output/lib/jboss-saaj.jar"/>
- <pathelement location="${core.dir}/output/lib/jbossws-core.jar"/>
- <pathelement location="${core.dir}/output/lib/jbossws-client.jar"/>
- </path>
+ <property name="tests.dir" value="${core.dir}/src/test"/>
+ <property name="tests.java.dir" value="${tests.dir}/java"/>
+ <property name="tests.resources.dir" value="${tests.dir}/resources"/>
- <path id="tests.extra.classpath">
- <pathelement location="${core.dir}/thirdparty/jbossws-framework.jar"/>
- <pathelement location="${core.dir}/thirdparty/jaxws-tools.jar"/>
- <pathelement location="${core.dir}/thirdparty/policy.jar"/>
- <pathelement location="${core.dir}/thirdparty/qdox.jar"/>
- <pathelement location="${core.dir}/thirdparty/stax-api.jar"/>
- <pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>
- <pathelement location="${core.dir}/thirdparty/wstx.jar"/>
- <pathelement location="${core.dir}/thirdparty/jboss-jaxb-intros.jar"/>
- </path>
+ <!--
+ Init the various classpaths
+ -->
+ <target name="tests-init" depends="thirdparty-classpath,tests-classpath">
- <!-- The jBPM BPEL classpath -->
- <path id="jbpm.bpel.classpath">
- <path refid="ws.stack.classpath"/>
- <pathelement location="${core.dir}/thirdparty/jbpm-bpel"/> <!-- jbpm.cfg.xml -->
- <pathelement location="${core.dir}/thirdparty/jbpm-bpel/jbpm-bpel.jar" />
- <pathelement location="${core.dir}/thirdparty/jbpm-bpel/jbpm-jpdl.jar" />
- <pathelement location="${core.dir}/thirdparty/jbpm-bpel/commons-lang.jar" />
- <pathelement location="${core.dir}/thirdparty/commons-collections.jar"/>
- <pathelement location="${core.dir}/thirdparty/commons-logging.jar"/>
- <pathelement location="${core.dir}/thirdparty/dom4j.jar"/>
- <pathelement location="${core.dir}/thirdparty/jaxen.jar"/>
- <pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>
- <pathelement location="${core.dir}/thirdparty/jboss-logging-log4j.jar"/>
- </path>
+ <path id="ws.stack.classpath">
+ <pathelement location="${core.dir}/thirdparty/jbossws-common.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jbossws-spi.jar"/>
+ <pathelement location="${core.dir}/output/lib/jboss-jaxrpc.jar"/>
+ <pathelement location="${core.dir}/output/lib/jboss-jaxws.jar"/>
+ <pathelement location="${core.dir}/output/lib/jboss-jaxws-ext.jar"/>
+ <pathelement location="${core.dir}/output/lib/jboss-saaj.jar"/>
+ <pathelement location="${core.dir}/output/lib/jbossws-core.jar"/>
+ <pathelement location="${core.dir}/output/lib/jbossws-client.jar"/>
+ </path>
- </target>
+ <path id="tests.extra.classpath">
+ <pathelement location="${core.dir}/thirdparty/jbossws-framework.jar"/>
- <!-- ================================================================== -->
- <!-- Generating sources -->
- <!-- ================================================================== -->
+ <!-- embedded tests -->
+ <pathelement location="${core.dir}/thirdparty/jboss-microcontainer.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jboss-dependency.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jboss-container.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jboss-common-core.jar"/>
+ <pathelement location="${core.dir}/thirdparty/servlet-api.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jetty.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jetty-util.jar"/>
+ <!-- / embedded tests -->
- <target name="wsconsume" depends="tests-init" unless="noconsume" description="Consume JAX-WS contracts">
+ <pathelement location="${core.dir}/thirdparty/jaxws-tools.jar"/>
+ <pathelement location="${core.dir}/thirdparty/policy.jar"/>
+ <pathelement location="${core.dir}/thirdparty/qdox.jar"/>
+ <pathelement location="${core.dir}/thirdparty/stax-api.jar"/>
+ <pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>
+ <pathelement location="${core.dir}/thirdparty/wstx.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jboss-jaxb-intros.jar"/>
+ </path>
- <!-- Define the JAX-WS wsconsume task -->
- <taskdef name="wsconsume" classname="org.jboss.wsf.spi.tools.ant.WSConsumeTask">
- <classpath refid="tests.client.classpath"/>
- </taskdef>
+ <!-- The jBPM BPEL classpath -->
+ <path id="jbpm.bpel.classpath">
+ <path refid="ws.stack.classpath"/>
+ <pathelement location="${core.dir}/thirdparty/jbpm-bpel"/> <!-- jbpm.cfg.xml -->
+ <pathelement location="${core.dir}/thirdparty/jbpm-bpel/jbpm-bpel.jar" />
+ <pathelement location="${core.dir}/thirdparty/jbpm-bpel/jbpm-jpdl.jar" />
+ <pathelement location="${core.dir}/thirdparty/jbpm-bpel/commons-lang.jar" />
+ <pathelement location="${core.dir}/thirdparty/commons-collections.jar"/>
+ <pathelement location="${core.dir}/thirdparty/commons-logging.jar"/>
+ <pathelement location="${core.dir}/thirdparty/dom4j.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jaxen.jar"/>
+ <pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>
+ <pathelement location="${core.dir}/thirdparty/jboss-logging-log4j.jar"/>
+ </path>
- <wsconsume wsdl="${tests.resources.dir}/benchmark/jaxws/doclit/WEB-INF/wsdl/BenchmarkWebService.wsdl" package="org.jboss.test.ws.benchmark.jaxws.doclit" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="true" fork="false"/>
- <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesDocLitB/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.basedoclitb" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesDocLitW/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.basedoclitw" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesRpcLit/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.baserpclit" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/jaxws/complex/META-INF/wsdl/RegistrationService.wsdl" package="org.jboss.test.ws.jaxws.complex" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/jaxws/holder/META-INF/wsdl/HolderService.wsdl" package="org.jboss.test.ws.jaxws.holder" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecuritypolicy/WEB-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecuritypolicy" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecurityAnnotatedpolicy/META-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecurityAnnotatedpolicy" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecurity/META-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecurity" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
- </target>
+ </target>
- <!--
- Generate BPEL sources
- -->
- <target name="servicegen" depends="tests-compile" description="Generate the BPEL resources.">
- <!-- create jbpm process archives -->
- <mkdir dir="${tests.output.dir}/libs"/>
- <zip destfile="${tests.output.dir}/libs/jaxrpc-samples-wsbpel-hello-process.zip">
- <fileset dir="${tests.resources.dir}/jaxrpc/samples/wsbpel/hello/bpel" />
- </zip>
- <!-- Copy the BPEL sar -->
- <copy file="${core.dir}/thirdparty/jbpm-bpel.sar" todir="${tests.output.dir}/libs"/>
+ <!-- ================================================================== -->
+ <!-- Generating sources -->
+ <!-- ================================================================== -->
- <!-- generate wsdl binding and service definitions for bpel processes -->
- <taskdef name="servicegen" classname="org.jbpm.bpel.ant.ServiceGeneratorTask">
- <classpath refid="jbpm.bpel.classpath"/>
- </taskdef>
- <servicegen processfile="${tests.output.dir}/libs/jaxrpc-samples-wsbpel-hello-process.zip"
- outputdir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsbpel/hello/WEB-INF/wsdl"
- bindingfile="hello-binding-.wsdl" servicefile="hello-service.wsdl" />
- </target>
+ <target name="wsconsume" depends="tests-init" unless="noconsume" description="Consume JAX-WS contracts">
- <!--
- Generate JAX-RPC sources
- -->
- <target name="wstools" depends="tests-compile" description="Generate the JAX-RPC artifacts.">
+ <!-- Define the JAX-WS wsconsume task -->
+ <taskdef name="wsconsume" classname="org.jboss.wsf.spi.tools.ant.WSConsumeTask">
+ <classpath refid="tests.client.classpath"/>
+ </taskdef>
- <!-- Define the JAX-RPC tools task -->
- <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
- <classpath refid="ws.stack.classpath"/>
- <classpath refid="thirdparty.classpath"/>
- <classpath location="${core.dir}/thirdparty/concurrent.jar"/>
- <classpath location="${tests.output.dir}/classes"/>
- <classpath location="${tests.output.dir}"/>
- </taskdef>
+ <wsconsume wsdl="${tests.resources.dir}/benchmark/jaxws/doclit/WEB-INF/wsdl/BenchmarkWebService.wsdl" package="org.jboss.test.ws.benchmark.jaxws.doclit" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="true" fork="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesDocLitB/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.basedoclitb" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesDocLitW/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.basedoclitw" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/interop/soapwsdl/BaseDataTypesRpcLit/WEB-INF/wsdl/service.wsdl" package="org.jboss.test.ws.interop.soapwsdl.baserpclit" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/jaxws/complex/META-INF/wsdl/RegistrationService.wsdl" package="org.jboss.test.ws.jaxws.complex" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/jaxws/holder/META-INF/wsdl/HolderService.wsdl" package="org.jboss.test.ws.jaxws.holder" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecuritypolicy/WEB-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecuritypolicy" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecurityAnnotatedpolicy/META-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecurityAnnotatedpolicy" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ <wsconsume wsdl="${tests.resources.dir}/jaxws/samples/wssecurity/META-INF/wsdl/HelloService.wsdl" package="org.jboss.test.ws.jaxws.samples.wssecurity" sourcedestdir="${tests.output.dir}/wsconsume/java" keep="true" verbose="false"/>
+ </target>
- <!-- Generate JAX-RPC artifacts -->
- <mkdir dir="${tests.output.dir}/wstools/java"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/docstyle/wrapped/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/bare/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/docstyle/bare/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/dynamichandler/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/dynamichandler/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/exception/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/exception/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/handler/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/handler/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/holder/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/holder/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jmstransport/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jmstransport/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/doclit/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109ejb/doclit/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/rpclit/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109ejb/rpclit/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/doclit/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109pojo/doclit/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/rpclit/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109pojo/rpclit/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/message/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/message/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/oneway/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/oneway/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/rpcstyle/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/rpcstyle/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/secureejb/META-INF" config="${tests.resources.dir}/jaxrpc/samples/secureejb/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/hello/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsaddr/hello/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/replyto/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsaddr/replyto/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsbpel/hello/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsbpel/hello/wstools-config.xml"/>
- <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wssecurity/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wssecurity/wstools-config.xml"/>
- <move todir="${tests.output.dir}/wstools/java">
- <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" includes="org/**"/>
- </move>
- <move todir="${tests.output.dir}/wstools/java">
- <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/hello/WEB-INF" includes="org/**"/>
- </move>
- <move todir="${tests.output.dir}/wstools/java">
- <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/replyto/WEB-INF" includes="org/**"/>
- </move>
+ <!--
+ Generate BPEL sources
+ -->
+ <target name="servicegen" depends="tests-compile" description="Generate the BPEL resources.">
+ <!-- create jbpm process archives -->
+ <mkdir dir="${tests.output.dir}/libs"/>
+ <zip destfile="${tests.output.dir}/libs/jaxrpc-samples-wsbpel-hello-process.zip">
+ <fileset dir="${tests.resources.dir}/jaxrpc/samples/wsbpel/hello/bpel" />
+ </zip>
+ <!-- Copy the BPEL sar -->
+ <copy file="${core.dir}/thirdparty/jbpm-bpel.sar" todir="${tests.output.dir}/libs"/>
- <!-- Copy generated resources -->
- <copy todir="${tests.output.dir}/resources">
- <fileset dir="${tests.output.dir}/wstools/resources">
- <include name="**/*.wsdl"/>
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- <!-- Copy resources that cannot (yet) be generated -->
- <copy todir="${tests.output.dir}/resources/jaxrpc/samples" overwrite="true">
- <fileset dir="${tests.resources.dir}/jaxrpc/samples-override"/>
- <filterset>
- <filter token="jboss.bind.address" value="${node0}"/>
- </filterset>
- </copy>
- </target>
+ <!-- generate wsdl binding and service definitions for bpel processes -->
+ <taskdef name="servicegen" classname="org.jbpm.bpel.ant.ServiceGeneratorTask">
+ <classpath refid="jbpm.bpel.classpath"/>
+ </taskdef>
+ <servicegen processfile="${tests.output.dir}/libs/jaxrpc-samples-wsbpel-hello-process.zip"
+ outputdir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsbpel/hello/WEB-INF/wsdl"
+ bindingfile="hello-binding-.wsdl" servicefile="hello-service.wsdl" />
+ </target>
- <!--
- Generate JAX-WS sources
- -->
- <target name="wsprovide" depends="tests-compile" description="Provide the JAX-WS contracts.">
+ <!--
+ Generate JAX-RPC sources
+ -->
+ <target name="wstools" depends="tests-compile" description="Generate the JAX-RPC artifacts.">
- <!-- Define the JAX-WS wsprovide task -->
- <taskdef name="wsprovide" classname="org.jboss.wsf.spi.tools.ant.WSProvideTask">
- <classpath refid="tests.client.classpath"/>
- <classpath location="${tests.output.dir}/classes"/>
- <classpath location="${tests.output.dir}/resources/jaxws/samples/wssecurityAnnotatedpolicy"/>
- </taskdef>
+ <!-- Define the JAX-RPC tools task -->
+ <taskdef name="wstools" classname="org.jboss.ws.tools.ant.wstools">
+ <classpath refid="ws.stack.classpath"/>
+ <classpath refid="thirdparty.classpath"/>
+ <classpath location="${core.dir}/thirdparty/concurrent.jar"/>
+ <classpath location="${tests.output.dir}/classes"/>
+ <classpath location="${tests.output.dir}"/>
+ </taskdef>
- <wsprovide resourcedestdir="${tests.output.dir}/wsprovide/resources/jaxws/samples/wssecurity" genwsdl="true" sei="org.jboss.test.ws.jaxws.samples.wssecurity.HelloJavaBean" verbose="true"/>
- <wsprovide resourcedestdir="${tests.output.dir}/wsprovide/resources/jaxws/samples/wssecurityAnnotatedpolicy" genwsdl="true" sei="org.jboss.test.ws.jaxws.samples.wssecurityAnnotatedpolicy.HelloJavaBean"/>
- </target>
+ <!-- Generate JAX-RPC artifacts -->
+ <mkdir dir="${tests.output.dir}/wstools/java"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/docstyle/wrapped/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/bare/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/docstyle/bare/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/dynamichandler/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/dynamichandler/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/exception/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/exception/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/handler/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/handler/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/holder/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/holder/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jmstransport/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jmstransport/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/doclit/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109ejb/doclit/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109ejb/rpclit/META-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109ejb/rpclit/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/doclit/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109pojo/doclit/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/jsr109pojo/rpclit/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/jsr109pojo/rpclit/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/message/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/message/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/oneway/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/oneway/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/rpcstyle/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/rpcstyle/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/secureejb/META-INF" config="${tests.resources.dir}/jaxrpc/samples/secureejb/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/hello/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsaddr/hello/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/replyto/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsaddr/replyto/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsbpel/hello/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wsbpel/hello/wstools-config.xml"/>
+ <wstools dest="${tests.output.dir}/wstools/resources/jaxrpc/samples/wssecurity/WEB-INF" config="${tests.resources.dir}/jaxrpc/samples/wssecurity/wstools-config.xml"/>
+ <move todir="${tests.output.dir}/wstools/java">
+ <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/docstyle/wrapped/WEB-INF" includes="org/**"/>
+ </move>
+ <move todir="${tests.output.dir}/wstools/java">
+ <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/hello/WEB-INF" includes="org/**"/>
+ </move>
+ <move todir="${tests.output.dir}/wstools/java">
+ <fileset dir="${tests.output.dir}/wstools/resources/jaxrpc/samples/wsaddr/replyto/WEB-INF" includes="org/**"/>
+ </move>
- <target name="tests-compile-generated-resources" depends="servicegen,wstools,wsprovide">
- <macro-compile-classes srcdir="${tests.output.dir}/wstools/java" excludesfile="${excludesfile}"/>
- </target>
+ <!-- Copy generated resources -->
+ <copy todir="${tests.output.dir}/resources">
+ <fileset dir="${tests.output.dir}/wstools/resources">
+ <include name="**/*.wsdl"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+ <!-- Copy resources that cannot (yet) be generated -->
+ <copy todir="${tests.output.dir}/resources/jaxrpc/samples" overwrite="true">
+ <fileset dir="${tests.resources.dir}/jaxrpc/samples-override"/>
+ <filterset>
+ <filter token="jboss.bind.address" value="${node0}"/>
+ </filterset>
+ </copy>
+ </target>
- <!-- ================================================================== -->
- <!-- Compiling -->
- <!-- ================================================================== -->
+ <!--
+ Generate JAX-WS sources
+ -->
+ <target name="wsprovide" depends="tests-compile" description="Provide the JAX-WS contracts.">
- <target name="tests-compile" depends="wsconsume,tests-classpath" description="Compile sources">
- <macro-compile-classes srcdir="${tests.output.dir}/wsconsume/java" excludesfile="${excludesfile}"/>
- <macro-compile-classes srcdir="${core.dir}/src/test-framework/java" excludesfile="${excludesfile}"/>
- <macro-compile-classes srcdir="${core.dir}/src/test/java" excludesfile="${excludesfile}"/>
- </target>
+ <!-- Define the JAX-WS wsprovide task -->
+ <taskdef name="wsprovide" classname="org.jboss.wsf.spi.tools.ant.WSProvideTask">
+ <classpath refid="tests.client.classpath"/>
+ <classpath location="${tests.output.dir}/classes"/>
+ <classpath location="${tests.output.dir}/resources/jaxws/samples/wssecurityAnnotatedpolicy"/>
+ </taskdef>
- <!-- ================================================================== -->
- <!-- Building -->
- <!-- ================================================================== -->
+ <wsprovide resourcedestdir="${tests.output.dir}/wsprovide/resources/jaxws/samples/wssecurity" genwsdl="true" sei="org.jboss.test.ws.jaxws.samples.wssecurity.HelloJavaBean" verbose="true"/>
+ <wsprovide resourcedestdir="${tests.output.dir}/wsprovide/resources/jaxws/samples/wssecurityAnnotatedpolicy" genwsdl="true" sei="org.jboss.test.ws.jaxws.samples.wssecurityAnnotatedpolicy.HelloJavaBean"/>
+ </target>
- <!-- Copy resources -->
- <target name="tests-copy-resources" depends="tests-init" description="Copy the deployment resources.">
- <macro-copy-resources srcdir="${core.dir}/src/test-framework"/>
- <macro-copy-resources srcdir="${core.dir}/src/test"/>
- </target>
+ <target name="tests-compile-generated-resources" depends="servicegen,wstools,wsprovide">
+ <macro-compile-classes srcdir="${tests.output.dir}/wstools/java" excludesfile="${excludesfile}"/>
+ </target>
- <target name="tests-jars" depends="wsconsume,tests-compile,tests-copy-resources,tests-compile-generated-resources" description="Build the deployments.">
- <ant antfile="${core.dir}/ant-import-tests/build-jars-interop.xml" target="build-jars-interop"/>
- <ant antfile="${core.dir}/ant-import-tests/build-jars-jaxrpc.xml" target="build-jars-jaxrpc"/>
- <ant antfile="${core.dir}/ant-import-tests/build-samples-jaxrpc.xml" target="build-samples-jaxrpc"/>
- <ant antfile="${core.dir}/ant-import-tests/build-jars-jaxws.xml" target="build-jars-jaxws"/>
- <ant antfile="${core.dir}/ant-import-tests/build-samples-jaxws.xml" target="build-samples-jaxws"/>
- <ant antfile="${core.dir}/src/test-framework/ant-import/build-jars-jaxws.xml" target="build-jars-jaxws"/>
- </target>
+ <!-- ================================================================== -->
+ <!-- Compiling -->
+ <!-- ================================================================== -->
- <target name="tests-main" depends="tests-jars" description="Build the deployments."/>
+ <target name="tests-compile" depends="wsconsume,tests-classpath" description="Compile sources">
+ <macro-compile-classes srcdir="${tests.output.dir}/wsconsume/java" excludesfile="${excludesfile}"/>
+ <macro-compile-classes srcdir="${core.dir}/src/test-framework/java" excludesfile="${excludesfile}"/>
+ <macro-compile-classes srcdir="${core.dir}/src/test/java" excludesfile="${excludesfile}"/>
+ </target>
+ <!-- ================================================================== -->
+ <!-- Building -->
+ <!-- ================================================================== -->
+
+ <!-- Copy resources -->
+ <target name="tests-copy-resources" depends="tests-init" description="Copy the deployment resources.">
+ <macro-copy-resources srcdir="${core.dir}/src/test-framework"/>
+ <macro-copy-resources srcdir="${core.dir}/src/test"/>
+ </target>
+
+ <target name="tests-jars" depends="wsconsume,tests-compile,tests-copy-resources,tests-compile-generated-resources" description="Build the deployments.">
+ <ant antfile="${core.dir}/ant-import-tests/build-jars-interop.xml" target="build-jars-interop"/>
+ <ant antfile="${core.dir}/ant-import-tests/build-jars-jaxrpc.xml" target="build-jars-jaxrpc"/>
+ <ant antfile="${core.dir}/ant-import-tests/build-samples-jaxrpc.xml" target="build-samples-jaxrpc"/>
+ <ant antfile="${core.dir}/ant-import-tests/build-jars-jaxws.xml" target="build-jars-jaxws"/>
+ <ant antfile="${core.dir}/ant-import-tests/build-samples-jaxws.xml" target="build-samples-jaxws"/>
+ <ant antfile="${core.dir}/src/test-framework/ant-import/build-jars-jaxws.xml" target="build-jars-jaxws"/>
+ </target>
+
+ <target name="tests-main" depends="tests-jars" description="Build the deployments."/>
+
</project>
Modified: stack/native/branches/hbraun/native-standalone.iml
===================================================================
--- stack/native/branches/hbraun/native-standalone.iml 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/native-standalone.iml 2008-03-14 11:20:13 UTC (rev 5978)
@@ -297,15 +297,6 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-framework-scripts.zip!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
<root url="jar://$MODULE_DIR$/thirdparty/concurrent.jar!/" />
</CLASSES>
<JAVADOC />
@@ -504,15 +495,6 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-framework-src.zip!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
<root url="jar://$MODULE_DIR$/thirdparty/jboss-logging-log4j.jar!/" />
</CLASSES>
<JAVADOC />
@@ -522,15 +504,6 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/output/lib/jbossws-standalone.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
<root url="jar://$MODULE_DIR$/output/lib/jboss-jaxws-ext.jar!/" />
</CLASSES>
<JAVADOC />
Added: stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddableWSFRuntime.java
===================================================================
--- stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddableWSFRuntime.java (rev 0)
+++ stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddableWSFRuntime.java 2008-03-14 11:20:13 UTC (rev 5978)
@@ -0,0 +1,197 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.jbws.standalone;
+
+import org.jboss.kernel.Kernel;
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.ComposableRuntime;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
+import org.jboss.wsf.spi.invocation.InvocationHandlerFactory;
+import org.jboss.wsf.spi.invocation.RequestHandlerFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
+
+import java.net.URL;
+
+/**
+ * A WSF runtime that bootstraps through the {@link org.jboss.wsf.spi.SPIProvider}.<br>
+ * It support JSE endpoints only.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class EmbeddableWSFRuntime implements WSFRuntime, ComposableRuntime
+{
+ private static final Logger log = Logger.getLogger(EmbeddableWSFRuntime.class);
+
+ private SPIProvider spi;
+
+ private Kernel kernel;
+
+ private DeploymentAspectManager deploymentManager;
+
+ private EndpointRegistry endpointRegistry;
+
+ private RequestHandlerFactory rqhFactory;
+
+ private InvocationHandlerFactory ivhFactory;
+
+ private TransportManagerFactory tmFactory;
+
+ public static URL DEFAULT_CONFIG_URL;
+
+ static
+ {
+ ClassLoader cl = org.jboss.wsf.stack.jbws.standalone.EmbeddableWSFRuntime.class.getClassLoader();
+ String config = "org/jboss/wsf/stack/jbws/standalone/standalone-config.xml";
+ DEFAULT_CONFIG_URL = cl.getResource(config);
+ if(null== DEFAULT_CONFIG_URL) throw new RuntimeException("Unable to read config: "+config);
+
+ }
+
+ private EmbeddableWSFRuntime(Kernel kernel)
+ {
+ this.kernel = kernel;
+ this.spi = SPIProviderResolver.getInstance().getProvider();
+ }
+
+ public static EmbeddableWSFRuntime bootstrap(URL jbosswsBeansXml) throws Exception
+ {
+
+ log.debug("Bootstrap runtime from microcontainer config");
+
+ EmbeddedBootstrap bootstrap = new EmbeddedBootstrap();
+ bootstrap.run();
+ bootstrap.deploy(jbosswsBeansXml);
+
+ Kernel kernel = bootstrap.getKernel();
+ EmbeddableWSFRuntime container = new EmbeddableWSFRuntime(kernel);
+ container.assemble();
+ return container;
+ }
+
+ private void assemble()
+ {
+
+ log.info("Assembling runtime");
+
+ // DeploymentAspectManager
+ setDeploymentAspectManager(
+ spi.getSPI(DeploymentAspectManagerFactory.class).getDeploymentAspectManager("WSDeploymentAspectManagerJSE")
+ );
+
+ // EndpointRegistry
+ setEndpointRegistry(
+ spi.getSPI(EndpointRegistryFactory.class).getEndpointRegistry()
+ );
+
+ // Transport
+ setTransportManagerFactory( spi.getSPI(TransportManagerFactory.class) );
+
+ // Requesthandling
+ setRequestHandlerFactory( spi.getSPI(RequestHandlerFactory.class));
+
+ // InvocationHandling
+ setInvocationHandlerFactory( spi.getSPI(InvocationHandlerFactory.class) );
+ }
+
+ // ---------------------------------------------------------------------------------
+
+ public void publish(Deployment deployment)
+ {
+ deploymentManager.deploy(deployment, this);
+ }
+
+ public void remove(Deployment deployment)
+ {
+ deploymentManager.undeploy(deployment, this);
+ }
+
+ // ---------------------------------------------------------------------------------
+
+
+ public void setTransportManagerFactory(TransportManagerFactory factory)
+ {
+ assert factory!=null;
+ log.info("Using TransportManagerFactory: " + factory);
+ this.tmFactory = factory;
+ }
+
+ public TransportManagerFactory getTransportManagerFactory()
+ {
+ return this.tmFactory;
+ }
+
+ public void setEndpointRegistry(EndpointRegistry endpointRegistry)
+ {
+ assert endpointRegistry!=null;
+ log.info("Using EndpointRegistry: " + endpointRegistry);
+ this.endpointRegistry = endpointRegistry;
+ }
+
+ public EndpointRegistry getEndpointRegistry()
+ {
+ return this.endpointRegistry;
+ }
+
+ public void setDeploymentAspectManager(DeploymentAspectManager deploymentManager)
+ {
+ assert deploymentManager!=null;
+ log.info("Using DeploymentAspectManager: " + deploymentManager);
+ this.deploymentManager = deploymentManager;
+ }
+
+ public DeploymentAspectManager getDeploymentAspectManager()
+ {
+ return this.deploymentManager;
+ }
+
+ public void setRequestHandlerFactory(RequestHandlerFactory factory)
+ {
+ assert factory!=null;
+ log.info("Using RequestHandlerFactory: "+ factory);
+ this.rqhFactory = factory;
+ }
+
+
+ public RequestHandlerFactory getRequestHandlerFactory()
+ {
+ return this.rqhFactory;
+ }
+
+ public void setInvocationHandlerFactory(InvocationHandlerFactory factory)
+ {
+ assert factory!=null;
+ log.info("Using InvocationHandlerFactory: "+ factory);
+ this.ivhFactory = factory;
+ }
+
+ public InvocationHandlerFactory getInvocationHandlerFactory()
+ {
+ return this.ivhFactory;
+ }
+}
\ No newline at end of file
Property changes on: stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddableWSFRuntime.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddedBootstrap.java
===================================================================
--- stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddedBootstrap.java 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/EmbeddedBootstrap.java 2008-03-14 11:20:13 UTC (rev 5978)
@@ -23,6 +23,7 @@
import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.logging.Logger;
import java.net.URL;
@@ -37,6 +38,8 @@
protected BasicXMLDeployer deployer;
+ private final Logger log = Logger.getLogger(getClass());
+
public EmbeddedBootstrap() throws Exception {
super();
}
@@ -49,6 +52,9 @@
public void deploy(URL url) {
try {
+
+ log.info("Deploy MC configuration " + url);
+
// Workaround the fact that the BasicXMLDeployer does not handle redeployment correctly
if (deployer.getDeploymentNames().contains(url.toString())) {
System.out.println("Service is already deployed.");
@@ -61,6 +67,9 @@
}
public void undeploy(URL url) {
+
+ log.info("Undeploy MC config " + url);
+
if (!deployer.getDeploymentNames().contains(url.toString())) {
System.out.println("Service is already undeployed.");
return;
Deleted: stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/StandaloneContainer.java
===================================================================
--- stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/StandaloneContainer.java 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/src/main/java/org/jboss/wsf/stack/jbws/standalone/StandaloneContainer.java 2008-03-14 11:20:13 UTC (rev 5978)
@@ -1,89 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.jbws.standalone;
-
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.spi.registry.KernelBus;
-import org.jboss.wsf.spi.Container;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
-
-import java.net.URL;
-
-/**
- * A JBossWS container that bootstraps through
- * the {@link org.jboss.wsf.spi.SPIProvider}
- *
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public class StandaloneContainer implements Container
-{
- private SPIProvider spi;
-
- private Kernel kernel;
- private KernelController controller;
- private KernelBus bus;
-
- private DeploymentAspectManager deploymentManager;
-
- private StandaloneContainer(Kernel kernel, KernelController controller, KernelBus bus)
- {
- this.kernel = kernel;
- this.controller = controller;
- this.bus = bus;
- this.spi = SPIProviderResolver.getInstance().getProvider();
- }
-
- public static StandaloneContainer bootstrap(URL jbosswsBeansXml) throws Exception
- {
- EmbeddedBootstrap bootstrap = new EmbeddedBootstrap();
- bootstrap.run();
- bootstrap.deploy(jbosswsBeansXml);
-
- Kernel kernel = bootstrap.getKernel();
- StandaloneContainer container = new StandaloneContainer(kernel, kernel.getController(), kernel.getBus());
- container.assemble();
- return container;
- }
-
- private void assemble()
- {
- // DeploymentAspectManager
- DeploymentAspectManagerFactory daf = spi.getSPI(DeploymentAspectManagerFactory.class);
- deploymentManager = daf.getDeploymentAspectManager("WSDeploymentAspectManagerJSE");
- }
-
- public void publish(Deployment deployment)
- {
- deploymentManager.deploy(deployment);
- }
-
- public void remove(Deployment deployment)
- {
- deploymentManager.undeploy(deployment);
- }
-
-}
\ No newline at end of file
Modified: stack/native/branches/hbraun/src/test/resources/test-excludes-jboss500.txt
===================================================================
--- stack/native/branches/hbraun/src/test/resources/test-excludes-jboss500.txt 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/src/test/resources/test-excludes-jboss500.txt 2008-03-14 11:20:13 UTC (rev 5978)
@@ -21,4 +21,3 @@
# [JBAS-5115] Valid jboss-app.xml file not recognized correctly by jbossxb runtime
org/jboss/test/ws/jaxws/jbws1822/JBWS1822TestCase.*
-
Modified: stack/native/branches/hbraun/version.properties
===================================================================
--- stack/native/branches/hbraun/version.properties 2008-03-14 11:14:56 UTC (rev 5977)
+++ stack/native/branches/hbraun/version.properties 2008-03-14 11:20:13 UTC (rev 5978)
@@ -24,9 +24,9 @@
wscommons-policy=1.0
# Dependend integration projects
-jbossws-spi=snapshot
+jbossws-spi=3.0-snapshot
jbossws-common=snapshot
-jbossws-framework=snapshot
+jbossws-framework=3.0-snapshot
jbossws-jboss42=4.2.1.GA
# JBossAS-5.0
@@ -59,6 +59,7 @@
jboss-security=4.0.5.GA
jboss-vfs=2.0.0.Beta2
jbossas-core-libs=4.2.0.GA
+jetty=6.1.8
junit=3.8.1
oswego-concurrent=1.3.4
qdox=1.4
16 years, 6 months
JBossWS SVN: r5977 - in framework/branches/hbraun: src/main/java/org/jboss/wsf/framework/deployment and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-03-14 07:14:56 -0400 (Fri, 14 Mar 2008)
New Revision: 5977
Modified:
framework/branches/hbraun/framework-3.0.iml
framework/branches/hbraun/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
framework/branches/hbraun/version.properties
Log:
Progate WSFRuntime
Modified: framework/branches/hbraun/framework-3.0.iml
===================================================================
--- framework/branches/hbraun/framework-3.0.iml 2008-03-14 11:14:15 UTC (rev 5976)
+++ framework/branches/hbraun/framework-3.0.iml 2008-03-14 11:14:56 UTC (rev 5977)
@@ -42,15 +42,6 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-spi.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
<root url="jar://$MODULE_DIR$/thirdparty/jsr181-api.jar!/" />
</CLASSES>
<JAVADOC />
@@ -123,15 +114,6 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-spi-src.zip!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
<root url="jar://$MODULE_DIR$/thirdparty/jaxws-api.jar!/" />
</CLASSES>
<JAVADOC />
Modified: framework/branches/hbraun/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
===================================================================
--- framework/branches/hbraun/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-03-14 11:14:15 UTC (rev 5976)
+++ framework/branches/hbraun/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-03-14 11:14:56 UTC (rev 5977)
@@ -35,6 +35,7 @@
import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
import org.jboss.wsf.spi.deployment.WSFDeploymentException;
import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+import org.jboss.wsf.spi.WSFRuntime;
/**
* A general service deployment manger.
@@ -84,7 +85,13 @@
// Debug the aspect list
StringBuilder builder = new StringBuilder("setDeploymentAspects on " + name);
for (DeploymentAspect aspect : aspects)
- builder.append("\n " + aspect.getClass().getName() + " provides: " + aspect.getProvidesAsSet() + " requires: " + aspect.getRequiresAsSet());
+ builder.append("\n ")
+ .append(aspect.getClass().getName())
+ .append(" provides: ")
+ .append(aspect.getProvidesAsSet())
+ .append(" requires: ")
+ .append(aspect.getRequiresAsSet()
+ );
log.debug(builder);
}
@@ -95,7 +102,7 @@
* If start fails it automaticall calls destroy in the reverse order
* starting with the deployer that failed
*/
- public void deploy(Deployment dep)
+ public void deploy(Deployment dep, WSFRuntime runtime)
{
// create the deployment
Set<String> providedConditions = new HashSet<String>();
@@ -115,6 +122,7 @@
*/
logInvocation(aspect, "Create");
+ aspect.setRuntimeAssociation(runtime);
aspect.create(dep);
providedConditions.addAll(aspect.getProvidesAsSet());
@@ -145,12 +153,12 @@
dep.setState(DeploymentState.STARTED);
}
- public void undeploy(Deployment dep)
+ public void undeploy(Deployment dep, WSFRuntime runtime)
{
// stop the deployment
for (int i = getDeploymentAspects().size(); 0 < i; i--)
{
- DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+ DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
failsafeStop(aspect, dep);
}
@@ -165,7 +173,7 @@
dep.setState(DeploymentState.DESTROYED);
}
-
+
private void failsafeStop(DeploymentAspect aspect, Deployment dep)
{
try
Modified: framework/branches/hbraun/version.properties
===================================================================
--- framework/branches/hbraun/version.properties 2008-03-14 11:14:15 UTC (rev 5976)
+++ framework/branches/hbraun/version.properties 2008-03-14 11:14:56 UTC (rev 5977)
@@ -6,7 +6,7 @@
specification.version=jbossws-3.0
version.id=3.0.1.DEV
-repository.id=snapshot
+repository.id=3.0-snapshot
implementation.title=JBoss Web Services - Framework
implementation.url=http://www.jboss.org/products/jbossws
@@ -15,7 +15,7 @@
# Thirdparty library versions
jbossws-common=snapshot
-jbossws-spi=snapshot
+jbossws-spi=3.0-snapshot
junit=3.8.1
dom4j=1.6.1
16 years, 6 months
JBossWS SVN: r5976 - in spi/branches/hbraun: doc and 6 other directories.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2008-03-14 07:14:15 -0400 (Fri, 14 Mar 2008)
New Revision: 5976
Added:
spi/branches/hbraun/doc/
spi/branches/hbraun/doc/spi-3.0.ctr
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/ComposableRuntime.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/RuntimeAware.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/WSFRuntime.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java
Removed:
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/Container.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
Modified:
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
spi/branches/hbraun/version.properties
Log:
Propagate runtime through deployment aspects.
Added: spi/branches/hbraun/doc/spi-3.0.ctr
===================================================================
--- spi/branches/hbraun/doc/spi-3.0.ctr (rev 0)
+++ spi/branches/hbraun/doc/spi-3.0.ctr 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,1170 @@
+h;CoObRA2 Change stream - Version ;0;3
+h;Encoding;UTF-8
+h;ApplicationModel;Fujaba
+h;Application Name;Fujaba Tool Suite
+h;Fujaba Version;5.0.4
+h;reuseFAM;true
+c5;;-;-;v::M5B3NsgZ0FhyxofUGV7pGN;-;v::REPOSITORY_NAME;-;
+c5;4;-;-;v:java.lang.Long:100;-;v::IDSUFFIX;-;
+t;jIfGW#;newUMLProject;1205007755387;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLProject;i:jIfGW#1;-;i:jIfGW#;
+c5;;-;-;i:jIfGW#1;v::project;v::NAME;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLCardinality;i:jIfGW#2;v:java.lang.String:1;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#3;v:java.lang.String:Boolean;i:jIfGW#;
+c3;;i:jIfGW#3;name;v::Boolean;-;-;i:jIfGW#;
+c3;;i:jIfGW#3;progLangType;v::Boolean;-;-;i:jIfGW#;
+c3;;i:jIfGW#3;progLangType;v::boolean;v::Boolean;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#4;v:java.lang.String:String;i:jIfGW#;
+c3;;i:jIfGW#4;name;v::String;-;-;i:jIfGW#;
+c3;;i:jIfGW#4;progLangType;v::String;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#5;v:java.lang.String:Integer;i:jIfGW#;
+c3;;i:jIfGW#5;name;v::Integer;-;-;i:jIfGW#;
+c3;;i:jIfGW#5;progLangType;v::Integer;-;-;i:jIfGW#;
+c3;;i:jIfGW#5;progLangType;v::int;v::Integer;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#6;v:java.lang.String:Byte;i:jIfGW#;
+c3;;i:jIfGW#6;name;v::Byte;-;-;i:jIfGW#;
+c3;;i:jIfGW#6;progLangType;v::Byte;-;-;i:jIfGW#;
+c3;;i:jIfGW#6;progLangType;v::byte;v::Byte;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#7;v:java.lang.String:ShortInteger;i:jIfGW#;
+c3;;i:jIfGW#7;name;v::ShortInteger;-;-;i:jIfGW#;
+c3;;i:jIfGW#7;progLangType;v::ShortInteger;-;-;i:jIfGW#;
+c3;;i:jIfGW#7;progLangType;v::short;v::ShortInteger;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#8;v:java.lang.String:LongInteger;i:jIfGW#;
+c3;;i:jIfGW#8;name;v::LongInteger;-;-;i:jIfGW#;
+c3;;i:jIfGW#8;progLangType;v::LongInteger;-;-;i:jIfGW#;
+c3;;i:jIfGW#8;progLangType;v::long;v::LongInteger;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#9;v:java.lang.String:Float;i:jIfGW#;
+c3;;i:jIfGW#9;name;v::Float;-;-;i:jIfGW#;
+c3;;i:jIfGW#9;progLangType;v::Float;-;-;i:jIfGW#;
+c3;;i:jIfGW#9;progLangType;v::float;v::Float;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#A;v:java.lang.String:Double;i:jIfGW#;
+c3;;i:jIfGW#A;name;v::Double;-;-;i:jIfGW#;
+c3;;i:jIfGW#A;progLangType;v::Double;-;-;i:jIfGW#;
+c3;;i:jIfGW#A;progLangType;v::double;v::Double;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#B;v:java.lang.String:Character;i:jIfGW#;
+c3;;i:jIfGW#B;name;v::Character;-;-;i:jIfGW#;
+c3;;i:jIfGW#B;progLangType;v::Character;-;-;i:jIfGW#;
+c3;;i:jIfGW#B;progLangType;v::char;v::Character;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#C;v:java.lang.String:BooleanArray;i:jIfGW#;
+c3;;i:jIfGW#C;name;v::BooleanArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#C;progLangType;v::BooleanArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#C;progLangType;v::boolean[];v::BooleanArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#D;v:java.lang.String:StringArray;i:jIfGW#;
+c3;;i:jIfGW#D;name;v::StringArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#D;progLangType;v::StringArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#D;progLangType;v::String[];v::StringArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#E;v:java.lang.String:IntegerArray;i:jIfGW#;
+c3;;i:jIfGW#E;name;v::IntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#E;progLangType;v::IntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#E;progLangType;v::int[];v::IntegerArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#F;v:java.lang.String:ByteArray;i:jIfGW#;
+c3;;i:jIfGW#F;name;v::ByteArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#F;progLangType;v::ByteArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#F;progLangType;v::byte[];v::ByteArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#01;v:java.lang.String:ShortIntegerArray;i:jIfGW#;
+c3;;i:jIfGW#01;name;v::ShortIntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#01;progLangType;v::ShortIntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#01;progLangType;v::short[];v::ShortIntegerArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#11;v:java.lang.String:LongIntegerArray;i:jIfGW#;
+c3;;i:jIfGW#11;name;v::LongIntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#11;progLangType;v::LongIntegerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#11;progLangType;v::long[];v::LongIntegerArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#21;v:java.lang.String:FloatArray;i:jIfGW#;
+c3;;i:jIfGW#21;name;v::FloatArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#21;progLangType;v::FloatArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#21;progLangType;v::float[];v::FloatArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#31;v:java.lang.String:DoubleArray;i:jIfGW#;
+c3;;i:jIfGW#31;name;v::DoubleArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#31;progLangType;v::DoubleArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#31;progLangType;v::double[];v::DoubleArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#41;v:java.lang.String:CharacterArray;i:jIfGW#;
+c3;;i:jIfGW#41;name;v::CharacterArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#41;progLangType;v::CharacterArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#41;progLangType;v::char[];v::CharacterArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#51;v:java.lang.String:Void;i:jIfGW#;
+c3;;i:jIfGW#51;name;v::Void;-;-;i:jIfGW#;
+c3;;i:jIfGW#51;progLangType;v::Void;-;-;i:jIfGW#;
+c3;;i:jIfGW#51;progLangType;v::void;v::Void;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#61;v:java.lang.String:constructor;i:jIfGW#;
+c3;;i:jIfGW#61;name;v::constructor;-;-;i:jIfGW#;
+c3;;i:jIfGW#61;progLangType;v::constructor;-;-;i:jIfGW#;
+c3;;i:jIfGW#61;progLangType;v::;v::constructor;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#71;v:java.lang.String:Initializer;i:jIfGW#;
+c3;;i:jIfGW#71;name;v::Initializer;-;-;i:jIfGW#;
+c3;;i:jIfGW#71;progLangType;v::Initializer;-;-;i:jIfGW#;
+c3;;i:jIfGW#71;progLangType;v::;v::Initializer;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#81;v:java.lang.String:interface;i:jIfGW#;
+c3;;i:jIfGW#81;name;v::interface;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#91;v:java.lang.String:reference;i:jIfGW#;
+c3;;i:jIfGW#91;name;v::reference;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#A1;v:java.lang.String:type;i:jIfGW#;
+c3;;i:jIfGW#A1;name;v::type;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#B1;v:java.lang.String:immutable;i:jIfGW#;
+c3;;i:jIfGW#B1;name;v::immutable;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#C1;v:java.lang.String:JavaBean;i:jIfGW#;
+c3;;i:jIfGW#C1;name;v::JavaBean;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#D1;v:java.lang.String:final;i:jIfGW#;
+c3;;i:jIfGW#D1;name;v::final;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#E1;v:java.lang.String:native;i:jIfGW#;
+c3;;i:jIfGW#E1;name;v::native;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#F1;v:java.lang.String:signal;i:jIfGW#;
+c3;;i:jIfGW#F1;name;v::signal;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#02;v:java.lang.String:volatile;i:jIfGW#;
+c3;;i:jIfGW#02;name;v::volatile;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#12;v:java.lang.String:transient;i:jIfGW#;
+c3;;i:jIfGW#12;name;v::transient;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#22;v:java.lang.String:synchronized;i:jIfGW#;
+c3;;i:jIfGW#22;name;v::synchronized;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#32;v:java.lang.String:static;i:jIfGW#;
+c3;;i:jIfGW#32;name;v::static;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#42;v:java.lang.String:context;i:jIfGW#;
+c3;;i:jIfGW#42;name;v::context;-;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#52;v:java.lang.String:VoidArray;i:jIfGW#;
+c3;;i:jIfGW#52;name;v::VoidArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#52;progLangType;v::VoidArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#52;progLangType;v::void[];v::VoidArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#62;v:java.lang.String:constructorArray;i:jIfGW#;
+c3;;i:jIfGW#62;name;v::constructorArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#62;progLangType;v::constructorArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#62;progLangType;v::[];v::constructorArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLBaseType;i:jIfGW#72;v:java.lang.String:InitializerArray;i:jIfGW#;
+c3;;i:jIfGW#72;name;v::InitializerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#72;progLangType;v::InitializerArray;-;-;i:jIfGW#;
+c3;;i:jIfGW#72;progLangType;v::[];v::InitializerArray;-;i:jIfGW#;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#82;-;i:jIfGW#;
+c3;;i:jIfGW#1;rootPackage;i:jIfGW#82;-;-;i:jIfGW#;
+c3;;i:jIfGW#1;name;v::SPI-3.0;-;-;i:jIfGW#;
+t;jIfGW#92;newClassDiagram;1205007773213;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClassDiagram;i:jIfGW#A2;-;i:jIfGW#92;
+c3;;i:jIfGW#1;modelRootNodes;i:jIfGW#A2;-;-;i:jIfGW#92;
+c3;;i:jIfGW#A2;name;v::ClassDiagram1;-;-;i:jIfGW#92;
+t;jIfGW#B2;editClass;1205007797073;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#C2;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#D2;-;i:jIfGW#B2;
+c3;;i:jIfGW#D2;contains;i:jIfGW#C2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;file;i:jIfGW#D2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#B2;
+c3;;i:jIfGW#D2;contains;-;i:jIfGW#C2;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;file;-;i:jIfGW#D2;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;name;v::TransportManager;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#D2;contains;i:jIfGW#C2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;file;i:jIfGW#D2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;stereotypes;i:jIfGW#81;-;v:java.lang.String:interface;i:jIfGW#B2;
+c3;;i:jIfGW#81;increments;i:jIfGW#C2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#A2;elements;i:jIfGW#C2;-;-;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#E2;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;unparseInformations;i:jIfGW#E2;-;i:jIfGW#A2;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#F2;-;i:jIfGW#B2;
+c3;;i:jIfGW#E2;aSGInformation;i:jIfGW#F2;-;v:java.lang.String:entry;i:jIfGW#B2;
+c3;;i:jIfGW#F2;information;v::74;-;v:java.lang.String:location_X;i:jIfGW#B2;
+c3;;i:jIfGW#F2;information;v::163;-;v:java.lang.String:location_Y;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#03;-;i:jIfGW#B2;
+c3;;i:jIfGW#E2;aSGInformation;i:jIfGW#03;-;v:java.lang.String:attributePanel;i:jIfGW#B2;
+c3;;i:jIfGW#03;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#13;-;i:jIfGW#B2;
+c3;;i:jIfGW#E2;aSGInformation;i:jIfGW#13;-;v:java.lang.String:methodPanel;i:jIfGW#B2;
+c3;;i:jIfGW#13;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B2;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#23;-;i:jIfGW#B2;
+c3;;i:jIfGW#E2;aSGInformation;i:jIfGW#23;-;v:java.lang.String:signalPanel;i:jIfGW#B2;
+c3;;i:jIfGW#23;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B2;
+c3;;i:jIfGW#C2;diagrams;i:jIfGW#A2;-;-;i:jIfGW#B2;
+c3;;i:jIfGW#C2;defaultIcon;v::;-;-;i:jIfGW#B2;
+t;jIfGW#33;drag;1205007799072;-;;
+c3;;i:jIfGW#F2;information;v::225;v::74;v:java.lang.String:location_X;i:jIfGW#33;
+c3;;i:jIfGW#F2;information;v::159;v::163;v:java.lang.String:location_Y;i:jIfGW#33;
+t;jIfGW#43;globalDeleteAction;1205007833225;-;;
+c3;;i:jIfGW#C2;stereotypes;-;i:jIfGW#81;v:java.lang.String:interface;i:jIfGW#43;
+c3;;i:jIfGW#81;increments;-;i:jIfGW#C2;-;i:jIfGW#43;
+c3;;i:jIfGW#D2;contains;-;i:jIfGW#C2;-;i:jIfGW#43;
+c3;;i:jIfGW#C2;file;-;i:jIfGW#D2;-;i:jIfGW#43;
+c3;;i:jIfGW#C2;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#43;
+c3;;i:jIfGW#C2;unparseInformations;-;i:jIfGW#E2;i:jIfGW#A2;i:jIfGW#43;
+c3;;i:jIfGW#E2;aSGInformation;-;i:jIfGW#F2;v:java.lang.String:entry;i:jIfGW#43;
+c3;;i:jIfGW#F2;information;-;v::225;v:java.lang.String:location_X;i:jIfGW#43;
+c3;;i:jIfGW#F2;information;-;v::159;v:java.lang.String:location_Y;i:jIfGW#43;
+c3;;i:jIfGW#E2;aSGInformation;-;i:jIfGW#03;v:java.lang.String:attributePanel;i:jIfGW#43;
+c3;;i:jIfGW#03;information;-;v::true;v:java.lang.String:collapsed;i:jIfGW#43;
+c3;;i:jIfGW#E2;aSGInformation;-;i:jIfGW#13;v:java.lang.String:methodPanel;i:jIfGW#43;
+c3;;i:jIfGW#13;information;-;v::true;v:java.lang.String:collapsed;i:jIfGW#43;
+c3;;i:jIfGW#E2;aSGInformation;-;i:jIfGW#23;v:java.lang.String:signalPanel;i:jIfGW#43;
+c3;;i:jIfGW#23;information;-;v::true;v:java.lang.String:collapsed;i:jIfGW#43;
+c3;;i:jIfGW#A2;elements;-;i:jIfGW#C2;-;i:jIfGW#43;
+t;jIfGW#53;inplace editing;1205007843675;-;;
+c3;;i:jIfGW#A2;name;v::transport;v::ClassDiagram1;-;i:jIfGW#53;
+t;jIfGW#63;editClass;1205007924414;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#73;-;i:jIfGW#63;
+c3;;i:jIfGW#73;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#83;-;i:jIfGW#63;
+c3;;i:jIfGW#83;contains;i:jIfGW#73;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;file;i:jIfGW#83;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#63;
+c3;;i:jIfGW#83;contains;-;i:jIfGW#73;-;i:jIfGW#63;
+c3;;i:jIfGW#73;file;-;i:jIfGW#83;-;i:jIfGW#63;
+c3;;i:jIfGW#73;name;v::TransportManager;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#63;
+c3;;i:jIfGW#83;contains;i:jIfGW#73;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;file;i:jIfGW#83;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#93;-;i:jIfGW#63;
+c3;;i:jIfGW#93;name;v::org;-;-;i:jIfGW#63;
+c3;;i:jIfGW#82;packages;i:jIfGW#93;-;v:java.lang.String:org;i:jIfGW#63;
+c3;;i:jIfGW#93;parent;i:jIfGW#82;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#A3;-;i:jIfGW#63;
+c3;;i:jIfGW#A3;name;v::jboss;-;-;i:jIfGW#63;
+c3;;i:jIfGW#93;packages;i:jIfGW#A3;-;v:java.lang.String:jboss;i:jIfGW#63;
+c3;;i:jIfGW#A3;parent;i:jIfGW#93;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#B3;-;i:jIfGW#63;
+c3;;i:jIfGW#B3;name;v::wsf;-;-;i:jIfGW#63;
+c3;;i:jIfGW#A3;packages;i:jIfGW#B3;-;v:java.lang.String:wsf;i:jIfGW#63;
+c3;;i:jIfGW#B3;parent;i:jIfGW#A3;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#C3;-;i:jIfGW#63;
+c3;;i:jIfGW#C3;name;v::spi;-;-;i:jIfGW#63;
+c3;;i:jIfGW#B3;packages;i:jIfGW#C3;-;v:java.lang.String:spi;i:jIfGW#63;
+c3;;i:jIfGW#C3;parent;i:jIfGW#B3;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:jIfGW#D3;-;i:jIfGW#63;
+c3;;i:jIfGW#D3;name;v::transport;-;-;i:jIfGW#63;
+c3;;i:jIfGW#C3;packages;i:jIfGW#D3;-;v:java.lang.String:transport;i:jIfGW#63;
+c3;;i:jIfGW#D3;parent;i:jIfGW#C3;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;declaredInPackage;i:jIfGW#D3;i:jIfGW#82;-;i:jIfGW#63;
+c3;;i:jIfGW#73;stereotypes;i:jIfGW#81;-;v:java.lang.String:interface;i:jIfGW#63;
+c3;;i:jIfGW#81;increments;i:jIfGW#73;-;-;i:jIfGW#63;
+c3;;i:jIfGW#A2;elements;i:jIfGW#73;-;-;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#E3;-;i:jIfGW#63;
+c3;;i:jIfGW#73;unparseInformations;i:jIfGW#E3;-;i:jIfGW#A2;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#F3;-;i:jIfGW#63;
+c3;;i:jIfGW#E3;aSGInformation;i:jIfGW#F3;-;v:java.lang.String:entry;i:jIfGW#63;
+c3;;i:jIfGW#F3;information;v::328;-;v:java.lang.String:location_X;i:jIfGW#63;
+c3;;i:jIfGW#F3;information;v::74;-;v:java.lang.String:location_Y;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#04;-;i:jIfGW#63;
+c3;;i:jIfGW#E3;aSGInformation;i:jIfGW#04;-;v:java.lang.String:attributePanel;i:jIfGW#63;
+c3;;i:jIfGW#04;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#14;-;i:jIfGW#63;
+c3;;i:jIfGW#E3;aSGInformation;i:jIfGW#14;-;v:java.lang.String:methodPanel;i:jIfGW#63;
+c3;;i:jIfGW#14;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#63;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#24;-;i:jIfGW#63;
+c3;;i:jIfGW#E3;aSGInformation;i:jIfGW#24;-;v:java.lang.String:signalPanel;i:jIfGW#63;
+c3;;i:jIfGW#24;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#63;
+c3;;i:jIfGW#73;diagrams;i:jIfGW#A2;-;-;i:jIfGW#63;
+c3;;i:jIfGW#73;defaultIcon;v::;-;-;i:jIfGW#63;
+t;jIfGW#34;drag;1205007929300;-;;
+c3;;i:jIfGW#F3;information;v::293;v::328;v:java.lang.String:location_X;i:jIfGW#34;
+c3;;i:jIfGW#F3;information;v::87;v::74;v:java.lang.String:location_Y;i:jIfGW#34;
+t;jIfGW#44;drag;1205007930420;-;;
+c3;;i:jIfGW#F3;information;v::427;v::293;v:java.lang.String:location_X;i:jIfGW#44;
+c3;;i:jIfGW#F3;information;v::117;v::87;v:java.lang.String:location_Y;i:jIfGW#44;
+t;jIfGW#54;editClass;1205007937500;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#64;-;i:jIfGW#54;
+c3;;i:jIfGW#64;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#74;-;i:jIfGW#54;
+c3;;i:jIfGW#74;contains;i:jIfGW#64;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;file;i:jIfGW#74;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#54;
+c3;;i:jIfGW#74;contains;-;i:jIfGW#64;-;i:jIfGW#54;
+c3;;i:jIfGW#64;file;-;i:jIfGW#74;-;i:jIfGW#54;
+c3;;i:jIfGW#64;name;v::ListenerRef;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#54;
+c3;;i:jIfGW#74;contains;i:jIfGW#64;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;file;i:jIfGW#74;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;declaredInPackage;i:jIfGW#D3;i:jIfGW#82;-;i:jIfGW#54;
+c3;;i:jIfGW#A2;elements;i:jIfGW#64;-;-;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#84;-;i:jIfGW#54;
+c3;;i:jIfGW#64;unparseInformations;i:jIfGW#84;-;i:jIfGW#A2;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#94;-;i:jIfGW#54;
+c3;;i:jIfGW#84;aSGInformation;i:jIfGW#94;-;v:java.lang.String:entry;i:jIfGW#54;
+c3;;i:jIfGW#94;information;v::335;-;v:java.lang.String:location_X;i:jIfGW#54;
+c3;;i:jIfGW#94;information;v::189;-;v:java.lang.String:location_Y;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#A4;-;i:jIfGW#54;
+c3;;i:jIfGW#84;aSGInformation;i:jIfGW#A4;-;v:java.lang.String:attributePanel;i:jIfGW#54;
+c3;;i:jIfGW#A4;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#B4;-;i:jIfGW#54;
+c3;;i:jIfGW#84;aSGInformation;i:jIfGW#B4;-;v:java.lang.String:methodPanel;i:jIfGW#54;
+c3;;i:jIfGW#B4;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#54;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#C4;-;i:jIfGW#54;
+c3;;i:jIfGW#84;aSGInformation;i:jIfGW#C4;-;v:java.lang.String:signalPanel;i:jIfGW#54;
+c3;;i:jIfGW#C4;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#54;
+c3;;i:jIfGW#64;diagrams;i:jIfGW#A2;-;-;i:jIfGW#54;
+c3;;i:jIfGW#64;defaultIcon;v::;-;-;i:jIfGW#54;
+t;jIfGW#D4;drag;1205007939106;-;;
+c3;;i:jIfGW#94;information;v::222;v::335;v:java.lang.String:location_X;i:jIfGW#D4;
+c3;;i:jIfGW#94;information;v::129;v::189;v:java.lang.String:location_Y;i:jIfGW#D4;
+t;jIfGW#E4;inplace editing;1205007951097;-;;
+c3;;i:jIfGW#64;stereotypes;i:jIfGW#81;-;v:java.lang.String:interface;i:jIfGW#E4;
+c3;;i:jIfGW#81;increments;i:jIfGW#64;-;-;i:jIfGW#E4;
+t;jIfGW#F4;drag;1205007952369;-;;
+c3;;i:jIfGW#94;information;v::235;v::222;v:java.lang.String:location_X;i:jIfGW#F4;
+c3;;i:jIfGW#94;information;v::111;v::129;v:java.lang.String:location_Y;i:jIfGW#F4;
+t;jIfGW#05;drag;1205007957184;-;;
+c3;;i:jIfGW#94;information;v::432;v::235;v:java.lang.String:location_X;i:jIfGW#05;
+c3;;i:jIfGW#94;information;v::233;v::111;v:java.lang.String:location_Y;i:jIfGW#05;
+t;jIfGW#15;editClass;1205007968311;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#25;-;i:jIfGW#15;
+c3;;i:jIfGW#25;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#35;-;i:jIfGW#15;
+c3;;i:jIfGW#35;contains;i:jIfGW#25;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;file;i:jIfGW#35;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#15;
+c3;;i:jIfGW#35;contains;-;i:jIfGW#25;-;i:jIfGW#15;
+c3;;i:jIfGW#25;file;-;i:jIfGW#35;-;i:jIfGW#15;
+c3;;i:jIfGW#25;name;v::TransportSpec;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#15;
+c3;;i:jIfGW#35;contains;i:jIfGW#25;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;file;i:jIfGW#35;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;declaredInPackage;i:jIfGW#D3;i:jIfGW#82;-;i:jIfGW#15;
+c3;;i:jIfGW#A2;elements;i:jIfGW#25;-;-;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#45;-;i:jIfGW#15;
+c3;;i:jIfGW#25;unparseInformations;i:jIfGW#45;-;i:jIfGW#A2;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#55;-;i:jIfGW#15;
+c3;;i:jIfGW#45;aSGInformation;i:jIfGW#55;-;v:java.lang.String:entry;i:jIfGW#15;
+c3;;i:jIfGW#55;information;v::312;-;v:java.lang.String:location_X;i:jIfGW#15;
+c3;;i:jIfGW#55;information;v::86;-;v:java.lang.String:location_Y;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#65;-;i:jIfGW#15;
+c3;;i:jIfGW#45;aSGInformation;i:jIfGW#65;-;v:java.lang.String:attributePanel;i:jIfGW#15;
+c3;;i:jIfGW#65;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#75;-;i:jIfGW#15;
+c3;;i:jIfGW#45;aSGInformation;i:jIfGW#75;-;v:java.lang.String:methodPanel;i:jIfGW#15;
+c3;;i:jIfGW#75;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#15;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#85;-;i:jIfGW#15;
+c3;;i:jIfGW#45;aSGInformation;i:jIfGW#85;-;v:java.lang.String:signalPanel;i:jIfGW#15;
+c3;;i:jIfGW#85;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#15;
+c3;;i:jIfGW#25;diagrams;i:jIfGW#A2;-;-;i:jIfGW#15;
+c3;;i:jIfGW#25;defaultIcon;v::;-;-;i:jIfGW#15;
+t;jIfGW#95;drag;1205007970718;-;;
+c3;;i:jIfGW#55;information;v::244;v::312;v:java.lang.String:location_X;i:jIfGW#95;
+c3;;i:jIfGW#55;information;v::92;v::86;v:java.lang.String:location_Y;i:jIfGW#95;
+t;jIfGW#A5;editClass;1205007991009;-;;
+c3;;i:jIfGW#25;declaredInPackage;-;i:jIfGW#D3;-;i:jIfGW#A5;
+c3;;i:jIfGW#35;contains;-;i:jIfGW#25;-;i:jIfGW#A5;
+c3;;i:jIfGW#25;file;-;i:jIfGW#35;-;i:jIfGW#A5;
+c3;;i:jIfGW#25;name;v::Protocol;v::TransportSpec;-;i:jIfGW#A5;
+c3;;i:jIfGW#25;declaredInPackage;i:jIfGW#D3;-;-;i:jIfGW#A5;
+c3;;i:jIfGW#35;contains;i:jIfGW#25;-;-;i:jIfGW#A5;
+c3;;i:jIfGW#25;file;i:jIfGW#35;-;-;i:jIfGW#A5;
+t;jIfGW#B5;editClass;1205007998870;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#C5;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#D5;-;i:jIfGW#B5;
+c3;;i:jIfGW#D5;contains;i:jIfGW#C5;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;file;i:jIfGW#D5;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#B5;
+c3;;i:jIfGW#D5;contains;-;i:jIfGW#C5;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;file;-;i:jIfGW#D5;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;name;v::TransportSpec;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#D5;contains;i:jIfGW#C5;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;file;i:jIfGW#D5;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#A2;elements;i:jIfGW#C5;-;-;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#E5;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;unparseInformations;i:jIfGW#E5;-;i:jIfGW#A2;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#F5;-;i:jIfGW#B5;
+c3;;i:jIfGW#E5;aSGInformation;i:jIfGW#F5;-;v:java.lang.String:entry;i:jIfGW#B5;
+c3;;i:jIfGW#F5;information;v::237;-;v:java.lang.String:location_X;i:jIfGW#B5;
+c3;;i:jIfGW#F5;information;v::222;-;v:java.lang.String:location_Y;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#06;-;i:jIfGW#B5;
+c3;;i:jIfGW#E5;aSGInformation;i:jIfGW#06;-;v:java.lang.String:attributePanel;i:jIfGW#B5;
+c3;;i:jIfGW#06;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#16;-;i:jIfGW#B5;
+c3;;i:jIfGW#E5;aSGInformation;i:jIfGW#16;-;v:java.lang.String:methodPanel;i:jIfGW#B5;
+c3;;i:jIfGW#16;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B5;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#26;-;i:jIfGW#B5;
+c3;;i:jIfGW#E5;aSGInformation;i:jIfGW#26;-;v:java.lang.String:signalPanel;i:jIfGW#B5;
+c3;;i:jIfGW#26;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B5;
+c3;;i:jIfGW#C5;diagrams;i:jIfGW#A2;-;-;i:jIfGW#B5;
+c3;;i:jIfGW#C5;defaultIcon;v::;-;-;i:jIfGW#B5;
+t;jIfGW#36;drag;1205008001129;-;;
+c3;;i:jIfGW#F5;information;v::99;v::237;v:java.lang.String:location_X;i:jIfGW#36;
+c3;;i:jIfGW#F5;information;v::100;v::222;v:java.lang.String:location_Y;i:jIfGW#36;
+c5;4;-;-;v:java.lang.Long:200;-;v::IDSUFFIX;-;
+t;jIfGW#46;editAssoc;1205008015894;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#56;-;i:jIfGW#46;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#66;-;i:jIfGW#46;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#76;-;i:jIfGW#46;
+c3;;i:jIfGW#56;revLeftRole;i:jIfGW#76;-;-;i:jIfGW#46;
+c3;;i:jIfGW#76;leftRole;i:jIfGW#56;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;revRightRole;i:jIfGW#76;-;-;i:jIfGW#46;
+c3;;i:jIfGW#76;rightRole;i:jIfGW#66;-;-;i:jIfGW#46;
+c3;;i:jIfGW#76;name;v::Assoc;-;-;i:jIfGW#46;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLCardinality;i:jIfGW#86;v:java.lang.String:0..1;i:jIfGW#46;
+c3;;i:jIfGW#56;card;i:jIfGW#86;-;-;i:jIfGW#46;
+c3;;i:jIfGW#C5;roles;i:jIfGW#56;-;-;i:jIfGW#46;
+c3;;i:jIfGW#56;target;i:jIfGW#C5;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;card;i:jIfGW#86;-;-;i:jIfGW#46;
+c3;;i:jIfGW#25;roles;i:jIfGW#66;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;target;i:jIfGW#25;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;sortedComparator;v::;-;-;i:jIfGW#46;
+c3;;i:jIfGW#56;sortedComparator;v::;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;sortedComparator;-;v::;-;i:jIfGW#46;
+c3;;i:jIfGW#56;name;v::transportSpec;-;-;i:jIfGW#46;
+c3;;i:jIfGW#66;name;v::protocol;-;-;i:jIfGW#46;
+c3;;i:jIfGW#A2;elements;i:jIfGW#76;-;-;i:jIfGW#46;
+c3;;i:jIfGW#76;diagrams;i:jIfGW#A2;-;-;i:jIfGW#46;
+t;jIfGW#96;drag;1205008021430;-;;
+c3;;i:jIfGW#F5;information;v::46;v::99;v:java.lang.String:location_X;i:jIfGW#96;
+c3;;i:jIfGW#F5;information;v::91;v::100;v:java.lang.String:location_Y;i:jIfGW#96;
+t;jIfGW#A6;drag;1205008023134;-;;
+c3;;i:jIfGW#94;information;v::172;v::432;v:java.lang.String:location_X;i:jIfGW#A6;
+c3;;i:jIfGW#94;information;v::319;v::233;v:java.lang.String:location_Y;i:jIfGW#A6;
+t;jIfGW#B6;drag;1205008032700;-;;
+c3;;i:jIfGW#F3;information;v::245;v::427;v:java.lang.String:location_X;i:jIfGW#B6;
+c3;;i:jIfGW#F3;information;v::179;v::117;v:java.lang.String:location_Y;i:jIfGW#B6;
+t;jIfGW#C6;drag;1205008034780;-;;
+c3;;i:jIfGW#55;information;v::160;v::244;v:java.lang.String:location_X;i:jIfGW#C6;
+c3;;i:jIfGW#55;information;v::248;v::92;v:java.lang.String:location_Y;i:jIfGW#C6;
+t;jIfGW#D6;drag;1205008035892;-;;
+c3;;i:jIfGW#94;information;v::147;v::172;v:java.lang.String:location_X;i:jIfGW#D6;
+c3;;i:jIfGW#94;information;v::338;v::319;v:java.lang.String:location_Y;i:jIfGW#D6;
+t;jIfGW#E6;editAssoc;1205008043091;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#F6;-;i:jIfGW#E6;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#07;-;i:jIfGW#E6;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#17;-;i:jIfGW#E6;
+c3;;i:jIfGW#F6;revLeftRole;i:jIfGW#17;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#17;leftRole;i:jIfGW#F6;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;revRightRole;i:jIfGW#17;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#17;rightRole;i:jIfGW#07;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#17;name;v::Assoc;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#F6;card;i:jIfGW#86;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#64;roles;i:jIfGW#F6;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#F6;target;i:jIfGW#64;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;card;i:jIfGW#86;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#25;roles;i:jIfGW#07;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;target;i:jIfGW#25;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;sortedComparator;v::;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#F6;sortedComparator;v::;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;sortedComparator;-;v::;-;i:jIfGW#E6;
+c3;;i:jIfGW#F6;name;v::listenerRef;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#07;name;v::protocol;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#A2;elements;i:jIfGW#17;-;-;i:jIfGW#E6;
+c3;;i:jIfGW#17;diagrams;i:jIfGW#A2;-;-;i:jIfGW#E6;
+t;jIfGW#27;drag;1205008044627;-;;
+c3;;i:jIfGW#94;information;v::139;v::147;v:java.lang.String:location_X;i:jIfGW#27;
+c3;;i:jIfGW#94;information;v::399;v::338;v:java.lang.String:location_Y;i:jIfGW#27;
+t;jIfGW#37;drag;1205008046290;-;;
+c3;;i:jIfGW#F3;information;v::335;v::245;v:java.lang.String:location_X;i:jIfGW#37;
+c3;;i:jIfGW#F3;information;v::238;v::179;v:java.lang.String:location_Y;i:jIfGW#37;
+t;jIfGW#47;drag;1205008052265;-;;
+c3;;i:jIfGW#55;information;v::196;v::160;v:java.lang.String:location_X;i:jIfGW#47;
+c3;;i:jIfGW#55;information;v::238;v::248;v:java.lang.String:location_Y;i:jIfGW#47;
+t;jIfGW#57;drag;1205008053593;-;;
+c3;;i:jIfGW#F3;information;v::344;v::335;v:java.lang.String:location_X;i:jIfGW#57;
+c3;;i:jIfGW#F3;information;v::228;v::238;v:java.lang.String:location_Y;i:jIfGW#57;
+t;jIfGW#67;drag;1205008058800;-;;
+c3;;i:jIfGW#F3;information;v::327;v::344;v:java.lang.String:location_X;i:jIfGW#67;
+c3;;i:jIfGW#F3;information;v::85;v::228;v:java.lang.String:location_Y;i:jIfGW#67;
+t;jIfGW#77;editAssoc;1205008096066;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#87;-;i:jIfGW#77;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#97;-;i:jIfGW#77;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#A7;-;i:jIfGW#77;
+c3;;i:jIfGW#87;revLeftRole;i:jIfGW#A7;-;-;i:jIfGW#77;
+c3;;i:jIfGW#A7;leftRole;i:jIfGW#87;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;revRightRole;i:jIfGW#A7;-;-;i:jIfGW#77;
+c3;;i:jIfGW#A7;rightRole;i:jIfGW#97;-;-;i:jIfGW#77;
+c3;;i:jIfGW#A7;name;v::Assoc;-;-;i:jIfGW#77;
+c3;;i:jIfGW#87;card;i:jIfGW#86;-;-;i:jIfGW#77;
+c3;;i:jIfGW#73;roles;i:jIfGW#87;-;-;i:jIfGW#77;
+c3;;i:jIfGW#87;target;i:jIfGW#73;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;card;i:jIfGW#86;-;-;i:jIfGW#77;
+c3;;i:jIfGW#C5;roles;i:jIfGW#97;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;target;i:jIfGW#C5;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;sortedComparator;v::;-;-;i:jIfGW#77;
+c3;;i:jIfGW#87;sortedComparator;v::;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;sortedComparator;-;v::;-;i:jIfGW#77;
+c3;;i:jIfGW#87;name;v::transportManager;-;-;i:jIfGW#77;
+c3;;i:jIfGW#97;name;v::transportSpec;-;-;i:jIfGW#77;
+c3;;i:jIfGW#A2;elements;i:jIfGW#A7;-;-;i:jIfGW#77;
+c3;;i:jIfGW#A7;diagrams;i:jIfGW#A2;-;-;i:jIfGW#77;
+t;jIfGW#B7;drag;1205008098810;-;;
+c3;;i:jIfGW#F3;information;v::359;v::327;v:java.lang.String:location_X;i:jIfGW#B7;
+c3;;i:jIfGW#F3;information;v::84;v::85;v:java.lang.String:location_Y;i:jIfGW#B7;
+t;jIfGW#C7;drag;1205008103265;-;;
+c3;;i:jIfGW#55;information;v::226;v::196;v:java.lang.String:location_X;i:jIfGW#C7;
+c3;;i:jIfGW#55;information;v::227;v::238;v:java.lang.String:location_Y;i:jIfGW#C7;
+t;jIfGW#D7;drag;1205008109873;-;;
+c3;;i:jIfGW#94;information;v::379;v::139;v:java.lang.String:location_X;i:jIfGW#D7;
+c3;;i:jIfGW#94;information;v::227;v::399;v:java.lang.String:location_Y;i:jIfGW#D7;
+t;jIfGW#E7;drag;1205008168240;-;;
+c3;;i:jIfGW#55;information;v::211;v::226;v:java.lang.String:location_X;i:jIfGW#E7;
+c3;;i:jIfGW#55;information;v::217;v::227;v:java.lang.String:location_Y;i:jIfGW#E7;
+t;jIfGW#F7;editAssoc;1205008188284;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#08;-;i:jIfGW#F7;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#18;-;i:jIfGW#F7;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#28;-;i:jIfGW#F7;
+c3;;i:jIfGW#08;revLeftRole;i:jIfGW#28;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#28;leftRole;i:jIfGW#08;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;revRightRole;i:jIfGW#28;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#28;rightRole;i:jIfGW#18;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#28;name;v::Assoc;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;adornment;v:java.lang.Integer:3;v:java.lang.Integer:0;-;i:jIfGW#F7;
+c3;;i:jIfGW#08;card;i:jIfGW#86;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#73;roles;i:jIfGW#08;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#08;target;i:jIfGW#73;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;card;i:jIfGW#86;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#64;roles;i:jIfGW#18;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;target;i:jIfGW#64;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;sortedComparator;v::;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#08;name;v::transportManager;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#18;name;v::listenerRef;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#A2;elements;i:jIfGW#28;-;-;i:jIfGW#F7;
+c3;;i:jIfGW#28;diagrams;i:jIfGW#A2;-;-;i:jIfGW#F7;
+t;jIfGW#38;drag;1205008191028;-;;
+c3;;i:jIfGW#94;information;v::366;v::379;v:java.lang.String:location_X;i:jIfGW#38;
+c3;;i:jIfGW#94;information;v::231;v::227;v:java.lang.String:location_Y;i:jIfGW#38;
+t;jIfGW#48;inplace editing;1205008205843;-;;
+c3;;i:jIfGW#28;name;v::creates;v::Assoc;-;i:jIfGW#48;
+c3;;i:jIfGW#A7;name;v::process;v::Assoc;-;i:jIfGW#48;
+t;jIfGW#58;drag;1205008225439;-;;
+c3;;i:jIfGW#55;information;v::198;v::211;v:java.lang.String:location_X;i:jIfGW#58;
+c3;;i:jIfGW#55;information;v::215;v::217;v:java.lang.String:location_Y;i:jIfGW#58;
+t;jIfGW#68;editClass;1205008248013;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#78;-;i:jIfGW#68;
+c3;;i:jIfGW#78;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#88;-;i:jIfGW#68;
+c3;;i:jIfGW#88;contains;i:jIfGW#78;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;file;i:jIfGW#88;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#68;
+c3;;i:jIfGW#88;contains;-;i:jIfGW#78;-;i:jIfGW#68;
+c3;;i:jIfGW#78;file;-;i:jIfGW#88;-;i:jIfGW#68;
+c3;;i:jIfGW#78;name;v::HttpTransportSpec;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#68;
+c3;;i:jIfGW#88;contains;i:jIfGW#78;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;file;i:jIfGW#88;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;declaredInPackage;i:jIfGW#D3;i:jIfGW#82;-;i:jIfGW#68;
+c3;;i:jIfGW#A2;elements;i:jIfGW#78;-;-;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#98;-;i:jIfGW#68;
+c3;;i:jIfGW#78;unparseInformations;i:jIfGW#98;-;i:jIfGW#A2;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#A8;-;i:jIfGW#68;
+c3;;i:jIfGW#98;aSGInformation;i:jIfGW#A8;-;v:java.lang.String:entry;i:jIfGW#68;
+c3;;i:jIfGW#A8;information;v::395;-;v:java.lang.String:location_X;i:jIfGW#68;
+c3;;i:jIfGW#A8;information;v::42;-;v:java.lang.String:location_Y;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#B8;-;i:jIfGW#68;
+c3;;i:jIfGW#98;aSGInformation;i:jIfGW#B8;-;v:java.lang.String:attributePanel;i:jIfGW#68;
+c3;;i:jIfGW#B8;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#C8;-;i:jIfGW#68;
+c3;;i:jIfGW#98;aSGInformation;i:jIfGW#C8;-;v:java.lang.String:methodPanel;i:jIfGW#68;
+c3;;i:jIfGW#C8;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#68;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#D8;-;i:jIfGW#68;
+c3;;i:jIfGW#98;aSGInformation;i:jIfGW#D8;-;v:java.lang.String:signalPanel;i:jIfGW#68;
+c3;;i:jIfGW#D8;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#68;
+c3;;i:jIfGW#78;diagrams;i:jIfGW#A2;-;-;i:jIfGW#68;
+c3;;i:jIfGW#78;defaultIcon;v::;-;-;i:jIfGW#68;
+t;jIfGW#E8;drag;1205008251147;-;;
+c3;;i:jIfGW#A8;information;v::24;v::395;v:java.lang.String:location_X;i:jIfGW#E8;
+c3;;i:jIfGW#A8;information;v::174;v::42;v:java.lang.String:location_Y;i:jIfGW#E8;
+t;jIfGW#F8;drag;1205008271344;-;;
+c3;;i:jIfGW#F5;information;v::40;v::46;v:java.lang.String:location_X;i:jIfGW#F8;
+c3;;i:jIfGW#F5;information;v::87;v::91;v:java.lang.String:location_Y;i:jIfGW#F8;
+t;jIfGW#09;editClass;1205008284865;-;;
+c3;;i:jIfGW#78;declaredInPackage;-;i:jIfGW#D3;-;i:jIfGW#09;
+c3;;i:jIfGW#88;contains;-;i:jIfGW#78;-;i:jIfGW#09;
+c3;;i:jIfGW#78;file;-;i:jIfGW#88;-;i:jIfGW#09;
+c3;;i:jIfGW#78;declaredInPackage;i:jIfGW#D3;-;-;i:jIfGW#09;
+c3;;i:jIfGW#88;contains;i:jIfGW#78;-;-;i:jIfGW#09;
+c3;;i:jIfGW#78;file;i:jIfGW#88;-;-;i:jIfGW#09;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLGeneralization;i:jIfGW#19;-;i:jIfGW#09;
+c3;;i:jIfGW#78;revSubclass;i:jIfGW#19;-;-;i:jIfGW#09;
+c3;;i:jIfGW#19;subclass;i:jIfGW#78;-;-;i:jIfGW#09;
+c3;;i:jIfGW#C5;revSuperclass;i:jIfGW#19;-;-;i:jIfGW#09;
+c3;;i:jIfGW#19;superclass;i:jIfGW#C5;-;-;i:jIfGW#09;
+c3;;i:jIfGW#A2;elements;i:jIfGW#19;-;-;i:jIfGW#09;
+c3;;i:jIfGW#19;diagrams;i:jIfGW#A2;-;-;i:jIfGW#09;
+t;jIfGW#29;drag;1205008287317;-;;
+c3;;i:jIfGW#A8;information;v::28;v::24;v:java.lang.String:location_X;i:jIfGW#29;
+c3;;i:jIfGW#A8;information;v::250;v::174;v:java.lang.String:location_Y;i:jIfGW#29;
+t;jIfGW#39;inplace editing;1205008303763;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAttr;i:jIfGW#49;-;i:jIfGW#39;
+c3;;i:jIfGW#49;name;v::webContext;-;-;i:jIfGW#39;
+c3;;i:jIfGW#49;initialValue;v::;-;-;i:jIfGW#39;
+c3;;i:jIfGW#49;attrType;i:jIfGW#4;-;-;i:jIfGW#39;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLStereotype;i:jIfGW#59;v:java.lang.String:pointer;i:jIfGW#39;
+c3;;i:jIfGW#59;name;v::pointer;-;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;i:jIfGW#49;-;-;i:jIfGW#39;
+c3;;i:jIfGW#49;parent;i:jIfGW#78;-;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;-;i:jIfGW#49;-;i:jIfGW#39;
+c3;;i:jIfGW#49;parent;-;i:jIfGW#78;-;i:jIfGW#39;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAttr;i:jIfGW#69;-;i:jIfGW#39;
+c3;;i:jIfGW#69;name;v::urlPattern;-;-;i:jIfGW#39;
+c3;;i:jIfGW#69;initialValue;v::;-;-;i:jIfGW#39;
+c3;;i:jIfGW#69;attrType;i:jIfGW#4;-;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;i:jIfGW#69;-;-;i:jIfGW#39;
+c3;;i:jIfGW#69;parent;i:jIfGW#78;-;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;-;i:jIfGW#69;-;i:jIfGW#39;
+c3;;i:jIfGW#69;parent;-;i:jIfGW#78;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;i:jIfGW#49;-;-;i:jIfGW#39;
+c3;;i:jIfGW#49;parent;i:jIfGW#78;-;-;i:jIfGW#39;
+c3;;i:jIfGW#78;attrs;i:jIfGW#69;-;-;i:jIfGW#39;
+c3;;i:jIfGW#69;parent;i:jIfGW#78;-;-;i:jIfGW#39;
+c3;;i:jIfGW#B8;information;v::false;v::true;v:java.lang.String:collapsed;i:jIfGW#39;
+t;jIfGW#79;drag;1205008327847;-;;
+c3;;i:jIfGW#A8;information;v::21;v::28;v:java.lang.String:location_X;i:jIfGW#79;
+c3;;i:jIfGW#A8;information;v::346;v::250;v:java.lang.String:location_Y;i:jIfGW#79;
+t;jIfGW#89;inplace editing;1205008338973;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAttr;i:jIfGW#99;-;i:jIfGW#89;
+c3;;i:jIfGW#99;name;v::uuid;-;-;i:jIfGW#89;
+c3;;i:jIfGW#99;initialValue;v::;-;-;i:jIfGW#89;
+c3;;i:jIfGW#99;attrType;i:jIfGW#4;-;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;i:jIfGW#99;-;-;i:jIfGW#89;
+c3;;i:jIfGW#99;parent;i:jIfGW#64;-;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;-;i:jIfGW#99;-;i:jIfGW#89;
+c3;;i:jIfGW#99;parent;-;i:jIfGW#64;-;i:jIfGW#89;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAttr;i:jIfGW#A9;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;name;v::address;-;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;initialValue;v::;-;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;attrType;i:jIfGW#4;-;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;i:jIfGW#A9;-;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;parent;i:jIfGW#64;-;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;-;i:jIfGW#A9;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;parent;-;i:jIfGW#64;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;i:jIfGW#99;-;-;i:jIfGW#89;
+c3;;i:jIfGW#99;parent;i:jIfGW#64;-;-;i:jIfGW#89;
+c3;;i:jIfGW#64;attrs;i:jIfGW#A9;-;-;i:jIfGW#89;
+c3;;i:jIfGW#A9;parent;i:jIfGW#64;-;-;i:jIfGW#89;
+c3;;i:jIfGW#A4;information;v::false;v::true;v:java.lang.String:collapsed;i:jIfGW#89;
+t;jIfGW#B9;editClass;1205008359643;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#C9;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#D9;-;i:jIfGW#B9;
+c3;;i:jIfGW#D9;contains;i:jIfGW#C9;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;file;i:jIfGW#D9;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#B9;
+c3;;i:jIfGW#D9;contains;-;i:jIfGW#C9;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;file;-;i:jIfGW#D9;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;name;v::HTTP;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#D9;contains;i:jIfGW#C9;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;file;i:jIfGW#D9;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#A2;elements;i:jIfGW#C9;-;-;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#E9;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;unparseInformations;i:jIfGW#E9;-;i:jIfGW#A2;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#F9;-;i:jIfGW#B9;
+c3;;i:jIfGW#E9;aSGInformation;i:jIfGW#F9;-;v:java.lang.String:entry;i:jIfGW#B9;
+c3;;i:jIfGW#F9;information;v::188;-;v:java.lang.String:location_X;i:jIfGW#B9;
+c3;;i:jIfGW#F9;information;v::164;-;v:java.lang.String:location_Y;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#0A;-;i:jIfGW#B9;
+c3;;i:jIfGW#E9;aSGInformation;i:jIfGW#0A;-;v:java.lang.String:attributePanel;i:jIfGW#B9;
+c3;;i:jIfGW#0A;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#1A;-;i:jIfGW#B9;
+c3;;i:jIfGW#E9;aSGInformation;i:jIfGW#1A;-;v:java.lang.String:methodPanel;i:jIfGW#B9;
+c3;;i:jIfGW#1A;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#2A;-;i:jIfGW#B9;
+c3;;i:jIfGW#E9;aSGInformation;i:jIfGW#2A;-;v:java.lang.String:signalPanel;i:jIfGW#B9;
+c3;;i:jIfGW#2A;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#B9;
+c3;;i:jIfGW#C9;diagrams;i:jIfGW#A2;-;-;i:jIfGW#B9;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLGeneralization;i:jIfGW#3A;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;revSubclass;i:jIfGW#3A;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#3A;subclass;i:jIfGW#C9;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#25;revSuperclass;i:jIfGW#3A;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#3A;superclass;i:jIfGW#25;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#A2;elements;i:jIfGW#3A;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#3A;diagrams;i:jIfGW#A2;-;-;i:jIfGW#B9;
+c3;;i:jIfGW#C9;defaultIcon;v::;-;-;i:jIfGW#B9;
+t;jIfGW#4A;drag;1205008363146;-;;
+c3;;i:jIfGW#F9;information;v::212;v::188;v:java.lang.String:location_X;i:jIfGW#4A;
+c3;;i:jIfGW#F9;information;v::289;v::164;v:java.lang.String:location_Y;i:jIfGW#4A;
+t;jIfGW#5A;drag;1205008367233;-;;
+c3;;i:jIfGW#F9;information;v::206;v::212;v:java.lang.String:location_X;i:jIfGW#5A;
+c3;;i:jIfGW#F9;information;v::357;v::289;v:java.lang.String:location_Y;i:jIfGW#5A;
+t;jIfGW#6A;drag;1205008369521;-;;
+c3;;i:jIfGW#A8;information;v::20;v::21;v:java.lang.String:location_X;i:jIfGW#6A;
+c3;;i:jIfGW#A8;information;v::358;v::346;v:java.lang.String:location_Y;i:jIfGW#6A;
+t;jIfGW#7A;editAssoc;1205008379351;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#8A;-;i:jIfGW#7A;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#9A;-;i:jIfGW#7A;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#AA;-;i:jIfGW#7A;
+c3;;i:jIfGW#8A;revLeftRole;i:jIfGW#AA;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#AA;leftRole;i:jIfGW#8A;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;revRightRole;i:jIfGW#AA;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#AA;rightRole;i:jIfGW#9A;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#AA;name;v::Assoc;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#8A;card;i:jIfGW#86;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#78;roles;i:jIfGW#8A;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#8A;target;i:jIfGW#78;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;card;i:jIfGW#86;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#C9;roles;i:jIfGW#9A;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;target;i:jIfGW#C9;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;sortedComparator;v::;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#8A;sortedComparator;v::;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;sortedComparator;-;v::;-;i:jIfGW#7A;
+c3;;i:jIfGW#8A;name;v::httpTransportSpec;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#9A;name;v::hTTP;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#A2;elements;i:jIfGW#AA;-;-;i:jIfGW#7A;
+c3;;i:jIfGW#AA;diagrams;i:jIfGW#A2;-;-;i:jIfGW#7A;
+t;jIfGW#BA;editClass;1205008418658;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#CA;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#DA;-;i:jIfGW#BA;
+c3;;i:jIfGW#DA;contains;i:jIfGW#CA;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;file;i:jIfGW#DA;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#BA;
+c3;;i:jIfGW#DA;contains;-;i:jIfGW#CA;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;file;-;i:jIfGW#DA;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;name;v::HttpListenerRef;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#DA;contains;i:jIfGW#CA;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;file;i:jIfGW#DA;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#A2;elements;i:jIfGW#CA;-;-;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#EA;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;unparseInformations;i:jIfGW#EA;-;i:jIfGW#A2;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#FA;-;i:jIfGW#BA;
+c3;;i:jIfGW#EA;aSGInformation;i:jIfGW#FA;-;v:java.lang.String:entry;i:jIfGW#BA;
+c3;;i:jIfGW#FA;information;v::106;-;v:java.lang.String:location_X;i:jIfGW#BA;
+c3;;i:jIfGW#FA;information;v::107;-;v:java.lang.String:location_Y;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#0B;-;i:jIfGW#BA;
+c3;;i:jIfGW#EA;aSGInformation;i:jIfGW#0B;-;v:java.lang.String:attributePanel;i:jIfGW#BA;
+c3;;i:jIfGW#0B;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#1B;-;i:jIfGW#BA;
+c3;;i:jIfGW#EA;aSGInformation;i:jIfGW#1B;-;v:java.lang.String:methodPanel;i:jIfGW#BA;
+c3;;i:jIfGW#1B;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#BA;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#2B;-;i:jIfGW#BA;
+c3;;i:jIfGW#EA;aSGInformation;i:jIfGW#2B;-;v:java.lang.String:signalPanel;i:jIfGW#BA;
+c3;;i:jIfGW#2B;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#BA;
+c3;;i:jIfGW#CA;diagrams;i:jIfGW#A2;-;-;i:jIfGW#BA;
+c3;;i:jIfGW#CA;defaultIcon;v::;-;-;i:jIfGW#BA;
+t;jIfGW#3B;drag;1205008423145;-;;
+c3;;i:jIfGW#FA;information;v::370;v::106;v:java.lang.String:location_X;i:jIfGW#3B;
+c3;;i:jIfGW#FA;information;v::355;v::107;v:java.lang.String:location_Y;i:jIfGW#3B;
+t;jIfGW#4B;editClass;1205008428094;-;;
+c3;;i:jIfGW#CA;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#4B;
+c3;;i:jIfGW#DA;contains;-;i:jIfGW#CA;-;i:jIfGW#4B;
+c3;;i:jIfGW#CA;file;-;i:jIfGW#DA;-;i:jIfGW#4B;
+c3;;i:jIfGW#CA;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#DA;contains;i:jIfGW#CA;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#CA;file;i:jIfGW#DA;-;-;i:jIfGW#4B;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLGeneralization;i:jIfGW#5B;-;i:jIfGW#4B;
+c3;;i:jIfGW#CA;revSubclass;i:jIfGW#5B;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#5B;subclass;i:jIfGW#CA;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#64;revSuperclass;i:jIfGW#5B;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#5B;superclass;i:jIfGW#64;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#A2;elements;i:jIfGW#5B;-;-;i:jIfGW#4B;
+c3;;i:jIfGW#5B;diagrams;i:jIfGW#A2;-;-;i:jIfGW#4B;
+t;jIfGW#6B;drag;1205008432079;-;;
+c3;;i:jIfGW#FA;information;v::367;v::370;v:java.lang.String:location_X;i:jIfGW#6B;
+c3;;i:jIfGW#FA;information;v::359;v::355;v:java.lang.String:location_Y;i:jIfGW#6B;
+t;jIfGW#7B;editAssoc;1205008438222;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#8B;-;i:jIfGW#7B;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#9B;-;i:jIfGW#7B;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#AB;-;i:jIfGW#7B;
+c3;;i:jIfGW#8B;revLeftRole;i:jIfGW#AB;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#AB;leftRole;i:jIfGW#8B;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;revRightRole;i:jIfGW#AB;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#AB;rightRole;i:jIfGW#9B;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#AB;name;v::Assoc;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#8B;card;i:jIfGW#86;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#CA;roles;i:jIfGW#8B;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#8B;target;i:jIfGW#CA;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;card;i:jIfGW#86;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#C9;roles;i:jIfGW#9B;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;target;i:jIfGW#C9;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;sortedComparator;v::;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#8B;sortedComparator;v::;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;sortedComparator;-;v::;-;i:jIfGW#7B;
+c3;;i:jIfGW#8B;name;v::httpListenerRef;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#9B;name;v::hTTP;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#A2;elements;i:jIfGW#AB;-;-;i:jIfGW#7B;
+c3;;i:jIfGW#AB;diagrams;i:jIfGW#A2;-;-;i:jIfGW#7B;
+t;jIfGW#BB;drag;1205008445357;-;;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#CB;-;i:jIfGW#BB;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#DB;-;i:jIfGW#BB;
+c3;;i:jIfGW#CB;aSGInformation;i:jIfGW#DB;-;v:java.lang.String:entry;i:jIfGW#BB;
+c3;;i:jIfGW#DB;information;v::0;-;v:java.lang.String:location_X;i:jIfGW#BB;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#EB;-;i:jIfGW#BB;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#FB;-;i:jIfGW#BB;
+c3;;i:jIfGW#EB;aSGInformation;i:jIfGW#FB;-;v:java.lang.String:entry;i:jIfGW#BB;
+c3;;i:jIfGW#FB;information;v::0;-;v:java.lang.String:location_Y;i:jIfGW#BB;
+c3;;i:jIfGW#A8;information;v::21;v::20;v:java.lang.String:location_X;i:jIfGW#BB;
+c3;;i:jIfGW#A8;information;v::380;v::358;v:java.lang.String:location_Y;i:jIfGW#BB;
+c3;;i:jIfGW#F9;information;v::207;v::206;v:java.lang.String:location_X;i:jIfGW#BB;
+c3;;i:jIfGW#F9;information;v::379;v::357;v:java.lang.String:location_Y;i:jIfGW#BB;
+c3;;i:jIfGW#FA;information;v::368;v::367;v:java.lang.String:location_X;i:jIfGW#BB;
+c3;;i:jIfGW#FA;information;v::381;v::359;v:java.lang.String:location_Y;i:jIfGW#BB;
+t;jIfGW#0C;editClass;1205008457796;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:jIfGW#1C;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:jIfGW#2C;-;i:jIfGW#0C;
+c3;;i:jIfGW#2C;contains;i:jIfGW#1C;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;file;i:jIfGW#2C;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#0C;
+c3;;i:jIfGW#2C;contains;-;i:jIfGW#1C;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;file;-;i:jIfGW#2C;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;name;v::HttpTransportManager;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#2C;contains;i:jIfGW#1C;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;file;i:jIfGW#2C;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#A2;elements;i:jIfGW#1C;-;-;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:jIfGW#3C;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;unparseInformations;i:jIfGW#3C;-;i:jIfGW#A2;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#4C;-;i:jIfGW#0C;
+c3;;i:jIfGW#3C;aSGInformation;i:jIfGW#4C;-;v:java.lang.String:entry;i:jIfGW#0C;
+c3;;i:jIfGW#4C;information;v::365;-;v:java.lang.String:location_X;i:jIfGW#0C;
+c3;;i:jIfGW#4C;information;v::87;-;v:java.lang.String:location_Y;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#5C;-;i:jIfGW#0C;
+c3;;i:jIfGW#3C;aSGInformation;i:jIfGW#5C;-;v:java.lang.String:attributePanel;i:jIfGW#0C;
+c3;;i:jIfGW#5C;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#6C;-;i:jIfGW#0C;
+c3;;i:jIfGW#3C;aSGInformation;i:jIfGW#6C;-;v:java.lang.String:methodPanel;i:jIfGW#0C;
+c3;;i:jIfGW#6C;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#0C;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:jIfGW#7C;-;i:jIfGW#0C;
+c3;;i:jIfGW#3C;aSGInformation;i:jIfGW#7C;-;v:java.lang.String:signalPanel;i:jIfGW#0C;
+c3;;i:jIfGW#7C;information;v::true;-;v:java.lang.String:collapsed;i:jIfGW#0C;
+c3;;i:jIfGW#1C;diagrams;i:jIfGW#A2;-;-;i:jIfGW#0C;
+c3;;i:jIfGW#1C;defaultIcon;v::;-;-;i:jIfGW#0C;
+c5;4;-;-;v:java.lang.Long:300;-;v::IDSUFFIX;-;
+t;jIfGW#8C;drag;1205008461331;-;;
+c3;;i:jIfGW#4C;information;v::558;v::365;v:java.lang.String:location_X;i:jIfGW#8C;
+c3;;i:jIfGW#4C;information;v::381;v::87;v:java.lang.String:location_Y;i:jIfGW#8C;
+t;jIfGW#9C;drag;1205008463251;-;;
+c3;;i:jIfGW#4C;information;v::567;v::558;v:java.lang.String:location_X;i:jIfGW#9C;
+c3;;i:jIfGW#4C;information;v::382;v::381;v:java.lang.String:location_Y;i:jIfGW#9C;
+t;jIfGW#AC;editClass;1205008467639;-;;
+c3;;i:jIfGW#1C;declaredInPackage;-;i:jIfGW#82;-;i:jIfGW#AC;
+c3;;i:jIfGW#2C;contains;-;i:jIfGW#1C;-;i:jIfGW#AC;
+c3;;i:jIfGW#1C;file;-;i:jIfGW#2C;-;i:jIfGW#AC;
+c3;;i:jIfGW#1C;declaredInPackage;i:jIfGW#82;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#2C;contains;i:jIfGW#1C;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#1C;file;i:jIfGW#2C;-;-;i:jIfGW#AC;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLGeneralization;i:jIfGW#BC;-;i:jIfGW#AC;
+c3;;i:jIfGW#1C;revSubclass;i:jIfGW#BC;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#BC;subclass;i:jIfGW#1C;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#73;revSuperclass;i:jIfGW#BC;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#BC;superclass;i:jIfGW#73;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#A2;elements;i:jIfGW#BC;-;-;i:jIfGW#AC;
+c3;;i:jIfGW#BC;diagrams;i:jIfGW#A2;-;-;i:jIfGW#AC;
+t;jIfGW#CC;drag;1205008482160;-;;
+c3;;i:jIfGW#4C;information;v::600;v::567;v:java.lang.String:location_X;i:jIfGW#CC;
+c3;;i:jIfGW#4C;information;v::232;v::382;v:java.lang.String:location_Y;i:jIfGW#CC;
+t;jIfGW#DC;editAssoc;1205008502004;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#EC;-;i:jIfGW#DC;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:jIfGW#FC;-;i:jIfGW#DC;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:jIfGW#0D;-;i:jIfGW#DC;
+c3;;i:jIfGW#EC;revLeftRole;i:jIfGW#0D;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#0D;leftRole;i:jIfGW#EC;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;revRightRole;i:jIfGW#0D;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#0D;rightRole;i:jIfGW#FC;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#0D;name;v::creates;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;adornment;v:java.lang.Integer:3;v:java.lang.Integer:0;-;i:jIfGW#DC;
+c3;;i:jIfGW#EC;card;i:jIfGW#86;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#1C;roles;i:jIfGW#EC;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#EC;target;i:jIfGW#1C;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;card;i:jIfGW#86;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#CA;roles;i:jIfGW#FC;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;target;i:jIfGW#CA;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;sortedComparator;v::;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#EC;name;v::httpTransportManager;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#FC;name;v::httpListenerRef;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#A2;elements;i:jIfGW#0D;-;-;i:jIfGW#DC;
+c3;;i:jIfGW#0D;diagrams;i:jIfGW#A2;-;-;i:jIfGW#DC;
+t;jIfGW#1D;drag;1205008507524;-;;
+c3;;i:jIfGW#4C;information;v::651;v::600;v:java.lang.String:location_X;i:jIfGW#1D;
+c3;;i:jIfGW#4C;information;v::241;v::232;v:java.lang.String:location_Y;i:jIfGW#1D;
+c5;4;-;-;v:java.lang.Long:400;-;v::IDSUFFIX;-;
+t;8I715#C21;drag;1205008680962;-;;
+c3;;i:jIfGW#FA;information;v::358;v::368;v:java.lang.String:location_X;i:8I715#C21;
+c3;;i:jIfGW#FA;information;v::383;v::381;v:java.lang.String:location_Y;i:8I715#C21;
+t;8I715#D21;inplace editing;1205008681534;-;;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:8I715#E21;-;i:8I715#D21;
+c3;;i:jIfGW#5B;unparseInformations;i:8I715#E21;-;i:jIfGW#A2;i:8I715#D21;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#F21;-;i:8I715#D21;
+c3;;i:8I715#E21;aSGInformation;i:8I715#F21;-;v:java.lang.String:superGrab;i:8I715#D21;
+c3;;i:8I715#F21;information;v::3;-;v:java.lang.String:orientation;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.09448818897637795;-;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.11811023622047244;v::0.09448818897637795;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.1889763779527559;v::0.11811023622047244;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.1968503937007874;v::0.1889763779527559;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.2047244094488189;v::0.1968503937007874;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.2125984251968504;v::0.2047244094488189;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.2204724409448819;v::0.2125984251968504;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.25984251968503935;v::0.2204724409448819;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.2755905511811024;v::0.25984251968503935;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.28346456692913385;v::0.2755905511811024;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.30708661417322836;v::0.28346456692913385;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.3228346456692913;v::0.30708661417322836;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.3700787401574803;v::0.3228346456692913;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.3779527559055118;v::0.3700787401574803;v:java.lang.String:alignment;i:8I715#D21;
+c3;;i:8I715#F21;information;v::0.3700787401574803;v::0.3779527559055118;v:java.lang.String:alignment;i:8I715#D21;
+t;8I715#031;drag;1205008696800;-;;
+c3;;i:jIfGW#F5;information;v::37;v::40;v:java.lang.String:location_X;i:8I715#031;
+c3;;i:jIfGW#F5;information;v::78;v::87;v:java.lang.String:location_Y;i:8I715#031;
+t;8I715#131;editMethods;1205008734713;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLMethod;i:8I715#231;-;i:8I715#131;
+c3;;i:8I715#231;name;v::createListener;-;-;i:8I715#131;
+c3;;i:8I715#231;resultType;i:jIfGW#51;-;-;i:8I715#131;
+t;8I715#331;newClassDiagram;1205008771501;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClassDiagram;i:8I715#431;-;i:8I715#331;
+c3;;i:jIfGW#1;modelRootNodes;i:8I715#431;-;-;i:8I715#331;
+c3;;i:8I715#431;name;v::ClassDiagram1;-;-;i:8I715#331;
+t;8I715#531;inplace editing;1205008774116;-;;
+c3;;i:8I715#431;name;v::deployment;v::ClassDiagram1;-;i:8I715#531;
+t;8I715#631;editClass;1205008778396;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:8I715#731;-;i:8I715#631;
+c3;;i:8I715#731;declaredInPackage;i:jIfGW#82;-;-;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:8I715#831;-;i:8I715#631;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#631;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#631;
+c3;;i:8I715#731;declaredInPackage;-;i:jIfGW#82;-;i:8I715#631;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#631;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#631;
+c3;;i:8I715#731;name;v::Endpoint;-;-;i:8I715#631;
+c3;;i:8I715#731;declaredInPackage;i:jIfGW#82;-;-;i:8I715#631;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#631;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#631;
+c3;;i:8I715#431;elements;i:8I715#731;-;-;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:8I715#931;-;i:8I715#631;
+c3;;i:8I715#731;unparseInformations;i:8I715#931;-;i:8I715#431;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#A31;-;i:8I715#631;
+c3;;i:8I715#931;aSGInformation;i:8I715#A31;-;v:java.lang.String:entry;i:8I715#631;
+c3;;i:8I715#A31;information;v::10;-;v:java.lang.String:location_X;i:8I715#631;
+c3;;i:8I715#A31;information;v::108;-;v:java.lang.String:location_Y;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#B31;-;i:8I715#631;
+c3;;i:8I715#931;aSGInformation;i:8I715#B31;-;v:java.lang.String:attributePanel;i:8I715#631;
+c3;;i:8I715#B31;information;v::true;-;v:java.lang.String:collapsed;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#C31;-;i:8I715#631;
+c3;;i:8I715#931;aSGInformation;i:8I715#C31;-;v:java.lang.String:methodPanel;i:8I715#631;
+c3;;i:8I715#C31;information;v::true;-;v:java.lang.String:collapsed;i:8I715#631;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#D31;-;i:8I715#631;
+c3;;i:8I715#931;aSGInformation;i:8I715#D31;-;v:java.lang.String:signalPanel;i:8I715#631;
+c3;;i:8I715#D31;information;v::true;-;v:java.lang.String:collapsed;i:8I715#631;
+c3;;i:8I715#731;diagrams;i:8I715#431;-;-;i:8I715#631;
+c3;;i:8I715#731;defaultIcon;v::;-;-;i:8I715#631;
+t;8I715#E31;drag;1205008779818;-;;
+c3;;i:8I715#A31;information;v::179;v::10;v:java.lang.String:location_X;i:8I715#E31;
+c3;;i:8I715#A31;information;v::72;v::108;v:java.lang.String:location_Y;i:8I715#E31;
+t;8I715#F31;editClass;1205008793246;-;;
+c3;;i:8I715#731;declaredInPackage;-;i:jIfGW#82;-;i:8I715#F31;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#F31;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#F31;
+c3;;i:8I715#731;declaredInPackage;i:jIfGW#82;-;-;i:8I715#F31;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#F31;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#F31;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLPackage;i:8I715#041;-;i:8I715#F31;
+c3;;i:8I715#041;name;v::deployment;-;-;i:8I715#F31;
+c3;;i:jIfGW#C3;packages;i:8I715#041;-;v:java.lang.String:deployment;i:8I715#F31;
+c3;;i:8I715#041;parent;i:jIfGW#C3;-;-;i:8I715#F31;
+c3;;i:8I715#731;declaredInPackage;i:8I715#041;i:jIfGW#82;-;i:8I715#F31;
+t;8I715#141;editClass;1205008797093;-;;
+c3;;i:8I715#731;declaredInPackage;-;i:8I715#041;-;i:8I715#141;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#141;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#141;
+c3;;i:8I715#731;name;v::Deployment;v::Endpoint;-;i:8I715#141;
+c3;;i:8I715#731;declaredInPackage;i:8I715#041;-;-;i:8I715#141;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#141;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#141;
+t;8I715#241;editClass;1205008800376;-;;
+c3;;i:8I715#731;declaredInPackage;-;i:8I715#041;-;i:8I715#241;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#241;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#241;
+c3;;i:8I715#731;declaredInPackage;i:8I715#041;-;-;i:8I715#241;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#241;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#241;
+t;8I715#341;inplace editing;1205008800991;-;;
+c3;;i:8I715#731;declaredInPackage;-;i:8I715#041;-;i:8I715#341;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#341;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#341;
+c3;;i:8I715#731;name;v::Endpoint;v::Deployment;-;i:8I715#341;
+c3;;i:8I715#731;declaredInPackage;i:8I715#041;-;-;i:8I715#341;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#341;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#341;
+t;8I715#441;drag;1205008803063;-;;
+c3;;i:8I715#A31;information;v::126;v::179;v:java.lang.String:location_X;i:8I715#441;
+c3;;i:8I715#A31;information;v::116;v::72;v:java.lang.String:location_Y;i:8I715#441;
+t;8I715#541;editClass;1205008809479;-;;
+c3;;i:8I715#731;declaredInPackage;-;i:8I715#041;-;i:8I715#541;
+c3;;i:8I715#831;contains;-;i:8I715#731;-;i:8I715#541;
+c3;;i:8I715#731;file;-;i:8I715#831;-;i:8I715#541;
+c3;;i:8I715#731;name;v::Deployment;v::Endpoint;-;i:8I715#541;
+c3;;i:8I715#731;declaredInPackage;i:8I715#041;-;-;i:8I715#541;
+c3;;i:8I715#831;contains;i:8I715#731;-;-;i:8I715#541;
+c3;;i:8I715#731;file;i:8I715#831;-;-;i:8I715#541;
+t;8I715#641;drag;1205008810902;-;;
+c3;;i:8I715#A31;information;v::226;v::126;v:java.lang.String:location_X;i:8I715#641;
+c3;;i:8I715#A31;information;v::79;v::116;v:java.lang.String:location_Y;i:8I715#641;
+t;8I715#741;editClass;1205008817189;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:8I715#841;-;i:8I715#741;
+c3;;i:8I715#841;declaredInPackage;i:jIfGW#82;-;-;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:8I715#941;-;i:8I715#741;
+c3;;i:8I715#941;contains;i:8I715#841;-;-;i:8I715#741;
+c3;;i:8I715#841;file;i:8I715#941;-;-;i:8I715#741;
+c3;;i:8I715#841;declaredInPackage;-;i:jIfGW#82;-;i:8I715#741;
+c3;;i:8I715#941;contains;-;i:8I715#841;-;i:8I715#741;
+c3;;i:8I715#841;file;-;i:8I715#941;-;i:8I715#741;
+c3;;i:8I715#841;name;v::Endpoint;-;-;i:8I715#741;
+c3;;i:8I715#841;declaredInPackage;i:jIfGW#82;-;-;i:8I715#741;
+c3;;i:8I715#941;contains;i:8I715#841;-;-;i:8I715#741;
+c3;;i:8I715#841;file;i:8I715#941;-;-;i:8I715#741;
+c3;;i:8I715#841;declaredInPackage;i:8I715#041;i:jIfGW#82;-;i:8I715#741;
+c3;;i:8I715#431;elements;i:8I715#841;-;-;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:8I715#A41;-;i:8I715#741;
+c3;;i:8I715#841;unparseInformations;i:8I715#A41;-;i:8I715#431;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#B41;-;i:8I715#741;
+c3;;i:8I715#A41;aSGInformation;i:8I715#B41;-;v:java.lang.String:entry;i:8I715#741;
+c3;;i:8I715#B41;information;v::37;-;v:java.lang.String:location_X;i:8I715#741;
+c3;;i:8I715#B41;information;v::5;-;v:java.lang.String:location_Y;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#C41;-;i:8I715#741;
+c3;;i:8I715#A41;aSGInformation;i:8I715#C41;-;v:java.lang.String:attributePanel;i:8I715#741;
+c3;;i:8I715#C41;information;v::true;-;v:java.lang.String:collapsed;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#D41;-;i:8I715#741;
+c3;;i:8I715#A41;aSGInformation;i:8I715#D41;-;v:java.lang.String:methodPanel;i:8I715#741;
+c3;;i:8I715#D41;information;v::true;-;v:java.lang.String:collapsed;i:8I715#741;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#E41;-;i:8I715#741;
+c3;;i:8I715#A41;aSGInformation;i:8I715#E41;-;v:java.lang.String:signalPanel;i:8I715#741;
+c3;;i:8I715#E41;information;v::true;-;v:java.lang.String:collapsed;i:8I715#741;
+c3;;i:8I715#841;diagrams;i:8I715#431;-;-;i:8I715#741;
+c3;;i:8I715#841;defaultIcon;v::;-;-;i:8I715#741;
+t;8I715#F41;drag;1205008819204;-;;
+c3;;i:8I715#B41;information;v::123;v::37;v:java.lang.String:location_X;i:8I715#F41;
+c3;;i:8I715#B41;information;v::84;v::5;v:java.lang.String:location_Y;i:8I715#F41;
+t;8I715#051;editClass;1205008828220;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLClass;i:8I715#151;-;i:8I715#051;
+c3;;i:8I715#151;declaredInPackage;i:jIfGW#82;-;-;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.uml.common.UMLFile;i:8I715#251;-;i:8I715#051;
+c3;;i:8I715#251;contains;i:8I715#151;-;-;i:8I715#051;
+c3;;i:8I715#151;file;i:8I715#251;-;-;i:8I715#051;
+c3;;i:8I715#151;declaredInPackage;-;i:jIfGW#82;-;i:8I715#051;
+c3;;i:8I715#251;contains;-;i:8I715#151;-;i:8I715#051;
+c3;;i:8I715#151;file;-;i:8I715#251;-;i:8I715#051;
+c3;;i:8I715#151;name;v::Service;-;-;i:8I715#051;
+c3;;i:8I715#151;declaredInPackage;i:jIfGW#82;-;-;i:8I715#051;
+c3;;i:8I715#251;contains;i:8I715#151;-;-;i:8I715#051;
+c3;;i:8I715#151;file;i:8I715#251;-;-;i:8I715#051;
+c3;;i:8I715#151;declaredInPackage;i:8I715#041;i:jIfGW#82;-;i:8I715#051;
+c3;;i:8I715#431;elements;i:8I715#151;-;-;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGUnparseInformation;i:8I715#351;-;i:8I715#051;
+c3;;i:8I715#151;unparseInformations;i:8I715#351;-;i:8I715#431;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#451;-;i:8I715#051;
+c3;;i:8I715#351;aSGInformation;i:8I715#451;-;v:java.lang.String:entry;i:8I715#051;
+c3;;i:8I715#451;information;v::280;-;v:java.lang.String:location_X;i:8I715#051;
+c3;;i:8I715#451;information;v::35;-;v:java.lang.String:location_Y;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#551;-;i:8I715#051;
+c3;;i:8I715#351;aSGInformation;i:8I715#551;-;v:java.lang.String:attributePanel;i:8I715#051;
+c3;;i:8I715#551;information;v::true;-;v:java.lang.String:collapsed;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#651;-;i:8I715#051;
+c3;;i:8I715#351;aSGInformation;i:8I715#651;-;v:java.lang.String:methodPanel;i:8I715#051;
+c3;;i:8I715#651;information;v::true;-;v:java.lang.String:collapsed;i:8I715#051;
+c1;;v::de.uni_paderborn.fujaba.asg.ASGInformation;i:8I715#751;-;i:8I715#051;
+c3;;i:8I715#351;aSGInformation;i:8I715#751;-;v:java.lang.String:signalPanel;i:8I715#051;
+c3;;i:8I715#751;information;v::true;-;v:java.lang.String:collapsed;i:8I715#051;
+c3;;i:8I715#151;diagrams;i:8I715#431;-;-;i:8I715#051;
+c3;;i:8I715#151;defaultIcon;v::;-;-;i:8I715#051;
+t;8I715#851;drag;1205008829451;-;;
+c3;;i:8I715#A31;information;v::208;v::226;v:java.lang.String:location_X;i:8I715#851;
+c3;;i:8I715#A31;information;v::89;v::79;v:java.lang.String:location_Y;i:8I715#851;
+t;8I715#951;drag;1205008830139;-;;
+c3;;i:8I715#B41;information;v::360;v::123;v:java.lang.String:location_X;i:8I715#951;
+c3;;i:8I715#B41;information;v::111;v::84;v:java.lang.String:location_Y;i:8I715#951;
+t;8I715#A51;drag;1205008831691;-;;
+c3;;i:8I715#451;information;v::225;v::280;v:java.lang.String:location_X;i:8I715#A51;
+c3;;i:8I715#451;information;v::157;v::35;v:java.lang.String:location_Y;i:8I715#A51;
+t;8I715#B51;editAssoc;1205008840577;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:8I715#C51;-;i:8I715#B51;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:8I715#D51;-;i:8I715#B51;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:8I715#E51;-;i:8I715#B51;
+c3;;i:8I715#C51;revLeftRole;i:8I715#E51;-;-;i:8I715#B51;
+c3;;i:8I715#E51;leftRole;i:8I715#C51;-;-;i:8I715#B51;
+c3;;i:8I715#D51;revRightRole;i:8I715#E51;-;-;i:8I715#B51;
+c3;;i:8I715#E51;rightRole;i:8I715#D51;-;-;i:8I715#B51;
+c3;;i:8I715#E51;name;v::Assoc;-;-;i:8I715#B51;
+c3;;i:8I715#C51;card;i:jIfGW#86;-;-;i:8I715#B51;
+c3;;i:8I715#731;roles;i:8I715#C51;-;-;i:8I715#B51;
+c3;;i:8I715#C51;target;i:8I715#731;-;-;i:8I715#B51;
+c3;;i:8I715#D51;card;i:jIfGW#86;-;-;i:8I715#B51;
+c3;;i:8I715#151;roles;i:8I715#D51;-;-;i:8I715#B51;
+c3;;i:8I715#D51;target;i:8I715#151;-;-;i:8I715#B51;
+c3;;i:8I715#D51;sortedComparator;v::;-;-;i:8I715#B51;
+c3;;i:8I715#C51;sortedComparator;v::;-;-;i:8I715#B51;
+c3;;i:8I715#D51;sortedComparator;-;v::;-;i:8I715#B51;
+c3;;i:8I715#C51;name;v::deployment;-;-;i:8I715#B51;
+c3;;i:8I715#D51;name;v::service;-;-;i:8I715#B51;
+c3;;i:8I715#431;elements;i:8I715#E51;-;-;i:8I715#B51;
+c3;;i:8I715#E51;diagrams;i:8I715#431;-;-;i:8I715#B51;
+t;8I715#F51;drag;1205008842065;-;;
+c3;;i:8I715#451;information;v::219;v::225;v:java.lang.String:location_X;i:8I715#F51;
+c3;;i:8I715#451;information;v::199;v::157;v:java.lang.String:location_Y;i:8I715#F51;
+t;8I715#061;drag;1205008843553;-;;
+c3;;i:8I715#B41;information;v::216;v::360;v:java.lang.String:location_X;i:8I715#061;
+c3;;i:8I715#B41;information;v::300;v::111;v:java.lang.String:location_Y;i:8I715#061;
+t;8I715#161;editAssoc;1205008859510;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:8I715#261;-;i:8I715#161;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLRole;i:8I715#361;-;i:8I715#161;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLAssoc;i:8I715#461;-;i:8I715#161;
+c3;;i:8I715#261;revLeftRole;i:8I715#461;-;-;i:8I715#161;
+c3;;i:8I715#461;leftRole;i:8I715#261;-;-;i:8I715#161;
+c3;;i:8I715#361;revRightRole;i:8I715#461;-;-;i:8I715#161;
+c3;;i:8I715#461;rightRole;i:8I715#361;-;-;i:8I715#161;
+c3;;i:8I715#461;name;v::Assoc;-;-;i:8I715#161;
+c3;;i:8I715#361;adornment;v:java.lang.Integer:2;v:java.lang.Integer:0;-;i:8I715#161;
+c3;;i:8I715#261;card;i:jIfGW#86;-;-;i:8I715#161;
+c3;;i:8I715#841;roles;i:8I715#261;-;-;i:8I715#161;
+c3;;i:8I715#261;target;i:8I715#841;-;-;i:8I715#161;
+c3;;i:8I715#361;card;i:jIfGW#86;-;-;i:8I715#161;
+c3;;i:8I715#151;roles;i:8I715#361;-;-;i:8I715#161;
+c3;;i:8I715#361;target;i:8I715#151;-;-;i:8I715#161;
+c3;;i:8I715#361;sortedComparator;v::;-;-;i:8I715#161;
+c3;;i:8I715#261;sortedComparator;v::;-;-;i:8I715#161;
+c3;;i:8I715#361;sortedComparator;-;v::;-;i:8I715#161;
+c3;;i:8I715#261;name;v::endpoint;-;-;i:8I715#161;
+c3;;i:8I715#361;name;v::service;-;-;i:8I715#161;
+c3;;i:8I715#431;elements;i:8I715#461;-;-;i:8I715#161;
+c3;;i:8I715#461;diagrams;i:8I715#431;-;-;i:8I715#161;
+t;8I715#561;drag;1205008861838;-;;
+c3;;i:8I715#B41;information;v::213;v::216;v:java.lang.String:location_X;i:8I715#561;
+c3;;i:8I715#B41;information;v::331;v::300;v:java.lang.String:location_Y;i:8I715#561;
+t;8I715#661;editMethods;1205008875971;-;;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLMethod;i:8I715#761;-;i:8I715#661;
+c3;;i:8I715#761;name;v::createListener;-;-;i:8I715#661;
+c3;;i:8I715#761;resultType;i:jIfGW#51;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLParam;i:8I715#861;-;i:8I715#661;
+c3;;i:8I715#861;name;v::endpoint;-;-;i:8I715#661;
+c3;;i:8I715#861;paramType;i:8I715#841;-;-;i:8I715#661;
+c3;;i:8I715#761;param;i:8I715#861;-;-;i:8I715#661;
+c3;;i:8I715#861;revParam;i:8I715#761;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLParam;i:8I715#961;-;i:8I715#661;
+c3;;i:8I715#961;name;v::spec;-;-;i:8I715#661;
+c3;;i:8I715#961;paramType;i:jIfGW#C5;-;-;i:8I715#661;
+c3;;i:8I715#761;param;i:8I715#961;-;-;i:8I715#661;
+c3;;i:8I715#961;revParam;i:8I715#761;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLMethod;i:8I715#A61;-;i:8I715#661;
+c3;;i:8I715#A61;name;v::removeListener;-;-;i:8I715#661;
+c3;;i:8I715#A61;resultType;i:jIfGW#51;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLMethod;i:8I715#B61;-;i:8I715#661;
+c3;;i:8I715#B61;name;v::removeListener;-;-;i:8I715#661;
+c3;;i:8I715#B61;resultType;i:jIfGW#51;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLParam;i:8I715#C61;-;i:8I715#661;
+c3;;i:8I715#C61;name;v::ref;-;-;i:8I715#661;
+c3;;i:8I715#C61;paramType;i:jIfGW#64;-;-;i:8I715#661;
+c3;;i:8I715#A61;param;i:8I715#C61;-;-;i:8I715#661;
+c3;;i:8I715#C61;revParam;i:8I715#A61;-;-;i:8I715#661;
+c1;;v::de.uni_paderborn.fujaba.uml.structure.UMLParam;i:8I715#D61;-;i:8I715#661;
+c3;;i:8I715#D61;name;v::ref;-;-;i:8I715#661;
+c3;;i:8I715#D61;paramType;i:jIfGW#64;-;-;i:8I715#661;
+c3;;i:8I715#A61;param;i:8I715#D61;-;-;i:8I715#661;
+c3;;i:8I715#D61;revParam;i:8I715#A61;-;-;i:8I715#661;
+c3;;i:8I715#A61;param;-;i:8I715#D61;i:8I715#C61;i:8I715#661;
+c3;;i:8I715#D61;revParam;-;i:8I715#A61;-;i:8I715#661;
+c3;;i:8I715#D61;paramType;-;i:jIfGW#64;-;i:8I715#661;
+c3;;i:jIfGW#73;methods;i:8I715#761;-;-;i:8I715#661;
+c3;;i:8I715#761;parent;i:jIfGW#73;-;-;i:8I715#661;
+c3;;i:jIfGW#73;methods;i:8I715#A61;-;-;i:8I715#661;
+c3;;i:8I715#A61;parent;i:jIfGW#73;-;-;i:8I715#661;
+c3;;i:8I715#B61;resultType;-;i:jIfGW#51;-;i:8I715#661;
+t;8I715#E61;inplace editing;1205009013735;-;;
+c3;;i:jIfGW#14;information;v::false;v::true;v:java.lang.String:collapsed;i:8I715#E61;
+t;8I715#F61;drag;1205009015894;-;;
+c3;;i:jIfGW#F3;information;v::363;v::359;v:java.lang.String:location_X;i:8I715#F61;
+c3;;i:jIfGW#F3;information;v::68;v::84;v:java.lang.String:location_Y;i:8I715#F61;
+t;8I715#071;globalEditAction;1205009048560;-;;
+c3;;i:jIfGW#C5;declaredInPackage;-;i:jIfGW#82;-;i:8I715#071;
+c3;;i:jIfGW#D5;contains;-;i:jIfGW#C5;-;i:8I715#071;
+c3;;i:jIfGW#C5;file;-;i:jIfGW#D5;-;i:8I715#071;
+c3;;i:jIfGW#C5;declaredInPackage;i:jIfGW#82;-;-;i:8I715#071;
+c3;;i:jIfGW#D5;contains;i:jIfGW#C5;-;-;i:8I715#071;
+c3;;i:jIfGW#C5;file;i:jIfGW#D5;-;-;i:8I715#071;
+c3;;i:jIfGW#C5;declaredInPackage;i:jIfGW#D3;i:jIfGW#82;-;i:8I715#071;
+t;8I715#171;inplace editing;1205009066263;-;;
+c3;;i:jIfGW#14;information;v::true;v::false;v:java.lang.String:collapsed;i:8I715#171;
+c3;;i:jIfGW#14;information;v::false;v::true;v:java.lang.String:collapsed;i:8I715#171;
+t;8I715#271;drag;1205009077605;-;;
+c3;;i:jIfGW#4C;information;v::611;v::651;v:java.lang.String:location_X;i:8I715#271;
+c3;;i:jIfGW#4C;information;v::382;v::241;v:java.lang.String:location_Y;i:8I715#271;
+t;8I715#371;drag;1205009093131;-;;
+c3;;i:jIfGW#4C;information;v::605;v::611;v:java.lang.String:location_X;i:8I715#371;
+c3;;i:jIfGW#4C;information;v::298;v::382;v:java.lang.String:location_Y;i:8I715#371;
+t;8I715#471;drag;1205009099506;-;;
+c3;;i:jIfGW#4C;information;v::611;v::605;v:java.lang.String:location_X;i:8I715#471;
+c3;;i:jIfGW#4C;information;v::290;v::298;v:java.lang.String:location_Y;i:8I715#471;
Added: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/ComposableRuntime.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/ComposableRuntime.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/ComposableRuntime.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi;
+
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.invocation.InvocationHandlerFactory;
+import org.jboss.wsf.spi.invocation.RequestHandlerFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.transport.TransportManager;
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
+
+import java.util.List;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface ComposableRuntime
+{
+ void setTransportManagerFactory(TransportManagerFactory factory);
+
+ TransportManagerFactory getTransportManagerFactory();
+
+ void setEndpointRegistry(EndpointRegistry endpointRegistry);
+
+ EndpointRegistry getEndpointRegistry();
+
+ void setDeploymentAspectManager(DeploymentAspectManager deploymentManager);
+
+ DeploymentAspectManager getDeploymentAspectManager();
+
+ void setRequestHandlerFactory(RequestHandlerFactory factory);
+
+ RequestHandlerFactory getRequestHandlerFactory();
+
+ void setInvocationHandlerFactory(InvocationHandlerFactory factory);
+
+ InvocationHandlerFactory getInvocationHandlerFactory();
+
+}
Property changes on: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/ComposableRuntime.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Deleted: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/Container.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/Container.java 2008-03-14 09:34:02 UTC (rev 5975)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/Container.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi;
-
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public interface Container
-{
- void publish(Deployment endpoint);
- void remove(Deployment endpoint);
-}
Added: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/RuntimeAware.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/RuntimeAware.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/RuntimeAware.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface RuntimeAware
+{
+ void setRuntimeAssociation(WSFRuntime runtime);
+}
Property changes on: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/RuntimeAware.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/WSFRuntime.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/WSFRuntime.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/WSFRuntime.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface WSFRuntime
+{
+ void publish(Deployment endpoint);
+ void remove(Deployment endpoint);
+}
Property changes on: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/WSFRuntime.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java 2008-03-14 09:34:02 UTC (rev 5975)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -28,17 +28,19 @@
import java.util.StringTokenizer;
import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.RuntimeAware;
/**
* A deployment aspect that does nothing.
*
* A deployment aspects can require/provide a set of string conditions.
- * This determins the order of deployment aspects in the deployment aspect manager.
+ * This determines the order of deployment aspects in the deployment aspect manager.
*
* @author Thomas.Diesler(a)jboss.com
* @since 20-Apr-2007
*/
-public abstract class DeploymentAspect
+public abstract class DeploymentAspect implements RuntimeAware
{
// provide logging
protected final Logger log = Logger.getLogger(getClass());
@@ -48,6 +50,16 @@
private String provides;
private String requires;
+ private WSFRuntime runtime;
+
+ public void setRuntimeAssociation(WSFRuntime runtime)
+ {
+ if(this.runtime!=null)
+ throw new IllegalArgumentException("Already associated with a WSFRuntime:" + runtime);
+
+ this.runtime = runtime;
+ }
+
public String getProvides()
{
return provides;
@@ -70,6 +82,7 @@
public void create(Deployment dep)
{
+ assert runtime!=null;
}
public void destroy(Deployment dep)
@@ -81,7 +94,7 @@
}
public void stop(Deployment dep)
- {
+ {
}
public Set<String> getProvidesAsSet()
Modified: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java 2008-03-14 09:34:02 UTC (rev 5975)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -23,6 +23,8 @@
// $Id$
+import org.jboss.wsf.spi.WSFRuntime;
+
import java.util.List;
/**
@@ -47,10 +49,19 @@
/** Set the list of registered deployment aspects */
void setDeploymentAspects(List<DeploymentAspect> aspects);
-
- /** Deploy a web service */
- void deploy(Deployment dep);
-
- /** Undeploy a web service */
- void undeploy(Deployment dep);
+
+ /**
+ * Deploy to a particular runtime
+ * @param dep
+ * @param runtime
+ */
+ void deploy(Deployment dep, WSFRuntime runtime);
+
+ /**
+ * Undeploy from a particular runtime
+ * @param dep
+ * @param runtime
+ */
+ void undeploy(Deployment dep, WSFRuntime runtime);
}
+
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration)
Deleted: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java 2008-03-13 18:39:12 UTC (rev 5970)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -1,50 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.deployment.integration;
-
-/**
- * A minimum web service meta data representation that offers a generic
- * way to access more fine grained meta data through {@link #getAnnotation(Class)}
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public interface WebServiceDeclaration
-{
- /**
- * Web service endpoint impl. name
- * @return a name, that can be used to susequently address the service impl.
- */
- String getComponentName();
-
- /**
- * Web sevice endpoint impl. class
- * @return
- */
- String getComponentClassName();
-
- /**
- * Get a unified meta data view represented by an annotation.
- *
- * @param t
- * @return
- */
- <T extends java.lang.annotation.Annotation> T getAnnotation(Class<T> t);
-}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeclaration.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment.integration;
+
+/**
+ * A minimum web service meta data representation that offers a generic
+ * way to access more fine grained meta data through {@link #getAnnotation(Class)}
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface WebServiceDeclaration
+{
+ /**
+ * Web service endpoint impl. name
+ * @return a name, that can be used to susequently address the service impl.
+ */
+ String getComponentName();
+
+ /**
+ * Web sevice endpoint impl. class
+ * @return
+ */
+ String getComponentClassName();
+
+ /**
+ * Get a unified meta data view represented by an annotation.
+ *
+ * @param t
+ * @return
+ */
+ <T extends java.lang.annotation.Annotation> T getAnnotation(Class<T> t);
+}
Deleted: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java 2008-03-13 18:39:12 UTC (rev 5970)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -1,34 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.deployment.integration;
-
-import java.util.List;
-
-/**
- * A web service deployment contains {@link WebServiceDeclaration} declarations.
- *
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public interface WebServiceDeployment
-{
- List<WebServiceDeclaration> getServiceEndpoints();
-}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/deployment/integration/WebServiceDeployment.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment.integration;
+
+import java.util.List;
+
+/**
+ * A web service deployment contains {@link WebServiceDeclaration} declarations.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface WebServiceDeployment
+{
+ List<WebServiceDeclaration> getServiceEndpoints();
+}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration)
Deleted: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java 2008-03-13 18:39:12 UTC (rev 5970)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.invocation.integration;
-
-/**
- * Callback for invocation context properties that may be injected
- * in the service endpoint prior to actual method invocation.
- *
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public interface InvocationContextCallback
-{
- <T> T get(Class<T> propertyType);
-}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/InvocationContextCallback.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.invocation.integration;
+
+/**
+ * Callback for invocation context properties that may be injected
+ * in the service endpoint prior to actual method invocation.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface InvocationContextCallback
+{
+ <T> T get(Class<T> propertyType);
+}
Deleted: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java
===================================================================
--- spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java 2008-03-13 18:39:12 UTC (rev 5970)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.invocation.integration;
-
-import java.lang.reflect.Method;
-
-/**
- * Host's web service implementation and allows invocations on them.
- *
- * @author Heiko.Braun <heiko.braun(a)jboss.com>
- */
-public interface ServiceEndpointContainer
-{
- /**
- * The actualk web service implementation hosted by this container.
- * @return
- */
- Class getServiceImplementationClass();
-
- /**
- * Invokes a particular endpoint opertation.
- *
- * @param method business method
- * @param args parameters
- * @param callback gives access to invocation context properties. I.e. for injecting the WebServiceContext
- * @return null for operations without return parameter
- * @throws Exception
- */
- Object invokeEndpoint(Method method, Object[] args, InvocationContextCallback callback) throws Throwable;
-}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/invocation/integration/ServiceEndpointContainer.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.invocation.integration;
+
+import java.lang.reflect.Method;
+
+/**
+ * Host's web service implementation and allows invocations on them.
+ *
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface ServiceEndpointContainer
+{
+ /**
+ * The actual web service implementation hosted by this container.
+ * @return
+ */
+ Class getServiceImplementationClass();
+
+ /**
+ * Invokes a particular endpoint opertation.
+ *
+ * @param method business method
+ * @param args parameters
+ * @param callback gives access to invocation context properties. I.e. for injecting the WebServiceContext
+ * @return null for operations without return parameter
+ * @throws Exception
+ */
+ Object invokeEndpoint(Method method, Object[] args, InvocationContextCallback callback) throws Throwable;
+}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentMD.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class PortComponentMD implements PortComponentSpec
+{
+ private static final long serialVersionUID = 1;
+
+ private String portComponentName;
+ private String portComponentURI;
+ private String authMethod;
+ private String transportGuarantee;
+ private boolean secureWSDLAccess;
+
+ public PortComponentMD()
+ {
+ }
+
+ public String portComponentName()
+ {
+ return portComponentName;
+ }
+
+ public void setPortComponentName(String portComponentName)
+ {
+ this.portComponentName = portComponentName;
+ }
+
+ public String portComponentURI()
+ {
+ return portComponentURI;
+ }
+
+ public void setPortComponentURI(String portComponentURI)
+ {
+ this.portComponentURI = portComponentURI;
+ }
+
+ public String urlPattern()
+ {
+ String pattern = "/*";
+ if (portComponentURI != null)
+ pattern = portComponentURI;
+
+ return pattern;
+ }
+
+ public String authMethod()
+ {
+ return authMethod;
+ }
+
+ public void setAuthMethod(String authMethod)
+ {
+ this.authMethod = authMethod;
+ }
+
+ public String transportGuarantee()
+ {
+ return transportGuarantee;
+ }
+
+ public void setTransportGuarantee(String transportGuarantee)
+ {
+ this.transportGuarantee = transportGuarantee;
+ }
+
+ public boolean secureWSDLAccess()
+ {
+ return secureWSDLAccess;
+ }
+
+ public void setSecureWSDLAccess(boolean secureWSDLAccess)
+ {
+ this.secureWSDLAccess = secureWSDLAccess;
+ }
+
+ public Class<? extends Annotation> annotationType()
+ {
+ return PortComponentSpec.class;
+ }
+}
Copied: spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java (from rev 5970, spi/trunk/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java)
===================================================================
--- spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java (rev 0)
+++ spi/branches/hbraun/src/main/java/org/jboss/wsf/spi/metadata/j2ee/PortComponentSpec.java 2008-03-14 11:14:15 UTC (rev 5976)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public @interface PortComponentSpec
+{
+ String portComponentName();
+
+ String portComponentURI();
+
+ String urlPattern();
+
+ String authMethod();
+
+ String transportGuarantee();
+
+ boolean secureWSDLAccess();
+}
Modified: spi/branches/hbraun/version.properties
===================================================================
--- spi/branches/hbraun/version.properties 2008-03-14 09:34:02 UTC (rev 5975)
+++ spi/branches/hbraun/version.properties 2008-03-14 11:14:15 UTC (rev 5976)
@@ -6,7 +6,7 @@
specification.version=jbossws-2.0
version.id=3.0.0.DEV
-repository.id=snapshot
+repository.id=3.0-snapshot
implementation.title=JBoss Web Services - SPI
implementation.url=http://www.jboss.org/products/jbossws
16 years, 6 months
JBossWS SVN: r5975 - stack/native/trunk/src/main/distro.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2008-03-14 05:34:02 -0400 (Fri, 14 Mar 2008)
New Revision: 5975
Modified:
stack/native/trunk/src/main/distro/bin-dist-project-gen.xml
Log:
[JBWS-1888] fixing target dependencies
Modified: stack/native/trunk/src/main/distro/bin-dist-project-gen.xml
===================================================================
--- stack/native/trunk/src/main/distro/bin-dist-project-gen.xml 2008-03-14 09:20:00 UTC (rev 5974)
+++ stack/native/trunk/src/main/distro/bin-dist-project-gen.xml 2008-03-14 09:34:02 UTC (rev 5975)
@@ -13,7 +13,8 @@
<project>
- <target name="init-project-properties">
+ <target name="init-project-properties" depends="tests-classpath">
+ <fail message="Did you copy the ant.properties.example to ant.properties?" unless="jboss.home"/>
<property file="./user-project.properties" />
<property name="project.home" value="${workspace.home}/${project.name}"/>
@@ -31,7 +32,7 @@
<taskdef name="pathWriter" classname="org.jboss.ws.tools.ant.PathWriterTask" classpathref="jbws-ant.path"/>
</target>
- <target name="setup-new-project" depends="init-project-properties, tests-init" description="Prompt for settings and setup configuration for a new user project">
+ <target name="setup-new-project" depends="init-project-properties" description="Prompt for settings and setup configuration for a new user project">
<property file="./user-project.properties" prefix="old" />
<echo message="-------------------------------------------------"/>
@@ -70,7 +71,7 @@
<echo message="Please type 'ant create-project' to create the new project."/>
</target>
- <target name="create-project" depends="tests-init, validate-settings,configure-project" description="Create a new user project">
+ <target name="create-project" depends="validate-settings, configure-project" description="Create a new user project">
<echo message="A basic webservice project named '${project.name}' has been created in the ${workspace.home} directory."/>
<echo message="It includes a simple Ant build file and references the required libraries."/>
<echo message="Please refer to http://jbws.dyndns.org/mediawiki/index.php?title=JBossWS for the authoritative documentation."/>
16 years, 6 months