Example usage for org.apache.commons.compress.archivers.tar TarArchiveEntry setUserName

List of usage examples for org.apache.commons.compress.archivers.tar TarArchiveEntry setUserName

Introduction

In this page you can find the example usage for org.apache.commons.compress.archivers.tar TarArchiveEntry setUserName.

Prototype

public void setUserName(String userName) 

Source Link

Document

Set this entry's user name.

Usage

From source file:org.vafer.jdeb.producers.DataProducerDirectory.java

public void produce(final DataConsumer pReceiver) throws IOException {

    scanner.scan();/*from   w w  w  .j  a va2s  .  c o  m*/

    final File baseDir = scanner.getBasedir();

    for (String dir : scanner.getIncludedDirectories()) {
        final File file = new File(baseDir, dir);
        String dirname = getFilename(baseDir, file);

        if ("".equals(dirname)) {
            continue;
        }

        if (!isIncluded(dirname)) {
            continue;
        }

        if ('/' != File.separatorChar) {
            dirname = dirname.replace(File.separatorChar, '/');
        }

        if (!dirname.endsWith("/")) {
            dirname += "/";
        }

        TarArchiveEntry entry = new TarArchiveEntry(dirname, true);
        entry.setUserId(0);
        entry.setUserName("root");
        entry.setGroupId(0);
        entry.setGroupName("root");
        entry.setMode(TarArchiveEntry.DEFAULT_DIR_MODE);

        entry = map(entry);

        entry.setSize(0);

        pReceiver.onEachDir(entry.getName(), entry.getLinkName(), entry.getUserName(), entry.getUserId(),
                entry.getGroupName(), entry.getGroupId(), entry.getMode(), entry.getSize());
    }

    for (String f : scanner.getIncludedFiles()) {
        final File file = new File(baseDir, f);
        String filename = getFilename(baseDir, file);

        if (!isIncluded(filename)) {
            continue;
        }

        if ('/' != File.separatorChar) {
            filename = filename.replace(File.separatorChar, '/');
        }

        TarArchiveEntry entry = new TarArchiveEntry(filename, true);
        entry.setUserId(0);
        entry.setUserName("root");
        entry.setGroupId(0);
        entry.setGroupName("root");
        entry.setMode(TarArchiveEntry.DEFAULT_FILE_MODE);

        entry = map(entry);

        entry.setSize(file.length());

        final InputStream inputStream = new FileInputStream(file);
        try {
            pReceiver.onEachFile(inputStream, entry.getName(), entry.getLinkName(), entry.getUserName(),
                    entry.getUserId(), entry.getGroupName(), entry.getGroupId(), entry.getMode(),
                    entry.getSize());
        } finally {
            inputStream.close();
        }
    }
}

From source file:org.vafer.jdeb.producers.DataProducerFile.java

public void produce(final DataConsumer pReceiver) throws IOException {
    String fileName;//from  www .  j a  v a2  s .c  o m
    if (destinationName != null && destinationName.trim().length() > 0) {
        fileName = destinationName.trim();
    } else {
        fileName = file.getName();
    }

    TarArchiveEntry entry = new TarArchiveEntry(fileName, true);
    entry.setUserId(0);
    entry.setUserName("root");
    entry.setGroupId(0);
    entry.setGroupName("root");
    entry.setMode(TarArchiveEntry.DEFAULT_FILE_MODE);

    entry = map(entry);

    entry.setSize(file.length());

    final InputStream inputStream = new FileInputStream(file);
    try {
        pReceiver.onEachFile(inputStream, entry.getName(), entry.getLinkName(), entry.getUserName(),
                entry.getUserId(), entry.getGroupName(), entry.getGroupId(), entry.getMode(), entry.getSize());
    } finally {
        inputStream.close();
    }

}

From source file:org.vafer.jdeb.producers.DataProducerFileSet.java

@Override
public void produce(final DataConsumer pReceiver) throws IOException {
    String user = Producers.ROOT_NAME;
    int uid = Producers.ROOT_UID;
    String group = Producers.ROOT_NAME;
    int gid = Producers.ROOT_UID;
    int filemode = TarEntry.DEFAULT_FILE_MODE;
    int dirmode = TarEntry.DEFAULT_DIR_MODE;
    String prefix = "";

    if (fileset instanceof Tar.TarFileSet) {
        Tar.TarFileSet tarfileset = (Tar.TarFileSet) fileset;
        user = tarfileset.getUserName();
        uid = tarfileset.getUid();/*from ww w .  java2 s  .  c  om*/
        group = tarfileset.getGroup();
        gid = tarfileset.getGid();
        filemode = tarfileset.getMode();
        dirmode = tarfileset.getDirMode(tarfileset.getProject());
        prefix = tarfileset.getPrefix(tarfileset.getProject());
    }

    final DirectoryScanner scanner = fileset.getDirectoryScanner(fileset.getProject());
    scanner.scan();

    final File basedir = scanner.getBasedir();

    for (String directory : scanner.getIncludedDirectories()) {
        String name = directory.replace('\\', '/');

        pReceiver.onEachDir(prefix + "/" + name, null, user, uid, group, gid, dirmode, 0);
    }

    for (String filename : scanner.getIncludedFiles()) {
        final String name = filename.replace('\\', '/');
        final File file = new File(basedir, name);

        final InputStream inputStream = new FileInputStream(file);
        try {
            final String entryName = prefix + "/" + name;

            final File entryPath = new File(entryName);

            final boolean symbolicLink = SymlinkUtils.isSymbolicLink(entryPath);
            final TarArchiveEntry e;
            if (symbolicLink) {
                e = new TarArchiveEntry(entryName, TarConstants.LF_SYMLINK);
                e.setLinkName(SymlinkUtils.readSymbolicLink(entryPath));
            } else {
                e = new TarArchiveEntry(entryName, true);
            }

            e.setUserId(uid);
            e.setGroupId(gid);
            e.setUserName(user);
            e.setGroupName(group);
            e.setMode(filemode);
            e.setSize(file.length());

            pReceiver.onEachFile(inputStream, e);
        } finally {
            inputStream.close();
        }
    }
}

From source file:org.vafer.jdeb.producers.DataProducerLink.java

@Override
public void produce(final DataConsumer pReceiver) throws IOException {
    TarArchiveEntry entry = new TarArchiveEntry(path,
            symlink ? TarArchiveEntry.LF_SYMLINK : TarArchiveEntry.LF_LINK);
    entry.setLinkName(linkName);/*from w  w  w  .  j  a  v a2  s  .c  om*/

    entry.setUserId(0);
    entry.setUserName("root");
    entry.setGroupId(0);
    entry.setGroupName("root");
    entry.setMode(TarArchiveEntry.DEFAULT_FILE_MODE);

    entry = map(entry);

    pReceiver.onEachLink(path, linkName, symlink, entry.getUserName(), entry.getUserId(), entry.getGroupName(),
            entry.getGroupId(), entry.getMode());
}

From source file:org.vafer.jdeb.producers.DataProducerPathTemplate.java

public void produce(DataConsumer pReceiver) throws IOException {
    for (String literalPath : literalPaths) {
        TarArchiveEntry entry = new TarArchiveEntry(literalPath, true);
        entry.setUserId(0);//from   w ww . ja va 2s . c  o  m
        entry.setUserName("root");
        entry.setGroupId(0);
        entry.setGroupName("root");
        entry.setMode(TarArchiveEntry.DEFAULT_DIR_MODE);

        entry = map(entry);

        entry.setSize(0);

        pReceiver.onEachDir(entry.getName(), entry.getLinkName(), entry.getUserName(), entry.getUserId(),
                entry.getGroupName(), entry.getGroupId(), entry.getMode(), entry.getSize());
    }
}

From source file:org.vafer.jdeb.producers.Producers.java

/**
 * Creates a tar file entry with defaults parameters.
 * @param entryName the entry name/*from www.  ja  v  a 2s.  com*/
 * @return file entry with reasonable defaults
 */
static TarArchiveEntry defaultFileEntryWithName(final String entryName) {
    TarArchiveEntry entry = new TarArchiveEntry(entryName, true);
    entry.setUserId(ROOT_UID);
    entry.setUserName(ROOT_NAME);
    entry.setGroupId(ROOT_UID);
    entry.setGroupName(ROOT_NAME);
    entry.setMode(TarArchiveEntry.DEFAULT_FILE_MODE);
    return entry;
}

From source file:org.vafer.jdeb.producers.Producers.java

/**
 * Creates a tar directory entry with defaults parameters.
 * @param dirName the directory name/*from  ww  w.ja  v  a  2  s.  c om*/
 * @return dir entry with reasonable defaults
 */
static TarArchiveEntry defaultDirEntryWithName(final String dirName) {
    TarArchiveEntry entry = new TarArchiveEntry(dirName, true);
    entry.setUserId(ROOT_UID);
    entry.setUserName(ROOT_NAME);
    entry.setGroupId(ROOT_UID);
    entry.setGroupName(ROOT_NAME);
    entry.setMode(TarArchiveEntry.DEFAULT_DIR_MODE);
    return entry;
}