Return-Path: Delivered-To: apmail-incubator-cxf-commits-archive@locus.apache.org Received: (qmail 83017 invoked from network); 18 Jan 2008 14:34:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Jan 2008 14:34:09 -0000 Received: (qmail 756 invoked by uid 500); 18 Jan 2008 14:33:59 -0000 Delivered-To: apmail-incubator-cxf-commits-archive@incubator.apache.org Received: (qmail 641 invoked by uid 500); 18 Jan 2008 14:33:59 -0000 Mailing-List: contact cxf-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-commits@incubator.apache.org Received: (qmail 632 invoked by uid 99); 18 Jan 2008 14:33:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 06:33:58 -0800 X-ASF-Spam-Status: No, hits=-98.5 required=10.0 tests=ALL_TRUSTED,WEIRD_PORT X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Jan 2008 14:33:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C740D1A9832; Fri, 18 Jan 2008 06:33:39 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r613174 - in /incubator/cxf/trunk: rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/ rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/ rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/ rt/databindi... Date: Fri, 18 Jan 2008 14:33:37 -0000 To: cxf-commits@incubator.apache.org From: bimargulies@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080118143339.C740D1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bimargulies Date: Fri Jan 18 06:33:34 2008 New Revision: 613174 URL: http://svn.apache.org/viewvc?rev=613174&view=rev Log: Work on the state of MTOM in Aegis. Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java (with props) incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml (with props) Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AbstractAegisIoImpl.java incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/Context.java incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/inheritance/intf/InterfaceInheritanceTest.java incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java incubator/cxf/trunk/testutils/src/main/resources/wsdl/mtom_xop.wsdl Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AbstractAegisIoImpl.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AbstractAegisIoImpl.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AbstractAegisIoImpl.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AbstractAegisIoImpl.java Fri Jan 18 06:33:34 2008 @@ -24,7 +24,6 @@ import javax.xml.validation.Schema; -import org.apache.cxf.common.util.SOAPConstants; import org.apache.cxf.databinding.DataReader; import org.apache.cxf.interceptor.Fault; @@ -57,13 +56,7 @@ /** {@inheritDoc}*/ public void setProperty(String prop, Object value) { - if (SOAPConstants.MTOM_ENABLED.equals(prop)) { - if (value instanceof String) { - context.setMtomEnabled(Boolean.valueOf((String)value)); - } else if (value instanceof Boolean) { - context.setMtomEnabled((Boolean)value); - } - } else if (DataReader.FAULT.equals(prop)) { + if (DataReader.FAULT.equals(prop)) { context.setFault((Fault)value); } } Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/AegisContext.java Fri Jan 18 06:33:34 2008 @@ -81,6 +81,7 @@ private Set rootTypes; private Map, String> beanImplementationMap; private Configuration configuration; + private boolean mtomEnabled; /** * Construct a context. @@ -319,6 +320,18 @@ public void setRootClasses(Set> rootClasses) { this.rootClasses = rootClasses; + } + + /** + * Is MTOM enabled in this context? + * @return + */ + public boolean isMtomEnabled() { + return mtomEnabled; + } + + public void setMtomEnabled(boolean mtomEnabled) { + this.mtomEnabled = mtomEnabled; } } Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/Context.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/Context.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/Context.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/Context.java Fri Jan 18 06:33:34 2008 @@ -37,7 +37,6 @@ private AegisContext globalContext; private Collection attachments; private Fault fault; - private boolean mtomEnabled; private Map, Object> properties; public Context(AegisContext aegisContext) { @@ -78,13 +77,9 @@ } public boolean isMtomEnabled() { - return mtomEnabled; + return globalContext.isMtomEnabled(); } - public void setMtomEnabled(boolean isMtomEnabled) { - this.mtomEnabled = isMtomEnabled; - } - // bus-style properties for internal state management. public T getProperty(Class key) { return key.cast(properties.get(key)); Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/databinding/AegisDatabinding.java Fri Jan 18 06:33:34 2008 @@ -101,6 +101,7 @@ private boolean isInitialized; private Set overrideTypes; private Configuration configuration; + private boolean mtomEnabled; public AegisDatabinding() { super(); @@ -121,6 +122,9 @@ if (configuration != null) { aegisContext.setConfiguration(configuration); } + if (mtomEnabled) { + aegisContext.setMtomEnabled(true); + } aegisContext.initialize(); } isInitialized = true; @@ -553,5 +557,13 @@ public void setConfiguration(Configuration configuration) { this.configuration = configuration; + } + + public boolean isMtomEnabled() { + return mtomEnabled; + } + + public void setMtomEnabled(boolean mtomEnabled) { + this.mtomEnabled = mtomEnabled; } } Modified: incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/mtom/AbstractXOPType.java Fri Jan 18 06:33:34 2008 @@ -95,12 +95,6 @@ attachments.add(att); - String contentType = getContentType(object, context); - if (contentType != null) { - MessageWriter mt = writer.getAttributeWriter(XML_MIME_TYPE); - mt.writeValue(contentType); - } - MessageWriter include = writer.getElementWriter(XOP_INCLUDE); MessageWriter href = include.getAttributeWriter(XOP_HREF); href.writeValue("cid:" + id); Modified: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/inheritance/intf/InterfaceInheritanceTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/inheritance/intf/InterfaceInheritanceTest.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/inheritance/intf/InterfaceInheritanceTest.java (original) +++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/inheritance/intf/InterfaceInheritanceTest.java Fri Jan 18 06:33:34 2008 @@ -29,7 +29,7 @@ import org.junit.Test; /** - * This test ensures that we're handling inheritance of itnerfaces correctly. + * This test ensures that we're handling inheritance of interfaces correctly. * Since we can't do multiple parent inheritance in XML schema, which interfaces * require, we just don't allow interface inheritance period. * Added: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java?rev=613174&view=auto ============================================================================== --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java (added) +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java Fri Jan 18 06:33:34 2008 @@ -0,0 +1,79 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.cxf.systest.aegis.mtom; + +import java.util.HashMap; +import java.util.Map; + +import javax.activation.DataHandler; + +import org.apache.cxf.aegis.databinding.AegisDatabinding; +import org.apache.cxf.frontend.ClientProxyFactoryBean; +import org.apache.cxf.interceptor.LoggingOutInterceptor; +import org.apache.cxf.systest.aegis.mtom.fortest.DataHandlerBean; +import org.apache.cxf.systest.aegis.mtom.fortest.MtomTestImpl; +import org.junit.Test; +import org.springframework.test.AbstractDependencyInjectionSpringContextTests; + +/** + * + */ +public class MtomTest extends AbstractDependencyInjectionSpringContextTests { + + private org.apache.cxf.systest.aegis.mtom.fortest.MtomTestImpl impl; + private org.apache.cxf.systest.aegis.mtom.fortest.MtomTest client; + + @Override + protected String[] getConfigLocations() { + return new String[] {"classpath:mtomTestBeans.xml"}; + } + + private void getClient() throws Exception { + AegisDatabinding aegisBinding = new AegisDatabinding(); + aegisBinding.setMtomEnabled(true); + ClientProxyFactoryBean proxyFac = new ClientProxyFactoryBean(); + proxyFac.setDataBinding(aegisBinding); + proxyFac.setAddress("http://localhost:9002/mtom"); + proxyFac.setServiceClass(org.apache.cxf.systest.aegis.mtom.fortest.MtomTest.class); + Map props = new HashMap(); + props.put("mtom-enabled", Boolean.TRUE); + proxyFac.setProperties(props); + proxyFac.getOutInterceptors().add(new LoggingOutInterceptor()); + client = (org.apache.cxf.systest.aegis.mtom.fortest.MtomTest)proxyFac.create(); + impl = (MtomTestImpl)applicationContext.getBean("mtomImpl"); + } + + @Test + public void testAcceptDataHandler() throws Exception { + getClient(); + DataHandlerBean dhBean = new DataHandlerBean(); + dhBean.setName("some name"); + // some day, we might need this to be higher than some threshold. + String someData = "This is the cereal shot from guns."; + DataHandler dataHandler = new DataHandler(someData, "text/plain;charset=utf-8"); + dhBean.setDataHandler(dataHandler); + client.acceptDataHandler(dhBean); + DataHandlerBean accepted = impl.getLastDhBean(); + assertNotNull(accepted); + String data = (String) accepted.getDataHandler().getContent(); + assertNotNull(data); + } + +} Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/aegis/mtom/MtomTest.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java (original) +++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/mtom/ClientMtomXopTest.java Fri Jan 18 06:33:34 2008 @@ -34,6 +34,8 @@ import org.apache.cxf.BusFactory; import org.apache.cxf.endpoint.Client; import org.apache.cxf.endpoint.ClientImpl; +import org.apache.cxf.interceptor.LoggingInInterceptor; +import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsClientProxy; import org.apache.cxf.jaxws.binding.soap.SOAPBindingImpl; import org.apache.cxf.jaxws.support.JaxWsEndpointImpl; @@ -104,7 +106,7 @@ } } - @org.junit.Ignore + @org.junit.Ignore // see CXF-1395 @Test public void testMtoMString() throws Exception { TestMtom mtomPort = createPort(MTOM_SERVICE, MTOM_PORT, TestMtom.class, true, false); @@ -141,6 +143,9 @@ jaxwsEndpoint.getBinding().getInInterceptors().add(new TestMultipartMessageInterceptor()); jaxwsEndpoint.getBinding().getOutInterceptors().add(new TestAttachmentOutInterceptor()); } + + jaxwsEndpoint.getBinding().getInInterceptors().add(new LoggingInInterceptor()); + jaxwsEndpoint.getBinding().getOutInterceptors().add(new LoggingOutInterceptor()); Client client = new ClientImpl(bus, jaxwsEndpoint); InvocationHandler ih = new JaxWsClientProxy(client, jaxwsEndpoint.getJaxwsBinding()); Added: incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml?rev=613174&view=auto ============================================================================== --- incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml (added) +++ incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml Fri Jan 18 06:33:34 2008 @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + \ No newline at end of file Propchange: incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml ------------------------------------------------------------------------------ svn:keywords = Rev Date Propchange: incubator/cxf/trunk/systests/src/test/resources/mtomTestBeans.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: incubator/cxf/trunk/testutils/src/main/resources/wsdl/mtom_xop.wsdl URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/testutils/src/main/resources/wsdl/mtom_xop.wsdl?rev=613174&r1=613173&r2=613174&view=diff ============================================================================== --- incubator/cxf/trunk/testutils/src/main/resources/wsdl/mtom_xop.wsdl (original) +++ incubator/cxf/trunk/testutils/src/main/resources/wsdl/mtom_xop.wsdl Fri Jan 18 06:33:34 2008 @@ -36,7 +36,7 @@ - +