Examples of IFileAsset


Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

    }
    String inode = UtilMethods.getFileName(new File(FileUtil.getRealPath(assetPath + uri)).getName());
    User mu = null;

    try{
      IFileAsset file;
      try{
        file = fileAPI.find(inode, userAPI.getSystemUser(), false);
      }catch(DotHibernateException e){
        inode = uri.split(Pattern.quote(File.separator))[3];
        file = APILocator.getFileAssetAPI().fromContentlet(APILocator.getContentletAPI().find(inode, userAPI.getSystemUser(), false));
      }
      mu = userAPI.loadUserById(file.getModUser(), userAPI.getSystemUser(), true);
    }catch (Exception e) {
      Logger.error(this, e.getMessage(), e);
      Logger.error(this, "User doesn't have permissions to get PHP filesystem.");
      throw new DotRuntimeException(e.getMessage(),e);
    }
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

              stringbuf.append("#set ($_dummy  = $menuItem.put(\"title\", \"").append(UtilHTML.escapeHTMLSpecialChars(htmlpage.getTitle())).append("\"))");
              stringbuf.append("#set ($_dummy  = $menuItem.put(\"isFirstItem\", ").append(isFirstItem).append("))");
              stringbuf.append("#set ($_dummy  = $menuItem.put(\"isLastItem\", ").append(isLastItem).append("))");
              stringbuf.append("#set ($_dummy = $navigationItems.add($menuItem))");
            } else if (itemChild instanceof IFileAsset) {
              IFileAsset fileItem = (IFileAsset) itemChild;
              if (fileItem.isWorking() && !fileItem.isDeleted()) {
                stringbuf.append("#set ($menuItem = $contents.getEmptyMap())");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"type\", \"FILE\"))");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"name\", \"").append(fileItem.getFileName()).append("\"))");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"path\", \"").append(folderPath).append("\"))");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"title\", \"").append(UtilHTML.escapeHTMLSpecialChars(fileItem.getTitle())).append("\"))");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"isFirstItem\", ").append(isFirstItem).append("))");
                stringbuf.append("#set ($_dummy  = $menuItem.put(\"isLastItem\", ").append(isLastItem).append("))");
                stringbuf.append("#set ($_dummy = $navigationItems.add($menuItem))");
              }
            }
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"isFirstItem\", ").append(isFirstItem).append("))");
            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"isLastItem\", ").append(isLastItem).append("))");
            stringbuf.append("#set ($_dummy = $_").append(submenuName).append(".add($menuItem").append(submenuName).append("))");
          }
        } else if (childChild2 instanceof IFileAsset) {
          IFileAsset fileItem = (IFileAsset) childChild2;
          if (fileItem.isWorking() && !fileItem.isDeleted()) {
                stringbuf.append("#set ($menuItem").append(submenuName).append(" = $contents.getEmptyMap())");
                stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"type\", \"FILE\"))");
                stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"name\", \"").append(fileItem.getFileName()).append("\"))");
            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"path\", \"").append(folderPath).append("\"))");
            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"title\", \"").append(UtilHTML.escapeHTMLSpecialChars(fileItem.getTitle())).append("\"))");
            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"isFirstItem\", ").append(isFirstItem).append("))");
            stringbuf.append("#set ($_dummy  = $menuItem").append(submenuName).append(".put(\"isLastItem\", ").append(isLastItem).append("))");
            stringbuf.append("#set ($_dummy = $_").append(submenuName).append(".add($menuItem").append(submenuName).append("))");
          }
        }
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

  }
 
  public List<IFileAsset> getVideoImages (String videoURI, String hostId) {
    //String videoURI = videoFile.getURI();
    String imageURI = videoURI.substring(0,videoURI.length()-4) + ".jpg";
    IFileAsset img = null;
    try {
      Host host = APILocator.getHostAPI().find(hostId,userAPI.getSystemUser(),false);
      Identifier id = APILocator.getIdentifierAPI().find(host, imageURI);
      if(id!=null && InodeUtils.isSet(id.getId()) && id.getAssetType().equals("contentlet")){
        Contentlet cont = APILocator.getContentletAPI().findContentletByIdentifier(id.getId(), true, APILocator.getLanguageAPI().getDefaultLanguage().getId(), userAPI.getSystemUser(),false);
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

        if (permissions.contains(PERMISSION_READ)) {
          boolean hasPushPublishActionlet = false;
          if (!showArchived && file.isArchived()) {
            continue;
          }
          IFileAsset fileAsset = (IFileAsset) file;
          List<Map<String, Object>> wfActionMapList = new ArrayList<Map<String, Object>>();
          for (WorkflowAction action : wfActions) {
            List<WorkflowActionClass> actionlets = APILocator
                .getWorkflowAPI().findActionClasses(action);
            if (action.requiresCheckout()) {
              continue;
            }
            Map<String, Object> wfActionMap = new HashMap<String, Object>();
            wfActionMap.put("name", action.getName());
            wfActionMap.put("id", action.getId());
            wfActionMap.put("icon", action.getIcon());
            wfActionMap.put("assignable", action.isAssignable());
            wfActionMap.put("commentable", action.isCommentable()
                || UtilMethods.isSet(action.getCondition()));
            wfActionMap.put("requiresCheckout",
                action.requiresCheckout());
            wfActionMap.put("wfActionNameStr",
                LanguageUtil.get(user, action.getName()));
            for (WorkflowActionClass actionlet : actionlets) {
              if (actionlet
                  .getActionlet()
                  .getClass()
                  .getCanonicalName()
                  .equals(PushPublishActionlet.class
                      .getCanonicalName())) {
                hasPushPublishActionlet = true;
              }
            }
            wfActionMap.put("hasPushPublishActionlet",
                hasPushPublishActionlet);
            wfActionMapList.add(wfActionMap);
          }
          if (wfScheme != null && wfScheme.isMandatory()) {
            permissions.remove(new Integer(
                PermissionAPI.PERMISSION_PUBLISH));
          }

          // check for multilingual. we don't need to see the item
          // more than once for every language
          boolean skip = false;
          if (contentlet != null) {
            List<Map<String, Object>> toDelete = new ArrayList<Map<String, Object>>();
            for (Map<String, Object> map : returnList) {
              if (map.get("identifier").equals(
                  contentlet.getIdentifier())) {
                if (contentlet.getLanguageId() != APILocator
                    .getLanguageAPI().getDefaultLanguage()
                    .getId()) {
                  // if this is no for the default lang and
                  // there is another one in the list skip.
                  skip = true;
                } else {
                  // if this is for def lang then delete any
                  // other we find
                  toDelete.add(map);
                }
              }
            }
            returnList.removeAll(toDelete);
          }

          if (skip)
            continue;

          Map<String, Object> fileMap = fileAsset.getMap();

          Identifier ident = APILocator.getIdentifierAPI().find(
              fileAsset.getVersionId());

          fileMap.put("wfMandatoryWorkflow", wfScheme!=null && wfScheme.isMandatory());
          fileMap.put("permissions", permissions);
          fileMap.put("mimeType", APILocator.getFileAPI()
              .getMimeType(fileAsset.getFileName()));
          fileMap.put("name", ident.getAssetName());
          fileMap.put("fileName", ident.getAssetName());
          fileMap.put("title", fileAsset.getFriendlyName());
          fileMap.put("description", fileAsset instanceof Contentlet ?
                                     ((Contentlet)fileAsset).getStringProperty(FileAssetAPI.DESCRIPTION)
                                     : "");
          fileMap.put("extension", UtilMethods
              .getFileExtension(fileAsset.getFileName()));
          fileMap.put("path", fileAsset.getPath());
          fileMap.put("type", fileAsset.getType());
          fileMap.put("wfActionMapList", wfActionMapList);
          fileMap.put("contentEditable", contentEditable);
          fileMap.put("size", fileAsset.getFileSize());
          fileMap.put("publishDate", fileAsset.getIDate());
          // BEGIN GRAZIANO issue-12-dnd-template
          fileMap.put(
              "parent",
              fileAsset.getParent() != null ? fileAsset
                  .getParent() : "");
          fileMap.put("isContentlet", false);
          // END GRAZIANO issue-12-dnd-template
          if (contentlet != null) {
            fileMap.put("identifier", contentlet.getIdentifier());
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

    } catch (DotSecurityException e) {
      Logger.error(DotWebdavHelper.class, e.getMessage(), e);
      throw new IOException(e.getMessage());
    }

    IFileAsset f =null;
    try {
        Identifier id  = APILocator.getIdentifierAPI().find(host, url);
        if(id!=null && InodeUtils.isSet(id.getId())) {
            if(id.getAssetType().equals("contentlet")){
                Contentlet cont = APILocator.getContentletAPI().findContentletByIdentifier(id.getId(), false, APILocator.getLanguageAPI().getDefaultLanguage().getId(), user, false);
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

                Logger.error( this, "Could not load files : ", e2 );
            }

            for ( Versionable file : filesListSubChildren ) {
                if ( !file.isArchived() ) {
                    IFileAsset fileAsset = (IFileAsset) file;
                    FileResourceImpl resource = new FileResourceImpl( fileAsset, prePath + folderHost.getHostname() + "/" + fileAsset.getPath() );
                    result.add( resource );
                }
            }
            for ( Folder folder : folderListSubChildren ) {
                if ( !folder.isArchived() ) {
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

      folder = folderAPI.findFolderByPath(folderName, host,user,false);
    } catch (Exception e2) {
      Logger.error(this, e2.getMessage(), e2);
    }
    if (host != null && InodeUtils.isSet(host.getInode()) && InodeUtils.isSet(folder.getInode())) {
      IFileAsset destinationFile = null;
      java.io.File workingFile = null;
      Folder parent = null;
      Contentlet fileAssetCont = null;
      Identifier identifier  = APILocator.getIdentifierAPI().find(host, path);
      if(identifier!=null && InodeUtils.isSet(identifier.getId()) && identifier.getAssetType().equals("contentlet")){
        fileAssetCont = APILocator.getContentletAPI().findContentletByIdentifier(identifier.getId(), false, APILocator.getLanguageAPI().getDefaultLanguage().getId(), user, false);
        workingFile = fileAssetCont.getBinary(FileAssetAPI.BINARY_FIELD);
        destinationFile = APILocator.getFileAssetAPI().fromContentlet(fileAssetCont);
        parent = APILocator.getFolderAPI().findFolderByPath(identifier.getParentPath(), host, user, false);

        if(fileAssetCont.isArchived()) {
            APILocator.getContentletAPI().unarchive(fileAssetCont, user, false);
        }
      }else if(identifier!=null && InodeUtils.isSet(identifier.getId())){
        destinationFile = fileAPI.getFileByURI(path, host, false, user, false);
        // inode{1}/inode{2}/inode.file_extension
        workingFile = fileAPI.getAssetIOFile((File)destinationFile);

        if(destinationFile.isArchived()) {
            WebAssetFactory.unArchiveAsset((File)destinationFile);
        }
      }

      //http://jira.dotmarketing.net/browse/DOTCMS-1873
      //To clear velocity cache
      if(workingFile!=null){
        DotResourceCache vc = CacheLocator.getVeloctyResourceCache();
        vc.remove(ResourceManager.RESOURCE_TEMPLATE + workingFile.getPath());
      }

      InputStream is = content;
      byte[] currentData = IOUtils.toByteArray(is);

      if(destinationFile==null){
        Contentlet fileAsset = new Contentlet();
        Structure faStructure = StructureCache.getStructureByInode(folder.getDefaultFileType());
        Field fieldVar = faStructure.getFieldVar(FileAssetAPI.BINARY_FIELD);
        fileAsset.setStructureInode(folder.getDefaultFileType());
        fileAsset.setFolder(folder.getInode());
        if (currentData != null) {
          java.io.File tempUserFolder = new java.io.File(APILocator.getFileAPI().getRealAssetPathTmpBinary() + java.io.File.separator + user.getUserId() +
              java.io.File.separator + fieldVar.getFieldContentlet());
          if (!tempUserFolder.exists())
            tempUserFolder.mkdirs();

          java.io.File fileData = new java.io.File(tempUserFolder.getAbsolutePath() + java.io.File.separator + fileName);
          if(fileData.exists())
            fileData.delete();
          // Saving the new working data
          FileChannel writeCurrentChannel = new FileOutputStream(fileData).getChannel();
          writeCurrentChannel.truncate(0);
          ByteBuffer buffer = ByteBuffer.allocate(currentData.length);
          buffer.put(currentData);
          buffer.position(0);
          writeCurrentChannel.write(buffer);
          writeCurrentChannel.force(false);
          writeCurrentChannel.close();
          fileAsset.setStringProperty(FileAssetAPI.TITLE_FIELD, fileName);
          fileAsset.setStringProperty(FileAssetAPI.FILE_NAME_FIELD, fileName);
          fileAsset.setBinary(FileAssetAPI.BINARY_FIELD, fileData);
          fileAsset.setHost(host.getIdentifier());
          fileAsset=APILocator.getContentletAPI().checkin(fileAsset, user, false);

          //Validate if the user have the right permission before
          if(isAutoPub && !perAPI.doesUserHavePermission(fileAsset, PermissionAPI.PERMISSION_PUBLISH, user) ){
            APILocator.getContentletAPI().archive(fileAsset, APILocator.getUserAPI().getSystemUser(), false);
            APILocator.getContentletAPI().delete(fileAsset, APILocator.getUserAPI().getSystemUser(), false);
            throw new DotSecurityException("User does not have permission to publish contentlets");
              }else if(!isAutoPub && !perAPI.doesUserHavePermission(fileAsset, PermissionAPI.PERMISSION_EDIT, user)){
                APILocator.getContentletAPI().archive(fileAsset, APILocator.getUserAPI().getSystemUser(), false);
            APILocator.getContentletAPI().delete(fileAsset, APILocator.getUserAPI().getSystemUser(), false);
            throw new DotSecurityException("User does not have permission to edit contentlets");
              }
          if(isAutoPub && perAPI.doesUserHavePermission(fileAsset, PermissionAPI.PERMISSION_PUBLISH, user)) {
              APILocator.getContentletAPI().publish(fileAsset, user, false);

              Date currentDate = new Date();
              fileResourceCache.add(resourceUri + "|" + user.getUserId(), currentDate.getTime());

          }
        }
      }else{

        if(destinationFile instanceof File){
          // Save the file size
          File file = fileAPI.getFileByURI(path, host, false, user, false);
          file.setSize(currentData.length);
          file.setModDate(modifiedDate);
          file.setModUser(user.getUserId());
          try {
            HibernateUtil.saveOrUpdate(file);
          } catch (DotHibernateException e1) {
            Logger.error(this,e1.getMessage(), e1);
          }
        }

        if (currentData != null) {
          // Saving the new working data
            java.io.File fileData;
            if(destinationFile instanceof File) {
                fileData=workingFile;
            }
            else {
              Structure faStructure = StructureCache.getStructureByInode(folder.getDefaultFileType());
              Field fieldVar = faStructure.getFieldVar(FileAssetAPI.BINARY_FIELD);
              java.io.File tempUserFolder = new java.io.File(APILocator.getFileAPI().getRealAssetPathTmpBinary() + java.io.File.separator + user.getUserId() +
                  java.io.File.separator + fieldVar.getFieldContentlet());
              if (!tempUserFolder.exists())
                tempUserFolder.mkdirs();

              fileData = new java.io.File(tempUserFolder.getAbsolutePath() + java.io.File.separator + fileName);
              if(fileData.exists())
                fileData.delete();
            }
          // Saving the new working data
          FileChannel writeCurrentChannel = new FileOutputStream(fileData).getChannel();
          writeCurrentChannel.truncate(0);
          ByteBuffer buffer = ByteBuffer.allocate(currentData.length);
          buffer.put(currentData);
          buffer.position(0);
          writeCurrentChannel.write(buffer);
          writeCurrentChannel.force(false);
          writeCurrentChannel.close();
          Logger.debug(this, "WEBDAV fileName:" + fileName + ":" + fileData.getAbsolutePath());

          if(destinationFile instanceof File){
            // checks if it's an image
            if (UtilMethods.isImage(fileName) && workingFile != null) {
              try {
                // gets image height
                BufferedImage img = javax.imageio.ImageIO.read(workingFile);
                if(img != null){
                  int height = img.getHeight();
                  ((File)destinationFile).setHeight(height);
                  // gets image width
                  int width = img.getWidth();
                  ((File)destinationFile).setWidth(width);
                }
              } catch (Exception ioe) {
                Logger.error(this.getClass(), ioe.getMessage(), ioe);
              }

            }

          }else{
            fileAssetCont.setInode(null);
            fileAssetCont.setFolder(parent.getInode());
            fileAssetCont.setBinary(FileAssetAPI.BINARY_FIELD, fileData);
            fileAssetCont = APILocator.getContentletAPI().checkin(fileAssetCont, user, false);
            if(isAutoPub && perAPI.doesUserHavePermission(fileAssetCont, PermissionAPI.PERMISSION_PUBLISH, user))
                APILocator.getContentletAPI().publish(fileAssetCont, user, false);
          }

          //Wiping out the thumbnails and resized versions
          //http://jira.dotmarketing.net/browse/DOTCMS-5911
          String inode = destinationFile.getInode();
          if(UtilMethods.isSet(inode)){
            String realAssetPath = APILocator.getFileAPI().getRealAssetPath();
            java.io.File tumbnailDir = new java.io.File(realAssetPath + java.io.File.separator + "dotGenerated" + java.io.File.separator + inode.charAt(0) + java.io.File.separator + inode.charAt(1));
            if(tumbnailDir!=null){
              java.io.File[] files = tumbnailDir.listFiles();
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

            }

            for (Versionable file : files) {
              if (perAPI.doesUserHavePermission((Permissionable)file,
                  PERMISSION_READ, user, false)) {
                IFileAsset fa = (IFileAsset)file;
                String fileUri = "";
                java.io.File workingFile = null;
                FileInputStream is = null;
                Date idate = null;
                if(file instanceof Contentlet){
                  Identifier identifier  = APILocator.getIdentifierAPI().find((Contentlet) file);
                  if(identifier!=null && identifier.getAssetType().equals("contentlet")){
                    fileUri = identifier.getPath();
                    workingFile = ((Contentlet)file).getBinary(FileAssetAPI.BINARY_FIELD);
                    is = new FileInputStream(workingFile);
                    idate = ((Contentlet)file).getModDate();
                  }
                }else if(file instanceof File){
                  fileUri = ((File) file).getURI();
                    workingFile = fileAPI.getAssetIOFile((File)file);
                    is = new FileInputStream(workingFile);
                    idate = ((File)file).getiDate();
                }
                int begin = fileUri.lastIndexOf("/") + 1;
                int end = fileUri.length();
                fileUri = fileUri.substring(begin, end);
                Summary s = new Summary();
                s.setFolder(false);
                s.setName(fileUri);
                s.setPath(s.getName());
                s.setPath(folderUriAux + "/" + fileUri);
                s.setCreateDate(idate);
                s.setModifyDate(fa.getModDate());

                s.setLength(is.available());
                s.setHost(host);
                s.setFile(fa);
                returnValue.add(s);
View Full Code Here

Examples of com.dotmarketing.portlets.fileassets.business.IFileAsset

      if(!isFolder && !isResource){
        return null;
      }
     
      if(!isFolder && isResource){
        IFileAsset file = dotDavHelper.loadFile(url,user);
        if(file == null || !InodeUtils.isSet(file.getInode())){
          Logger.debug(this, "The file for url " + url + " returned null or not in db");
          return null;
        }
        FileResourceImpl fr = new FileResourceImpl(file,url);
        return fr;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.