cxf git commit: Adding JweJwt helpers

2014-11-13 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/master 7d1f30f76 - 49a78e92b


Adding JweJwt helpers


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/49a78e92
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/49a78e92
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/49a78e92

Branch: refs/heads/master
Commit: 49a78e92bf89d82af62a4769b64b4dcbf62f3c27
Parents: 7d1f30f
Author: Sergey Beryozkin sberyoz...@talend.com
Authored: Thu Nov 13 15:04:22 2014 +
Committer: Sergey Beryozkin sberyoz...@talend.com
Committed: Thu Nov 13 15:04:22 2014 +

--
 .../jose/jaxrs/JweWriterInterceptor.java| 10 ++-
 .../jose/jwe/AbstractJweEncryption.java | 20 +++--
 .../jose/jwe/JweEncryptionProvider.java |  4 +-
 .../jose/jwe/JweJwtCompactConsumer.java | 62 +++
 .../jose/jwe/JweJwtCompactProducer.java | 61 +++
 .../cxf/rs/security/jose/jwe/JweUtils.java  | 80 +++-
 .../cxf/rs/security/jose/jwk/JwkUtils.java  | 11 ++-
 .../security/jose/jws/JwsCompactConsumer.java   |  8 ++
 .../security/jose/jws/JwsCompactProducer.java   | 19 +++--
 .../rs/security/jose/jws/JwsJsonConsumer.java   |  7 ++
 .../rs/security/jose/jws/JwsJsonProducer.java   |  7 ++
 .../jose/jws/JwsJwtCompactProducer.java | 11 +--
 .../cxf/rs/security/jose/jwt/JwtUtils.java  | 44 +++
 13 files changed, 314 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/49a78e92/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
--
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
index a50c6a5..a80ac67 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
@@ -21,6 +21,7 @@ package org.apache.cxf.rs.security.jose.jaxrs;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Collections;
 import java.util.zip.DeflaterOutputStream;
 
 import javax.annotation.Priority;
@@ -41,6 +42,7 @@ import org.apache.cxf.rs.security.jose.JoseHeadersWriter;
 import org.apache.cxf.rs.security.jose.jwe.JweCompactProducer;
 import org.apache.cxf.rs.security.jose.jwe.JweEncryptionProvider;
 import org.apache.cxf.rs.security.jose.jwe.JweEncryptionState;
+import org.apache.cxf.rs.security.jose.jwe.JweHeaders;
 import org.apache.cxf.rs.security.jose.jwe.JweOutputStream;
 import org.apache.cxf.rs.security.jose.jwe.JweUtils;
 
@@ -73,7 +75,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 }
 
 if (useJweOutputStream) {
-JweEncryptionState encryption = 
theEncryptionProvider.createJweEncryptionState(ctString);
+JweEncryptionState encryption = 
theEncryptionProvider.createJweEncryptionState(toJweHeaders(ctString));
 try {
 JweCompactProducer.startJweContent(actualOs,
encryption.getHeaders(), 
@@ -99,7 +101,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 CachedOutputStream cos = new CachedOutputStream(); 
 ctx.setOutputStream(cos);
 ctx.proceed();
-String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), 
ctString);
+String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), 
toJweHeaders(ctString));
 setJoseMediaType(ctx);
 IOUtils.copy(new 
ByteArrayInputStream(StringUtils.toBytesUTF8(jweContent)), 
  actualOs);
@@ -136,5 +138,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 public void setEncryptionProvider(JweEncryptionProvider 
encryptionProvider) {
 this.encryptionProvider = encryptionProvider;
 }
-
+private static JweHeaders toJweHeaders(String ct) {
+return new JweHeaders(Collections.String, 
ObjectsingletonMap(JoseConstants.HEADER_CONTENT_TYPE, ct));
+}
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/49a78e92/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
--
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
index 

cxf git commit: Adding JweJwt helpers

2014-11-13 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes b3009df51 - 25e676f2d


Adding JweJwt helpers


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/25e676f2
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/25e676f2
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/25e676f2

Branch: refs/heads/3.0.x-fixes
Commit: 25e676f2ddb2d24977db6e2851e34210301482f0
Parents: b3009df
Author: Sergey Beryozkin sberyoz...@talend.com
Authored: Thu Nov 13 15:04:22 2014 +
Committer: Sergey Beryozkin sberyoz...@talend.com
Committed: Thu Nov 13 15:05:41 2014 +

--
 .../jose/jaxrs/JweWriterInterceptor.java| 10 ++-
 .../jose/jwe/AbstractJweEncryption.java | 20 +++--
 .../jose/jwe/JweEncryptionProvider.java |  4 +-
 .../jose/jwe/JweJwtCompactConsumer.java | 62 +++
 .../jose/jwe/JweJwtCompactProducer.java | 61 +++
 .../cxf/rs/security/jose/jwe/JweUtils.java  | 80 +++-
 .../cxf/rs/security/jose/jwk/JwkUtils.java  | 11 ++-
 .../security/jose/jws/JwsCompactConsumer.java   |  8 ++
 .../security/jose/jws/JwsCompactProducer.java   | 19 +++--
 .../rs/security/jose/jws/JwsJsonConsumer.java   |  7 ++
 .../rs/security/jose/jws/JwsJsonProducer.java   |  7 ++
 .../jose/jws/JwsJwtCompactProducer.java | 11 +--
 .../cxf/rs/security/jose/jwt/JwtUtils.java  | 44 +++
 13 files changed, 314 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/25e676f2/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
--
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
index a50c6a5..a80ac67 100644
--- 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
+++ 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java
@@ -21,6 +21,7 @@ package org.apache.cxf.rs.security.jose.jaxrs;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.Collections;
 import java.util.zip.DeflaterOutputStream;
 
 import javax.annotation.Priority;
@@ -41,6 +42,7 @@ import org.apache.cxf.rs.security.jose.JoseHeadersWriter;
 import org.apache.cxf.rs.security.jose.jwe.JweCompactProducer;
 import org.apache.cxf.rs.security.jose.jwe.JweEncryptionProvider;
 import org.apache.cxf.rs.security.jose.jwe.JweEncryptionState;
+import org.apache.cxf.rs.security.jose.jwe.JweHeaders;
 import org.apache.cxf.rs.security.jose.jwe.JweOutputStream;
 import org.apache.cxf.rs.security.jose.jwe.JweUtils;
 
@@ -73,7 +75,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 }
 
 if (useJweOutputStream) {
-JweEncryptionState encryption = 
theEncryptionProvider.createJweEncryptionState(ctString);
+JweEncryptionState encryption = 
theEncryptionProvider.createJweEncryptionState(toJweHeaders(ctString));
 try {
 JweCompactProducer.startJweContent(actualOs,
encryption.getHeaders(), 
@@ -99,7 +101,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 CachedOutputStream cos = new CachedOutputStream(); 
 ctx.setOutputStream(cos);
 ctx.proceed();
-String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), 
ctString);
+String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), 
toJweHeaders(ctString));
 setJoseMediaType(ctx);
 IOUtils.copy(new 
ByteArrayInputStream(StringUtils.toBytesUTF8(jweContent)), 
  actualOs);
@@ -136,5 +138,7 @@ public class JweWriterInterceptor implements 
WriterInterceptor {
 public void setEncryptionProvider(JweEncryptionProvider 
encryptionProvider) {
 this.encryptionProvider = encryptionProvider;
 }
-
+private static JweHeaders toJweHeaders(String ct) {
+return new JweHeaders(Collections.String, 
ObjectsingletonMap(JoseConstants.HEADER_CONTENT_TYPE, ct));
+}
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/25e676f2/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
--
diff --git 
a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
 
b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java
index 

cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace

2014-11-13 Thread asoldano
Repository: cxf
Updated Branches:
  refs/heads/master 49a78e92b - eb3dd9380


[CXF-4242] Add exception name to faultstring/detail/stackTrace


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/eb3dd938
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/eb3dd938
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/eb3dd938

Branch: refs/heads/master
Commit: eb3dd938052b3e853b0cf85dacf31ef7f802af38
Parents: 49a78e9
Author: Alessio Soldano asold...@redhat.com
Authored: Thu Nov 13 16:12:57 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 16:21:12 2014 +0100

--
 .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java   | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/eb3dd938/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 18999ff..1815a99 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -72,6 +72,7 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
+sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
 while (throwable != null) {
 for (StackTraceElement ste : throwable.getStackTrace()) {
 sb.append(ste.getClassName() + ! + ste.getMethodName() + 
! + ste.getFileName() + !



svn commit: r929080 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-oauth2.html

2014-11-13 Thread buildbot
Author: buildbot
Date: Thu Nov 13 16:47:07 2014
New Revision: 929080

Log:
Production update by buildbot for cxf

Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/jax-rs-oauth2.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/jax-rs-oauth2.html
==
--- websites/production/cxf/content/docs/jax-rs-oauth2.html (original)
+++ websites/production/cxf/content/docs/jax-rs-oauth2.html Thu Nov 13 16:47:07 
2014
@@ -118,14 +118,14 @@ Apache CXF -- JAX-RS OAuth2
!-- Content --
div class=wiki-content
 div id=ConfluenceContenth1 id=JAX-RSOAuth2-JAX-RS:OAuth2JAX-RS: 
OAuth2/h1pstyle type=text/css/*![CDATA[*/
-div.rbtoc1415382419537 {padding: 0px;}
-div.rbtoc1415382419537 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1415382419537 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1415897192618 {padding: 0px;}
+div.rbtoc1415897192618 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1415897192618 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]*//style/pdiv class=toc-macro rbtoc1415382419537
+/*]]*//style/pdiv class=toc-macro rbtoc1415897192618
 ul class=toc-indentationlia shape=rect 
href=#JAX-RSOAuth2-JAX-RS:OAuth2JAX-RS: OAuth2/a/lilia shape=rect 
href=#JAX-RSOAuth2-IntroductionIntroduction/a/lilia shape=rect 
href=#JAX-RSOAuth2-MavendependenciesMaven dependencies/a/lilia 
shape=rect href=#JAX-RSOAuth2-ClientRegistrationClient 
Registration/a/lilia shape=rect 
href=#JAX-RSOAuth2-DevelopingOAuth2ServersDeveloping OAuth2 Servers/a
 ul class=toc-indentationlia shape=rect 
href=#JAX-RSOAuth2-AuthorizationServiceAuthorization Service/a
-ul class=toc-indentationlia shape=rect 
href=#JAX-RSOAuth2-EndUserNameinAuthorizationFormEndUser Name in 
Authorization Form/a/lilia shape=rect 
href=#JAX-RSOAuth2-PublicClients(Devices)Public Clients (Devices)/a
+ul class=toc-indentationlia shape=rect 
href=#JAX-RSOAuth2-HowtocreateAuthorizationViewHow to create Authorization 
View/a/lilia shape=rect 
href=#JAX-RSOAuth2-EndUserNameinAuthorizationFormEndUser Name in 
Authorization Form/a/lilia shape=rect 
href=#JAX-RSOAuth2-PublicClients(Devices)Public Clients (Devices)/a
 ul class=toc-indentationlia shape=rect 
href=#JAX-RSOAuth2-OOBResponseOOB Response/a/lilia shape=rect 
href=#JAX-RSOAuth2-SecurecodeacquisitionwithredirectURISecure code 
acquisition with redirect URI/a/li/ul
 /li/ul
 /lilia shape=rect 
href=#JAX-RSOAuth2-AccessTokenServiceAccessTokenService/a
@@ -177,7 +177,7 @@ Referer=[http://localhost:8080/services/
 script class=theme: Default; brush: xml; gutter: false 
type=syntaxhighlighter![CDATA[12-Apr-2012 13:26:21 
org.apache.cxf.rs.security.oauth2.services.AbstractOAuthService 
checkTransportSecurity
 WARNING: Unsecure HTTP, Transport Layer Security is recommended
 ]]/script
-/div/divpIt can also be configured to reject the requests over un-secure 
HTTP transport./ppAuthorizationCodeGrantService will retrieve the 
information about the a shape=rect class=external-link 
href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/Client.java;client
 application/a to populate an instance of a shape=rect 
class=external-link 
href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java;OAuthAuthorizationData/a
 bean and return it. OAuthAuthorizationData contains application name and URI 
properties, optional list of a shape=rect class=external-link 
href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/Permission.java;Permission/as
 and other properties which can be either
  presented to the user or kept in the hidden form fields in order to uniquely 
identify the actual authorization request when the end user returns the 
decision./ppOne important OAuthAuthorizationData property is 
authenticityToken. It is used for validating that the current session has not 
been hijacked - AuthorizationCodeGrantService generates a random key, stores it 
in a Servlet HTTPSession instance and expects the returned authenticityToken 
value to match it - this is a recommended approach and it also implies that the 
authenticityToken value is hidden from a user, for example, it's kept in a 
'hidden' form field. The other properties which are meant to be hidden are 
clientId, state, redirectUri, proposedScope./ppThe helper replyTo 
property is an absolute URI identifying the AuthorizationCodeGrantService 
handler processing the user decision and can be used by view handlers when 
building the forms or by other OAuthAuthorizationData handlers./ppSo the 

cxf git commit: Updating OIDC utils

2014-11-13 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/master eb3dd9380 - 3d2e276bb


Updating OIDC utils


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/3d2e276b
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/3d2e276b
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/3d2e276b

Branch: refs/heads/master
Commit: 3d2e276bbda7eb67348089db2e7ea7279731e701
Parents: eb3dd93
Author: Sergey Beryozkin sberyoz...@talend.com
Authored: Thu Nov 13 17:42:37 2014 +
Committer: Sergey Beryozkin sberyoz...@talend.com
Committed: Thu Nov 13 17:42:37 2014 +

--
 .../rs/security/oidc/rp/IdTokenValidator.java   |  47 +
 .../cxf/rs/security/oidc/rp/TokenValidator.java | 190 ---
 2 files changed, 47 insertions(+), 190 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/3d2e276b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
--
diff --git 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
new file mode 100644
index 000..8bb116e
--- /dev/null
+++ 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
@@ -0,0 +1,47 @@
+/**
+ * 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.rs.security.oidc.rp;
+
+import org.apache.cxf.rs.security.jose.jwt.JwtToken;
+import org.apache.cxf.rs.security.oauth2.common.ClientAccessToken;
+import org.apache.cxf.rs.security.oidc.common.UserIdToken;
+
+public class IdTokenValidator extends AbstractTokenValidator {
+private boolean requireAtHash = true;
+
+public UserIdToken getIdTokenFromJwt(ClientAccessToken at, String 
clientId) {
+JwtToken jwt = getIdJwtToken(at, clientId);
+return getIdTokenFromJwt(jwt, clientId);
+}
+public UserIdToken getIdTokenFromJwt(JwtToken jwt, String clientId) {
+//TODO: do the extra validation if needed
+return new UserIdToken(jwt.getClaims().asMap());
+}
+public JwtToken getIdJwtToken(ClientAccessToken at, String clientId) {
+String idJwtToken = at.getParameters().get(id_token);
+JwtToken jwt = getJwtToken(idJwtToken, clientId, null, false);
+validateJwtClaims(jwt.getClaims(), clientId, true);
+OidcUtils.validateAccessTokenHash(at, jwt, requireAtHash);
+return jwt;
+}
+
+public void setRequireAtHash(boolean requireAtHash) {
+this.requireAtHash = requireAtHash;
+}
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/3d2e276b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
--
diff --git 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
deleted file mode 100644
index 483059e..000
--- 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * 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
- * 

cxf git commit: Updating OIDC utils

2014-11-13 Thread sergeyb
Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 25e676f2d - 657f7112d


Updating OIDC utils


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/657f7112
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/657f7112
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/657f7112

Branch: refs/heads/3.0.x-fixes
Commit: 657f7112d1bff18d71c564e147e04e424cd4c8b9
Parents: 25e676f
Author: Sergey Beryozkin sberyoz...@talend.com
Authored: Thu Nov 13 17:42:37 2014 +
Committer: Sergey Beryozkin sberyoz...@talend.com
Committed: Thu Nov 13 17:43:32 2014 +

--
 .../rs/security/oidc/rp/IdTokenValidator.java   |  47 +
 .../cxf/rs/security/oidc/rp/TokenValidator.java | 190 ---
 2 files changed, 47 insertions(+), 190 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/657f7112/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
--
diff --git 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
new file mode 100644
index 000..8bb116e
--- /dev/null
+++ 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java
@@ -0,0 +1,47 @@
+/**
+ * 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.rs.security.oidc.rp;
+
+import org.apache.cxf.rs.security.jose.jwt.JwtToken;
+import org.apache.cxf.rs.security.oauth2.common.ClientAccessToken;
+import org.apache.cxf.rs.security.oidc.common.UserIdToken;
+
+public class IdTokenValidator extends AbstractTokenValidator {
+private boolean requireAtHash = true;
+
+public UserIdToken getIdTokenFromJwt(ClientAccessToken at, String 
clientId) {
+JwtToken jwt = getIdJwtToken(at, clientId);
+return getIdTokenFromJwt(jwt, clientId);
+}
+public UserIdToken getIdTokenFromJwt(JwtToken jwt, String clientId) {
+//TODO: do the extra validation if needed
+return new UserIdToken(jwt.getClaims().asMap());
+}
+public JwtToken getIdJwtToken(ClientAccessToken at, String clientId) {
+String idJwtToken = at.getParameters().get(id_token);
+JwtToken jwt = getJwtToken(idJwtToken, clientId, null, false);
+validateJwtClaims(jwt.getClaims(), clientId, true);
+OidcUtils.validateAccessTokenHash(at, jwt, requireAtHash);
+return jwt;
+}
+
+public void setRequireAtHash(boolean requireAtHash) {
+this.requireAtHash = requireAtHash;
+}
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/657f7112/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
--
diff --git 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
 
b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
deleted file mode 100644
index 483059e..000
--- 
a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/**
- * 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 

[1/6] cxf git commit: Make sure the netty client is optional can can not cause failures if netty isn't found

2014-11-13 Thread dkulp
Repository: cxf
Updated Branches:
  refs/heads/master 3d2e276bb - 865eb64d4


Make sure the netty client is optional can can not cause failures if netty 
isn't found


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e8f57ccf
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e8f57ccf
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e8f57ccf

Branch: refs/heads/master
Commit: e8f57ccfa5de43e84083f40f8ead640961895e51
Parents: 4505b6b
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 11:48:53 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:43 2014 -0500

--
 .../cxf/transport/http/netty/client/NettyHttpConduitFactory.java   | 1 +
 .../src/main/resources/META-INF/cxf/bus-extensions.txt | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/e8f57ccf/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java
--
diff --git 
a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java
 
b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java
index c07f9bb..a32c66c 100644
--- 
a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java
+++ 
b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java
@@ -67,6 +67,7 @@ public class NettyHttpConduitFactory implements 
HTTPConduitFactory {
 
 UseAsyncPolicy policy;
 public NettyHttpConduitFactory() {
+io.netty.util.Version.identify();
 Object st = SystemPropertyAction.getPropertyOrNull(USE_POLICY);
 policy = UseAsyncPolicy.getPolicy(st);
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/e8f57ccf/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt
--
diff --git 
a/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt
 
b/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt
index 48d5cbd..b63a389 100644
--- 
a/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt
+++ 
b/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt
@@ -1,2 +1,2 @@
 org.apache.cxf.transport.http.netty.client.NettyHttpTransportFactory::true
-org.apache.cxf.transport.http.netty.client.NettyHttpConduitFactory::true
+org.apache.cxf.transport.http.netty.client.NettyHttpConduitFactory::true:true



[5/6] cxf git commit: Maintain the order that extensions are discovered/added and use that order when searching to allow some level of predictability and controlability.

2014-11-13 Thread dkulp
Maintain the order that extensions are discovered/added and use that order when 
searching to allow some level of predictability and controlability.


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/82d73deb
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/82d73deb
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/82d73deb

Branch: refs/heads/master
Commit: 82d73deb6c20c88abdecf1fa60987c453dca32cc
Parents: 6e3f69d
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 11:37:53 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:43 2014 -0500

--
 .../cxf/bus/extension/ExtensionManagerImpl.java | 28 +---
 1 file changed, 19 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/82d73deb/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
--
diff --git 
a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java 
b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
index 1a5ee00..62d1944 100644
--- a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
+++ b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
@@ -32,6 +32,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.logging.Logger;
 
 import org.apache.cxf.Bus;
@@ -56,6 +57,7 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 private final ClassLoader loader;
 private ResourceManager resourceManager;
 private MapString, Extension all = new ConcurrentHashMapString, 
Extension();
+private ListExtension ordered = new CopyOnWriteArrayListExtension();
 private final MapClass?, Object activated;
 private final Bus bus;
 
@@ -91,6 +93,7 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 for (Map.EntryString, Extension ext : 
ExtensionRegistry.getRegisteredExtensions().entrySet()) {
 if (!all.containsKey(ext.getKey())) {
 all.put(ext.getKey(), ext.getValue());
+ordered.add(ext.getValue());
 }
 }
 }
@@ -109,10 +112,11 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 }
 public void add(Extension ex) {
 all.put(ex.getName(), ex);
+ordered.add(ex);
 }
 
 public void initialize() {
-for (Extension e : all.values()) {
+for (Extension e : ordered) {
 if (!e.isDeferred()  e.getLoadedObject() == null) {
 loadAndRegister(e);
 }
@@ -121,18 +125,21 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 
 public void removeBeansOfNames(ListString names) {
 for (String s : names) {
-all.remove(s);
+Extension ex = all.remove(s);
+if (ex != null) {
+ordered.remove(ex);
+}
 }
 }
 public void activateAll() {
-for (Extension e : all.values()) {
+for (Extension e : ordered) {
 if (e.getLoadedObject() == null) {
 loadAndRegister(e);
 }
 }
 }
 public T void activateAllByType(ClassT type) {
-for (Extension e : all.values()) {
+for (Extension e : ordered) {
 if (e.getLoadedObject() == null) {
 Class? cls = e.getClassObject(loader);
 if (cls != null  type.isAssignableFrom(cls)) {
@@ -178,6 +185,7 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 }
 if (!all.containsKey(e.getName())) {
 all.put(e.getName(), e);
+ordered.add(e);
 }
 }
 } finally {
@@ -292,7 +300,7 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 }
 public ListString getBeanNamesOfType(Class? type) {
 ListString ret = new LinkedListString();
-for (Extension ex : all.values()) {
+for (Extension ex : ordered) {
 Class? cls = ex.getClassObject(loader);
 if (cls != null  type.isAssignableFrom(cls)) {
 synchronized (ex) {
@@ -325,11 +333,13 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 if (ext.getLoadedObject() == null) {
 loadAndRegister(ext);
 }
-

[3/6] cxf git commit: If the requested extension could not be loaded, but was optional, don't add a null to the return collection or an NPE will result

2014-11-13 Thread dkulp
If the requested extension could not be loaded, but was optional, don't add a 
null to the return collection or an NPE will result


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8e1dc05f
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8e1dc05f
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8e1dc05f

Branch: refs/heads/master
Commit: 8e1dc05fcd9c2b6b3e9d7cd0eef70471e5cd0b97
Parents: 3d2e276
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 11:20:37 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:43 2014 -0500

--
 .../java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java  | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/8e1dc05f/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
--
diff --git 
a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java 
b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
index 620a7b9..1a5ee00 100644
--- a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
+++ b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java
@@ -337,7 +337,9 @@ public class ExtensionManagerImpl implements 
ExtensionManager, ConfiguredBeanLoc
 if (ex.getLoadedObject() == null) {
 loadAndRegister(ex);
 }
-ret.add(type.cast(ex.getLoadedObject()));
+if (ex.getLoadedObject() != null) {
+ret.add(type.cast(ex.getLoadedObject()));
+}
 }
 }
 }



[4/6] cxf git commit: Detect if the netty libraries are there and not load teh dest factory if they aren't. Mark it optional.

2014-11-13 Thread dkulp
Detect if the netty libraries are there and not load teh dest factory if they 
aren't.   Mark it optional.


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6e3f69d1
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6e3f69d1
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6e3f69d1

Branch: refs/heads/master
Commit: 6e3f69d1799d77889582dce788ed79bbca3419f5
Parents: 8e1dc05
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 11:21:05 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:43 2014 -0500

--
 .../http/netty/server/NettyHttpDestinationFactory.java  | 5 +
 .../src/main/resources/META-INF/cxf/bus-extensions.txt  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/6e3f69d1/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java
--
diff --git 
a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java
 
b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java
index a086ecd..a502847 100644
--- 
a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java
+++ 
b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java
@@ -19,6 +19,7 @@
 
 package org.apache.cxf.transport.http.netty.server;
 
+
 import java.io.IOException;
 
 import org.apache.cxf.Bus;
@@ -30,6 +31,10 @@ import org.apache.cxf.transport.http.HttpDestinationFactory;
 
 @NoJSR250Annotations()
 public class NettyHttpDestinationFactory implements HttpDestinationFactory {
+
+public NettyHttpDestinationFactory() {
+io.netty.util.Version.identify();
+}
 
 public AbstractHTTPDestination createDestination(EndpointInfo 
endpointInfo, Bus bus,
  DestinationRegistry 
registry) throws IOException {

http://git-wip-us.apache.org/repos/asf/cxf/blob/6e3f69d1/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt
--
diff --git 
a/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt
 
b/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt
index 17b637f..d7f4cbb 100644
--- 
a/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt
+++ 
b/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt
@@ -1,3 +1,3 @@
 org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory::true
-org.apache.cxf.transport.http.netty.server.NettyHttpDestinationFactory::true
+org.apache.cxf.transport.http.netty.server.NettyHttpDestinationFactory::true:true
 org.apache.cxf.transport.http.netty.server.NettyHttpServerEngineFactory::true



[6/6] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests

2014-11-13 Thread dkulp
[CXF-4242] Adjust how the exception is output in the stack trace as well as how 
it's created on the client.
Fixes the failing tests


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/865eb64d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/865eb64d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/865eb64d

Branch: refs/heads/master
Commit: 865eb64d44fd4e904f166cb03b0d15ca8b5f0ba5
Parents: e8f57cc
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 13:16:37 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:44 2014 -0500

--
 .../cxf/interceptor/ClientFaultConverter.java   | 27 +---
 .../interceptor/AbstractSoapInterceptor.java|  3 ++-
 .../details/Soap11ClientServerTest.java |  2 +-
 .../details/Soap12ClientServerTest.java |  1 +
 4 files changed, 28 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/865eb64d/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
--
diff --git 
a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java 
b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
index 9f2a178..3391779 100644
--- a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
+++ b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
@@ -260,8 +260,14 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 if (!stackTraceList.isEmpty()) {
 StackTraceElement[] stackTraceElement = new 
StackTraceElement[stackTraceList.size()];
 e.setStackTrace(stackTraceList.toArray(stackTraceElement));
-}
-if (cause != null) {
+} else if (cause != null
+ cause.getMessage() != null
+ cause.getMessage().startsWith(e.getClass().getName())) {
+e.setStackTrace(cause.getStackTrace());
+if (cause.getCause() != null) {
+e.initCause(cause.getCause());
+}
+} else if (cause != null) {
 e.initCause(cause);
 }
 }
@@ -273,7 +279,22 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 private Throwable getCause(IteratorString linesIterator, String 
firstLine) {
 // The actual exception class of the cause might be unavailable at the
 // client - use a standard throwable to represent the cause.
-Throwable res = new 
Throwable(firstLine.substring(firstLine.indexOf(:) + 2));
+firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim();
+Throwable res = null;
+if (firstLine.indexOf(:) != -1) {
+String cn = firstLine.substring(0, firstLine.indexOf(:)).trim();
+if (cn.startsWith(java.lang)) {
+try {
+res = 
(Throwable)Class.forName(cn).getConstructor(String.class)
+
.newInstance(firstLine.substring(firstLine.indexOf(:) + 2));
+} catch (Throwable t) {
+//ignore, use the default
+}
+}
+}
+if (res == null) {
+res = new Throwable(firstLine);
+}
 ListStackTraceElement stackTraceList = new 
ArrayListStackTraceElement();
 while (linesIterator.hasNext()) {
 String oneLine = linesIterator.next();

http://git-wip-us.apache.org/repos/asf/cxf/blob/865eb64d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 1815a99..096ca02 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -72,7 +72,8 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
-sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
+sb.append(Caused by: 
).append(throwable.getClass().getCanonicalName())
+.append(:  + throwable.getMessage() + 

[2/6] cxf git commit: Remove the netty libs from lib (but keep the CXF plugins which should now be properly optional based on presense of netty libs). Need to make sure Netty transport is not picked u

2014-11-13 Thread dkulp
Remove the netty libs from lib (but keep the CXF plugins which should now be 
properly optional based on presense of netty libs).  Need to make sure Netty 
transport is not picked up by default due to issues.


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4505b6b4
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4505b6b4
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4505b6b4

Branch: refs/heads/master
Commit: 4505b6b49200183998a46f42459bd17c376c80ea
Parents: 82d73de
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 11:42:39 2014 -0500
Committer: Daniel Kulp dk...@apache.org
Committed: Thu Nov 13 13:19:43 2014 -0500

--
 distribution/pom.xml | 10 ++
 1 file changed, 10 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/4505b6b4/distribution/pom.xml
--
diff --git a/distribution/pom.xml b/distribution/pom.xml
index c2865bd..a890548 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -169,12 +169,22 @@
 groupIdorg.apache.geronimo.specs/groupId
 artifactIdgeronimo-servlet_2.5_spec/artifactId
 /exclusion
+exclusion
+groupIdio.netty/groupId
+artifactIdnetty-codec-http/artifactId
+/exclusion
 /exclusions
 /dependency
 dependency
 groupId${project.groupId}/groupId
 artifactIdcxf-rt-transports-http-netty-client/artifactId
 version${project.version}/version
+exclusions
+exclusion
+groupIdio.netty/groupId
+artifactIdnetty-codec-http/artifactId
+/exclusion
+/exclusions
 /dependency
 dependency
 groupIdorg.slf4j/groupId



[3/3] cxf git commit: Recording .gitmergeinfo Changes

2014-11-13 Thread asoldano
Recording .gitmergeinfo Changes


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/a0e70fbf
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/a0e70fbf
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/a0e70fbf

Branch: refs/heads/3.0.x-fixes
Commit: a0e70fbf33886556bd38bd6548207b1358224856
Parents: affbb7d
Author: Alessio Soldano asold...@redhat.com
Authored: Thu Nov 13 23:49:23 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:49:23 2014 +0100

--
 .gitmergeinfo | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/a0e70fbf/.gitmergeinfo
--
diff --git a/.gitmergeinfo b/.gitmergeinfo
index 0ccb296..a467367 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -126,6 +126,7 @@ M 64368a5ddad507fa5d7016cbd07f3e9b5b5fd594
 M 67201fdde69488e511deb3d24794984afc01fe2d
 M 7431af236a19b5b5f899bad317a548a4c5c9cd49
 M 816e1a5ef4c0992a7d084a0529e42d9ad6a4a3c6
+M 865eb64d44fd4e904f166cb03b0d15ca8b5f0ba5
 M 89b87071f3dedd2cd5ed874e56f69ab7dcf7953d
 M 8bcb5133c602b1cbe642cfd5fbb46099a28b3016
 M 98a578dbf4b7e19c4555bd2011f24c650d0f54c0
@@ -139,5 +140,6 @@ M c34bf7ad6bc55b6584dfd009f49a3f4eb8ececc9
 M c55664128b1223667dedacc2011ccd5945d9c8b9
 M d2dec5b87788b8cb5059d3719cf3dfd7135a1280
 M e2ad037fbc74f42655ac968415fcb4bded87bb38
+M eb3dd938052b3e853b0cf85dacf31ef7f802af38
 M f02b02934bf78504ffc462c364dc43e386e727b2
 M fb0520525f07041f42bc0562b4a15240bb757373



[1/3] cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace

2014-11-13 Thread asoldano
Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 657f7112d - a0e70fbf3


[CXF-4242] Add exception name to faultstring/detail/stackTrace


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/22b11250
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/22b11250
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/22b11250

Branch: refs/heads/3.0.x-fixes
Commit: 22b11250576d29d99b5e41062b83361175a0b648
Parents: 657f711
Author: Alessio Soldano asold...@redhat.com
Authored: Thu Nov 13 16:12:57 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:05:44 2014 +0100

--
 .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java   | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/22b11250/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 18999ff..1815a99 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -72,6 +72,7 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
+sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
 while (throwable != null) {
 for (StackTraceElement ste : throwable.getStackTrace()) {
 sb.append(ste.getClassName() + ! + ste.getMethodName() + 
! + ste.getFileName() + !



[2/3] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests

2014-11-13 Thread asoldano
[CXF-4242] Adjust how the exception is output in the stack trace as well as how 
it's created on the client.
Fixes the failing tests


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/affbb7da
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/affbb7da
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/affbb7da

Branch: refs/heads/3.0.x-fixes
Commit: affbb7daebc6aad7d9e64ee0f602d901e406c915
Parents: 22b1125
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 13:16:37 2014 -0500
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:05:59 2014 +0100

--
 .../cxf/interceptor/ClientFaultConverter.java   | 27 +---
 .../interceptor/AbstractSoapInterceptor.java|  3 ++-
 .../details/Soap11ClientServerTest.java |  2 +-
 .../details/Soap12ClientServerTest.java |  1 +
 4 files changed, 28 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/affbb7da/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
--
diff --git 
a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java 
b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
index 9f2a178..3391779 100644
--- a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
+++ b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
@@ -260,8 +260,14 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 if (!stackTraceList.isEmpty()) {
 StackTraceElement[] stackTraceElement = new 
StackTraceElement[stackTraceList.size()];
 e.setStackTrace(stackTraceList.toArray(stackTraceElement));
-}
-if (cause != null) {
+} else if (cause != null
+ cause.getMessage() != null
+ cause.getMessage().startsWith(e.getClass().getName())) {
+e.setStackTrace(cause.getStackTrace());
+if (cause.getCause() != null) {
+e.initCause(cause.getCause());
+}
+} else if (cause != null) {
 e.initCause(cause);
 }
 }
@@ -273,7 +279,22 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 private Throwable getCause(IteratorString linesIterator, String 
firstLine) {
 // The actual exception class of the cause might be unavailable at the
 // client - use a standard throwable to represent the cause.
-Throwable res = new 
Throwable(firstLine.substring(firstLine.indexOf(:) + 2));
+firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim();
+Throwable res = null;
+if (firstLine.indexOf(:) != -1) {
+String cn = firstLine.substring(0, firstLine.indexOf(:)).trim();
+if (cn.startsWith(java.lang)) {
+try {
+res = 
(Throwable)Class.forName(cn).getConstructor(String.class)
+
.newInstance(firstLine.substring(firstLine.indexOf(:) + 2));
+} catch (Throwable t) {
+//ignore, use the default
+}
+}
+}
+if (res == null) {
+res = new Throwable(firstLine);
+}
 ListStackTraceElement stackTraceList = new 
ArrayListStackTraceElement();
 while (linesIterator.hasNext()) {
 String oneLine = linesIterator.next();

http://git-wip-us.apache.org/repos/asf/cxf/blob/affbb7da/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 1815a99..096ca02 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -72,7 +72,8 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
-sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
+sb.append(Caused by: 
).append(throwable.getClass().getCanonicalName())
+.append(:  + throwable.getMessage() + 

cxf git commit: Removing useless printstacktrace

2014-11-13 Thread asoldano
Repository: cxf
Updated Branches:
  refs/heads/master 865eb64d4 - cc5f43b74


Removing useless printstacktrace


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/cc5f43b7
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/cc5f43b7
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/cc5f43b7

Branch: refs/heads/master
Commit: cc5f43b742e1350558669229143553d0c8d66d89
Parents: 865eb64
Author: Alessio Soldano asold...@redhat.com
Authored: Thu Nov 13 23:52:24 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:52:24 2014 +0100

--
 .../cxf/systest/soapfault/details/Soap12ClientServerTest.java   | 1 -
 1 file changed, 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/cc5f43b7/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java
--
diff --git 
a/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java
 
b/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java
index b3c50c9..83acb5b 100644
--- 
a/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java
+++ 
b/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java
@@ -73,7 +73,6 @@ public class Soap12ClientServerTest extends 
AbstractBusClientServerTestBase {
 assertEquals((short)1, detail.getMinor());
 assertEquals(PingMeFault raised by server, ex.getMessage());
 StackTraceElement[] element = ex.getStackTrace();
-ex.printStackTrace();
 
assertEquals(org.apache.cxf.systest.soapfault.details.GreeterImpl12, 
element[0].getClassName());
 }
 }



[3/3] cxf git commit: Recording .gitmergeinfo Changes

2014-11-13 Thread asoldano
Recording .gitmergeinfo Changes


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/98cef394
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/98cef394
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/98cef394

Branch: refs/heads/2.7.x-fixes
Commit: 98cef39438425c039d98d326206444367caf7e46
Parents: 47eee20
Author: Alessio Soldano asold...@redhat.com
Authored: Fri Nov 14 00:01:50 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Fri Nov 14 00:01:50 2014 +0100

--
 .gitmergeinfo | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/98cef394/.gitmergeinfo
--
diff --git a/.gitmergeinfo b/.gitmergeinfo
index dee51d8..e1e1a77 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -1629,6 +1629,7 @@ M 21d14505faa3674855c7e1d43717ebe533e43595
 M 21e29bc256f229712f39f183c3f92a947a27dece
 M 21e4bad7687de0b1c09c6645b6b411e5a05b7da5
 M 2236f57130b8cdce3a2469931d5df56f5515c916
+M 22b11250576d29d99b5e41062b83361175a0b648
 M 2319407b4fdbb14e65118fa41fed92e2361de551
 M 240a24dc15260b72fabe0d590b111516138bf99a
 M 245418710f833ec620c54f14acc81eea15b85c09
@@ -2007,6 +2008,7 @@ M adc6a4666165dfa5d4c5b25e02a06dabe64084cf
 M add1748d867d7d2841cee5b8892cd924eccd763e
 M ae9468de2c91817cdfd0046ea22509dc6e47c8a7
 M aebae33d87cb107dbec5cd104367a85dd50ca806
+M affbb7daebc6aad7d9e64ee0f602d901e406c915
 M b023ff3f98d144b6042412be27876772d78de2b5
 M b03c1404c39f53fb1a590671ff02db04b1c45403
 M b08039d2f0914bdaf71cd6ec416bfa901ab708ea



[2/3] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests

2014-11-13 Thread asoldano
[CXF-4242] Adjust how the exception is output in the stack trace as well as how 
it's created on the client.
Fixes the failing tests


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/47eee20c
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/47eee20c
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/47eee20c

Branch: refs/heads/2.7.x-fixes
Commit: 47eee20c1bd51a2a97ad5423069393f1c9b8a2b7
Parents: d2744ca
Author: Daniel Kulp dk...@apache.org
Authored: Thu Nov 13 13:16:37 2014 -0500
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:54:50 2014 +0100

--
 .../cxf/interceptor/ClientFaultConverter.java   | 27 +---
 .../interceptor/AbstractSoapInterceptor.java|  3 ++-
 .../details/Soap11ClientServerTest.java |  2 +-
 .../details/Soap12ClientServerTest.java |  1 +
 4 files changed, 28 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/47eee20c/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
--
diff --git 
a/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java 
b/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
index 9f2a178..3391779 100644
--- a/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
+++ b/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java
@@ -260,8 +260,14 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 if (!stackTraceList.isEmpty()) {
 StackTraceElement[] stackTraceElement = new 
StackTraceElement[stackTraceList.size()];
 e.setStackTrace(stackTraceList.toArray(stackTraceElement));
-}
-if (cause != null) {
+} else if (cause != null
+ cause.getMessage() != null
+ cause.getMessage().startsWith(e.getClass().getName())) {
+e.setStackTrace(cause.getStackTrace());
+if (cause.getCause() != null) {
+e.initCause(cause.getCause());
+}
+} else if (cause != null) {
 e.initCause(cause);
 }
 }
@@ -273,7 +279,22 @@ public class ClientFaultConverter extends 
AbstractInDatabindingInterceptor {
 private Throwable getCause(IteratorString linesIterator, String 
firstLine) {
 // The actual exception class of the cause might be unavailable at the
 // client - use a standard throwable to represent the cause.
-Throwable res = new 
Throwable(firstLine.substring(firstLine.indexOf(:) + 2));
+firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim();
+Throwable res = null;
+if (firstLine.indexOf(:) != -1) {
+String cn = firstLine.substring(0, firstLine.indexOf(:)).trim();
+if (cn.startsWith(java.lang)) {
+try {
+res = 
(Throwable)Class.forName(cn).getConstructor(String.class)
+
.newInstance(firstLine.substring(firstLine.indexOf(:) + 2));
+} catch (Throwable t) {
+//ignore, use the default
+}
+}
+}
+if (res == null) {
+res = new Throwable(firstLine);
+}
 ListStackTraceElement stackTraceList = new 
ArrayListStackTraceElement();
 while (linesIterator.hasNext()) {
 String oneLine = linesIterator.next();

http://git-wip-us.apache.org/repos/asf/cxf/blob/47eee20c/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index 2c52488..4709a3c 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -79,7 +79,8 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
-sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
+sb.append(Caused by: 
).append(throwable.getClass().getCanonicalName())
+.append(:  + throwable.getMessage() + 

[1/3] cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace

2014-11-13 Thread asoldano
Repository: cxf
Updated Branches:
  refs/heads/2.7.x-fixes 1ea3fc166 - 98cef3943


[CXF-4242] Add exception name to faultstring/detail/stackTrace


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d2744cae
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d2744cae
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d2744cae

Branch: refs/heads/2.7.x-fixes
Commit: d2744caec14ba45003970b5e8e4622406d4248fa
Parents: 1ea3fc1
Author: Alessio Soldano asold...@redhat.com
Authored: Thu Nov 13 16:12:57 2014 +0100
Committer: Alessio Soldano asold...@redhat.com
Committed: Thu Nov 13 23:54:26 2014 +0100

--
 .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java   | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cxf/blob/d2744cae/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
--
diff --git 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
index c3f666b..2c52488 100644
--- 
a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
+++ 
b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java
@@ -79,6 +79,7 @@ public abstract class AbstractSoapInterceptor extends 
AbstractPhaseInterceptorS
 if (config  fault.getCause() != null) {
 StringBuilder sb = new StringBuilder();
 Throwable throwable = fault.getCause();
+sb.append(throwable.getClass().getCanonicalName() +  :  + 
throwable.getMessage() + \n);
 while (throwable != null) {
 for (StackTraceElement ste : throwable.getStackTrace()) {
 sb.append(ste.getClassName() + ! + ste.getMethodName() + 
! + ste.getFileName() + !