You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2011/06/08 12:51:42 UTC
svn commit: r1133337 - in /chemistry/opencmis/trunk:
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/...
Author: fmui
Date: Wed Jun 8 10:51:42 2011
New Revision: 1133337
URL: http://svn.apache.org/viewvc?rev=1133337&view=rev
Log:
added authentication exceptions
Added:
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java (with props)
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/AbstractAtomPubService.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractPortProvider.java
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/AbstractAtomPubService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/AbstractAtomPubService.java?rev=1133337&r1=1133336&r2=1133337&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/AbstractAtomPubService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/atompub/AbstractAtomPubService.java Wed Jun 8 10:51:42 2011
@@ -58,9 +58,11 @@ import org.apache.chemistry.opencmis.com
import org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisProxyAuthenticationException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisStorageException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisStreamNotSupportedException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisUpdateConflictException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisVersioningException;
import org.apache.chemistry.opencmis.commons.impl.Constants;
@@ -417,15 +419,19 @@ public class AbstractAtomPubService impl
return new CmisFilterNotValidException(message, errorContent, t);
}
return new CmisInvalidArgumentException(message, errorContent, t);
- case 404:
- return new CmisObjectNotFoundException(message, errorContent, t);
+ case 401:
+ return new CmisUnauthorizedException(message, errorContent, t);
case 403:
if (CmisStreamNotSupportedException.EXCEPTION_NAME.equals(exception)) {
return new CmisStreamNotSupportedException(message, errorContent, t);
}
return new CmisPermissionDeniedException(message, errorContent, t);
+ case 404:
+ return new CmisObjectNotFoundException(message, errorContent, t);
case 405:
return new CmisNotSupportedException(message, errorContent, t);
+ case 407:
+ return new CmisProxyAuthenticationException(message, errorContent, t);
case 409:
if (CmisContentAlreadyExistsException.EXCEPTION_NAME.equals(exception)) {
return new CmisContentAlreadyExistsException(message, errorContent, t);
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractPortProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractPortProvider.java?rev=1133337&r1=1133336&r2=1133337&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractPortProvider.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/AbstractPortProvider.java Wed Jun 8 10:51:42 2011
@@ -28,13 +28,16 @@ import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.Service;
import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.http.HTTPException;
import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper;
import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
import org.apache.chemistry.opencmis.commons.SessionParameter;
import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisProxyAuthenticationException;
import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException;
import org.apache.chemistry.opencmis.commons.impl.jaxb.ACLService;
import org.apache.chemistry.opencmis.commons.impl.jaxb.ACLServicePort;
import org.apache.chemistry.opencmis.commons.impl.jaxb.DiscoveryService;
@@ -249,8 +252,18 @@ public abstract class AbstractPortProvid
} catch (CmisBaseException ce) {
throw ce;
} catch (Exception e) {
- throw new CmisConnectionException("Cannot initalize Web Services service object [" + serviceKey + "]: "
- + e.getMessage(), e);
+ String message = "Cannot initalize Web Services service object [" + serviceKey + "]: " + e.getMessage();
+
+ if (e instanceof HTTPException) {
+ HTTPException he = (HTTPException) e;
+ if (he.getStatusCode() == 401) {
+ throw new CmisUnauthorizedException(message, e);
+ } else if (he.getStatusCode() == 407) {
+ throw new CmisProxyAuthenticationException(message, e);
+ }
+ }
+
+ throw new CmisConnectionException(message, e);
}
return serviceObject;
Added: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java?rev=1133337&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java Wed Jun 8 10:51:42 2011
@@ -0,0 +1,65 @@
+/*
+ * 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.chemistry.opencmis.commons.exceptions;
+
+import java.math.BigInteger;
+
+/**
+ * Proxy authentication exception.
+ *
+ * (This is exception is not defined in the CMIS specification and is therefore
+ * derived from {@link CmisRuntimeException}.)
+ */
+public class CmisProxyAuthenticationException extends CmisRuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public CmisProxyAuthenticationException() {
+ super();
+ }
+
+ public CmisProxyAuthenticationException(String message, BigInteger code, Throwable cause) {
+ super(message, code, cause);
+ }
+
+ public CmisProxyAuthenticationException(String message, String errorContent) {
+ super(message, errorContent);
+ }
+
+ public CmisProxyAuthenticationException(String message, BigInteger code) {
+ super(message, code);
+ }
+
+ public CmisProxyAuthenticationException(String message, BigInteger code, String errorContent) {
+ super(message, code, errorContent);
+ }
+
+ public CmisProxyAuthenticationException(String message, String errorContent, Throwable cause) {
+ super(message, errorContent, cause);
+ }
+
+ public CmisProxyAuthenticationException(String message, Throwable cause) {
+ super(message, BigInteger.ZERO, cause);
+ }
+
+ public CmisProxyAuthenticationException(String message) {
+ super(message, BigInteger.ZERO);
+ }
+
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisProxyAuthenticationException.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java?rev=1133337&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java Wed Jun 8 10:51:42 2011
@@ -0,0 +1,64 @@
+/*
+ * 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.chemistry.opencmis.commons.exceptions;
+
+import java.math.BigInteger;
+
+/**
+ * Unauthorized exception.
+ *
+ * (This is exception is not defined in the CMIS specification and is therefore
+ * derived from {@link CmisRuntimeException}.)
+ */
+public class CmisUnauthorizedException extends CmisRuntimeException {
+
+ private static final long serialVersionUID = 1L;
+
+ public CmisUnauthorizedException() {
+ super();
+ }
+
+ public CmisUnauthorizedException(String message, BigInteger code, Throwable cause) {
+ super(message, code, cause);
+ }
+
+ public CmisUnauthorizedException(String message, String errorContent) {
+ super(message, errorContent);
+ }
+
+ public CmisUnauthorizedException(String message, BigInteger code) {
+ super(message, code);
+ }
+
+ public CmisUnauthorizedException(String message, BigInteger code, String errorContent) {
+ super(message, code, errorContent);
+ }
+
+ public CmisUnauthorizedException(String message, String errorContent, Throwable cause) {
+ super(message, errorContent, cause);
+ }
+
+ public CmisUnauthorizedException(String message, Throwable cause) {
+ super(message, BigInteger.ZERO, cause);
+ }
+
+ public CmisUnauthorizedException(String message) {
+ super(message, BigInteger.ZERO);
+ }
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/exceptions/CmisUnauthorizedException.java
------------------------------------------------------------------------------
svn:eol-style = native