Example usage for com.liferay.portal.kernel.xml Element addElement

List of usage examples for com.liferay.portal.kernel.xml Element addElement

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml Element addElement.

Prototype

public Element addElement(QName qName);

Source Link

Usage

From source file:com.liferay.dynamic.data.mapping.BaseDDMTestCase.java

License:Open Source License

protected Element addTextElement(Element element, String name, String label, boolean localizable) {

    Element dynamicElement = element.addElement("dynamic-element");

    dynamicElement.addAttribute("dataType", "string");
    dynamicElement.addAttribute("localizable", String.valueOf(localizable));
    dynamicElement.addAttribute("name", name);
    dynamicElement.addAttribute("type", "text");

    Element metadataElement = dynamicElement.addElement("meta-data");

    metadataElement.addAttribute("locale", LocaleUtil.toLanguageId(LocaleUtil.US));

    Element entryElement = metadataElement.addElement("entry");

    entryElement.addAttribute("name", "label");
    entryElement.setText(label);/*from w  w w. ja va  2  s .  c  o  m*/

    return dynamicElement;
}

From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMapping.java

License:Open Source License

protected void addDynamicContentElements(Element dynamicElementElement, String name, String data) {

    Map<Locale, String> localizationMap = LocalizationUtil.getLocalizationMap(data);

    for (Map.Entry<Locale, String> entry : localizationMap.entrySet()) {
        String[] values = StringUtil.split(entry.getValue());

        if (name.startsWith(StringPool.UNDERLINE)) {
            values = new String[] { entry.getValue() };
        }/* ww w.  j  a  v a2  s .co m*/

        for (String value : values) {
            Element dynamicContentElement = dynamicElementElement.addElement("dynamic-content");

            dynamicContentElement.addAttribute("language-id", LanguageUtil.getLanguageId(entry.getKey()));
            dynamicContentElement.addCDATA(value.trim());
        }
    }
}

From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMapping.java

License:Open Source License

protected String toXML(Map<String, String> expandoValuesMap) {
    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    for (Map.Entry<String, String> entry : expandoValuesMap.entrySet()) {
        Element dynamicElementElement = rootElement.addElement("dynamic-element");

        String name = entry.getKey();
        String data = entry.getValue();

        dynamicElementElement.addAttribute("name", name);
        dynamicElementElement.addAttribute("default-language-id", LocalizationUtil.getDefaultLanguageId(data));

        addDynamicContentElements(dynamicElementElement, name, data);
    }/*from   w w w .ja v  a  2s  . c o  m*/

    return document.asXML();
}

From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMappingTest.java

License:Open Source License

protected void addDynamicContentElements(Element dynamicElementElement, String[] dynamicContentDataArray,
        Locale locale) {//from ww w. j  a  va2s  .  c  om

    for (String dynamicContentData : dynamicContentDataArray) {
        Element dynamicContentElement = dynamicElementElement.addElement("dynamic-content");

        dynamicContentElement.addAttribute("language-id", LocaleUtil.toLanguageId(locale));
        dynamicContentElement.addCDATA(dynamicContentData);
    }
}

From source file:com.liferay.dynamic.data.mapping.internal.upgrade.v1_0_0.UpgradeDynamicDataMappingTest.java

License:Open Source License

protected Element createDynamicElementElement(Element rootElement, String fieldName) {

    Element dynamicElementElement = rootElement.addElement("dynamic-element");

    dynamicElementElement.addAttribute("default-language-id", "en_US");
    dynamicElementElement.addAttribute("name", fieldName);

    return dynamicElementElement;
}

From source file:com.liferay.dynamic.data.mapping.internal.util.DDMXMLImpl.java

License:Open Source License

protected void appendField(Element element, Field field) {
    Element dynamicElementElement = element.addElement("dynamic-element");

    dynamicElementElement.addAttribute("default-language-id",
            LocaleUtil.toLanguageId(field.getDefaultLocale()));
    dynamicElementElement.addAttribute("name", field.getName());

    for (Locale locale : field.getAvailableLocales()) {
        List<Serializable> values = field.getValues(locale);

        for (Serializable value : values) {
            Element dynamicContentElement = dynamicElementElement.addElement("dynamic-content");

            dynamicContentElement.addAttribute("language-id", LocaleUtil.toLanguageId(locale));

            updateField(dynamicContentElement, value);
        }//from   w ww .j  a v a  2  s .  com
    }
}

From source file:com.liferay.dynamic.data.mapping.io.internal.exporter.DDMFormXMLExporter.java

License:Open Source License

@Override
protected byte[] doExport(long formInstanceId, int status, int start, int end,
        OrderByComparator<DDMFormInstanceRecord> orderByComparator) throws Exception {

    Map<String, DDMFormField> ddmFormFields = getDistinctFields(formInstanceId);

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    List<DDMFormInstanceRecord> formInstanceRecords = _ddmFormInstanceRecordLocalService
            .getFormInstanceRecords(formInstanceId, status, start, end, orderByComparator);

    DateTimeFormatter dateTimeFormatter = getDateTimeFormatter();

    for (DDMFormInstanceRecord formInstanceRecord : formInstanceRecords) {
        Element fieldsElement = rootElement.addElement("fields");

        DDMFormInstanceRecordVersion recordVersion = formInstanceRecord.getFormInstanceRecordVersion();

        DDMFormValues ddmFormValues = _storageEngine.getDDMFormValues(recordVersion.getStorageId());

        Map<String, DDMFormFieldRenderedValue> values = getRenderedValues(ddmFormFields.values(),
                ddmFormValues);//from   w  w  w  .j a v a  2 s.co m

        for (Map.Entry<String, DDMFormField> entry : ddmFormFields.entrySet()) {

            DDMFormFieldRenderedValue ddmFormFieldRenderedValue = values.get(entry.getKey());

            addFieldElement(ddmFormFieldRenderedValue, fieldsElement, entry);
        }

        Locale locale = getLocale();

        addFieldElement(fieldsElement, LanguageUtil.get(locale, "status"),
                getStatusMessage(recordVersion.getStatus()));

        addFieldElement(fieldsElement, LanguageUtil.get(locale, "modified-date"),
                formatDate(recordVersion.getStatusDate(), dateTimeFormatter));

        addFieldElement(fieldsElement, LanguageUtil.get(locale, "author"), recordVersion.getUserName());
    }

    String xml = document.asXML();

    return xml.getBytes();
}

From source file:com.liferay.dynamic.data.mapping.test.util.DDMStructureTestUtil.java

License:Open Source License

public static String getSampleStructuredContent(String name, List<Map<Locale, String>> contents,
        String defaultLocale) {//  www .j  a va  2 s  .  co  m

    StringBundler sb = new StringBundler();

    for (Map<Locale, String> map : contents) {
        for (Locale locale : map.keySet()) {
            sb.append(LocaleUtil.toLanguageId(locale));
            sb.append(StringPool.COMMA);
        }

        sb.setIndex(sb.index() - 1);
    }

    Document document = createDocumentContent(sb.toString(), defaultLocale);

    Element rootElement = document.getRootElement();

    for (Map<Locale, String> map : contents) {
        Element dynamicElementElement = rootElement.addElement("dynamic-element");

        dynamicElementElement.addAttribute("index-type", "keyword");
        dynamicElementElement.addAttribute("name", name);
        dynamicElementElement.addAttribute("type", "text");

        for (Map.Entry<Locale, String> entry : map.entrySet()) {
            Element element = dynamicElementElement.addElement("dynamic-content");

            element.addAttribute("language-id", LocaleUtil.toLanguageId(entry.getKey()));
            element.addCDATA(entry.getValue());
        }
    }

    return document.asXML();
}

From source file:com.liferay.dynamic.data.mapping.test.util.DDMStructureTestUtil.java

License:Open Source License

protected static Document createDocumentContent(String availableLocales, String defaultLocale) {

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    rootElement.addAttribute("available-locales", availableLocales);
    rootElement.addAttribute("default-locale", defaultLocale);
    rootElement.addElement("request");

    return document;
}

From source file:com.liferay.exportimport.controller.LayoutExportController.java

License:Open Source License

protected File doExport(PortletDataContext portletDataContext) throws Exception {

    Map<String, String[]> parameterMap = portletDataContext.getParameterMap();

    boolean ignoreLastPublishDate = MapUtil.getBoolean(parameterMap,
            PortletDataHandlerKeys.IGNORE_LAST_PUBLISH_DATE);
    boolean permissions = MapUtil.getBoolean(parameterMap, PortletDataHandlerKeys.PERMISSIONS);

    if (_log.isDebugEnabled()) {
        _log.debug("Export permissions " + permissions);
    }//  w w w .  ja va  2  s.c om

    long companyId = portletDataContext.getCompanyId();

    long defaultUserId = _userLocalService.getDefaultUserId(companyId);

    ServiceContext serviceContext = ServiceContextThreadLocal.popServiceContext();

    if (serviceContext == null) {
        serviceContext = new ServiceContext();
    }

    serviceContext.setCompanyId(companyId);
    serviceContext.setSignedIn(true);

    if (BackgroundTaskThreadLocal.hasBackgroundTask()) {
        BackgroundTask backgroundTask = _backgroundTaskLocalService
                .getBackgroundTask(BackgroundTaskThreadLocal.getBackgroundTaskId());

        serviceContext.setUserId(backgroundTask.getUserId());
    } else {
        serviceContext.setUserId(defaultUserId);
    }

    serviceContext.setAttribute("exporting", Boolean.TRUE);

    long layoutSetBranchId = MapUtil.getLong(parameterMap, "layoutSetBranchId");

    serviceContext.setAttribute("layoutSetBranchId", layoutSetBranchId);

    ServiceContextThreadLocal.pushServiceContext(serviceContext);

    if (ignoreLastPublishDate) {
        portletDataContext.setEndDate(null);
        portletDataContext.setStartDate(null);
    }

    StopWatch stopWatch = new StopWatch();

    stopWatch.start();

    Document document = SAXReaderUtil.createDocument();

    Element rootElement = document.addElement("root");

    portletDataContext.setExportDataRootElement(rootElement);

    Element headerElement = rootElement.addElement("header");

    headerElement.addAttribute("available-locales",
            StringUtil.merge(LanguageUtil.getAvailableLocales(portletDataContext.getScopeGroupId())));

    headerElement.addAttribute("build-number", String.valueOf(ReleaseInfo.getBuildNumber()));

    headerElement.addAttribute("schema-version", ExportImportConstants.EXPORT_IMPORT_SCHEMA_VERSION);

    headerElement.addAttribute("export-date", Time.getRFC822());

    if (portletDataContext.hasDateRange()) {
        headerElement.addAttribute("start-date", String.valueOf(portletDataContext.getStartDate()));
        headerElement.addAttribute("end-date", String.valueOf(portletDataContext.getEndDate()));
    }

    headerElement.addAttribute("company-id", String.valueOf(portletDataContext.getCompanyId()));
    headerElement.addAttribute("company-group-id", String.valueOf(portletDataContext.getCompanyGroupId()));
    headerElement.addAttribute("group-id", String.valueOf(portletDataContext.getGroupId()));
    headerElement.addAttribute("user-personal-site-group-id",
            String.valueOf(portletDataContext.getUserPersonalSiteGroupId()));
    headerElement.addAttribute("private-layout", String.valueOf(portletDataContext.isPrivateLayout()));

    Group group = _groupLocalService.fetchGroup(portletDataContext.getGroupId());

    String type = "layout-set";

    if (group.isLayoutPrototype()) {
        type = "layout-prototype";

        LayoutPrototype layoutPrototype = _layoutPrototypeLocalService.getLayoutPrototype(group.getClassPK());

        headerElement.addAttribute("type-uuid", layoutPrototype.getUuid());
    } else if (group.isLayoutSetPrototype()) {
        type = "layout-set-prototype";

        LayoutSetPrototype layoutSetPrototype = _layoutSetPrototypeLocalService
                .getLayoutSetPrototype(group.getClassPK());

        headerElement.addAttribute("type-uuid", layoutSetPrototype.getUuid());
    }

    headerElement.addAttribute("type", type);
    portletDataContext.setType(type);

    Element missingReferencesElement = rootElement.addElement("missing-references");

    portletDataContext.setMissingReferencesElement(missingReferencesElement);

    rootElement.addElement("site-portlets");
    rootElement.addElement("site-services");

    // Export the group

    LayoutSet layoutSet = _layoutSetLocalService.getLayoutSet(portletDataContext.getGroupId(),
            portletDataContext.isPrivateLayout());

    String layoutSetPrototypeUuid = layoutSet.getLayoutSetPrototypeUuid();

    boolean layoutSetPrototypeSettings = MapUtil.getBoolean(portletDataContext.getParameterMap(),
            PortletDataHandlerKeys.LAYOUT_SET_PROTOTYPE_SETTINGS);

    if (!group.isStaged() && Validator.isNotNull(layoutSetPrototypeUuid) && layoutSetPrototypeSettings) {

        LayoutSetPrototype layoutSetPrototype = _layoutSetPrototypeLocalService
                .getLayoutSetPrototypeByUuidAndCompanyId(layoutSetPrototypeUuid, companyId);

        headerElement.addAttribute("layout-set-prototype-uuid", layoutSetPrototypeUuid);

        headerElement.addAttribute("layout-set-prototype-name",
                layoutSetPrototype.getName(LocaleUtil.getDefault()));
    }

    StagedGroup stagedGroup = ModelAdapterUtil.adapt(group, Group.class, StagedGroup.class);

    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, stagedGroup);

    // Export other models

    _portletExportController.exportAssetLinks(portletDataContext);
    _portletExportController.exportExpandoTables(portletDataContext);
    _portletExportController.exportLocks(portletDataContext);

    portletDataContext.addDeletionSystemEventStagedModelTypes(new StagedModelType(StagedAssetLink.class));

    _deletionSystemEventExporter.exportDeletionSystemEvents(portletDataContext);

    if (permissions) {
        _permissionExporter.exportPortletDataPermissions(portletDataContext);
    }

    _exportImportHelper.writeManifestSummary(document, portletDataContext.getManifestSummary());

    if (_log.isInfoEnabled()) {
        _log.info("Exporting layouts takes " + stopWatch.getTime() + " ms");
    }

    portletDataContext.addZipEntry("/manifest.xml", document.formattedString());

    ZipWriter zipWriter = portletDataContext.getZipWriter();

    return zipWriter.getFile();
}