001
014
015 package com.liferay.portal.kernel.lar;
016
017 import com.liferay.portal.kernel.xml.Element;
018 import com.liferay.portal.model.BaseModel;
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, Element element,
028 T stagedModel)
029 throws PortletDataException {
030
031 StagedModelDataHandler<T> stagedModelDataHandler =
032 _getStagedModelDataHandler(stagedModel);
033
034 stagedModelDataHandler.exportStagedModel(
035 portletDataContext, element, stagedModel);
036 }
037
038 public static <T extends StagedModel> void exportStagedModel(
039 PortletDataContext portletDataContext, Element[] elements,
040 T stagedModel)
041 throws PortletDataException {
042
043 StagedModelDataHandler<T> stagedModelDataHandler =
044 _getStagedModelDataHandler(stagedModel);
045
046 stagedModelDataHandler.exportStagedModel(
047 portletDataContext, elements, stagedModel);
048 }
049
050 public static void importStagedModel(
051 PortletDataContext portletDataContext, Element element)
052 throws PortletDataException {
053
054 String path = element.attributeValue("path");
055
056 StagedModel stagedModel =
057 (StagedModel)portletDataContext.getZipEntryAsObject(element, path);
058
059 importStagedModel(portletDataContext, element, path, stagedModel);
060 }
061
062 public static <T extends StagedModel> void importStagedModel(
063 PortletDataContext portletDataContext, Element element, String path,
064 T stagedModel)
065 throws PortletDataException {
066
067 StagedModelDataHandler<T> stagedModelDataHandler =
068 _getStagedModelDataHandler(stagedModel);
069
070 stagedModelDataHandler.importStagedModel(
071 portletDataContext, element, path, stagedModel);
072 }
073
074 private static <T extends StagedModel> StagedModelDataHandler<T>
075 _getStagedModelDataHandler(T stagedModel) {
076
077 BaseModel<?> baseModel = (BaseModel<?>)stagedModel;
078
079 StagedModelDataHandler<T> stagedModelDataHandler =
080 (StagedModelDataHandler<T>)
081 StagedModelDataHandlerRegistryUtil.getStagedModelDataHandler(
082 baseModel.getModelClassName());
083
084 return stagedModelDataHandler;
085 }
086
087 }