| 253 | | int numCss, numJavaScript, j; |
| 254 | | String pageName, page; |
| 255 | | |
| 256 | | Map<String, String> titles = jc.getTitles(); |
| 257 | | if (titles == null) { |
| 258 | | titles = new HashMap<String, String>(); |
| 259 | | } |
| 260 | | Map<String, String[]> cssFiles = jc.getCssFiles(); |
| 261 | | if (cssFiles == null) { |
| 262 | | cssFiles = new HashMap<String, String[]>(); |
| 263 | | } |
| 264 | | Map<String, String[]> javaScriptFiles = jc.getJavaScriptFiles(); |
| 265 | | if (javaScriptFiles == null) { |
| 266 | | javaScriptFiles = new HashMap<String, String[]>(); |
| 267 | | } |
| 268 | | |
| 269 | | String[] cssArray; |
| 270 | | String[] javaScriptArray; |
| 285 | | if (!cssFiles.containsKey(pageName)) { |
| 286 | | Object obj = configuration.getProperty(page+".css"); |
| 287 | | final boolean isDefined = (obj != null); |
| 288 | | numCss = configuration.getList(page + ".css.file").size(); |
| 289 | | cssArray = new String[numCss]; |
| 290 | | for (j = 0; j < numCss; j++) { |
| 291 | | cssArray[j] = dirPrefix + subdirPrefix + |
| 292 | | configuration.getString(page + ".css.file(" + j + ")"); |
| | 269 | if (!jc.getCssFiles().containsKey(pageName)) { |
| | 270 | if ((configuration.getProperty(page+".css") != null)) { |
| | 271 | |
| | 272 | int numCss = configuration.getList(page + ".css.file").size(); |
| | 273 | String[] cssArray = new String[numCss]; |
| | 274 | |
| | 275 | for (int j = 0; j < numCss; j++) { |
| | 276 | cssArray[j] = dirPrefix + subdirPrefix + |
| | 277 | configuration.getString(page + ".css.file(" + j + ")"); |
| | 278 | } |
| | 279 | jc.getCssFiles().put(pageName, cssArray); |
| 294 | | if ((numCss > 0) || (numCss == 0 && isDefined)) { |
| 295 | | cssFiles.put(pageName, cssArray); |
| | 281 | } |
| | 282 | |
| | 283 | if (!jc.getJavaScriptFiles().containsKey(pageName)) { |
| | 284 | if ((configuration.getProperty(page+".javascript") != null)) { |
| | 285 | |
| | 286 | int numJavaScript = configuration.getList(page + ".javascript.file").size(); |
| | 287 | String[] javaScriptArray = new String[numJavaScript]; |
| | 288 | |
| | 289 | for (int j = 0; j < numJavaScript; j++) { |
| | 290 | String fileName = configuration.getString(page + ".javascript.file(" + j + ")"); |
| | 291 | String filePath; |
| | 292 | if (fileName.endsWith(".ftl")) { |
| | 293 | filePath = subdirPrefix + fileName; |
| | 294 | } else { |
| | 295 | filePath = dirPrefix + subdirPrefix + fileName; |
| | 296 | } |
| | 297 | javaScriptArray[j] = filePath; |
| | 298 | } |
| | 299 | jc.getJavaScriptFiles().put(pageName, javaScriptArray); |
| 298 | | |
| 299 | | if (!javaScriptFiles.containsKey(pageName)) { |
| 300 | | Object obj = configuration.getProperty(page+".javascript"); |
| 301 | | final boolean isDefined = (obj != null); |
| 302 | | numJavaScript = configuration.getList(page + ".javascript.file").size(); |
| 303 | | javaScriptArray = new String[numJavaScript]; |
| 304 | | |
| 305 | | for (j = 0; j < numJavaScript; j++) { |
| 306 | | String fileName = configuration.getString(page + ".javascript.file(" + j + ")"); |
| 307 | | String filePath; |
| 308 | | if (fileName.endsWith(".ftl")) { |
| 309 | | filePath = subdirPrefix + fileName; |
| 310 | | } else { |
| 311 | | filePath = dirPrefix + subdirPrefix + fileName; |
| 312 | | } |
| 313 | | javaScriptArray[j] = filePath; |
| 314 | | } |
| 315 | | if ((numJavaScript > 0) || (numJavaScript == 0 && isDefined)){ |
| 316 | | javaScriptFiles.put(pageName, javaScriptArray); |
| 317 | | } |
| 318 | | } |
| 319 | | } |
| 320 | | jc.setCssFiles(cssFiles); |
| 321 | | jc.setJavaScriptFiles(javaScriptFiles); |
| 322 | | jc.setTitles(titles); |
| | 302 | } |
| 373 | | boolean usingDefault = false; |
| 374 | | if (jc == null) { |
| 375 | | if (log.isDebugEnabled()) { |
| 376 | | log.debug("Failed to get journal for given journalName '" + journalName + |
| 377 | | "'. Attempting to load default journal '" + defaultJournalName + "'"); |
| 378 | | } |
| 379 | | usingDefault = true; |
| 380 | | jc = journals.get(defaultJournalName); |
| 381 | | if (jc == null) { |
| 382 | | log.error("Failed to get Journal. defaultJournalName '" + defaultJournalName + |
| 383 | | "'. Attempted to get default Journal when given journal name parameter '" + |
| 384 | | journalName + "' also returned null. Check your configuration for '" + |
| 385 | | DEFAULT_JOURNAL_NAME_CONFIG_KEY + "'"); |
| 386 | | return DEFAULT_TITLE; |
| 387 | | } |
| 388 | | } |
| | 353 | JournalConfig defaultJc = journals.get(defaultJournalName); |
| | 354 | |
| 391 | | String title = getJournalTitle(jc, templateName, defaultTemplateName); |
| 392 | | |
| 393 | | if ((title == null) && !usingDefault) { |
| 394 | | jc = journals.get(defaultJournalName); |
| 395 | | title = getJournalTitle(jc, templateName, defaultTemplateName); |
| 396 | | } |
| 397 | | |
| 398 | | return title != null ? title : DEFAULT_TITLE; |
| 399 | | } |
| 400 | | |
| 401 | | private String getJournalTitle(JournalConfig jc, String templateName, String defaultTemplateName) { |
| 402 | | String title = jc.getTitles().get(templateName); |
| | 357 | String title = null; |
| | 358 | if (jc != null) { |
| | 359 | title = jc.getTitles().get(defaultTemplateName); |
| | 360 | } |
| | 361 | |
| | 362 | if (title == null && defaultJc != null) { |
| | 363 | title = defaultJc.getTitles().get(defaultTemplateName); |
| | 364 | } |
| | 365 | |
| | 366 | if (title == null && jc != null) { |
| | 367 | title = jc.getDefaultTitle(); |
| | 368 | } |
| | 369 | |
| | 370 | if (title == null && defaultJc != null) { |
| | 371 | title = defaultJc.getDefaultTitle(); |
| | 372 | } |
| | 373 | |