aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java198
1 files changed, 0 insertions, 198 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java
deleted file mode 100644
index 62f1f267..00000000
--- a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/types/resources/TarResource.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package org.apache.tools.ant.types.resources;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.Resource;
-import org.apache.tools.ant.util.FileUtils;
-import org.apache.tools.tar.TarEntry;
-import org.apache.tools.tar.TarInputStream;
-
-/**
- * A Resource representation of an entry in a tar archive.
- * @since Ant 1.7
- */
-public class TarResource extends ArchiveResource {
-
- private String userName = "";
- private String groupName = "";
- private int uid;
- private int gid;
-
- /**
- * Default constructor.
- */
- public TarResource() {
- }
-
- /**
- * Construct a TarResource representing the specified
- * entry in the specified archive.
- * @param a the archive as File.
- * @param e the TarEntry.
- */
- public TarResource(File a, TarEntry e) {
- super(a, true);
- setEntry(e);
- }
-
- /**
- * Construct a TarResource representing the specified
- * entry in the specified archive.
- * @param a the archive as Resource.
- * @param e the TarEntry.
- */
- public TarResource(Resource a, TarEntry e) {
- super(a, true);
- setEntry(e);
- }
-
- /**
- * Return an InputStream for reading the contents of this Resource.
- * @return an InputStream object.
- * @throws IOException if the tar file cannot be opened,
- * or the entry cannot be read.
- */
- public InputStream getInputStream() throws IOException {
- if (isReference()) {
- return ((Resource) getCheckedRef()).getInputStream();
- }
- Resource archive = getArchive();
- final TarInputStream i = new TarInputStream(archive.getInputStream());
- TarEntry te = null;
- while ((te = i.getNextEntry()) != null) {
- if (te.getName().equals(getName())) {
- return i;
- }
- }
-
- FileUtils.close(i);
- throw new BuildException("no entry " + getName() + " in "
- + getArchive());
- }
-
- /**
- * Get an OutputStream for the Resource.
- * @return an OutputStream to which content can be written.
- * @throws IOException if unable to provide the content of this
- * Resource as a stream.
- * @throws UnsupportedOperationException if OutputStreams are not
- * supported for this Resource type.
- */
- public OutputStream getOutputStream() throws IOException {
- if (isReference()) {
- return ((Resource) getCheckedRef()).getOutputStream();
- }
- throw new UnsupportedOperationException(
- "Use the tar task for tar output.");
- }
-
- /**
- * @return the user name for the tar entry
- */
- public String getUserName() {
- if (isReference()) {
- return ((TarResource) getCheckedRef()).getUserName();
- }
- checkEntry();
- return userName;
- }
-
- /**
- * @return the group name for the tar entry
- */
- public String getGroup() {
- if (isReference()) {
- return ((TarResource) getCheckedRef()).getGroup();
- }
- checkEntry();
- return groupName;
- }
-
- /**
- * @return the uid for the tar entry
- */
- public int getUid() {
- if (isReference()) {
- return ((TarResource) getCheckedRef()).getUid();
- }
- checkEntry();
- return uid;
- }
-
- /**
- * @return the gid for the tar entry
- */
- public int getGid() {
- if (isReference()) {
- return ((TarResource) getCheckedRef()).getGid();
- }
- checkEntry();
- return gid;
- }
-
- /**
- * fetches information from the named entry inside the archive.
- */
- protected void fetchEntry() {
- Resource archive = getArchive();
- TarInputStream i = null;
- try {
- i = new TarInputStream(archive.getInputStream());
- TarEntry te = null;
- while ((te = i.getNextEntry()) != null) {
- if (te.getName().equals(getName())) {
- setEntry(te);
- return;
- }
- }
- } catch (IOException e) {
- log(e.getMessage(), Project.MSG_DEBUG);
- throw new BuildException(e);
- } finally {
- if (i != null) {
- FileUtils.close(i);
- }
- }
- setEntry(null);
- }
-
- private void setEntry(TarEntry e) {
- if (e == null) {
- setExists(false);
- return;
- }
- setName(e.getName());
- setExists(true);
- setLastModified(e.getModTime().getTime());
- setDirectory(e.isDirectory());
- setSize(e.getSize());
- setMode(e.getMode());
- userName = e.getUserName();
- groupName = e.getGroupName();
- uid = e.getUserId();
- gid = e.getGroupId();
- }
-
-}