@Override protected void doImportStagedModel(PortletDataContext portletDataContext, DDLRecord record) throws Exception { long userId = portletDataContext.getUserId(record.getUserUuid()); StagedModelDataHandlerUtil.importReferenceStagedModel( portletDataContext, record, DDLRecordSet.class, record.getRecordSetId()); Map<Long, Long> recordSetIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DDLRecordSet.class); long recordSetId = MapUtil.getLong(recordSetIds, record.getRecordSetId(), record.getRecordSetId()); ServiceContext serviceContext = portletDataContext.createServiceContext(record); Element recordElement = portletDataContext.getImportDataElement(record); Fields fields = (Fields) portletDataContext.getZipEntryAsObject(recordElement.attributeValue("fields-path")); DDLRecord importedRecord = null; if (portletDataContext.isDataStrategyMirror()) { DDLRecord existingRecord = DDLRecordLocalServiceUtil.fetchDDLRecordByUuidAndGroupId( record.getUuid(), portletDataContext.getScopeGroupId()); if (existingRecord == null) { serviceContext.setUuid(record.getUuid()); importedRecord = DDLRecordLocalServiceUtil.addRecord( userId, portletDataContext.getScopeGroupId(), recordSetId, record.getDisplayIndex(), fields, serviceContext); } else { importedRecord = DDLRecordLocalServiceUtil.updateRecord( userId, existingRecord.getRecordId(), false, record.getDisplayIndex(), fields, true, serviceContext); } } else { importedRecord = DDLRecordLocalServiceUtil.addRecord( userId, portletDataContext.getScopeGroupId(), recordSetId, record.getDisplayIndex(), fields, serviceContext); } portletDataContext.importClassedModel(record, importedRecord); }