001    package org.kuali.common.util.execute;
002    
003    import java.io.File;
004    import java.util.List;
005    
006    import org.kuali.common.util.CollectionUtils;
007    import org.kuali.common.util.LocationUtils;
008    import org.slf4j.Logger;
009    import org.slf4j.LoggerFactory;
010    
011    public class CopyLocationsToDirectoryExecutable extends AbstractCopyLocationsExecutable {
012    
013            private static final Logger logger = LoggerFactory.getLogger(CopyLocationsToDirectoryExecutable.class);
014    
015            boolean addSequenceToFilenames = true;
016            int initialSequenceNumber = 1;
017    
018            @Override
019            protected List<File> getFiles(List<String> locations) {
020                    List<String> filenames = LocationUtils.getFilenames(locations);
021                    if (addSequenceToFilenames) {
022                            logger.debug("Adding sequences");
023                            filenames = CollectionUtils.getSequencedStrings(filenames, initialSequenceNumber);
024                    }
025                    return LocationUtils.getFiles(directory, filenames);
026            }
027    
028            public boolean isAddSequenceToFilenames() {
029                    return addSequenceToFilenames;
030            }
031    
032            public void setAddSequenceToFilenames(boolean addSequenceToFilenames) {
033                    this.addSequenceToFilenames = addSequenceToFilenames;
034            }
035    
036            public int getInitialSequenceNumber() {
037                    return initialSequenceNumber;
038            }
039    
040            public void setInitialSequenceNumber(int initialSequenceNumber) {
041                    this.initialSequenceNumber = initialSequenceNumber;
042            }
043    
044    }