Package com.dotmarketing.portlets.folders.model

Examples of com.dotmarketing.portlets.folders.model.Folder


        cache.put(key(hostid,folderInode), result, GROUP);
    }

    @Override
    public void removeNav(String folderInode) {
        Folder folder;
        try {
            folder = APILocator.getFolderAPI().find(folderInode, APILocator.getUserAPI().getSystemUser(), true);
            Identifier ident=APILocator.getIdentifierAPI().find(folder);
            removeNav(ident.getHostId(),folder.getInode());
        } catch (Exception e) {
            Logger.warn(this, e.getMessage(),e);
        }
    }
View Full Code Here


    String parentInode = req.getParameter("parent");
   
    if (parentInode != null && parentInode.length() != 0 && !parentInode.equalsIgnoreCase("")) {
     
      // the new parent is being passed through the request
      Folder parent = (Folder) InodeFactory.getInode(parentInode, Folder.class);

      if(APILocator.getFileAPI().moveFile(webAsset, parent, user, false)) {
        SessionMessages.add(req, "message", "message.file_asset.move");
      } else {
        SessionMessages.add(req, "error", "message.file_asset.error.filename.exists");
View Full Code Here

   
    // This can't be done on the WebAsset so it needs to be done here.
    File file = (File) req.getAttribute(WebKeys.FILE_EDIT);
   
   
    Folder parentFolder = null;
   
    if(req.getParameter("parent") != null) {
      parentFolder = folderAPI.find(req.getParameter("parent"),user,false);
    } else if(UtilMethods.isSet(file.getIdentifier())){
      Identifier tempId = APILocator.getIdentifierAPI().find(file.getIdentifier());
      Host fileHost = APILocator.getHostAPI().find(tempId.getHostId(), user, false);
      parentFolder = fileAPI.getFileFolder(file,fileHost, user, false);
    }

    // setting parent folder path and inode on the form bean
    if(parentFolder != null) {
      FileForm cf = (FileForm) form;
      cf.setSelectedparent(parentFolder.getName());
      cf.setParent(parentFolder.getInode());
      cf.setSelectedparentPath(APILocator.getIdentifierAPI().find(parentFolder).getPath());
      file.setParent(parentFolder.getInode());
    }
    if(InodeUtils.isSet(file.getIdentifier())){
       APILocator.getFileAPI().invalidateCache(file);
    }
  }
View Full Code Here

      // gets the current container being edited from the request object
      File currentFile = (File) req.getAttribute(WebKeys.FILE_EDIT);
     
      // parent folder
      String parent = ParamUtil.getString(req, "parent");
      Folder folder = APILocator.getFolderAPI().find(parent, user, false);
      //http://jira.dotmarketing.net/browse/DOTCMS-5899
      if(InodeUtils.isSet(currentFile.getIdentifier())){
        Identifier id = APILocator.getIdentifierAPI().find(currentFile);
        if(id!=null && InodeUtils.isSet(id.getInode())){
          String URI = id.getURI();
          String uriPath = URI.substring(0,URI.lastIndexOf("/")+1);
          String folderPath = APILocator.getIdentifierAPI().find(folder).getPath();
          if(!uriPath.equals(folderPath)){
            id.setURI(folderPath+currentFile.getFileName());
            APILocator.getIdentifierAPI().save(id);
          }
        }
      }

      req.setAttribute(WebKeys.PARENT_FOLDER, folder)// Since the above query is expensive, save it into request object
     
      if(currentFile!=null)
        file.setIdentifier(currentFile.getIdentifier());
     
      _checkPermissions(file, folder, user, httpReq);
     
      // gets user id from request for modified user
      String userId = user.getUserId();
     
      boolean previousShowMenu = file.isShowOnMenu();
     
      long uploadFileMaxSize = Long.parseLong(Config.getStringProperty("UPLOAD_FILE_MAX_SIZE"));

      //Checking the max file size
      java.io.File uploadedFile = uploadReq.getFile("uploadedFile");
     
      if(currentFile!=null && UtilMethods.isSet(currentFile.getInode())){
        java.io.File editedFile = new java.io.File(APILocator.getFileAPI().getAssetIOFile(currentFile).getPath()+"_text");
        if(editedFile.exists()){
          FileChannel ic = new FileInputStream(editedFile).getChannel();
          FileChannel oc = new FileOutputStream(APILocator.getFileAPI().getAssetIOFile(currentFile)).getChannel();
          ic.transferTo(0, ic.size(), oc);
          ic.close();
          oc.close();
        }
      }

     
      //Do we have an uploaded file or not?
      boolean haveUpload = (uploadedFile.exists() && uploadedFile.length()>0);
      boolean tmpFile = true;
     
      if(!haveUpload){

        // look for a edited file in the users session, if it is there, use that
        if(UtilMethods.isSet(fileForm.get_imageToolSaveFile())){
          String x =fileForm.get_imageToolSaveFile().trim();
          if( x != null){
            x = PublicEncryptionFactory.decryptString(x);
            uploadedFile = new java.io.File( x.trim());
            haveUpload = (uploadedFile.exists() && uploadedFile.length()>0);
          }
          else{
            x=null;
          }
          reqImpl.getHttpServletRequest().getSession().removeAttribute(WebKeys.IMAGE_TOOL_SAVE_FILES);
        }
      }
     
     
     
      if(haveUpload) {
        if ((uploadFileMaxSize > 0) && (uploadedFile.length() > uploadFileMaxSize)) {
          // when there is an error saving should unlock working asset
          WebAssetFactory.unLockAsset(currentFile);
          throw new ActionException();
        }
      }
     
     
      // CHECK THE FOLDER PATTERN
      if (UtilMethods.isSet(file.getFileName()) && !APILocator.getFolderAPI().matchFilter(folder, file.getFileName())) {
        SessionMessages.add(req, "error", "message.file_asset.error.filename.filters");
        // when there is an error saving should unlock working asset
        WebAssetFactory.unLockAsset(currentFile);
        throw new ActionException("message.file_asset.error.filename.filters");
      }
     
     
      // Checking permissions
      _checkPermissions(currentFile, folder, user, httpReq);
     
     
      //Setting some flags
      boolean editing = (InodeUtils.isSet(currentFile.getInode()));

     

      if(!haveUpload){
        uploadedFile = APILocator.getFileAPI().getAssetIOFile(currentFile);
        tmpFile = false;
      }
     
     
      // if we don't have a file anywhere, die
      if(!(uploadedFile.exists() && uploadedFile.length()>0)){
        SessionMessages.add(req, "error", "message.file_asset.error.nofile");
        // when there is an error saving should unlock working asset
        WebAssetFactory.unLockAsset(currentFile);
        throw new ActionException("message.file_asset.error.nofile")
      }

      String fileName = (editing) ? currentFile.getFileName() : fileForm.getFileName();
     
      //getting mime type
      String mimeType = APILocator.getFileAPI().getMimeType(fileName);

      file.setMimeType(mimeType);

      if (editing && haveUpload && !
          APILocator.getFileAPI().getMimeType(fileName).equals(APILocator.getFileAPI().getMimeType(uploadedFile.getName()))) {
        SessionMessages.add(req, "error", "message.file_asset.error.mimetype");
        // when there is an error saving should unlock working asset
        Logger.error(this.getClass(), "MimeType Mismatch:" + fileName + " : " + uploadedFile.getName());
        WebAssetFactory.unLockAsset(currentFile);
        HibernateUtil.rollbackTransaction();
        throw new ActionException("message.file_asset.error.mimetype");
      }
 
      // checks if another identifier with the same name exists in the same
      // folder
      if ((!editing) && (APILocator.getFileAPI().fileNameExists(folder, fileName))) {
        SessionMessages.add(req, "error", "message.file_asset.error.filename.exists");
        throw new ActionException("message.file_asset.error.filename.exists");
      }

      //sets new file properties
      file.setFileName(fileName);
      file.setModUser(userId);
     
      if (haveUpload) {
        file.setSize((int)uploadedFile.length());
      }
      else {
        file.setSize(currentFile.getSize());
        file.setWidth(currentFile.getWidth());
        file.setHeight(currentFile.getHeight());
      }
      //Saving the file, this creates the new version and save the new data
      File workingFile = null;
      workingFile = APILocator.getFileAPI().saveFile(file, uploadedFile, folder, user, false);
      APILocator.getVersionableAPI().setWorking(file);
      APILocator.getVersionableAPI().setLocked(file, false, user);
      if(uploadedFile != null && uploadedFile.exists() &&tmpFile){
        uploadedFile.delete();
      }
      SessionMessages.add(req, "message", "message.file_asset.save");
         // for file in a popup
      if (req.getParameter("popup") != null) {
        req.setAttribute("fileInode", file.getInode() + "");
        req.setAttribute("fileName", file.getFileName() + "");
      }     
      req.setAttribute(WebKeys.FILE_FORM_EDIT, workingFile);
      // copies the information back into the form bean
      BeanUtils.copyProperties(form, req.getAttribute(WebKeys.FILE_FORM_EDIT));
     
      //Refreshing the menues
      if (previousShowMenu != file.isShowOnMenu()) {
        //existing folder with different show on menu ... need to regenerate menu
        RefreshMenus.deleteMenu(file);
        CacheLocator.getNavToolCache().removeNav(folder.getHostId(), folder.getInode());
      }
     
    } catch (Exception e) {
      Logger.error(this, "\n\n\nEXCEPTION IN FILE SAVING!!! " + e.getMessage(), e);
      throw new ActionException(e.getMessage());
View Full Code Here

      // gets the current template being edited from the request object
      File file = (File) req.getAttribute(WebKeys.FILE_EDIT);
     
      // gets folder parent
      String parentInode = req.getParameter("parent");
      Folder parent = null;
      if (parentInode != null && parentInode.length() != 0 && !parentInode.equalsIgnoreCase("")) {
        // the parent is being passed through the request
        parent = (Folder) InodeFactory.getInode(parentInode, Folder.class);
        Logger.debug(this, "Parent Folder=" + parent.getInode());
      } else {
        parent = APILocator.getFolderAPI().findParentFolder(file, user, false);
        Logger.debug(this, "Parent Folder=" + parent.getInode());
      }
     
      // Checking permissions
      _checkCopyAndMovePermissions(file, parent, user, httpReq, "copy");
      APILocator.getFileAPI().copyFile(file, parent, user, false);
View Full Code Here

      return;
    }
    else if ((cmd != null) && cmd.equals(com.dotmarketing.util.Constants.RENAME))
    {
      String newName = "newRenameNew";     
      Folder folder = APILocator.getFolderAPI().find(req.getParameter("inode"), user, false);
      folder.setName(newName);
      APILocator.getFolderAPI().save(folder, user, false);
      _sendToReferral(req, res, referer);
      return;
    }
View Full Code Here

      PortletConfig config, ActionForm form) throws Exception {
    User user=_getUser(req);
   
    String inode=req.getParameter("inode");
   
    Folder f;
    if(UtilMethods.isSet(inode)) {
      f = APILocator.getFolderAPI().find(inode, user, false);
    }
    else {
      // it is a new folder
      f = new Folder();
    }
   
    req.setAttribute(WebKeys.FOLDER_EDIT, f);

    // Checking permissions   
    _checkUserPermissions(f, user, PERMISSION_READ);

    // parent folder
    if (!InodeUtils.isSet(f.getInode())) {
      String parentFolderInode = req.getParameter("pfolderId");
      String parentHostId = req.getParameter("phostId");
      if(UtilMethods.isSet(parentFolderInode)) {
        Folder parent = folderAPI.find(parentFolderInode,user,false);
        req.setAttribute(WebKeys.FOLDER_PARENT, parent);
            Host parentHost = hostAPI.findParentHost(parent, user, false);
        req.setAttribute(WebKeys.HOST_PARENT, parentHost);
      } else {
        req.setAttribute(WebKeys.FOLDER_PARENT, null);
        req.setAttribute(WebKeys.HOST_PARENT, hostAPI.find(parentHostId, user, false));
      }
    } else {
          Folder parentFolder = folderAPI.findParentFolder(f,user,false);
            //(Folder) InodeFactory.getParentOfClass(f, Folder.class);
         
          if(parentFolder != null && InodeUtils.isSet(parentFolder.getInode())) {
            req.setAttribute(WebKeys.FOLDER_PARENT, parentFolder);
            Host parentHost = hostAPI.findParentHost(parentFolder, user, false);
        req.setAttribute(WebKeys.HOST_PARENT, parentHost);
          } else {
        req.setAttribute(WebKeys.FOLDER_PARENT, null);
View Full Code Here

    File workingFile = (File) super._getVersionBackWebAsset(req, res, config, form, user, File.class,
        WebKeys.FILE_EDIT);
    File fileVersion = (File) req.getAttribute(WebKeys.FILE_EDIT);
    Identifier identifier = APILocator.getIdentifierAPI().find(fileVersion);
    String parentInode = req.getParameter("parent");
    Folder parent = null;
    if (parentInode != null && parentInode.length() != 0 && !parentInode.equalsIgnoreCase("")) {
      // the parent is being passed through the request
      parent = (Folder) InodeFactory.getInode(parentInode, Folder.class);
      Logger.debug(this, "Parent Folder=" + parent.getInode());
    } else {
      parent = APILocator.getFolderAPI().findParentFolder(workingFile, user, false);
      Logger.debug(this, "Parent Folder=" + parent.getInode());
    }
   
    WebAsset webAsset = (WebAsset) APILocator.getVersionableAPI().findWorkingVersion(identifier, user, false);
    WebAssetFactory.createAsset(fileVersion, user == null?"":user.getUserId(),parent, identifier,true);
    /*if (!webAsset.getInode().equals(fileVersion.getInode())) {
View Full Code Here

  }

  public boolean _updateFolder(ActionRequest req, ActionResponse res,PortletConfig config, ActionForm form) throws Exception
  {
    Folder old = (Folder) req.getAttribute(WebKeys.FOLDER_EDIT);
    Folder f = (Folder) req.getAttribute(WebKeys.FOLDER_EDIT);
    Folder parentFolder = (Folder) req.getAttribute(WebKeys.FOLDER_PARENT);
    Host parentHost = (Host) req.getAttribute(WebKeys.HOST_PARENT);
    User user = _getUser(req);

    PermissionAPI permAPI = APILocator.getPermissionAPI();
View Full Code Here

  }

  public void _deleteFolder(ActionRequest req, ActionResponse res,
      PortletConfig config, ActionForm form) throws Exception {

    Folder f = (Folder) req.getAttribute(WebKeys.FOLDER_EDIT);

    // wraps request to get session object
    ActionRequestImpl reqImpl = (ActionRequestImpl) req;
    HttpServletRequest httpReq = reqImpl.getHttpServletRequest();
    // gets the session object for the messages
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.folders.model.Folder

Copyright © 2018 www.massapicom. 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.