You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2007/12/04 01:44:11 UTC
svn commit: r600749 - in /incubator/cxf/trunk:
common/common/src/main/java/org/apache/cxf/helpers/
common/common/src/test/java/org/apache/cxf/helpers/
rt/javascript/src/main/java/org/apache/cxf/javascript/
rt/javascript/src/test/resources/ rt/transport...
Author: bimargulies
Date: Mon Dec 3 16:44:10 2007
New Revision: 600749
URL: http://svn.apache.org/viewvc?rev=600749&view=rev
Log:
Fix 1227 some more, and don't just ignore bogus charsets. Complain.
Added:
incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
Modified:
incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties
incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
Modified: incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java (original)
+++ incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java Mon Dec 3 16:44:10 2007
@@ -74,6 +74,10 @@
if (enc == null) {
return null;
}
+ // Charsets can be quoted. But it's quite certain that they can't have escaped quoted or
+ // anything like that.
+ enc = enc.replace("\"", "");
+ enc = enc.replace("'", "");
String newenc = encodings.get(enc);
if (newenc == null) {
try {
Modified: incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java (original)
+++ incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.java Mon Dec 3 16:44:10 2007
@@ -36,6 +36,10 @@
assertEquals(Charset.forName("utf-8").name(), cs);
cs = HttpHeaderHelper.mapCharset(null);
assertNull(cs);
+ cs = HttpHeaderHelper.mapCharset("\"utf-8\"");
+ assertEquals(Charset.forName("utf-8").name(), cs);
+ cs = HttpHeaderHelper.mapCharset("'utf-8'");
+ assertEquals(Charset.forName("utf-8").name(), cs);
}
}
Added: incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java?rev=600749&view=auto
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java (added)
+++ incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java Mon Dec 3 16:44:10 2007
@@ -0,0 +1,40 @@
+/**
+ * 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.javascript;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Use this annotation to control the names of Javascript objects associated with this package.
+ * Use this with a JAXB XmlSchema annotation or the equivalent for another data binding to associate
+ * a namespace with the package.
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.PACKAGE)
+public @interface JavascriptPrefix {
+ /**
+ * The name prefix for this package's namespace.
+ * @return
+ */
+ String prefix() default "";
+}
Modified: incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties (original)
+++ incubator/cxf/trunk/rt/javascript/src/test/resources/logging.properties Mon Dec 3 16:44:10 2007
@@ -23,8 +23,8 @@
.level= INFO
java.util.logging.ConsoleHandler.level = FINEST
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
-org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
-org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
+#org.apache.cxf.javascript.service.ServiceJavascriptBuilder.level=FINEST
+#org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
#org.apache.cxf.javascript.JavascriptTestUtilities.level=FINE
#org.apache.cxf.javascript.JsXMLHttpRequest.level = FINE
#org.apache.cxf.javascript.service.DocLitWrappedTest.level=FINE
Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java (original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/JettyHTTPDestination.java Mon Dec 3 16:44:10 2007
@@ -255,7 +255,14 @@
inMessage.put(HTTP_RESPONSE, resp);
inMessage.put(Message.HTTP_REQUEST_METHOD, req.getMethod());
inMessage.put(Message.PATH_INFO, req.getContextPath() + req.getPathInfo());
- inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(req.getCharacterEncoding()));
+ String normalizedEncoding = HttpHeaderHelper.mapCharset(req.getCharacterEncoding());
+ if (normalizedEncoding == null) {
+ String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+ LOG, req.getCharacterEncoding()).toString();
+ LOG.log(Level.WARNING, m);
+ throw new IOException(m);
+ }
+ inMessage.put(Message.ENCODING, normalizedEncoding);
inMessage.put(Message.QUERY_STRING, req.getQueryString());
inMessage.put(Message.CONTENT_TYPE, req.getContentType());
if (!StringUtils.isEmpty(endpointInfo.getAddress())) {
Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties (original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/Messages.properties Mon Dec 3 16:44:10 2007
@@ -24,3 +24,4 @@
CAN_NOT_FIND_HANDLER_MSG = Could not find the handler to remove for context url {0}
FAILED_TO_SHUTDOWN_ENGINE_MSG = Failed to shutdown Jetty server on port {0,number,####0} because it is still in use
UNKNOWN_CONNECTOR_MSG = Unknown connector type {0}, can't set the socket reuseAddress flag.
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
\ No newline at end of file
Modified: incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java (original)
+++ incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java Mon Dec 3 16:44:10 2007
@@ -123,7 +123,7 @@
engine.setPort(9000);
try {
engine.finalizeConfig();
- fail("We should get the connector not set with TSLServerParament exception ");
+ fail("We should get the connector not set with TSLServerParameter exception.");
} catch (Exception ex) {
// expect the excepion
}
@@ -135,9 +135,9 @@
engine.setPort(9000);
try {
engine.finalizeConfig();
- fail("We should get the connector not set right port exception ");
+ fail("We should get the connector not set right port exception.");
} catch (Exception ex) {
- // expect the excepion
+ // expect the exception
}
engine = new JettyHTTPServerEngine();
@@ -146,15 +146,9 @@
engine.setConnector(conn);
engine.setPort(9003);
engine.setTlsServerParameters(new TLSServerParameters());
- try {
- engine.finalizeConfig();
- } catch (Exception ex) {
- fail("We should not throw exception here");
- }
+ engine.finalizeConfig();
}
-
-
@Test
public void testaddServants() throws Exception {
String urlStr = "http://localhost:9234/hello/test";
@@ -165,28 +159,16 @@
JettyHTTPTestHandler handler2 = new JettyHTTPTestHandler("string2");
engine.addServant(new URL(urlStr), handler1);
String response = null;
- try {
- response = getResponse(urlStr);
- } catch (Exception ex) {
- fail("Can't get the response from the server " + ex);
- }
+ response = getResponse(urlStr);
assertEquals("The jetty http handler did not take effect", response, "string1");
engine.addServant(new URL(urlStr), handler2);
- try {
- response = getResponse(urlStr);
- } catch (Exception ex) {
- fail("Can't get the response from the server " + ex);
- }
+ response = getResponse(urlStr);
assertEquals("The jetty http handler did not take effect", response, "string1string2");
engine.addServant(new URL(urlStr2), handler2);
engine.removeServant(new URL(urlStr));
engine.shutdown();
- try {
- response = getResponse(urlStr2);
- } catch (Exception ex) {
- fail("Server should still work, even if we call the shutdown" + ex);
- }
+ response = getResponse(urlStr2);
assertEquals("The jetty http handler did not take effect", response, "string2");
// set the get request
factory.destroyForPort(9234);
@@ -256,5 +238,4 @@
IOUtils.copy(in, buffer);
return buffer.toString();
}
-
}
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.java Mon Dec 3 16:44:10 2007
@@ -1927,8 +1927,17 @@
enc = enc.substring(0, enc.indexOf(";"));
}
}
- inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(enc));
+ String normalizedEncoding = HttpHeaderHelper.mapCharset(enc);
+ if (normalizedEncoding == null) {
+ String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+ LOG, enc).toString();
+ LOG.log(Level.WARNING, m);
+ throw new IOException(m);
+ }
+
+ inMessage.put(Message.ENCODING, normalizedEncoding);
+
if (maintainSession) {
String cookieStr = connection.getHeaderField("Set-Cookie");
sessionCookies = Cookie.handleSetCookie(sessionCookies, cookieStr);
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Messages.properties Mon Dec 3 16:44:10 2007
@@ -19,6 +19,7 @@
#
#
UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
NULL_RESPONSE_MSG = Response object is null
DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
MISSING_PATH_INFO = PATH_INFO not present in message context, multiplex id is unavailable. Ensure the portName passed to getCurrentEndpointReferenceId is correct if the service has multiple ports
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/Messages.properties Mon Dec 3 16:44:10 2007
@@ -26,3 +26,4 @@
UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
FAILED_TO_LOAD_SPRING_BUS = Failed to load the spring bus: {0}
+INVALID_ENCODING_MSG = Invalid character set {0} in request.
Modified: incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java?rev=600749&r1=600748&r2=600749&view=diff
==============================================================================
--- incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java (original)
+++ incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/transport/servlet/ServletController.java Mon Dec 3 16:44:10 2007
@@ -245,8 +245,16 @@
if (enc != null && enc.endsWith("\"")) {
enc = enc.substring(0, enc.length() - 1);
}
+
+ String normalizedEncoding = HttpHeaderHelper.mapCharset(enc);
+ if (normalizedEncoding == null) {
+ String m = new org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
+ LOG, enc).toString();
+ LOG.log(Level.WARNING, m);
+ throw new IOException(m);
+ }
- inMessage.put(Message.ENCODING, HttpHeaderHelper.mapCharset(enc));
+ inMessage.put(Message.ENCODING, normalizedEncoding);
SSLUtils.propogateSecureSession(request, inMessage);
ExchangeImpl exchange = new ExchangeImpl();
RE: svn commit: r600749 - in /incubator/cxf/trunk: common/common/src/main/java/org/apache/cxf/helpers/ common/common/src/test/java/org/apache/cxf/helpers/ rt/javascript/src/main/java/org/apache/cxf/javascript/ rt/javascript/src/test/resources/ rt/transpor
Posted by Benson Margulies <bi...@basistech.com>.
This accidently has two files related to the javascript project mixed
in to the 2.0.4-ish http header fixes.
> -----Original Message-----
> From: bimargulies@apache.org [mailto:bimargulies@apache.org]
> Sent: Monday, December 03, 2007 7:44 PM
> To: cxf-commits@incubator.apache.org
> Subject: svn commit: r600749 - in /incubator/cxf/trunk:
> common/common/src/main/java/org/apache/cxf/helpers/
> common/common/src/test/java/org/apache/cxf/helpers/
> rt/javascript/src/main/java/org/apache/cxf/javascript/
> rt/javascript/src/test/resources/ rt/transport...
>
> Author: bimargulies
> Date: Mon Dec 3 16:44:10 2007
> New Revision: 600749
>
> URL: http://svn.apache.org/viewvc?rev=600749&view=rev
> Log:
> Fix 1227 some more, and don't just ignore bogus charsets. Complain.
>
> Added:
>
> incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf
> /javascript/JavascriptPrefix.java
> Modified:
>
> incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf
> /helpers/HttpHeaderHelper.java
>
> incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf
> /helpers/HttpHeaderHelperTest.java
>
> incubator/cxf/trunk/rt/javascript/src/test/resources/logging.p
> roperties
>
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
>
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
> /apache/cxf/transport/http_jetty/Messages.properties
>
> incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org
/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
>
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/HTTPConduit.java
>
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/Messages.properties
>
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/Messages.properties
>
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/ServletController.java
>
> Modified:
> incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf
> /helpers/HttpHeaderHelper.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common
> /src/main/java/org/apache/cxf/helpers/HttpHeaderHelper.java?re
> v=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf
> /helpers/HttpHeaderHelper.java (original)
> +++
> incubator/cxf/trunk/common/common/src/main/java/org/apache/cxf/helpe
> +++ rs/HttpHeaderHelper.java Mon Dec 3 16:44:10 2007
> @@ -74,6 +74,10 @@
> if (enc == null) {
> return null;
> }
> + // Charsets can be quoted. But it's quite certain
> that they can't have escaped quoted or
> + // anything like that.
> + enc = enc.replace("\"", "");
> + enc = enc.replace("'", "");
> String newenc = encodings.get(enc);
> if (newenc == null) {
> try {
>
> Modified:
> incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf
> /helpers/HttpHeaderHelperTest.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/common/common
> /src/test/java/org/apache/cxf/helpers/HttpHeaderHelperTest.jav
> a?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf
> /helpers/HttpHeaderHelperTest.java (original)
> +++
> incubator/cxf/trunk/common/common/src/test/java/org/apache/cxf/helpe
> +++ rs/HttpHeaderHelperTest.java Mon Dec 3 16:44:10 2007
> @@ -36,6 +36,10 @@
> assertEquals(Charset.forName("utf-8").name(), cs);
> cs = HttpHeaderHelper.mapCharset(null);
> assertNull(cs);
> + cs = HttpHeaderHelper.mapCharset("\"utf-8\"");
> + assertEquals(Charset.forName("utf-8").name(), cs);
> + cs = HttpHeaderHelper.mapCharset("'utf-8'");
> + assertEquals(Charset.forName("utf-8").name(), cs);
> }
>
> }
>
> Added:
> incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf
> /javascript/JavascriptPrefix.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript
> /src/main/java/org/apache/cxf/javascript/JavascriptPrefix.java
> ?rev=600749&view=auto
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf
> /javascript/JavascriptPrefix.java (added)
> +++
> incubator/cxf/trunk/rt/javascript/src/main/java/org/apache/cxf/javas
> +++ cript/JavascriptPrefix.java Mon Dec 3 16:44:10 2007
> @@ -0,0 +1,40 @@
> +/**
> + * 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.javascript;
> +
> +import java.lang.annotation.ElementType; import
> +java.lang.annotation.Retention; import
> +java.lang.annotation.RetentionPolicy;
> +import java.lang.annotation.Target;
> +
> +/**
> + * Use this annotation to control the names of Javascript
> objects associated with this package.
> + * Use this with a JAXB XmlSchema annotation or the equivalent for
> +another data binding to associate
> + * a namespace with the package.
> + */
> +@Retention(RetentionPolicy.RUNTIME)
> +@Target(ElementType.PACKAGE)
> +public @interface JavascriptPrefix {
> + /**
> + * The name prefix for this package's namespace.
> + * @return
> + */
> + String prefix() default "";
> +}
>
> Modified:
> incubator/cxf/trunk/rt/javascript/src/test/resources/logging.p
> roperties
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/javascript
> /src/test/resources/logging.properties?rev=600749&r1=600748&r2
> =600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/javascript/src/test/resources/logging.p
> roperties (original)
> +++
> incubator/cxf/trunk/rt/javascript/src/test/resources/logging.propert
> +++ ies Mon Dec 3 16:44:10 2007
> @@ -23,8 +23,8 @@
> .level= INFO
> java.util.logging.ConsoleHandler.level = FINEST
> java.util.logging.ConsoleHandler.formatter =
> java.util.logging.SimpleFormatter
> -org.apache.cxf.javascript.service.ServiceJavascriptBuilder.le
> vel=FINEST
> -org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
> +#org.apache.cxf.javascript.service.ServiceJavascriptBuilder.l
> evel=FINES
> +T
> #org.apache.cxf.javascript.types.SchemaJavascriptBuilder.level=FINEST
> #org.apache.cxf.javascript.JavascriptTestUtilities.level=FINE
> #org.apache.cxf.javascript.JsXMLHttpRequest.level = FINE
> #org.apache.cxf.javascript.service.DocLitWrappedTest.level=FINE
>
> Modified:
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
/apache/cxf/transport/http_jetty/JettyHTTPDestination.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/
> JettyHTTPDestination.java?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
/apache/cxf/transport/http_jetty/JettyHTTPDestination.java (original)
> +++
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apach
> +++ e/cxf/transport/http_jetty/JettyHTTPDestination.java Mon Dec 3
> +++ 16:44:10 2007
> @@ -255,7 +255,14 @@
> inMessage.put(HTTP_RESPONSE, resp);
> inMessage.put(Message.HTTP_REQUEST_METHOD,
> req.getMethod());
> inMessage.put(Message.PATH_INFO,
> req.getContextPath() + req.getPathInfo());
> - inMessage.put(Message.ENCODING,
> HttpHeaderHelper.mapCharset(req.getCharacterEncoding()));
> + String normalizedEncoding =
> HttpHeaderHelper.mapCharset(req.getCharacterEncoding());
> + if (normalizedEncoding == null) {
> + String m = new
> org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
> +
> LOG, req.getCharacterEncoding()).toString();
> + LOG.log(Level.WARNING, m);
> + throw new IOException(m);
> + }
> + inMessage.put(Message.ENCODING, normalizedEncoding);
> inMessage.put(Message.QUERY_STRING,
> req.getQueryString());
> inMessage.put(Message.CONTENT_TYPE,
> req.getContentType());
> if (!StringUtils.isEmpty(endpointInfo.getAddress())) {
>
> Modified:
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
> /apache/cxf/transport/http_jetty/Messages.properties
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http-jetty/src/main/java/org/apache/cxf/transport/http_jetty/
> Messages.properties?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org
> /apache/cxf/transport/http_jetty/Messages.properties (original)
> +++
> incubator/cxf/trunk/rt/transports/http-jetty/src/main/java/org/apach
> +++ e/cxf/transport/http_jetty/Messages.properties Mon Dec 3
> 16:44:10
> +++ 2007
> @@ -24,3 +24,4 @@
> CAN_NOT_FIND_HANDLER_MSG = Could not find the handler to
> remove for context url {0} FAILED_TO_SHUTDOWN_ENGINE_MSG =
> Failed to shutdown Jetty server on port {0,number,####0}
> because it is still in use UNKNOWN_CONNECTOR_MSG = Unknown
> connector type {0}, can't set the socket reuseAddress flag.
> +INVALID_ENCODING_MSG = Invalid character set {0} in request.
> \ No newline at end of file
>
> Modified:
> incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org
/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http-jetty/src/test/java/org/apache/cxf/transport/http_jetty/
> JettyHTTPServerEngineTest.java?rev=600749&r1=600748&r2=600749&
> view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org
/apache/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
(original)
> +++
> incubator/cxf/trunk/rt/transports/http-jetty/src/test/java/org/apach
> +++ e/cxf/transport/http_jetty/JettyHTTPServerEngineTest.java
> Mon Dec 3
> +++ 16:44:10 2007
> @@ -123,7 +123,7 @@
> engine.setPort(9000);
> try {
> engine.finalizeConfig();
> - fail("We should get the connector not set with
> TSLServerParament exception ");
> + fail("We should get the connector not set with
> + TSLServerParameter exception.");
> } catch (Exception ex) {
> // expect the excepion
> }
> @@ -135,9 +135,9 @@
> engine.setPort(9000);
> try {
> engine.finalizeConfig();
> - fail("We should get the connector not set right
> port exception ");
> + fail("We should get the connector not set right port
> + exception.");
> } catch (Exception ex) {
> - // expect the excepion
> + // expect the exception
> }
>
> engine = new JettyHTTPServerEngine(); @@ -146,15 +146,9 @@
> engine.setConnector(conn);
> engine.setPort(9003);
> engine.setTlsServerParameters(new TLSServerParameters());
> - try {
> - engine.finalizeConfig();
> - } catch (Exception ex) {
> - fail("We should not throw exception here");
> - }
> + engine.finalizeConfig();
> }
>
> -
> -
> @Test
> public void testaddServants() throws Exception {
> String urlStr = "http://localhost:9234/hello/test";
> @@ -165,28 +159,16 @@
> JettyHTTPTestHandler handler2 = new
> JettyHTTPTestHandler("string2");
> engine.addServant(new URL(urlStr), handler1);
> String response = null;
> - try {
> - response = getResponse(urlStr);
> - } catch (Exception ex) {
> - fail("Can't get the response from the server " + ex);
> - }
> + response = getResponse(urlStr);
> assertEquals("The jetty http handler did not take
> effect", response, "string1");
>
> engine.addServant(new URL(urlStr), handler2);
> - try {
> - response = getResponse(urlStr);
> - } catch (Exception ex) {
> - fail("Can't get the response from the server " + ex);
> - }
> + response = getResponse(urlStr);
> assertEquals("The jetty http handler did not take
> effect", response, "string1string2");
> engine.addServant(new URL(urlStr2), handler2);
> engine.removeServant(new URL(urlStr));
> engine.shutdown();
> - try {
> - response = getResponse(urlStr2);
> - } catch (Exception ex) {
> - fail("Server should still work, even if we call
> the shutdown" + ex);
> - }
> + response = getResponse(urlStr2);
> assertEquals("The jetty http handler did not take
> effect", response, "string2");
> // set the get request
> factory.destroyForPort(9234);
> @@ -256,5 +238,4 @@
> IOUtils.copy(in, buffer);
> return buffer.toString();
> }
> -
> }
>
> Modified:
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/HTTPConduit.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http/src/main/java/org/apache/cxf/transport/http/HTTPConduit.
> java?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/HTTPConduit.java (original)
> +++
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/
> +++ transport/http/HTTPConduit.java Mon Dec 3 16:44:10 2007
> @@ -1927,8 +1927,17 @@
> enc = enc.substring(0, enc.indexOf(";"));
> }
> }
> - inMessage.put(Message.ENCODING,
> HttpHeaderHelper.mapCharset(enc));
>
> + String normalizedEncoding =
> HttpHeaderHelper.mapCharset(enc);
> + if (normalizedEncoding == null) {
> + String m = new
> org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
> +
> LOG, enc).toString();
> + LOG.log(Level.WARNING, m);
> + throw new IOException(m);
> + }
> +
> + inMessage.put(Message.ENCODING, normalizedEncoding);
> +
> if (maintainSession) {
> String cookieStr =
> connection.getHeaderField("Set-Cookie");
> sessionCookies =
> Cookie.handleSetCookie(sessionCookies, cookieStr);
>
> Modified:
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/Messages.properties
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http/src/main/java/org/apache/cxf/transport/http/Messages.pro
> perties?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/http/Messages.properties (original)
> +++
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/
> +++ transport/http/Messages.properties Mon Dec 3 16:44:10 2007
> @@ -19,6 +19,7 @@
> #
> #
> UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
> +INVALID_ENCODING_MSG = Invalid character set {0} in request.
> NULL_RESPONSE_MSG = Response object is null
> DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
> MISSING_PATH_INFO = PATH_INFO not present in message context,
> multiplex id is unavailable. Ensure the portName passed to
> getCurrentEndpointReferenceId is correct if the service has
> multiple ports
>
> Modified:
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/Messages.properties
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http/src/main/java/org/apache/cxf/transport/servlet/Messages.
> properties?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/Messages.properties (original)
> +++
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/
> +++ transport/servlet/Messages.properties Mon Dec 3 16:44:10 2007
> @@ -26,3 +26,4 @@
> UNEXPECTED_RESPONSE_TYPE_MSG = Unexpected response type {0}
> DECOUPLED_RESPONSE_FAILED_MSG = Decouple response failed
> FAILED_TO_LOAD_SPRING_BUS = Failed to load the spring bus: {0}
> +INVALID_ENCODING_MSG = Invalid character set {0} in request.
>
> Modified:
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/ServletController.java
> URL:
> http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/transports
> /http/src/main/java/org/apache/cxf/transport/servlet/ServletCo
> ntroller.java?rev=600749&r1=600748&r2=600749&view=diff
> ==============================================================
> ================
> ---
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apach
> e/cxf/transport/servlet/ServletController.java (original)
> +++
> incubator/cxf/trunk/rt/transports/http/src/main/java/org/apache/cxf/
> +++ transport/servlet/ServletController.java Mon Dec 3 16:44:10 2007
> @@ -245,8 +245,16 @@
> if (enc != null && enc.endsWith("\"")) {
> enc = enc.substring(0, enc.length() - 1);
> }
> +
> + String normalizedEncoding =
> HttpHeaderHelper.mapCharset(enc);
> + if (normalizedEncoding == null) {
> + String m = new
> org.apache.cxf.common.i18n.Message("INVALID_ENCODING_MSG",
> +
> LOG, enc).toString();
> + LOG.log(Level.WARNING, m);
> + throw new IOException(m);
> + }
>
> - inMessage.put(Message.ENCODING,
> HttpHeaderHelper.mapCharset(enc));
> + inMessage.put(Message.ENCODING, normalizedEncoding);
> SSLUtils.propogateSecureSession(request, inMessage);
>
> ExchangeImpl exchange = new ExchangeImpl();
>
>
>