Ejemplo n.º 1
0
  protected void fixElementsDefaultLocale(
      Element element, Locale contentDefaultLocale, Locale contentNewDefaultLocale) {

    for (Element dynamicElementElement : element.elements(_DYNAMIC_ELEMENT)) {

      Element importMetaDataElement =
          (Element)
              dynamicElementElement.selectSingleNode(
                  "meta-data[@locale='" + contentNewDefaultLocale.toString() + "']");

      if (importMetaDataElement == null) {
        Element metaDataElement =
            (Element)
                dynamicElementElement.selectSingleNode(
                    "meta-data[@locale='" + contentDefaultLocale.toString() + "']");

        Element copiedMetadataElement = metaDataElement.createCopy();

        Attribute localeAttribute = copiedMetadataElement.attribute(_LOCALE);

        String contentNewDefaultLanguageId = LocaleUtil.toLanguageId(contentNewDefaultLocale);

        localeAttribute.setValue(contentNewDefaultLanguageId);

        dynamicElementElement.add(copiedMetadataElement);
      }

      fixElementsDefaultLocale(
          dynamicElementElement, contentDefaultLocale, contentNewDefaultLocale);
    }
  }