blob: 6e49765a3ab87aeb3cd5b8fab3fb389b53b3c8a0 [file] [log] [blame]
/*
* 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.openejb.util;
import org.apache.openejb.OpenEjbContainer.NoModulesFoundException;
import javax.ejb.EJBException;
import javax.naming.AuthenticationException;
import javax.naming.NamingException;
import javax.transaction.RollbackException;
import java.io.IOException;
import java.io.NotSerializableException;
/**
* @version $Rev: 1165146 $ $Date: 2011-09-05 02:07:54 +0000 (Mon, 05 Sep 2011) $
*/
public class Exceptions {
/**
* Removes the need for a cast when using initCause
*
* @param t
* @param cause
* @return
*/
public static <T extends Throwable> T initCause(T t, Throwable cause) {
return (T) t.initCause(cause);
}
public static IOException newIOException(String message, Throwable cause) {
return initCause(new IOException(message), cause);
}
public static IOException newIOException(Throwable cause) {
return initCause(new IOException(), cause);
}
public static NamingException newNamingException(String message, Throwable cause) {
return initCause(new NamingException(message), cause);
}
public static NamingException newNamingException(Throwable cause) {
return initCause(new NamingException(), cause);
}
public static RollbackException newRollbackException(String message, Throwable cause) {
return initCause(new RollbackException(message), cause);
}
public static RollbackException newRollbackException(Throwable cause) {
return initCause(new RollbackException(), cause);
}
public static AuthenticationException newAuthenticationException(String message, Throwable cause) {
return initCause(new AuthenticationException(message), cause);
}
public static AuthenticationException newAuthenticationException(Throwable cause) {
return initCause(new AuthenticationException(), cause);
}
public static EJBException newEJBException(String message, Throwable cause) {
return initCause(new EJBException(message), cause);
}
public static EJBException newEJBException(Throwable cause) {
return initCause(new EJBException(), cause);
}
public static NotSerializableException newNotSerializableException(String message, Throwable cause) {
return initCause(new NotSerializableException(message), cause);
}
public static NotSerializableException newNotSerializableException(Throwable cause) {
return initCause(new NotSerializableException(), cause);
}
public static NoModulesFoundException newNoModulesFoundException() {
return new NoModulesFoundException(Join.join("\n", "No modules found to deploy.", "1)Maybe descriptors are placed in incorrect location.", "Descriptors could go under: ", "<base-dir>/META-INF or <base-dir>/WEB-INF", "but not directly under <base-dir>", "Check 'Application Discovery via the Classpath' docs page for more info", "2)Maybe no modules are present in the classpath.", "Is 'openejb.base' system property pointing to the intended location?")
);
}
}