Class CmsContainerConfigurationWriter

java.lang.Object
org.opencms.ade.containerpage.inherited.CmsContainerConfigurationWriter

A helper class for writing inherited container configuration back to a VFS file.

  • Constructor Details

  • Method Details

    • save

      public void save(CmsObject cms, String name, boolean newOrdering, CmsResource pageResource, List<CmsContainerElementBean> elements) throws CmsException
      Saves a list of container element beans to a file in the VFS.

      Parameters:
      cms - the current CMS context
      name - the name of the configuration to save
      newOrdering - true if a new ordering needs to be saved
      pageResource - a container page or folder
      elements - the elements whose data should be saved
      Throws:
      CmsException - if something goes wrong
    • serializeSingleConfiguration

      public org.dom4j.Element serializeSingleConfiguration(CmsObject cms, String name, CmsContainerConfiguration config, org.dom4j.Element parentElement) throws CmsException
      Serializes a single container configuration into an XML element.

      Parameters:
      cms - the current CMS context
      name - the configuration name
      config - the configuration bean
      parentElement - the parent element to which the new element should be attached
      Returns:
      the created XML element
      Throws:
      CmsException - if something goes wrong
    • createConfigurationBean

      protected CmsContainerConfiguration createConfigurationBean(boolean newOrdering, List<CmsContainerElementBean> elements, Set<String> parentKeys)
      Converts a list of container elements into a bean which should be saved to the inherited container configuration.

      Parameters:
      newOrdering - if true, save a new ordering
      elements - the elements which should be converted
      parentKeys - the keys for new elements defined in the parent configurations
      Returns:
      the bean containing the information from the container elements which should be saved
    • getSettingConfiguration

      Gets the setting configuration of an element.

      Parameters:
      cms - the current CMS context
      resource - the resource for which the setting configuration should be returned
      Returns:
      the setting configuration for that element
      Throws:
      CmsException - if something goes wrong
    • removeExistingEntry

      protected void removeExistingEntry(CmsObject cms, CmsXmlContent content, Locale locale, String name)
      Removes an existing inheritance container entry with a given name from the configuration file.

      This does nothing if no such entry actually exists.

      Parameters:
      cms - the current CMS context
      content - the XML content
      locale - the locale from which to remove the entry
      name - the name of the entry
    • saveInContentObject

      protected CmsXmlContent saveInContentObject(CmsObject cms, CmsXmlContent content, Locale locale, String name, CmsContainerConfiguration configuration) throws CmsException
      Saves a single container configuration in an XML content object, but doesn't write it to the VFS.

      If the XML content passed as a parameter is null, a new XML content object will be created

      Parameters:
      cms - the current CMS context
      content - the XML content
      locale - the locale in which the configuration should be written
      name - the name of the configuration
      configuration - the configuration to write
      Returns:
      the modified or new XML content
      Throws:
      CmsException - if something goes wrong