1 31 32 package org.opencms.configuration; 33 34 import org.opencms.file.CmsProperty; 35 import org.opencms.file.collectors.I_CmsResourceCollector; 36 import org.opencms.file.types.I_CmsResourceType; 37 import org.opencms.loader.CmsMimeType; 38 import org.opencms.loader.CmsResourceManager; 39 import org.opencms.loader.I_CmsResourceLoader; 40 import org.opencms.main.CmsLog; 41 import org.opencms.main.OpenCms; 42 import org.opencms.util.CmsResourceTranslator; 43 import org.opencms.widgets.I_CmsWidget; 44 import org.opencms.xml.CmsXmlContentTypeManager; 45 import org.opencms.xml.types.I_CmsXmlSchemaType; 46 47 import java.util.ArrayList ; 48 import java.util.Collections ; 49 import java.util.Iterator ; 50 import java.util.List ; 51 import java.util.Map ; 52 53 import org.apache.commons.digester.Digester; 54 55 import org.dom4j.Element; 56 57 66 public class CmsVfsConfiguration extends A_CmsXmlConfiguration implements I_CmsXmlConfiguration { 67 68 69 public static final String A_DEFAULTWIDGET = "defaultwidget"; 70 71 72 public static final String A_EXTENSION = "extension"; 73 74 75 public static final String A_SOURCE = "source"; 76 77 78 public static final String A_TARGET = "target"; 79 80 81 public static final String CONFIGURATION_DTD_NAME = "opencms-vfs.dtd"; 82 83 84 public static final String DEFAULT_XML_FILE_NAME = "opencms-vfs.xml"; 85 86 87 public static final String N_COLLECTOR = "collector"; 88 89 90 public static final String N_COLLECTORS = "collectors"; 91 92 93 public static final String N_COPY_RESOURCE = "copy-resource"; 94 95 96 public static final String N_COPY_RESOURCES = "copy-resources"; 97 98 99 public static final String N_DEFAULTFILE = "defaultfile"; 100 101 102 public static final String N_DEFAULTFILES = "defaultfiles"; 103 104 105 public static final String N_FILETRANSLATIONS = "filetranslations"; 106 107 108 public static final String N_FOLDERTRANSLATIONS = "foldertranslations"; 109 110 111 public static final String N_LOADER = "loader"; 112 113 114 public static final String N_MAPPING = "mapping"; 115 116 117 public static final String N_MAPPINGS = "mappings"; 118 119 120 public static final String N_MIMETYPE = "mimetype"; 121 122 123 public static final String N_MIMETYPES = "mimetypes"; 124 125 126 public static final String N_PROPERTIES = "properties"; 127 128 129 public static final String N_RESOURCELOADERS = "resourceloaders"; 130 131 132 public static final String N_RESOURCES = "resources"; 133 134 135 public static final String N_RESOURCETYPES = "resourcetypes"; 136 137 138 public static final String N_SCHEMATYPE = "schematype"; 139 140 141 public static final String N_SCHEMATYPES = "schematypes"; 142 143 144 public static final String N_TRANSLATION = "translation"; 145 146 147 public static final String N_TRANSLATIONS = "translations"; 148 149 150 public static final String N_TYPE = "type"; 151 152 153 public static final String N_VERSIONHISTORY = "versionhistory"; 154 155 156 public static final String N_VFS = "vfs"; 157 158 159 public static final String N_WIDGET = "widget"; 160 161 162 public static final String N_WIDGETS = "widgets"; 163 164 165 public static final String N_XMLCONTENT = "xmlcontent"; 166 167 168 public static final String N_XMLCONTENTS = "xmlcontents"; 169 170 171 CmsXmlContentTypeManager m_xmlContentTypeManager; 172 173 174 private List m_defaultFiles; 175 176 177 private boolean m_fileTranslationEnabled; 178 179 180 private List m_fileTranslations; 181 182 183 private boolean m_folderTranslationEnabled; 184 185 186 private List m_folderTranslations; 187 188 189 private CmsResourceManager m_resourceManager; 190 191 194 public CmsVfsConfiguration() { 195 196 setXmlFileName(DEFAULT_XML_FILE_NAME); 197 m_fileTranslations = new ArrayList (); 198 m_folderTranslations = new ArrayList (); 199 m_defaultFiles = new ArrayList (); 200 if (CmsLog.INIT.isInfoEnabled()) { 201 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_CONFIG_INIT_0)); 202 } 203 } 204 205 210 public static void addResourceTypeXmlRules(Digester digester) { 211 212 digester.addFactoryCreate("*/" + N_RESOURCETYPES + "/" + N_TYPE, CmsDigesterResourceTypeCreationFactory.class); 214 215 digester.addCallMethod( 216 "*/" + N_RESOURCETYPES + "/" + N_TYPE, 217 I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD, 218 3); 219 digester.addCallParam("*/" + N_RESOURCETYPES + "/" + N_TYPE, 0, A_NAME); 221 digester.addCallParam("*/" + N_RESOURCETYPES + "/" + N_TYPE, 1, A_ID); 222 digester.addCallParam("*/" + N_RESOURCETYPES + "/" + N_TYPE, 2, A_CLASS); 223 224 digester.addSetNext("*/" + N_RESOURCETYPES + "/" + N_TYPE, I_CmsResourceType.ADD_RESOURCE_TYPE_METHOD); 225 226 digester.addObjectCreate( 228 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_PROPERTIES + "/" + N_PROPERTY, 229 CmsProperty.class); 230 digester.addCallMethod("*/" 231 + N_RESOURCETYPES 232 + "/" 233 + N_TYPE 234 + "/" 235 + N_PROPERTIES 236 + "/" 237 + N_PROPERTY 238 + "/" 239 + N_NAME, "setName", 1); 240 digester.addCallParam("*/" 241 + N_RESOURCETYPES 242 + "/" 243 + N_TYPE 244 + "/" 245 + N_PROPERTIES 246 + "/" 247 + N_PROPERTY 248 + "/" 249 + N_NAME, 0); 250 251 digester.addCallMethod("*/" 252 + N_RESOURCETYPES 253 + "/" 254 + N_TYPE 255 + "/" 256 + N_PROPERTIES 257 + "/" 258 + N_PROPERTY 259 + "/" 260 + N_VALUE, "setValue", 2); 261 digester.addCallParam("*/" 262 + N_RESOURCETYPES 263 + "/" 264 + N_TYPE 265 + "/" 266 + N_PROPERTIES 267 + "/" 268 + N_PROPERTY 269 + "/" 270 + N_VALUE, 0); 271 digester.addCallParam("*/" 272 + N_RESOURCETYPES 273 + "/" 274 + N_TYPE 275 + "/" 276 + N_PROPERTIES 277 + "/" 278 + N_PROPERTY 279 + "/" 280 + N_VALUE, 1, A_TYPE); 281 282 digester.addSetNext( 283 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_PROPERTIES + "/" + N_PROPERTY, 284 "addDefaultProperty"); 285 286 digester.addCallMethod( 288 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_MAPPINGS + "/" + N_MAPPING, 289 I_CmsResourceType.ADD_MAPPING_METHOD, 290 1); 291 digester.addCallParam("*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_MAPPINGS + "/" + N_MAPPING, 0, A_SUFFIX); 292 293 digester.addCallMethod( 295 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_COPY_RESOURCES + "/" + N_COPY_RESOURCE, 296 "addCopyResource", 297 3); 298 digester.addCallParam( 299 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_COPY_RESOURCES + "/" + N_COPY_RESOURCE, 300 0, 301 A_SOURCE); 302 digester.addCallParam( 303 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_COPY_RESOURCES + "/" + N_COPY_RESOURCE, 304 1, 305 A_TARGET); 306 digester.addCallParam( 307 "*/" + N_RESOURCETYPES + "/" + N_TYPE + "/" + N_COPY_RESOURCES + "/" + N_COPY_RESOURCE, 308 2, 309 A_TYPE); 310 } 311 312 319 public static void generateResourceTypeXml(Element startNode, List resourceTypes, boolean module) { 320 321 for (int i = 0; i < resourceTypes.size(); i++) { 322 I_CmsResourceType resType = (I_CmsResourceType)resourceTypes.get(i); 323 if (resType.isAdditionalModuleResourceType() == module) { 326 Element resourceType = startNode.addElement(N_TYPE).addAttribute(A_CLASS, resType.getClassName()); 327 resourceType.addAttribute(A_NAME, resType.getTypeName()); 329 resourceType.addAttribute(A_ID, String.valueOf(resType.getTypeId())); 330 List mappings = resType.getConfiguredMappings(); 332 if ((mappings != null) && (mappings.size() > 0)) { 333 Element mappingsNode = resourceType.addElement(N_MAPPINGS); 334 for (int j = 0; j < mappings.size(); j++) { 335 Element mapping = mappingsNode.addElement(N_MAPPING); 336 mapping.addAttribute(A_SUFFIX, (String )mappings.get(j)); 337 } 338 } 339 List properties = resType.getConfiguredDefaultProperties(); 341 if ((properties != null) && (properties.size() > 0)) { 342 Element propertiesNode = resourceType.addElement(N_PROPERTIES); 343 Iterator p = properties.iterator(); 344 while (p.hasNext()) { 345 CmsProperty property = (CmsProperty)p.next(); 346 Element propertyNode = propertiesNode.addElement(N_PROPERTY); 347 propertyNode.addElement(N_NAME).addText(property.getName()); 348 if (property.getStructureValue() != null) { 349 propertyNode.addElement(N_VALUE).addCDATA(property.getStructureValue()); 350 } 351 if (property.getResourceValue() != null) { 352 propertyNode.addElement(N_VALUE).addAttribute(A_TYPE, CmsProperty.TYPE_SHARED).addCDATA( 353 property.getResourceValue()); 354 } 355 } 356 } 357 List copyRes = resType.getConfiguredCopyResources(); 359 if ((copyRes != null) && (copyRes.size() > 0)) { 360 Element copyResNode = resourceType.addElement(N_COPY_RESOURCES); 361 Iterator p = copyRes.iterator(); 362 while (p.hasNext()) { 363 CmsConfigurationCopyResource cRes = (CmsConfigurationCopyResource)p.next(); 364 Element cNode = copyResNode.addElement(N_COPY_RESOURCE); 365 cNode.addAttribute(A_SOURCE, cRes.getSource()); 366 if (!cRes.isTargetWasNull()) { 367 cNode.addAttribute(A_TARGET, cRes.getTarget()); 368 } 369 if (!cRes.isTypeWasNull()) { 370 cNode.addAttribute(A_TYPE, cRes.getTypeString()); 371 } 372 } 373 } 374 Map prop = resType.getConfiguration(); 376 if (prop != null) { 377 List sortedRuntimeProperties = new ArrayList (prop.keySet()); 378 Collections.sort(sortedRuntimeProperties); 379 Iterator it = sortedRuntimeProperties.iterator(); 380 while (it.hasNext()) { 381 String key = (String )it.next(); 382 Object val = prop.get(key); 384 resourceType.addElement(N_PARAM).addAttribute(A_NAME, key).addText(String.valueOf(val)); 385 } 386 } 387 } 388 } 389 } 390 391 396 public void addDefaultFile(String defaultFile) { 397 398 m_defaultFiles.add(defaultFile); 399 if (CmsLog.INIT.isInfoEnabled()) { 400 CmsLog.INIT.info(Messages.get().getBundle().key( 401 Messages.INIT_VFS_DEFAULT_FILE_2, 402 new Integer (m_defaultFiles.size()), 403 defaultFile)); 404 } 405 } 406 407 412 public void addFileTranslation(String translation) { 413 414 m_fileTranslations.add(translation); 415 if (CmsLog.INIT.isInfoEnabled()) { 416 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_ADD_FILE_TRANSLATION_1, translation)); 417 } 418 } 419 420 425 public void addFolderTranslation(String translation) { 426 427 m_folderTranslations.add(translation); 428 if (CmsLog.INIT.isInfoEnabled()) { 429 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_ADD_FOLDER_TRANSLATION_1, translation)); 430 } 431 } 432 433 436 public void addXmlDigesterRules(Digester digester) { 437 438 digester.addCallMethod("*/" + N_VFS, "initializeFinished"); 440 441 digester.addObjectCreate("*/" + N_VFS + "/" + N_RESOURCES, CmsResourceManager.class); 443 digester.addCallMethod( 444 "*/" + N_VFS + "/" + N_RESOURCES, 445 I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD); 446 digester.addSetNext("*/" + N_VFS + "/" + N_RESOURCES, "setResourceManager"); 447 448 digester.addObjectCreate( 450 "*/" + N_VFS + "/" + N_RESOURCES + "/" + N_RESOURCELOADERS + "/" + N_LOADER, 451 A_CLASS, 452 CmsConfigurationException.class); 453 digester.addCallMethod( 454 "*/" + N_VFS + "/" + N_RESOURCES + "/" + N_RESOURCELOADERS + "/" + N_LOADER, 455 I_CmsConfigurationParameterHandler.INIT_CONFIGURATION_METHOD); 456 digester.addSetNext("*/" + N_VFS + "/" + N_RESOURCES + "/" + N_RESOURCELOADERS + "/" + N_LOADER, "addLoader"); 457 458 addResourceTypeXmlRules(digester); 460 461 digester.addCallMethod( 463 "*/" + N_VFS + "/" + N_RESOURCES + "/" + N_COLLECTORS + "/" + N_COLLECTOR, 464 "addContentCollector", 465 2); 466 digester.addCallParam("*/" + N_VFS + "/" + N_RESOURCES + "/" + N_COLLECTORS + "/" + N_COLLECTOR, 0, A_CLASS); 467 digester.addCallParam("*/" + N_VFS + "/" + N_RESOURCES + "/" + N_COLLECTORS + "/" + N_COLLECTOR, 1, A_ORDER); 468 469 digester.addCallMethod( 471 "*/" + N_VFS + "/" + N_RESOURCES + "/" + N_MIMETYPES + "/" + N_MIMETYPE, 472 "addMimeType", 473 2); 474 digester.addCallParam("*/" + N_VFS + "/" + N_RESOURCES + "/" + N_MIMETYPES + "/" + N_MIMETYPE, 0, A_EXTENSION); 475 digester.addCallParam("*/" + N_VFS + "/" + N_RESOURCES + "/" + N_MIMETYPES + "/" + N_MIMETYPE, 1, A_TYPE); 476 477 digester.addCallMethod( 479 "*/" + I_CmsXmlConfiguration.N_PARAM, 480 I_CmsConfigurationParameterHandler.ADD_PARAMETER_METHOD, 481 2); 482 digester.addCallParam("*/" + I_CmsXmlConfiguration.N_PARAM, 0, I_CmsXmlConfiguration.A_NAME); 483 digester.addCallParam("*/" + I_CmsXmlConfiguration.N_PARAM, 1); 484 485 digester.addCallMethod("*/" + N_VFS + "/" + N_DEFAULTFILES + "/" + N_DEFAULTFILE, "addDefaultFile", 1); 487 digester.addCallParam("*/" + N_VFS + "/" + N_DEFAULTFILES + "/" + N_DEFAULTFILE, 0, A_NAME); 488 489 digester.addCallMethod( 491 "*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FILETRANSLATIONS + "/" + N_TRANSLATION, 492 "addFileTranslation", 493 0); 494 digester.addCallMethod( 495 "*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FILETRANSLATIONS, 496 "setFileTranslationEnabled", 497 1); 498 digester.addCallParam("*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FILETRANSLATIONS, 0, A_ENABLED); 499 500 digester.addCallMethod( 502 "*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FOLDERTRANSLATIONS + "/" + N_TRANSLATION, 503 "addFolderTranslation", 504 0); 505 digester.addCallMethod( 506 "*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FOLDERTRANSLATIONS, 507 "setFolderTranslationEnabled", 508 1); 509 digester.addCallParam("*/" + N_VFS + "/" + N_TRANSLATIONS + "/" + N_FOLDERTRANSLATIONS, 0, A_ENABLED); 510 511 digester.addObjectCreate("*/" + N_VFS + "/" + N_XMLCONTENT, CmsXmlContentTypeManager.class); 513 digester.addSetNext("*/" + N_VFS + "/" + N_XMLCONTENT, "setXmlContentTypeManager"); 514 515 digester.addCallMethod("*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_WIDGETS + "/" + N_WIDGET, "addWidget", 2); 517 digester.addCallParam("*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_WIDGETS + "/" + N_WIDGET, 0, A_CLASS); 518 digester.addCallParam("*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_WIDGETS + "/" + N_WIDGET, 1, A_ALIAS); 519 520 digester.addCallMethod( 522 "*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_SCHEMATYPES + "/" + N_SCHEMATYPE, 523 "addSchemaType", 524 2); 525 digester.addCallParam("*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_SCHEMATYPES + "/" + N_SCHEMATYPE, 0, A_CLASS); 526 digester.addCallParam( 527 "*/" + N_VFS + "/" + N_XMLCONTENT + "/" + N_SCHEMATYPES + "/" + N_SCHEMATYPE, 528 1, 529 A_DEFAULTWIDGET); 530 } 531 532 535 public Element generateXml(Element parent) { 536 537 if (OpenCms.getRunLevel() >= OpenCms.RUNLEVEL_3_SHELL_ACCESS) { 538 m_resourceManager = OpenCms.getResourceManager(); 539 m_xmlContentTypeManager = OpenCms.getXmlContentTypeManager(); 540 m_defaultFiles = OpenCms.getDefaultFiles(); 541 } 542 543 Element vfs = parent.addElement(N_VFS); 545 546 Element resources = vfs.addElement(N_RESOURCES); 548 549 Element resourceloadersElement = resources.addElement(N_RESOURCELOADERS); 551 List loaders = m_resourceManager.getLoaders(); 552 for (int i = 0; i < loaders.size(); i++) { 553 I_CmsResourceLoader loader = (I_CmsResourceLoader)loaders.get(i); 554 Element loaderNode = resourceloadersElement.addElement(N_LOADER); 556 loaderNode.addAttribute(A_CLASS, loader.getClass().getName()); 557 Map loaderConfiguration = loader.getConfiguration(); 558 if (loaderConfiguration != null) { 559 Iterator it = loaderConfiguration.keySet().iterator(); 560 while (it.hasNext()) { 561 String name = (String )it.next(); 562 String value = loaderConfiguration.get(name).toString(); 563 Element paramNode = loaderNode.addElement(N_PARAM); 564 paramNode.addAttribute(A_NAME, name); 565 paramNode.addText(value); 566 } 567 } 568 } 569 570 Element resourcetypesElement = resources.addElement(N_RESOURCETYPES); 572 List resourceTypes = m_resourceManager.getResourceTypes(); 573 generateResourceTypeXml(resourcetypesElement, resourceTypes, false); 574 575 Element collectorsElement = resources.addElement(N_COLLECTORS); 577 Iterator it = m_resourceManager.getRegisteredContentCollectors().iterator(); 578 while (it.hasNext()) { 579 I_CmsResourceCollector collector = (I_CmsResourceCollector)it.next(); 580 collectorsElement.addElement(N_COLLECTOR).addAttribute(A_CLASS, collector.getClass().getName()).addAttribute( 581 A_ORDER, 582 String.valueOf(collector.getOrder())); 583 } 584 585 Element mimeTypesElement = resources.addElement(N_MIMETYPES); 587 it = m_resourceManager.getMimeTypes().iterator(); 588 while (it.hasNext()) { 589 CmsMimeType type = (CmsMimeType)it.next(); 590 mimeTypesElement.addElement(N_MIMETYPE).addAttribute(A_EXTENSION, type.getExtension()).addAttribute( 591 A_TYPE, 592 type.getType()); 593 } 594 595 Element defaultFileElement = vfs.addElement(N_DEFAULTFILES); 597 it = m_defaultFiles.iterator(); 598 while (it.hasNext()) { 599 defaultFileElement.addElement(N_DEFAULTFILE).addAttribute(A_NAME, (String )it.next()); 600 } 601 602 Element translationsElement = vfs.addElement(N_TRANSLATIONS); 604 605 Element fileTransElement = translationsElement.addElement(N_FILETRANSLATIONS).addAttribute( 607 A_ENABLED, 608 String.valueOf(m_fileTranslationEnabled)); 609 it = m_fileTranslations.iterator(); 610 while (it.hasNext()) { 611 fileTransElement.addElement(N_TRANSLATION).setText(it.next().toString()); 612 } 613 614 Element folderTransElement = translationsElement.addElement(N_FOLDERTRANSLATIONS).addAttribute( 616 A_ENABLED, 617 String.valueOf(m_folderTranslationEnabled)); 618 it = m_folderTranslations.iterator(); 619 while (it.hasNext()) { 620 folderTransElement.addElement(N_TRANSLATION).setText(it.next().toString()); 621 } 622 623 Element xmlContentsElement = vfs.addElement(N_XMLCONTENT); 625 626 Element xmlWidgetsElement = xmlContentsElement.addElement(N_WIDGETS); 628 it = m_xmlContentTypeManager.getRegisteredWidgetNames().iterator(); 629 while (it.hasNext()) { 630 String widget = (String )it.next(); 631 Element widgetElement = xmlWidgetsElement.addElement(N_WIDGET).addAttribute(A_CLASS, widget); 632 String alias = m_xmlContentTypeManager.getRegisteredWidgetAlias(widget); 633 if (alias != null) { 634 widgetElement.addAttribute(A_ALIAS, alias); 635 } 636 } 637 638 Element xmlSchemaTypesElement = xmlContentsElement.addElement(N_SCHEMATYPES); 640 it = m_xmlContentTypeManager.getRegisteredSchemaTypes().iterator(); 641 while (it.hasNext()) { 642 I_CmsXmlSchemaType type = (I_CmsXmlSchemaType)it.next(); 643 I_CmsWidget widget = m_xmlContentTypeManager.getWidgetDefault(type.getTypeName()); 644 xmlSchemaTypesElement.addElement(N_SCHEMATYPE).addAttribute(A_CLASS, type.getClass().getName()).addAttribute( 645 A_DEFAULTWIDGET, 646 widget.getClass().getName()); 647 } 648 649 return vfs; 651 } 652 653 658 public List getDefaultFiles() { 659 660 return Collections.unmodifiableList(m_defaultFiles); 661 } 662 663 666 public String getDtdFilename() { 667 668 return CONFIGURATION_DTD_NAME; 669 } 670 671 677 public CmsResourceTranslator getFileTranslator() { 678 679 String [] array = m_fileTranslationEnabled ? new String [m_fileTranslations.size()] : new String [0]; 680 for (int i = 0; i < m_fileTranslations.size(); i++) { 681 array[i] = (String )m_fileTranslations.get(i); 682 } 683 return new CmsResourceTranslator(array, true); 684 } 685 686 692 public CmsResourceTranslator getFolderTranslator() { 693 694 String [] array = m_folderTranslationEnabled ? new String [m_folderTranslations.size()] : new String [0]; 695 for (int i = 0; i < m_folderTranslations.size(); i++) { 696 array[i] = (String )m_folderTranslations.get(i); 697 } 698 return new CmsResourceTranslator(array, false); 699 } 700 701 706 public CmsResourceManager getResourceManager() { 707 708 return m_resourceManager; 709 } 710 711 716 public CmsXmlContentTypeManager getXmlContentTypeManager() { 717 718 return m_xmlContentTypeManager; 719 } 720 721 724 public void initializeFinished() { 725 726 if (CmsLog.INIT.isInfoEnabled()) { 727 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_CONFIG_FINISHED_0)); 728 } 729 } 730 731 736 public void setFileTranslationEnabled(String value) { 737 738 m_fileTranslationEnabled = Boolean.valueOf(value).booleanValue(); 739 if (CmsLog.INIT.isInfoEnabled()) { 740 if (m_fileTranslationEnabled) { 741 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_FILE_TRANSLATION_ENABLE_0)); 742 } else { 743 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_FILE_TRANSLATION_DISABLE_0)); 744 } 745 } 746 } 747 748 753 public void setFolderTranslationEnabled(String value) { 754 755 m_folderTranslationEnabled = Boolean.valueOf(value).booleanValue(); 756 if (CmsLog.INIT.isInfoEnabled()) { 757 if (m_folderTranslationEnabled) { 758 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_FOLDER_TRANSLATION_ENABLE_0)); 759 } else { 760 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_FOLDER_TRANSLATION_DISABLE_0)); 761 } 762 } 763 } 764 765 770 public void setResourceManager(CmsResourceManager manager) { 771 772 m_resourceManager = manager; 773 } 774 775 780 public void setXmlContentTypeManager(CmsXmlContentTypeManager manager) { 781 782 if (CmsLog.INIT.isInfoEnabled()) { 783 CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_VFS_XML_CONTENT_FINISHED_0)); 784 } 785 m_xmlContentTypeManager = manager; 786 } 787 788 }
| Popular Tags
|