001 /* 002 // $Id: XmlaHelper.java 482 2012-01-05 23:27:27Z jhyde $ 003 // 004 // Licensed to Julian Hyde under one or more contributor license 005 // agreements. See the NOTICE file distributed with this work for 006 // additional information regarding copyright ownership. 007 // 008 // Julian Hyde licenses this file to you under the Apache License, 009 // Version 2.0 (the "License"); you may not use this file except in 010 // compliance with the License. You may obtain a copy of the License at: 011 // 012 // http://www.apache.org/licenses/LICENSE-2.0 013 // 014 // Unless required by applicable law or agreed to in writing, software 015 // distributed under the License is distributed on an "AS IS" BASIS, 016 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 017 // See the License for the specific language governing permissions and 018 // limitations under the License. 019 */ 020 package org.olap4j.driver.xmla; 021 022 import org.olap4j.Cell; 023 import org.olap4j.OlapException; 024 025 import java.sql.SQLException; 026 027 /** 028 * Helper class which encapsulates policies which are 029 * common throughout a driver. These policies include exception handling 030 * and factory methods. 031 * 032 * @author Luc Boudreau 033 * @version $Id: XmlaHelper.java 482 2012-01-05 23:27:27Z jhyde $ 034 */ 035 public class XmlaHelper { 036 037 public OlapException createException(String msg) { 038 return new OlapException(msg); 039 } 040 041 public OlapException createException(Throwable cause) { 042 return new OlapException(cause.getMessage(), cause); 043 } 044 045 public OlapException createException(String msg, Throwable cause) { 046 return new OlapException(msg, cause); 047 } 048 049 public OlapException createException(Cell context, String msg) { 050 OlapException exception = new OlapException(msg); 051 exception.setContext(context); 052 return exception; 053 } 054 055 public OlapException createException( 056 Cell context, String msg, Throwable cause) 057 { 058 OlapException exception = new OlapException(msg, cause); 059 exception.setContext(context); 060 return exception; 061 } 062 063 public OlapException toOlapException(SQLException e) { 064 if (e instanceof OlapException) { 065 return (OlapException) e; 066 } else { 067 return new OlapException(null, e); 068 } 069 } 070 } 071 072 // End XmlaHelper.java