Class Copy

  • All Implemented Interfaces:
    org.nuxeo.connect.update.task.Command
    Direct Known Subclasses:
    Append, ParameterizedCopy

    public class Copy
    extends AbstractCommand
    Copy a file to the given target directory or file. If the target is a directory the file name is preserved. If the target file exists it will be replaced if overwrite is true otherwise the command validation fails. If the source file is a directory, then the files it contents will be recursively copied.

    If md5 is set then the copy command will be validated only if the target file has the same md5 as the one specified in the command.

    The Copy command has as inverse either Delete either another Copy command. If the file was copied without overwriting then Delete is the inverse (with a md5 set to the one of the copied file). If the file was overwritten then the inverse of Copy command is another copy command with the md5 to the one of the copied file and the overwrite flag to true. The file to copy will be the backup of the overwritten file.

    Author:
    Bogdan Stefanescu
    • Method Detail

      • doRun

        protected org.nuxeo.connect.update.task.Command doRun​(org.nuxeo.connect.update.task.Task task,
                                                              Map<String,​String> prefs)
                                                       throws org.nuxeo.connect.update.PackageException
        Description copied from class: AbstractCommand
        Override to implement command actions
        Specified by:
        doRun in class AbstractCommand
        Returns:
        Rollback command
        Throws:
        org.nuxeo.connect.update.PackageException
      • doCopy

        protected org.nuxeo.connect.update.task.Command doCopy​(org.nuxeo.connect.update.task.Task task,
                                                               Map<String,​String> prefs,
                                                               File fileToCopy,
                                                               File dst,
                                                               boolean doOverwrite)
                                                        throws org.nuxeo.connect.update.PackageException
        Throws:
        org.nuxeo.connect.update.PackageException
        Since:
        5.5
      • getContentToCopy

        protected String getContentToCopy​(File fileToCopy,
                                          Map<String,​String> prefs)
                                   throws org.nuxeo.connect.update.PackageException
        Override in subclass to parameterize content.
        Returns:
        Content to put in destination file. See append parameter to determine if returned content is replacing or appending to destination file.
        Throws:
        org.nuxeo.connect.update.PackageException
        Since:
        5.5
      • doValidate

        protected void doValidate​(org.nuxeo.connect.update.task.Task task,
                                  org.nuxeo.connect.update.ValidationStatus status)
                           throws org.nuxeo.connect.update.PackageException
        Description copied from class: AbstractCommand
        Override to implement validation.
        Specified by:
        doValidate in class AbstractCommand
        Parameters:
        task - The task being validated
        status - Use ValidationStatus.addError(String) or ValidationStatus.addWarning(String) to provide validation error/warning messages
        Throws:
        org.nuxeo.connect.update.PackageException
      • readFrom

        public void readFrom​(Element element)
                      throws org.nuxeo.connect.update.PackageException
        Description copied from class: AbstractCommand
        Must be implemented to initialize the command arguments from an XML fragment.
        Specified by:
        readFrom in class AbstractCommand
        Throws:
        org.nuxeo.connect.update.PackageException
      • writeTo

        public void writeTo​(org.nuxeo.connect.update.xml.XmlWriter writer)