Package com.dotmarketing.portlets.files.model

Examples of com.dotmarketing.portlets.files.model.File


    }
   
    public boolean accept(java.io.File dir, String name) {
     
      for (Versionable version : versions) {
        File file = (File)version;
        if (name.startsWith(String.valueOf(file.getInode()) + "_thumb") ||
            name.startsWith(String.valueOf(file.getInode()) + "_resized"))
          return true;
      }
      return false;
    }
View Full Code Here


    DotConnect dc = new DotConnect();
    dc.setSQL("select inode from file_asset order by mod_date asc");
    List<HashMap<String, Object>> inodes = dc.loadResults();
    for (Map<String, Object> inode : inodes) {
      String id = (String) inode.get("inode");
      File file = null;
      try {
        file = APILocator.getFileAPI().find(id, APILocator.getUserAPI().getSystemUser(), false);
      } catch (Exception e) {
        if(!failed.contains(id))
          failed.add(id);
        Logger.debug(this, "Error getting file", e);
      }
      if(file!=null && UtilMethods.isSet(file.getInode())){
        Logger.info(this, "Converting file to contentlet path: " + file.getPath() + " inode:" + file.getInode());
        Folder folder = null;
        Host host = null;
        try {
          Identifier ident = APILocator.getIdentifierAPI().find(file);
          if(ident!=null && InodeUtils.isSet(ident.getId())){
            host = APILocator.getHostAPI().find(ident.getHostId(), APILocator.getUserAPI().getSystemUser(), false);
            folder = APILocator.getFolderAPI().findFolderByPath(ident.getParentPath(), host,APILocator.getUserAPI().getSystemUser(), false);
          }
        } catch (Exception e) {
          if(!failed.contains(id))
            failed.add(id);
         
          Logger.info(this, "Error file to contentlet path: " + file.getPath() + " inode:" + file.getInode());
          Logger.debug(this, "Error getting identifier", e);
        }
        if(folder!=null){
          java.io.File binFile = null;
          try {
            Structure faStructure = StructureCache.getStructureByInode(folder.getDefaultFileType());
            Field fieldVar = faStructure.getFieldVar(FileAssetAPI.BINARY_FIELD);
            java.io.File assetFile = APILocator.getFileAPI().getAssetIOFile(file);
            if(assetFile!=null && assetFile.exists()){
              java.io.File tempUserFolder = new java.io.File(APILocator.getFileAPI().getRealAssetPathTmpBinary() + java.io.File.separator + APILocator.getUserAPI().getSystemUser().getUserId() +
                  java.io.File.separator + fieldVar.getFieldContentlet());
              if (!tempUserFolder.exists())
                tempUserFolder.mkdirs();

              binFile = new java.io.File(tempUserFolder.getAbsolutePath() + java.io.File.separator + file.getFileName());
              if(binFile.exists())
                binFile.delete();
              FileChannel ic = new FileInputStream(assetFile).getChannel();
              FileChannel oc = new FileOutputStream(binFile).getChannel();
              ic.transferTo(0, ic.size(), oc);
              ic.close();
              oc.close();
            }
          } catch (IOException e) {
            if(!failed.contains(id))
              failed.add(id);
           
            Logger.info(this, "Error file to contentlet path: " + file.getPath() + " inode:" + file.getInode());
            Logger.debug(this, "Error getting binary file", e);
          }

          if(binFile!=null && binFile.length()>0){
            HibernateUtil.startTransaction();
            try{
              Contentlet contentlet = null;
              Identifier identifier = APILocator.getIdentifierAPI().find(file.getIdentifier());
              Identifier identAux = APILocator.getIdentifierAPI().find(host, file.getPath());
              LiveCache.removeAssetFromCache(file);
              WorkingCache.removeAssetFromCache(file);
              CacheLocator.getIdentifierCache().removeFromCacheByVersionable(file);
              com.dotmarketing.menubuilders.RefreshMenus.deleteMenu(file);
              CacheLocator.getNavToolCache().removeNavByPath(identifier.getHostId(), identifier.getParentPath());
              identifier.setAssetName(identifier.getAssetName()+"_copy");
              APILocator.getIdentifierAPI().save(identifier);
              if(identAux!=null && UtilMethods.isSet(identAux.getId()) && identAux.getAssetType().equals("contentlet")){
                Logger.info(this, "Identifier already exists, host = " + host.getIdentifier() + " path = " + file.getPath());
                contentlet = APILocator.getContentletAPI().findContentletByIdentifier(identAux.getId(), false, APILocator.getLanguageAPI().getDefaultLanguage().getId(),APILocator.getUserAPI().getSystemUser(), false);
                if(contentlet!=null && UtilMethods.isSet(contentlet.getInode())){
                  contentlet.setInode(null);
                  contentlet.setStringProperty(FileAssetAPI.TITLE_FIELD, UtilMethods.isSet(file.getTitle())?file.getTitle():binFile.getName());
                  contentlet.setProperty(FileAssetAPI.SORT_ORDER, file.getSortOrder());
                  contentlet.setProperty(FileAssetAPI.DESCRIPTION, file.getFriendlyName());
                  contentlet.setProperty(FileAssetAPI.SHOW_ON_MENU, String.valueOf(file.isShowOnMenu()));
                  contentlet.setProperty(FileAssetAPI.BINARY_FIELD, binFile);
                  contentlet.setSortOrder(file.getSortOrder());
                  contentlet = APILocator.getContentletAPI().checkin(contentlet, APILocator.getUserAPI().getSystemUser(), false);
                }
              }else{
                contentlet = new Contentlet();
                contentlet.setStructureInode(folder.getDefaultFileType());
                contentlet.setHost(host.getIdentifier());
                contentlet.setFolder(folder.getInode());
                contentlet.setStringProperty(FileAssetAPI.TITLE_FIELD, UtilMethods.isSet(file.getTitle())?file.getTitle():binFile.getName());
                contentlet.setProperty(FileAssetAPI.SORT_ORDER, file.getSortOrder());
                contentlet.setProperty(FileAssetAPI.DESCRIPTION, file.getFriendlyName());
                contentlet.setProperty(FileAssetAPI.SHOW_ON_MENU, String.valueOf(file.isShowOnMenu()));
                contentlet.setProperty(FileAssetAPI.BINARY_FIELD, binFile);
                contentlet.setSortOrder(file.getSortOrder());
                contentlet = APILocator.getContentletAPI().checkin(contentlet, APILocator.getUserAPI().getSystemUser(), false);
              }
              APILocator.getVersionableAPI().setDeleted(contentlet, file.isArchived());
              APILocator.getVersionableAPI().setLocked(contentlet, file.isLocked(), APILocator.getUserAPI().getSystemUser());
              if(file.isWorking() && !file.isLive()){
                APILocator.getVersionableAPI().setWorking(contentlet);
              }else if(file.isLive()){
                APILocator.getVersionableAPI().setLive(contentlet);
              }
              APILocator.getVersionableAPI().setDeleted(contentlet, file.isArchived());
              APILocator.getVersionableAPI().setLocked(contentlet, file.isLocked(), APILocator.getUserAPI().getSystemUser());
              if(file.isWorking() && !file.isLive()){
                APILocator.getVersionableAPI().setWorking(contentlet);
              }else if(file.isLive()){
                APILocator.getVersionableAPI().setLive(contentlet);
              }
              APILocator.getPermissionAPI().copyPermissions(file, contentlet);
              APILocator.getVersionableAPI().setDeleted(file, true);
              HibernateUtil.commitTransaction();
              succeeded.add(file.getInode());
            }catch(Exception e){
              if(!failed.contains(id))
                failed.add(id);
              Logger.debug(this, "Error creating contentlet file asset", e);
              HibernateUtil.rollbackTransaction();
View Full Code Here

        boolean respectFrontendRoles = userAPI.isLoggedToFrontend(req);

        Identifier ident = APILocator.getIdentifierAPI().find(fileId);

    if(ident!=null && InodeUtils.isSet(ident.getId()) && ident.getAssetType().equals("file_asset")) {
      File file = fileAPI.getWorkingFileById(fileId, user, respectFrontendRoles);
      String mimeType = servletContext.getMimeType(file.getFileName().toLowerCase());
      Map<String, Object> fileMap = file.getMap();
      fileMap.put("mimeType", mimeType);
      fileMap.put("path", file.getPath());
      return fileMap;
    }

    if(ident!=null && InodeUtils.isSet(ident.getId()) && ident.getAssetType().equals("htmlpage")) {
      HTMLPage page = pageAPI.loadWorkingPageById(fileId, user, respectFrontendRoles);
      Map<String, Object> pageMap = page.getMap();
      pageMap.put("mimeType", "application/dotpage");
      pageMap.put("pageURI", page.getURI());
      return pageMap;
    }

    if(ident!=null && InodeUtils.isSet(ident.getId()) && ident.getAssetType().equals("contentlet")) {
        ContentletVersionInfo vinfo=APILocator.getVersionableAPI().getContentletVersionInfo(ident.getId(), APILocator.getLanguageAPI().getDefaultLanguage().getId());
        boolean live = respectFrontendRoles || vinfo.getLiveInode()!=null;
      Contentlet cont = contAPI.findContentletByIdentifier(ident.getId(),live, APILocator.getLanguageAPI().getDefaultLanguage().getId() , user, respectFrontendRoles);
      FileAsset fileAsset = APILocator.getFileAssetAPI().fromContentlet(cont);
      java.io.File file = fileAsset.getFileAsset();
      String mimeType = servletContext.getMimeType(file.getName().toLowerCase());
      Map<String, Object> fileMap = fileAsset.getMap();
      fileMap.put("mimeType", mimeType);
      fileMap.put("path", fileAsset.getPath());
      fileMap.put("type", "contentlet");
      return fileMap;
View Full Code Here

          }else{
            result.put("result", 1);
            result.put("errorReason", "The file is locked");
          }
        }else{
          File file = (File) InodeFactory.getInode(inode, File.class);
          result.put("lastName", file.getNameOnly());
          result.put("extension", file.getExtension());
          result.put("newName", newName);
          result.put("inode", inode);
          if (APILocator.getFileAPI().renameFile(file, newName, user, false)) {
            result.put("result", 0);
          } else {
            result.put("result", 1);
            if (file.isLocked())
              result.put("errorReason", "The file is locked");
            else
              result.put("errorReason", "Another file with the same name already exists on this folder");
          }
        }
View Full Code Here


        return "File-copied";
      }

            File file = (File) InodeFactory.getInode( inode, File.class );
            // CHECK THE FOLDER PATTERN    //DOTCMS-6017
            if ( UtilMethods.isSet( file.getFileName() ) && (parent != null && !folderAPI.matchFilter( parent, file.getFileName() )) ) {
                return "message.file_asset.error.filename.filters";
            }

            // Checking permissions
            if ( !permissionAPI.doesUserHavePermission( file, PERMISSION_WRITE, user ) ) {
View Full Code Here

            } else {
                return APILocator.getFileAssetAPI().moveFile( contentlet, host, user, false );
            }
        }

        File file = (File) InodeFactory.getInode( inode, File.class );

        // Checking permissions
        if ( !permissionAPI.doesUserHavePermission( file, PERMISSION_WRITE, user ) ) {
            throw new DotRuntimeException( "The user doesn't have the required permissions." );
        }
View Full Code Here

            //Identifier id = (Identifier) InodeFactory.getInode((String) value, Identifier.class);
              String value=contentlet.getStringProperty(field.getVelocityVarName());
            Identifier id = APILocator.getIdentifierAPI().find((String) value);
            if (InodeUtils.isSet(id.getInode())) {
              if (field.getFieldType().equals(Field.FieldType.IMAGE.toString())) {
                File inodeAux = (File) APILocator.getVersionableAPI().findWorkingVersion(id,  APILocator.getUserAPI().getSystemUser(), false);
                value = inodeAux.getInode();
              } else if (field.getFieldType().equals(Field.FieldType.FILE.toString())) {
                File inodeAux = (File) APILocator.getVersionableAPI().findWorkingVersion(id,  APILocator.getUserAPI().getSystemUser(), false);
                value = inodeAux.getInode();
              }
              contentlet.setStringProperty(field.getVelocityVarName(), value);
            }
          } catch (Exception ex) {
            Logger.debug(this, ex.toString());
View Full Code Here

                filePath = fileInfo[1];
              }
            }

            //Find the file in dotCMS
            File dotCMSFile = null;

            Identifier id = APILocator.getIdentifierAPI().find(fileHost, filePath);
            if(id!=null && InodeUtils.isSet(id.getId()) && id.getAssetType().equals("contentlet")){
              Contentlet cont = APILocator.getContentletAPI().findContentletByIdentifier(id.getId(), true, APILocator.getLanguageAPI().getDefaultLanguage().getId(), user, false);
              if(cont!=null && InodeUtils.isSet(cont.getInode())){
                valueObj = cont.getIdentifier();
              }else{
                String localLineMessage = LanguageUtil.get(user, "Line--");
                String noFileMessage = LanguageUtil.get(user, "The-file-has-not-been-found");
                results.get("warnings").add(localLineMessage + lineNumber + ". " + noFileMessage + ": " + fileHost.getHostname() + ":" + filePath);
                valueObj = null;
              }
            }else{
              try
              {
                dotCMSFile = APILocator.getFileAPI().getFileByURI(filePath, fileHost, true, user, false);

              }catch(Exception ex)
              {
                //File doesn't exist below I check this
              }
              if(UtilMethods.isSet(dotCMSFile) && UtilMethods.isSet(dotCMSFile.getIdentifier()))
              {
                valueObj = dotCMSFile.getIdentifier();
              }
              else
              {
                //Add Warning the File doesn't exist
                String localLineMessage = LanguageUtil.get(user, "Line--");
View Full Code Here

            String message = "File " + fileName + " does not exist.";
            throw new Exception( message );
        }

        //Creating a test file
        File testFile = new File();
        testFile.setAuthor( user.getUserId() );
        testFile.setFileName( "junit_test_file.txt" );
        testFile.setFriendlyName( "JUnit Test File Friendly Name" );
        testFile.setIDate( new Date() );
        testFile.setMaxSize( 1024 );
        testFile.setMimeType( "text/plain" );
        testFile.setModDate( new Date() );
        testFile.setModUser( user.getUserId() );
        testFile.setOwner( user.getUserId() );
        testFile.setPublishDate( new Date() );
        testFile.setShowOnMenu( true );
        testFile.setSize( (int) resourceFile.length() );
        testFile.setSortOrder( 2 );
        testFile.setTitle( "JUnit Test File" );
        testFile.setType( "file_asset" );

        //Storing the file
        File savedFile = fileAPI.saveFile( testFile, resourceFile, testFolder, user, false );
        //Adding permissions
        permissionAPI.copyPermissions( testFolder, savedFile );

        return savedFile;
    }
View Full Code Here

     */
    @Ignore ( "Not Ready to Run." )
    @Test
    public void addFileToContentlet () throws Exception {

        File testFile = null;
        try {

            String RELATION_TYPE = new File().getType();

            //Getting a known structure
            Structure structure = structures.iterator().next();

            //Search the contentlets for this structure
            List<Contentlet> contentletList = contentletAPI.findByStructure( structure, user, false, 0, 0 );
            Contentlet contentlet = contentletList.iterator().next();

            //Creating the test file
            testFile = createFile( ContentletAPITest.class.getResource( "test_files/test.txt" ), "test.txt" );

            /*//Gettting the related files to this contentlet
            List<File> files = contentletAPI.getRelatedFiles( contentlet, user, false );//TODO: This method is not working but we are not testing it on this call....
            if ( files == null ) {
                files = new ArrayList<File>();
            }
            int initialSize = files.size();*/

            //Adding the file to the contentlet
            contentletAPI.addFileToContentlet( contentlet, testFile.getInode(), RELATION_TYPE, user, false );

            //Gettting the related files to this contentlet
            //List<File> finalFiles = contentletAPI.getRelatedFiles( contentlet, user, false );//TODO: This method is not working but we are not testing it on this call....

            //Get the contentlet Identifier to gather the menu links
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.files.model.File

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.