Example usage for com.liferay.portal.repository.liferayrepository.model LiferayFileEntry setCachedFileVersion

List of usage examples for com.liferay.portal.repository.liferayrepository.model LiferayFileEntry setCachedFileVersion

Introduction

In this page you can find the example usage for com.liferay.portal.repository.liferayrepository.model LiferayFileEntry setCachedFileVersion.

Prototype

public void setCachedFileVersion(FileVersion fileVersion) 

Source Link

Usage

From source file:com.liferay.document.library.internal.exportimport.data.handler.FileEntryStagedModelDataHandler.java

License:Open Source License

@Override
protected void doExportStagedModel(PortletDataContext portletDataContext, FileEntry fileEntry)
        throws Exception {

    Element fileEntryElement = portletDataContext.getExportDataElement(fileEntry);

    String fileEntryPath = ExportImportPathUtil.getModelPath(fileEntry);

    if (!fileEntry.isDefaultRepository()) {
        Repository repository = _repositoryLocalService.getRepository(fileEntry.getRepositoryId());

        StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, fileEntry, repository,
                PortletDataContext.REFERENCE_TYPE_STRONG);

        portletDataContext.addClassedModel(fileEntryElement, fileEntryPath, fileEntry);

        long portletRepositoryClassNameId = _portal.getClassNameId(PortletRepository.class.getName());

        if (repository.getClassNameId() != portletRepositoryClassNameId) {
            return;
        }//from ww  w.  jav a 2s  .  c om
    }

    if (fileEntry.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {

        StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, fileEntry,
                fileEntry.getFolder(), PortletDataContext.REFERENCE_TYPE_PARENT);
    }

    LiferayFileEntry liferayFileEntry = (LiferayFileEntry) fileEntry;

    liferayFileEntry.setCachedFileVersion(fileEntry.getFileVersion());

    if (!portletDataContext.isPerformDirectBinaryImport()) {
        InputStream is = null;

        try {
            is = FileEntryUtil.getContentStream(fileEntry);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to retrieve content for file entry " + fileEntry.getFileEntryId(), e);
            }
        }

        if (is == null) {
            fileEntryElement.detach();

            return;
        }

        try {
            String binPath = ExportImportPathUtil.getModelPath(fileEntry, fileEntry.getVersion());

            portletDataContext.addZipEntry(binPath, is);

            fileEntryElement.addAttribute("bin-path", binPath);
        } finally {
            try {
                is.close();
            } catch (IOException ioe) {
                _log.error(ioe, ioe);
            }
        }
    }

    for (DLPluggableContentDataHandler dlPluggableContentDataHandler : _serviceTrackerList) {

        dlPluggableContentDataHandler.exportContent(portletDataContext, fileEntryElement, fileEntry);
    }

    exportMetaData(portletDataContext, fileEntryElement, fileEntry);

    portletDataContext.addClassedModel(fileEntryElement, fileEntryPath, liferayFileEntry, DLFileEntry.class);
}

From source file:com.liferay.document.library.internal.lar.xstream.FileEntryConverter.java

License:Open Source License

@Override
public Object unmarshal(XStreamHierarchicalStreamReader xStreamHierarchicalStreamReader,
        XStreamUnmarshallingContext xStreamUnmarshallingContext) throws Exception {

    DLFileEntry dlFileEntry = new DLFileEntryImpl();
    boolean escapedModel = false;
    LiferayFileVersion liferayFileVersion = null;

    while (xStreamHierarchicalStreamReader.hasMoreChildren()) {
        xStreamHierarchicalStreamReader.moveDown();

        String nodeName = xStreamHierarchicalStreamReader.getNodeName();

        Class<?> clazz = BeanPropertiesUtil.getObjectType(dlFileEntry, nodeName);

        if (nodeName.equals(FieldConstants.FILE_VERSION)) {
            clazz = FileVersionProxyBean.class;
        }// w  ww.ja  va 2 s .  co  m

        Object convertedValue = xStreamUnmarshallingContext
                .convertAnother(xStreamHierarchicalStreamReader.getValue(), clazz);

        if (fields.contains(nodeName)) {
            if (nodeName.equals(FieldConstants.ESCAPED_MODEL)) {
                escapedModel = (Boolean) convertedValue;
            } else if (nodeName.equals(FieldConstants.FILE_VERSION)) {
                liferayFileVersion = (LiferayFileVersion) convertedValue;
            } else {
                BeanPropertiesUtil.setProperty(dlFileEntry, nodeName, convertedValue);
            }
        }

        xStreamHierarchicalStreamReader.moveUp();
    }

    LiferayFileEntry liferayFileEntry = new LiferayFileEntry(dlFileEntry, escapedModel);

    liferayFileEntry.setCachedFileVersion(liferayFileVersion);

    return liferayFileEntry;
}