1 31 32 package org.opencms.report; 33 34 import org.opencms.file.CmsRequestContext; 35 import org.opencms.i18n.CmsMessageContainer; 36 import org.opencms.i18n.CmsMessages; 37 import org.opencms.util.CmsStringUtil; 38 39 import java.util.ArrayList ; 40 import java.util.List ; 41 import java.util.Locale ; 42 43 55 public abstract class A_CmsReport implements I_CmsReport { 56 57 58 private List m_errors = new ArrayList (); 59 60 61 private Locale m_locale; 62 63 64 private CmsMessages m_messages; 65 66 67 private String m_siteRoot; 68 69 70 private long m_starttime; 71 72 73 private List m_warnings = new ArrayList (); 74 75 78 public void addError(Object obj) { 79 80 m_errors.add(obj); 81 } 82 83 86 public void addWarning(Object obj) { 87 88 m_warnings.add(obj); 89 } 90 91 94 public String formatRuntime() { 95 96 return CmsStringUtil.formatRuntime(getRuntime()); 97 } 98 99 102 public List getErrors() { 103 104 return m_errors; 105 } 106 107 110 public Locale getLocale() { 111 112 return m_locale; 113 } 114 115 118 public long getRuntime() { 119 120 return System.currentTimeMillis() - m_starttime; 121 } 122 123 129 public String getSiteRoot() { 130 131 return m_siteRoot; 132 } 133 134 137 public List getWarnings() { 138 139 return m_warnings; 140 } 141 142 145 public boolean hasError() { 146 147 return (m_errors.size() > 0); 148 } 149 150 153 public boolean hasWarning() { 154 155 return (m_warnings.size() > 0); 156 } 157 158 161 public void print(CmsMessageContainer container) { 162 163 print(container.key(getLocale()), FORMAT_DEFAULT); 164 } 165 166 169 public void print(CmsMessageContainer container, int format) { 170 171 print(container.key(getLocale()), format); 172 } 173 174 177 public void println(CmsMessageContainer container) { 178 179 println(container.key(getLocale()), FORMAT_DEFAULT); 180 } 181 182 185 public void println(CmsMessageContainer container, int format) { 186 187 println(container.key(getLocale()), format); 188 } 189 190 193 public void printMessageWithParam(CmsMessageContainer container, Object param) { 194 195 print(container, I_CmsReport.FORMAT_NOTE); 196 print(Messages.get().container(Messages.RPT_ARGUMENT_1, param)); 197 print(Messages.get().container(Messages.RPT_DOTS_0)); 198 } 199 200 203 public void printMessageWithParam(int m, int n, CmsMessageContainer container, Object param) { 204 205 print( 206 Messages.get().container(Messages.RPT_SUCCESSION_2, String.valueOf(m), String.valueOf(n)), 207 I_CmsReport.FORMAT_NOTE); 208 printMessageWithParam(container, param); 209 } 210 211 225 public String removeSiteRoot(String resourcename) { 226 227 if (m_siteRoot == null) { 228 return resourcename; 230 } 231 232 String siteRoot = CmsRequestContext.getAdjustedSiteRoot(m_siteRoot, resourcename); 233 if ((siteRoot == m_siteRoot) && resourcename.startsWith(siteRoot)) { 234 resourcename = resourcename.substring(siteRoot.length()); 235 } 236 return resourcename; 237 } 238 239 242 public void resetRuntime() { 243 244 m_starttime = System.currentTimeMillis(); 245 } 246 247 252 protected CmsMessages getMessages() { 253 254 return m_messages; 255 } 256 257 263 protected void init(Locale locale, String siteRoot) { 264 265 m_starttime = System.currentTimeMillis(); 266 m_locale = locale; 267 m_siteRoot = siteRoot; 268 m_messages = Messages.get().getBundle(locale); 269 } 270 271 276 protected void print(String value) { 277 278 print(value, FORMAT_DEFAULT); 279 } 280 281 290 protected abstract void print(String value, int format); 291 292 297 protected void println(String value) { 298 299 println(value, FORMAT_DEFAULT); 300 } 301 302 311 protected void println(String value, int format) { 312 313 print(value, format); 314 println(); 315 } 316 } | Popular Tags |