001
014
015 package com.liferay.portal.kernel.lar;
016
017 import com.liferay.portal.kernel.xml.Element;
018 import com.liferay.portal.model.ClassedModel;
019 import com.liferay.portal.model.StagedModel;
020
021
024 public class StagedModelDataHandlerUtil {
025
026 public static <T extends StagedModel> void exportStagedModel(
027 PortletDataContext portletDataContext, T stagedModel)
028 throws PortletDataException {
029
030 StagedModelDataHandler<T> stagedModelDataHandler =
031 _getStagedModelDataHandler(stagedModel);
032
033 stagedModelDataHandler.exportStagedModel(
034 portletDataContext, stagedModel);
035 }
036
037 public static void importStagedModel(
038 PortletDataContext portletDataContext, Element element)
039 throws PortletDataException {
040
041 String path = element.attributeValue("path");
042
043 StagedModel stagedModel =
044 (StagedModel)portletDataContext.getZipEntryAsObject(element, path);
045
046 importStagedModel(portletDataContext, stagedModel);
047 }
048
049 public static <T extends StagedModel> void importStagedModel(
050 PortletDataContext portletDataContext, T stagedModel)
051 throws PortletDataException {
052
053 StagedModelDataHandler<T> stagedModelDataHandler =
054 _getStagedModelDataHandler(stagedModel);
055
056 stagedModelDataHandler.importStagedModel(
057 portletDataContext, stagedModel);
058 }
059
060 private static <T extends StagedModel> StagedModelDataHandler<T>
061 _getStagedModelDataHandler(T stagedModel) {
062
063 ClassedModel classedModel = stagedModel;
064
065 StagedModelDataHandler<T> stagedModelDataHandler =
066 (StagedModelDataHandler<T>)
067 StagedModelDataHandlerRegistryUtil.getStagedModelDataHandler(
068 classedModel.getModelClassName());
069
070 return stagedModelDataHandler;
071 }
072
073 }