Package com.adito.vfs.clipboard

Examples of com.adito.vfs.clipboard.Clipboard


   * @param delOrig Delete the source files.
   */
  private void addToClipboard(HttpServletRequest request, FileSystemForm fileSystemForm, boolean delOrig) {
    String delPath = fileSystemForm.getPath() + "/" + fileSystemForm.getFileName();
    ActionMessages msgs = new ActionMessages();
    Clipboard cb = new Clipboard();
    NetworkPlaceClipboardContent fcc = new NetworkPlaceClipboardContent(delPath, delOrig);
    cb.addContent(fcc);
    request.getSession().setAttribute(Constants.CLIPBOARD, cb);
    msgs.add(Globals.MESSAGE_KEY, new ActionMessage("vfs.copy.to.clipboard", fileSystemForm.getFileName()));
    this.addMessages(request, msgs);
  }
View Full Code Here


  private void copyFilesToClipboard(ActionForm form, HttpServletRequest request, HttpServletResponse response,
                    boolean deleteOnPaste, String[] uris) {
    ActionMessages msgs = new ActionMessages();
    FileSystemForm fileSystemForm = (FileSystemForm) form;
    String allFiles = "";
    Clipboard cb = new Clipboard();
    if (uris != null) {
      for (int i = 0; i < uris.length; i++) {
        String divider = allFiles.equals("") ? "" : ", ";
        allFiles = allFiles + divider + uris[i];
        NetworkPlaceClipboardContent fcc = new NetworkPlaceClipboardContent(fileSystemForm.getPath() + "/" + uris[i],
                deleteOnPaste);
        cb.addContent(fcc);
      }
      msgs.add(Globals.MESSAGE_KEY, new ActionMessage("vfs.copy.to.clipboard", allFiles));
    }
    this.addMessages(request, msgs);
    request.getSession().setAttribute(Constants.CLIPBOARD, cb);
View Full Code Here

        forward = checkMount(vfsResource, mapping, fileSystemForm, request);
        if (forward != null) {
            return forward;
        }
        buildModel(vfsResource, fileSystemForm, request);
        Clipboard clipboard = (Clipboard) request.getSession().getAttribute("clipboard");
        if (clipboard != null) {
            if (!clipboard.getContent().iterator().hasNext()) {
                ActionMessages msgs = getErrors(request);
                msgs.add(Globals.ERROR_KEY, new ActionMessage("vfs.paste.error"));
                saveErrors(request, msgs);
                return mapping.getInputForward();
            }
View Full Code Here

    }
   
    // really the method below should encorporate this as it duplicates lots of that behaviour.  I don't want to touch it however!
    private Map<VFSResource, VFSResource> buildPasteMap(HttpServletRequest request, HttpServletResponse response, String destinationPath, FileSystemForm fileSystemForm)
                    throws Exception {
        Clipboard clipboard = (Clipboard) request.getSession().getAttribute(Constants.CLIPBOARD);
        Map<VFSResource, VFSResource> pasteDetails = new HashMap<VFSResource, VFSResource>();
        if (clipboard != null) {
            for (ClipboardContent content : clipboard.getContent()) {
                NetworkPlaceClipboardContent element = (NetworkPlaceClipboardContent) content;
                VFSResource sourceResource = getResourceForPath(fileSystemForm.getLaunchSession(), request, response, element.getPath());
                if (log.isDebugEnabled()) {
                    log.debug("  Source. = " + sourceResource + " (display name = " + sourceResource.getDisplayName() + ", mount = " + sourceResource.isMount() + ")");
                }
View Full Code Here

        return pasteDetails;
    }

  private void pasteFromClipboard(HttpServletRequest request, HttpServletResponse response, String destinationPath,
                  FileSystemForm fileSystemForm) throws Exception {
      Clipboard cb = (Clipboard) request.getSession().getAttribute(Constants.CLIPBOARD);
      ActionMessages msgs = getMessages(request);
      ActionMessages errs = getErrors(request);
        if (cb != null){
            try {
                int fileCounter = 1;
                int directorieCounter = 1;
                String allFiles = "";
                if (log.isDebugEnabled())
                    log.debug("Pasting from clipboard to " + destinationPath);
                Iterator clipboardIterator = cb.getContent().iterator();

                CoreEvent evt = NetworkPlaceResourceType.getResourceAccessPasteEvent(this,
                    fileSystemForm.getLaunchSession(),
                    request,
                    fileSystemForm.getPath(),
                    fileSystemForm.getFullURI(),
                    null);

                while (clipboardIterator.hasNext()) {
                    String divider = allFiles.equals("") ? "" : ", ";
                    NetworkPlaceClipboardContent element = (NetworkPlaceClipboardContent) clipboardIterator.next();
                    try {
                        VFSResource sourceResource = getResourceForPath(fileSystemForm.getLaunchSession(),
                            request,
                            response,
                            element.getPath());
                        if (log.isDebugEnabled())
                            log.debug("  Source. = " + sourceResource
                                + " (display name = "
                                + sourceResource.getDisplayName()
                                + ", mount = "
                                + sourceResource.isMount()
                                + ")");
                        VFSResource destinationResource = null;
                        if (log.isDebugEnabled())
                            log.debug("Paste");
                        destinationResource = getResourceForPath(fileSystemForm.getLaunchSession(),
                            request,
                            response,
                            DAVUtilities.concatenatePaths(destinationPath, sourceResource.getDisplayName()));

                        if (log.isDebugEnabled())
                            log.debug("  Dest. = " + destinationResource);                 
                       
                        if (sourceResource.getFullPath().equals(destinationResource.getFullPath())) {
                            throw new NetworkPlacesException(NetworkPlacesException.ERR_VFS_CANNOT_PASTE_TO_SOURCE);
                        }
                       
                        allFiles = allFiles + divider + sourceResource.getDisplayName();
                        sourceResource.copy(destinationResource, true, true);
                       
                        if (sourceResource.isCollection()) {
                            NetworkPlaceResourceType.addDirectoryAttribute(evt, sourceResource.getFullPath(), directorieCounter);
                            directorieCounter++;
                        } else {
                            NetworkPlaceResourceType.addDirectoryAttribute(evt, sourceResource.getFullPath(), fileCounter);
                            fileCounter++;
                        }
                        NetworkPlaceResourceType.addOperationType(evt, element.deleteOnPaste());
                        CoreServlet.getServlet().fireCoreEvent(evt);

                        if (element.deleteOnPaste()) {
                            if (log.isDebugEnabled())
                                log.debug("      Deleting source");
                            sourceResource.delete();
                        }
                        msgs.add(Globals.MESSAGE_KEY, new ActionMessage("vfs.paste.from.clipboard", allFiles));
                    } catch (CoreException e) {
                        errs.add(Globals.ERROR_KEY, e.getBundleActionMessage());
                    }
                }
                // The void entries cannot be removed untill the iterator is
                // finished with.
                cb.clearClipboard();

                this.saveErrors(request, errs);
                this.saveMessages(request, msgs);
            } catch (Exception e) {
                CoreEvent evt = NetworkPlaceResourceType.getResourceAccessPasteEvent(this,
View Full Code Here

  }

  public boolean isAvailable(HttpServletRequest request, HttpServletResponse response, String layout) {
    boolean available = super.isAvailable(request, response, layout);
    if (available) {
      Clipboard c = (Clipboard) request.getSession().getAttribute(Constants.CLIPBOARD);
      available = c != null && c.getContent().size() > 0;
    }
    return available;
  }
View Full Code Here

TOP

Related Classes of com.adito.vfs.clipboard.Clipboard

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.