/**
   * Converts the soap model instance into a normal model instance.
   *
   * @param soapModel the soap model instance to convert
   * @return the normal model instance
   */
  public static DDMTemplate toModel(DDMTemplateSoap soapModel) {
    if (soapModel == null) {
      return null;
    }

    DDMTemplate model = new DDMTemplateImpl();

    model.setUuid(soapModel.getUuid());
    model.setTemplateId(soapModel.getTemplateId());
    model.setGroupId(soapModel.getGroupId());
    model.setCompanyId(soapModel.getCompanyId());
    model.setUserId(soapModel.getUserId());
    model.setUserName(soapModel.getUserName());
    model.setCreateDate(soapModel.getCreateDate());
    model.setModifiedDate(soapModel.getModifiedDate());
    model.setClassNameId(soapModel.getClassNameId());
    model.setClassPK(soapModel.getClassPK());
    model.setTemplateKey(soapModel.getTemplateKey());
    model.setName(soapModel.getName());
    model.setDescription(soapModel.getDescription());
    model.setType(soapModel.getType());
    model.setMode(soapModel.getMode());
    model.setLanguage(soapModel.getLanguage());
    model.setScript(soapModel.getScript());
    model.setCacheable(soapModel.getCacheable());
    model.setSmallImage(soapModel.getSmallImage());
    model.setSmallImageId(soapModel.getSmallImageId());
    model.setSmallImageURL(soapModel.getSmallImageURL());

    return model;
  }
Exemple #2
0
  @Override
  protected void doImportStagedModel(PortletDataContext portletDataContext, DDMTemplate template)
      throws Exception {

    long userId = portletDataContext.getUserId(template.getUserUuid());

    Map<Long, Long> structureIds =
        (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(DDMStructure.class);

    long classPK = MapUtil.getLong(structureIds, template.getClassPK(), template.getClassPK());

    File smallFile = null;

    if (template.isSmallImage()) {
      Element element = portletDataContext.getImportDataStagedModelElement(template);

      String smallImagePath = element.attributeValue("small-image-path");

      if (Validator.isNotNull(template.getSmallImageURL())) {
        String smallImageURL =
            JournalPortletDataHandler.importReferencedContent(
                portletDataContext, element, template.getSmallImageURL());

        template.setSmallImageURL(smallImageURL);
      } else if (Validator.isNotNull(smallImagePath)) {
        byte[] bytes = portletDataContext.getZipEntryAsByteArray(smallImagePath);

        if (bytes != null) {
          smallFile = FileUtil.createTempFile(template.getSmallImageType());

          FileUtil.write(smallFile, bytes);
        }
      }
    }

    ServiceContext serviceContext =
        portletDataContext.createServiceContext(template, DDMPortletDataHandler.NAMESPACE);

    DDMTemplate importedTemplate = null;

    if (portletDataContext.isDataStrategyMirror()) {
      DDMTemplate existingTemplate =
          DDMTemplateUtil.fetchByUUID_G(template.getUuid(), portletDataContext.getScopeGroupId());

      if (existingTemplate == null) {
        serviceContext.setUuid(template.getUuid());

        importedTemplate =
            addTemplate(
                userId,
                portletDataContext.getScopeGroupId(),
                template,
                classPK,
                smallFile,
                serviceContext);
      } else {
        importedTemplate =
            DDMTemplateLocalServiceUtil.updateTemplate(
                existingTemplate.getTemplateId(),
                template.getNameMap(),
                template.getDescriptionMap(),
                template.getType(),
                template.getMode(),
                template.getLanguage(),
                template.getScript(),
                template.isCacheable(),
                template.isSmallImage(),
                template.getSmallImageURL(),
                smallFile,
                serviceContext);
      }
    } else {
      importedTemplate =
          addTemplate(
              userId,
              portletDataContext.getScopeGroupId(),
              template,
              classPK,
              smallFile,
              serviceContext);
    }

    portletDataContext.importClassedModel(
        template, importedTemplate, DDMPortletDataHandler.NAMESPACE);
  }
Exemple #3
0
  @Override
  protected void doExportStagedModel(PortletDataContext portletDataContext, DDMTemplate template)
      throws Exception {

    Element dlFileEntryTypesElement =
        portletDataContext.getExportDataGroupElement(DLFileEntryType.class);
    Element dlFoldersElement = portletDataContext.getExportDataGroupElement(DLFolder.class);
    Element dlFileEntriesElement = portletDataContext.getExportDataGroupElement(DLFileEntry.class);
    Element dlFileRanksElement = portletDataContext.getExportDataGroupElement(DLFileRank.class);
    Element dlRepositoriesElement = portletDataContext.getExportDataGroupElement(Repository.class);
    Element dlRepositoryEntriesElement =
        portletDataContext.getExportDataGroupElement(RepositoryEntry.class);

    Element templateElement = portletDataContext.getExportDataStagedModelElement(template);

    if (template.isSmallImage()) {
      Image smallImage = ImageUtil.fetchByPrimaryKey(template.getSmallImageId());

      if (Validator.isNotNull(template.getSmallImageURL())) {
        String smallImageURL =
            DDMPortletDataHandler.exportReferencedContent(
                portletDataContext,
                dlFileEntryTypesElement,
                dlFoldersElement,
                dlFileEntriesElement,
                dlFileRanksElement,
                dlRepositoriesElement,
                dlRepositoryEntriesElement,
                templateElement,
                template.getSmallImageURL().concat(StringPool.SPACE));

        template.setSmallImageURL(smallImageURL);
      } else if (smallImage != null) {
        String smallImagePath =
            StagedModelPathUtil.getPath(
                template,
                smallImage.getImageId() + StringPool.PERIOD + template.getSmallImageType());

        templateElement.addAttribute("small-image-path", smallImagePath);

        template.setSmallImageType(smallImage.getType());

        portletDataContext.addZipEntry(smallImagePath, smallImage.getTextObj());
      }
    }

    if (portletDataContext.getBooleanParameter(
        DDMPortletDataHandler.NAMESPACE, "embedded-assets")) {

      String content =
          DDMPortletDataHandler.exportReferencedContent(
              portletDataContext,
              dlFileEntryTypesElement,
              dlFoldersElement,
              dlFileEntriesElement,
              dlFileRanksElement,
              dlRepositoriesElement,
              dlRepositoryEntriesElement,
              templateElement,
              template.getScript());

      template.setScript(content);
    }

    portletDataContext.addClassedModel(
        templateElement,
        StagedModelPathUtil.getPath(template),
        template,
        DDMPortletDataHandler.NAMESPACE);
  }