diff options
Diffstat (limited to 'src')
3 files changed, 59 insertions, 0 deletions
| diff --git a/src/main/java/com/amazon/carbonado/FetchInterruptedException.java b/src/main/java/com/amazon/carbonado/FetchInterruptedException.java index 1f8e4a7..762c343 100644 --- a/src/main/java/com/amazon/carbonado/FetchInterruptedException.java +++ b/src/main/java/com/amazon/carbonado/FetchInterruptedException.java @@ -42,4 +42,9 @@ public class FetchInterruptedException extends FetchException {      public FetchInterruptedException(Throwable cause) {
          super(cause);
      }
 +
 +    @Override
 +    protected PersistException makePersistException(String message, Throwable cause) {
 +        return new PersistInterruptedException(message, cause);
 +    }
  }
 diff --git a/src/main/java/com/amazon/carbonado/PersistInterruptedException.java b/src/main/java/com/amazon/carbonado/PersistInterruptedException.java new file mode 100644 index 0000000..28aef0f --- /dev/null +++ b/src/main/java/com/amazon/carbonado/PersistInterruptedException.java @@ -0,0 +1,50 @@ +/*
 + * Copyright 2008 Amazon Technologies, Inc. or its affiliates.
 + * Amazon, Amazon.com and Carbonado are trademarks or registered trademarks
 + * of Amazon Technologies, Inc. or its affiliates.  All rights reserved.
 + *
 + * Licensed 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 com.amazon.carbonado;
 +
 +/**
 + * Thrown from a persist operation that was canceled.
 + *
 + * @author Brian S O'Neill
 + * @since 1.2
 + */
 +public class PersistInterruptedException extends PersistException {
 +    private static final long serialVersionUID = 1;
 +
 +    public PersistInterruptedException() {
 +        super();
 +    }
 +
 +    public PersistInterruptedException(String message) {
 +        super(message);
 +    }
 +
 +    public PersistInterruptedException(String message, Throwable cause) {
 +        super(message, cause);
 +    }
 +
 +    public PersistInterruptedException(Throwable cause) {
 +        super(cause);
 +    }
 +
 +    @Override
 +    protected FetchException makeFetchException(String message, Throwable cause) {
 +        return new FetchInterruptedException(message, cause);
 +    }
 +}
 diff --git a/src/main/java/com/amazon/carbonado/spi/ExceptionTransformer.java b/src/main/java/com/amazon/carbonado/spi/ExceptionTransformer.java index 2064e68..e660162 100644 --- a/src/main/java/com/amazon/carbonado/spi/ExceptionTransformer.java +++ b/src/main/java/com/amazon/carbonado/spi/ExceptionTransformer.java @@ -24,6 +24,7 @@ import java.nio.channels.ClosedByInterruptException;  import com.amazon.carbonado.FetchException;
  import com.amazon.carbonado.FetchInterruptedException;
  import com.amazon.carbonado.PersistException;
 +import com.amazon.carbonado.PersistInterruptedException;
  import com.amazon.carbonado.RepositoryException;
  /**
 @@ -158,6 +159,9 @@ public class ExceptionTransformer {          if (e instanceof PersistException) {
              return (PersistException) e;
          }
 +        if (e instanceof InterruptedIOException) {
 +            return new PersistInterruptedException(e);
 +        }
          if (e instanceof FetchException) {
              return ((FetchException) e).toPersistException();
          }
 | 
