001package org.kuali.ole.docstore.common.exception; 002 003import java.util.Iterator; 004import java.util.Map; 005import java.util.Set; 006import java.util.TreeMap; 007 008/** 009 * Created with IntelliJ IDEA. 010 * User: sambasivam 011 * Date: 12/17/13 012 * Time: 12:39 PM 013 * To change this template use File | Settings | File Templates. 014 */ 015public class DocstoreException extends RuntimeException { 016 017 private String errorCode; 018 private String errorMessage; 019 private TreeMap<String, String> errorParams; 020 021 public DocstoreException() { 022 super(); 023 } 024 025 public DocstoreException(String message) { 026 super(message); 027 setErrorMessage(message); 028 } 029 030 public DocstoreException(Exception e) { 031 super(e); 032 setErrorMessage(e.getMessage()); 033 } 034 035 public DocstoreException(String errorCode, String errorMessage, TreeMap<String, String> errorParams) { 036 this.errorMessage = errorMessage; 037 this.errorCode = errorCode; 038 this.errorParams = errorParams; 039 } 040 041 public DocstoreException(String errorCode, String errorMessage) { 042 this.errorMessage = errorMessage; 043 this.errorCode = errorCode; 044 } 045 046 public String getErrorCode() { 047 return errorCode; 048 } 049 050 public void setErrorCode(String errorCode) { 051 this.errorCode = errorCode; 052 } 053 054 public String getErrorMessage() { 055 return errorMessage; 056 } 057 058 public void setErrorMessage(String errorMessage) { 059 this.errorMessage = errorMessage; 060 } 061 062 public TreeMap<String, String> getErrorParams() { 063 return errorParams; 064 } 065 066 @Override 067 public String toString() { 068 StringBuilder stb = new StringBuilder(); 069 stb.append(super.toString()); 070 stb.append("\n"); 071 stb.append("Error Code = "); 072 stb.append(errorCode); 073 stb.append("\n"); 074 stb.append("Error Message = "); 075 stb.append(errorMessage); 076 stb.append("\n"); 077 if (errorParams != null) { 078 stb.append("ErrorParams = "); 079 stb.append("\n"); 080 Set keySet = errorParams.keySet(); 081 Iterator<String> iterator = keySet.iterator(); 082 String key = null; 083 while (iterator.hasNext()) { 084 key = iterator.next(); 085 stb.append("\t"); 086 stb.append(key); 087 stb.append(" = "); 088 stb.append(errorParams.get(key)); 089 stb.append("\n"); 090 } 091 } 092 return stb.toString(); 093 } 094 095 public void addErrorParams(String key, String value) { 096 if (errorParams == null) { 097 errorParams = new TreeMap<>(); 098 errorParams.put(key, value); 099 } else { 100 errorParams.put(key, value); 101 } 102 103 } 104}