org.eclipse.persistence.exceptions.SessionLoaderException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
/*
* Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.exceptions;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.Vector;
import org.eclipse.persistence.exceptions.i18n.ExceptionMessageGenerator;
public class SessionLoaderException extends EclipseLinkException {
public static final int FINAL_EXCEPTION = 9000;
public static final int UNKNOWN_TAG = 9001;
public static final int UNABLE_TO_LOAD_PROJECT_CLASS = 9002;
public static final int UNABLE_TO_PROCESS_TAG = 9003;
public static final int COULD_NOT_FIND_PROJECT_XML = 9004;
public static final int FAILED_TO_LOAD_PROJECT_XML = 9005;
public static final int UNABLE_TO_PARSE_XML = 9006;
public static final int NON_PARSE_EXCEPTION = 9007;
public static final int UN_EXPECTED_VALUE_OF_TAG = 9008;
public static final int UNKNOWN_ATTRIBUTE_OF_TAG = 9009;
public static final int XML_SCHEMA_PARSING_ERROR = 9010;
public static final int SERVER_PLATFORM_NO_LONGER_SUPPORTED = 9011;
public static final int INVALID_SESSION_XML = 9012;
private Vector exceptionList;
/**
* INTERNAL:
* TopLink exceptions should only be thrown by TopLink.
*/
public SessionLoaderException() {
super();
}
/**
* INTERNAL:
* TopLink exceptions should only be thrown by TopLink.
*/
protected SessionLoaderException(String message) {
super(message);
}
/**
* INTERNAL:
* TopLink exceptions should only be thrown by TopLink.
*/
protected SessionLoaderException(String message, Throwable internalException) {
super(message);
setInternalException(internalException);
}
public static SessionLoaderException couldNotFindProjectXml(String fileName) {
Object[] args = { fileName };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, COULD_NOT_FIND_PROJECT_XML, args));
sessionLoaderException.setErrorCode(COULD_NOT_FIND_PROJECT_XML);
return sessionLoaderException;
}
public static SessionLoaderException unkownTagAtNode(String tagName, String nodeName, Throwable exception) {
Object[] args = { tagName, nodeName };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UNKNOWN_TAG, args), exception);
sessionLoaderException.setErrorCode(UNKNOWN_TAG);
return sessionLoaderException;
}
public static SessionLoaderException failedToLoadProjectClass(String className, Throwable exception) {
Object[] args = { className };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UNABLE_TO_LOAD_PROJECT_CLASS, args), exception);
sessionLoaderException.setErrorCode(UNABLE_TO_LOAD_PROJECT_CLASS);
return sessionLoaderException;
}
public static SessionLoaderException failedToLoadProjectXml(String fileName, Throwable exception) {
Object[] args = { fileName };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, FAILED_TO_LOAD_PROJECT_XML, args), exception);
sessionLoaderException.setErrorCode(FAILED_TO_LOAD_PROJECT_XML);
return sessionLoaderException;
}
public static SessionLoaderException failedToLoadTag(String parentNode, String nodeValue, Throwable exception) {
Object[] args = { parentNode, nodeValue };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UNABLE_TO_PROCESS_TAG, args), exception);
sessionLoaderException.setErrorCode(UNABLE_TO_PROCESS_TAG);
return sessionLoaderException;
}
public static SessionLoaderException finalException(Vector exceptionList) {
Object[] args = { Integer.valueOf(exceptionList.size()) };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, FINAL_EXCEPTION, args));
sessionLoaderException.setErrorCode(FINAL_EXCEPTION);
sessionLoaderException.setExceptionList(exceptionList);
return sessionLoaderException;
}
//CR4142
public static SessionLoaderException failedToParseXML(String message, int lineNumber, int columnNumber, Throwable exception) {
Object[] args = { message, Integer.valueOf(lineNumber), Integer.valueOf(columnNumber) };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UNABLE_TO_PARSE_XML, args), exception);
sessionLoaderException.setErrorCode(UNABLE_TO_PARSE_XML);
return sessionLoaderException;
}
public static SessionLoaderException failedToParseXML(String message, Throwable exception) {
Object[] args = { message };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, XML_SCHEMA_PARSING_ERROR, args), exception);
sessionLoaderException.setErrorCode(XML_SCHEMA_PARSING_ERROR);
return sessionLoaderException;
}
public static SessionLoaderException nonParseException(Throwable exception) {
Object[] args = { };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, NON_PARSE_EXCEPTION, args), exception);
sessionLoaderException.setErrorCode(NON_PARSE_EXCEPTION);
return sessionLoaderException;
}
public static SessionLoaderException unexpectedValueOfTag(String nodeValue, String parentNode) {
Object[] args = { nodeValue, parentNode };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UN_EXPECTED_VALUE_OF_TAG, args));
sessionLoaderException.setErrorCode(UN_EXPECTED_VALUE_OF_TAG);
return sessionLoaderException;
}
public static SessionLoaderException unknownAttributeOfTag(String nodeName) {
Object[] args = { nodeName };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, UNKNOWN_ATTRIBUTE_OF_TAG, args));
sessionLoaderException.setErrorCode(UNKNOWN_ATTRIBUTE_OF_TAG);
return sessionLoaderException;
}
public static SessionLoaderException serverPlatformNoLongerSupported(String serverPlatformClassName) {
Object[] args = { serverPlatformClassName };
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, SERVER_PLATFORM_NO_LONGER_SUPPORTED, args));
sessionLoaderException.setErrorCode(SERVER_PLATFORM_NO_LONGER_SUPPORTED);
return sessionLoaderException;
}
public static SessionLoaderException InvalidSessionXML() {
Object[] args = {};
SessionLoaderException sessionLoaderException = new SessionLoaderException(ExceptionMessageGenerator.buildMessage(SessionLoaderException.class, INVALID_SESSION_XML, args));
sessionLoaderException.setErrorCode(INVALID_SESSION_XML);
return sessionLoaderException;
}
public void setExceptionList(Vector list) {
this.exceptionList = list;
}
public Vector getExceptionList() {
return this.exceptionList;
}
/**
* PUBLIC:
* Iterate through the exception list printing out the stack traces.
*/
@Override
public void printStackTrace(PrintWriter writer) {
super.printStackTrace(writer);
if (getExceptionList() != null) {
writer.println("SessionLoaderExceptions:");
Iterator exceptionList = getExceptionList().iterator();
while (exceptionList.hasNext()) {
writer.write("***");
writer.write(cr());
exceptionList.next().printStackTrace(writer);
writer.write(cr());
}
}
writer.flush();
}
@Override
public String toString() {
if (getErrorCode() == FINAL_EXCEPTION) {
StringBuffer buffer = new StringBuffer();
buffer.append(getMessage());
buffer.append(cr());
Iterator exceptionList = getExceptionList().iterator();
while (exceptionList.hasNext()) {
buffer.append("***");
buffer.append(cr());
buffer.append(exceptionList.next().toString());
buffer.append(cr());
}
return buffer.toString();
} else {
return super.toString();
}
}
}