You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-dev@incubator.apache.org by Gilles Scokart <gs...@gmail.com> on 2007/05/16 07:39:40 UTC
FW: svn commit: r538245 [2/2] - in /incubator/ivy/core/trunk: ./ src/java/org/apache/ivy/ src/java/org/apache/ivy/ant/ src/java/org/apache/ivy/core/ src/java/org/apache/ivy/core/deliver/ src/java/org/apache/ivy/core/event/ src/java/org/apache/ivy/core/mod
Did you note the strange diff for the file Scp.java. The others are
correct. Maybe a problem of CR/LF ?
Gilles
-----Original Message-----
From: xavier@apache.org [mailto:xavier@apache.org]
Sent: mardi 15 mai 2007 18:30
To: ivy-commits@incubator.apache.org
Subject: svn commit: r538245 [2/2] - in /incubator/ivy/core/trunk: ./
src/java/org/apache/ivy/ src/java/org/apache/ivy/ant/
src/java/org/apache/ivy/core/ src/java/org/apache/ivy/core/deliver/
src/java/org/apache/ivy/core/event/ src/java/org/apache/ivy/core/modu...
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/Scp.
java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/ssh/Scp.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/Scp.
java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/ssh/Scp.
java Tue May 15 09:29:33 2007
@@ -1,620 +1,618 @@
-/*
- * 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.ivy.plugins.repository.ssh;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import com.jcraft.jsch.Channel;
-import com.jcraft.jsch.ChannelExec;
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.Session;
-
-/**
- * This class is using the scp client to transfer data and information for
the
- * repository. It is based on the SCPClient from the ganymed ssh library
from
- * Christian Plattner. To minimize the dependency to the ssh library and
because
- * I needed some additional functionality, I decided to copy'n'paste the
single
- * class rather than to inherit or delegate it somehow. Nevertheless credit
- * should go to the original author.
- *
- * @author Andreas Sahlbach
- * @author Christian Plattner, plattner@inf.ethz.ch
- */
-
-public class Scp {
- Session session;
-
- public class FileInfo {
- private String filename;
- private long length;
- private long lastModified;
- /**
- * @param filename The filename to set.
- */
- public void setFilename(String filename) {
- this.filename = filename;
- }
- /**
- * @return Returns the filename.
- */
- public String getFilename() {
- return filename;
- }
- /**
- * @param length The length to set.
- */
- public void setLength(long length) {
- this.length = length;
- }
- /**
- * @return Returns the length.
- */
- public long getLength() {
- return length;
- }
- /**
- * @param lastModified The lastModified to set.
- */
- public void setLastModified(long lastModified) {
- this.lastModified = lastModified;
- }
- /**
- * @return Returns the lastModified.
- */
- public long getLastModified() {
- return lastModified;
- }
- }
-
- public Scp(Session session) {
- if (session == null)
- throw new IllegalArgumentException("Cannot accept null
argument!");
- this.session = session;
- }
-
- private void readResponse(InputStream is) throws IOException,
RemoteScpException {
- int c = is.read();
-
- if (c == 0)
- return;
-
- if (c == -1)
- throw new RemoteScpException("Remote scp terminated
unexpectedly.");
-
- if ((c != 1) && (c != 2))
- throw new RemoteScpException("Remote scp sent illegal error
code.");
-
- if (c == 2)
- throw new RemoteScpException("Remote scp terminated with
error.");
-
- String err = receiveLine(is);
- throw new RemoteScpException("Remote scp terminated with error (" +
err + ").");
- }
-
- private String receiveLine(InputStream is) throws
IOException,RemoteScpException {
- StringBuffer sb = new StringBuffer(30);
-
- while (true) {
- /*
- * This is a random limit - if your path names are longer, then
- * adjust it
- */
-
- if (sb.length() > 8192)
- throw new RemoteScpException("Remote scp sent a too long
line");
-
- int c = is.read();
-
- if (c < 0)
- throw new RemoteScpException("Remote scp terminated
unexpectedly.");
-
- if (c == '\n')
- break;
-
- sb.append((char) c);
-
- }
- return sb.toString();
- }
-
- private void parseCLine(String line, FileInfo fileInfo) throws
RemoteScpException {
- /* Minimum line: "xxxx y z" ---> 8 chars */
-
- long len;
-
- if (line.length() < 8)
- throw new RemoteScpException(
- "Malformed C line sent by remote SCP binary, line too
short.");
-
- if ((line.charAt(4) != ' ') || (line.charAt(5) == ' '))
- throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
-
- int length_name_sep = line.indexOf(' ', 5);
-
- if (length_name_sep == -1)
- throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
-
- String length_substring = line.substring(5, length_name_sep);
- String name_substring = line.substring(length_name_sep + 1);
-
- if ((length_substring.length() <= 0) || (name_substring.length() <=
0))
- throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
-
- if ((6 + length_substring.length() + name_substring.length()) !=
line
- .length())
- throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
-
- try {
- len = Long.parseLong(length_substring);
- } catch (NumberFormatException e) {
- throw new RemoteScpException(
- "Malformed C line sent by remote SCP binary, cannot
parse file length.");
- }
-
- if (len < 0)
- throw new RemoteScpException(
- "Malformed C line sent by remote SCP binary, illegal
file length.");
-
- fileInfo.setLength(len);
- fileInfo.setFilename(name_substring);
- }
-
- private void parseTLine(String line, FileInfo fileInfo) throws
RemoteScpException {
- /* Minimum line: "0 0 0 0" ---> 8 chars */
-
- long modtime;
- long first_msec;
- long atime;
- long second_msec;
-
- if (line.length() < 8)
- throw new RemoteScpException(
- "Malformed T line sent by remote SCP binary, line too
short.");
-
- int first_msec_begin = line.indexOf(" ")+1;
- if(first_msec_begin == 0 || first_msec_begin >= line.length())
- throw new RemoteScpException(
- "Malformed T line sent by remote SCP binary, line not enough
data.");
-
- int atime_begin = line.indexOf(" ",first_msec_begin+1)+1;
- if(atime_begin == 0 || atime_begin >= line.length())
- throw new RemoteScpException(
- "Malformed T line sent by remote SCP binary, line not enough
data.");
-
- int second_msec_begin = line.indexOf(" ",atime_begin+1)+1;
- if(second_msec_begin == 0 || second_msec_begin >= line.length())
- throw new RemoteScpException(
- "Malformed T line sent by remote SCP binary, line not enough
data.");
-
- try {
- modtime = Long.parseLong(line.substring(0,first_msec_begin-1));
- first_msec =
Long.parseLong(line.substring(first_msec_begin,atime_begin-1));
- atime =
Long.parseLong(line.substring(atime_begin,second_msec_begin-1));
- second_msec =
Long.parseLong(line.substring(second_msec_begin));
- } catch (NumberFormatException e) {
- throw new RemoteScpException(
- "Malformed C line sent by remote SCP binary, cannot
parse file length.");
- }
-
- if (modtime < 0 || first_msec < 0 || atime < 0 || second_msec < 0)
- throw new RemoteScpException(
- "Malformed C line sent by remote SCP binary, illegal
file length.");
-
- fileInfo.setLastModified(modtime);
- }
-
- private void sendBytes(Channel channel, byte[] data, String fileName,
- String mode) throws IOException,RemoteScpException {
- OutputStream os = channel.getOutputStream();
- InputStream is = new BufferedInputStream(channel.getInputStream(),
512);
-
- try {
- if(channel.isConnected())
- channel.start();
- else
- channel.connect();
- } catch (JSchException e1) {
- throw (IOException) new IOException("Channel connection
problems").initCause(e1);
- }
-
- readResponse(is);
-
- String cline = "C" + mode + " " + data.length + " " + fileName +
"\n";
-
- os.write(cline.getBytes());
- os.flush();
-
- readResponse(is);
-
- os.write(data, 0, data.length);
- os.write(0);
- os.flush();
-
- readResponse(is);
-
- os.write("E\n".getBytes());
- os.flush();
- }
-
- private void sendFile(Channel channel, String localFile, String
remoteName, String mode)
- throws IOException, RemoteScpException {
- byte[] buffer = new byte[8192];
-
- OutputStream os = new
BufferedOutputStream(channel.getOutputStream(), 40000);
- InputStream is = new BufferedInputStream(channel.getInputStream(),
512);
-
- try {
- if(channel.isConnected())
- channel.start();
- else
- channel.connect();
- } catch (JSchException e1) {
- throw (IOException) new IOException("Channel connection
problems").initCause(e1);
- }
-
- readResponse(is);
-
- File f = new File(localFile);
- long remain = f.length();
-
- String cline = "C" + mode + " " + remain + " " + remoteName + "\n";
-
- os.write(cline.getBytes());
- os.flush();
-
- readResponse(is);
-
- FileInputStream fis = null;
-
- try {
- fis = new FileInputStream(f);
-
- while (remain > 0) {
- int trans;
- if (remain > buffer.length)
- trans = buffer.length;
- else
- trans = (int) remain;
-
- if (fis.read(buffer, 0, trans) != trans)
- throw new IOException(
- "Cannot read enough from local file "
- + localFile);
-
- os.write(buffer, 0, trans);
-
- remain -= trans;
- }
-
- fis.close();
- } catch (IOException e) {
- if (fis != null) {
- fis.close();
- }
- throw (e);
- }
-
- os.write(0);
- os.flush();
-
- readResponse(is);
-
- os.write("E\n".getBytes());
- os.flush();
- }
-
- /**
- * Receive a file via scp and store it in a stream
- * @param channel ssh channel to use
- * @param file to receive from remote
- * @param target to store file into (if null, get only file info)
- * @return file information of the file we received
- * @throws IOException in case of network or protocol trouble
- * @throws RemoteScpException in case of problems on the target system
(connection is fine)
- */
- private FileInfo receiveStream(Channel channel, String file,
OutputStream targetStream)
- throws IOException,RemoteScpException {
- byte[] buffer = new byte[8192];
-
- OutputStream os = channel.getOutputStream();
- InputStream is = channel.getInputStream();
- try {
- if(channel.isConnected())
- channel.start();
- else
- channel.connect();
- } catch (JSchException e1) {
- throw (IOException) new IOException("Channel connection
problems").initCause(e1);
- }
- os.write(0x0);
- os.flush();
-
- FileInfo fileInfo = new FileInfo();
-
- while (true) {
- int c = is.read();
- if (c < 0)
- throw new RemoteScpException("Remote scp terminated
unexpectedly.");
-
- String line = receiveLine(is);
-
- if (c == 'T') {
- parseTLine(line,fileInfo);
- os.write(0x0);
- os.flush();
- continue;
- }
- if ((c == 1) || (c == 2))
- throw new RemoteScpException("Remote SCP error: " + line);
-
- if (c == 'C') {
- parseCLine(line,fileInfo);
- break;
- }
- throw new RemoteScpException("Remote SCP error: " + ((char) c)
+ line);
- }
- if(targetStream != null) {
-
- os.write(0x0);
- os.flush();
-
- try {
- long remain = fileInfo.getLength();
-
- while (remain > 0) {
- int trans;
- if (remain > buffer.length)
- trans = buffer.length;
- else
- trans = (int) remain;
-
- int this_time_received = is.read(buffer, 0, trans);
-
- if (this_time_received < 0) {
- throw new IOException(
- "Remote scp terminated connection
unexpectedly");
- }
-
- targetStream.write(buffer, 0, this_time_received);
-
- remain -= this_time_received;
- }
-
- targetStream.close();
- } catch (IOException e) {
- if (targetStream != null)
- targetStream.close();
-
- throw (e);
- }
-
- readResponse(is);
-
- os.write(0x0);
- os.flush();
- }
- return fileInfo;
- }
-
- /**
- * Copy a local file to a remote directory, uses mode 0600 when
creating the
- * file on the remote side.
- *
- * @param localFile Path and name of local file.
- * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
- * @param remoteName target filename to use
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public void put(String localFile, String remoteTargetDirectory, String
remoteName)
- throws IOException, RemoteScpException {
- put(localFile, remoteTargetDirectory, remoteName, "0600");
- }
-
- /**
- * Create a remote file and copy the contents of the passed byte array
into
- * it. Uses mode 0600 for creating the remote file.
- *
- * @param data the data to be copied into the remote file.
- * @param remoteFileName The name of the file which will be created in
the remote target directory.
- * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
-
- public void put(byte[] data, String remoteFileName, String
remoteTargetDirectory)
- throws IOException,RemoteScpException {
- put(data, remoteFileName, remoteTargetDirectory, "0600");
- }
-
- /**
- * Create a remote file and copy the contents of the passed byte array
into
- * it. The method use the specified mode when creating the file on the
- * remote side.
- *
- * @param data the data to be copied into the remote file.
- * @param remoteFileName The name of the file which will be created in
the remote target directory.
- * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
- * @param mode a four digit string (e.g., 0644, see "man chmod", "man
open")
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public void put(byte[] data, String remoteFileName, String
remoteTargetDirectory, String mode)
- throws IOException,RemoteScpException {
- ChannelExec channel = null;
-
- if ((remoteFileName == null) || (mode == null))
- throw new IllegalArgumentException("Null argument.");
-
- if (mode.length() != 4)
- throw new IllegalArgumentException("Invalid mode.");
-
- for (int i = 0; i < mode.length(); i++)
- if (Character.isDigit(mode.charAt(i)) == false)
- throw new IllegalArgumentException("Invalid mode.");
-
- String cmd = "scp -t ";
- if(remoteTargetDirectory != null && remoteTargetDirectory.length()
> 0) {
- cmd = cmd + "-d " + remoteTargetDirectory;
- }
-
- try {
- channel = getExecChannel();
- channel.setCommand(cmd);
- sendBytes(channel, data, remoteFileName, mode);
- //channel.disconnect();
- } catch (JSchException e) {
- if (channel != null)
- channel.disconnect();
- throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
- .initCause(e);
- }
- }
-
- /**
- * @return
- * @throws JSchException
- */
- private ChannelExec getExecChannel() throws JSchException {
- ChannelExec channel;
- channel = (ChannelExec)session.openChannel("exec");
- return channel;
- }
-
- /**
- * Copy a local file to a remote site, uses the specified mode when
- * creating the file on the remote side.
- *
- * @param localFile Path and name of local file.
- * @param remoteTargetDir Remote target directory where the file has to
end up (optional)
- * @param remoteTargetName file name to use on the target system
- * @param mode a four digit string (e.g., 0644, see "man chmod", "man
open")
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public void put(String localFile, String remoteTargetDir, String
remoteTargetName, String mode)
- throws IOException,RemoteScpException {
- ChannelExec channel = null;
-
- if ((localFile == null) || (remoteTargetName == null) || (mode ==
null))
- throw new IllegalArgumentException("Null argument.");
-
- if (mode.length() != 4)
- throw new IllegalArgumentException("Invalid mode.");
-
- for (int i = 0; i < mode.length(); i++)
- if (Character.isDigit(mode.charAt(i)) == false)
- throw new IllegalArgumentException("Invalid mode.");
-
- String cmd = "scp -t ";
- if(remoteTargetDir != null && remoteTargetDir.length() > 0) {
- cmd = cmd + "-d " + remoteTargetDir;
- }
-
- try {
- channel = getExecChannel();
- channel.setCommand(cmd);
- sendFile(channel, localFile, remoteTargetName, mode);
- channel.disconnect();
- } catch (JSchException e) {
- if (channel != null)
- channel.disconnect();
- throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
- .initCause(e);
- }
- }
-
- /**
- * Download a file from the remote server to a local file.
- * @param remoteFile Path and name of the remote file.
- * @param localTarget Local file where to store the data.
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public void get(String remoteFile, String localTarget) throws
IOException,RemoteScpException {
- File f = new File(localTarget);
- FileOutputStream fop = new FileOutputStream(f);
- get(remoteFile,fop);
- }
-
- /**
- * Download a file from the remote server into an OutputStream
- * @param remoteFile Path and name of the remote file.
- * @param localTarget OutputStream to store the data.
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public void get(String remoteFile, OutputStream localTarget) throws
IOException,RemoteScpException {
- ChannelExec channel = null;
-
- if ((remoteFile == null) || (localTarget == null))
- throw new IllegalArgumentException("Null argument.");
-
- String cmd = "scp -p -f "+ remoteFile;
-
- try {
- channel = getExecChannel();
- channel.setCommand(cmd);
- receiveStream(channel, remoteFile, localTarget);
- channel.disconnect();
- } catch (JSchException e) {
- if (channel != null)
- channel.disconnect();
- throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
- .initCause(e);
- }
- }
-
- /**
- * Initiates an SCP sequence but stops after getting fileinformation
header
- * @param remoteFile to get information for
- * @return the file information got
- * @throws IOException in case of network problems
- * @throws RemoteScpException in case of problems on the target system
(connection ok)
- */
- public FileInfo getFileinfo(String remoteFile) throws
IOException,RemoteScpException {
- ChannelExec channel = null;
- FileInfo fileInfo = null;
-
- if (remoteFile == null)
- throw new IllegalArgumentException("Null argument.");
-
- String cmd = "scp -p -f \""+remoteFile+"\"";
-
- try {
- channel = getExecChannel();
- channel.setCommand(cmd);
- fileInfo = receiveStream(channel, remoteFile, null);
- channel.disconnect();
- } catch (JSchException e) {
- throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
- .initCause(e);
- } finally {
- if (channel != null)
- channel.disconnect();
- }
- return fileInfo;
- }
-}
+/*
+ * 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.ivy.plugins.repository.ssh;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import com.jcraft.jsch.Channel;
+import com.jcraft.jsch.ChannelExec;
+import com.jcraft.jsch.JSchException;
+import com.jcraft.jsch.Session;
+
+/**
+ * This class is using the scp client to transfer data and information for
the
+ * repository. It is based on the SCPClient from the ganymed ssh library
from
+ * Christian Plattner. To minimize the dependency to the ssh library and
because
+ * I needed some additional functionality, I decided to copy'n'paste the
single
+ * class rather than to inherit or delegate it somehow. Nevertheless credit
+ * should go to the original author.
+ *
+ */
+
+public class Scp {
+ Session session;
+
+ public class FileInfo {
+ private String filename;
+ private long length;
+ private long lastModified;
+ /**
+ * @param filename The filename to set.
+ */
+ public void setFilename(String filename) {
+ this.filename = filename;
+ }
+ /**
+ * @return Returns the filename.
+ */
+ public String getFilename() {
+ return filename;
+ }
+ /**
+ * @param length The length to set.
+ */
+ public void setLength(long length) {
+ this.length = length;
+ }
+ /**
+ * @return Returns the length.
+ */
+ public long getLength() {
+ return length;
+ }
+ /**
+ * @param lastModified The lastModified to set.
+ */
+ public void setLastModified(long lastModified) {
+ this.lastModified = lastModified;
+ }
+ /**
+ * @return Returns the lastModified.
+ */
+ public long getLastModified() {
+ return lastModified;
+ }
+ }
+
+ public Scp(Session session) {
+ if (session == null)
+ throw new IllegalArgumentException("Cannot accept null
argument!");
+ this.session = session;
+ }
+
+ private void readResponse(InputStream is) throws IOException,
RemoteScpException {
+ int c = is.read();
+
+ if (c == 0)
+ return;
+
+ if (c == -1)
+ throw new RemoteScpException("Remote scp terminated
unexpectedly.");
+
+ if ((c != 1) && (c != 2))
+ throw new RemoteScpException("Remote scp sent illegal error
code.");
+
+ if (c == 2)
+ throw new RemoteScpException("Remote scp terminated with
error.");
+
+ String err = receiveLine(is);
+ throw new RemoteScpException("Remote scp terminated with error (" +
err + ").");
+ }
+
+ private String receiveLine(InputStream is) throws
IOException,RemoteScpException {
+ StringBuffer sb = new StringBuffer(30);
+
+ while (true) {
+ /*
+ * This is a random limit - if your path names are longer, then
+ * adjust it
+ */
+
+ if (sb.length() > 8192)
+ throw new RemoteScpException("Remote scp sent a too long
line");
+
+ int c = is.read();
+
+ if (c < 0)
+ throw new RemoteScpException("Remote scp terminated
unexpectedly.");
+
+ if (c == '\n')
+ break;
+
+ sb.append((char) c);
+
+ }
+ return sb.toString();
+ }
+
+ private void parseCLine(String line, FileInfo fileInfo) throws
RemoteScpException {
+ /* Minimum line: "xxxx y z" ---> 8 chars */
+
+ long len;
+
+ if (line.length() < 8)
+ throw new RemoteScpException(
+ "Malformed C line sent by remote SCP binary, line too
short.");
+
+ if ((line.charAt(4) != ' ') || (line.charAt(5) == ' '))
+ throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
+
+ int length_name_sep = line.indexOf(' ', 5);
+
+ if (length_name_sep == -1)
+ throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
+
+ String length_substring = line.substring(5, length_name_sep);
+ String name_substring = line.substring(length_name_sep + 1);
+
+ if ((length_substring.length() <= 0) || (name_substring.length() <=
0))
+ throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
+
+ if ((6 + length_substring.length() + name_substring.length()) !=
line
+ .length())
+ throw new RemoteScpException("Malformed C line sent by remote
SCP binary.");
+
+ try {
+ len = Long.parseLong(length_substring);
+ } catch (NumberFormatException e) {
+ throw new RemoteScpException(
+ "Malformed C line sent by remote SCP binary, cannot
parse file length.");
+ }
+
+ if (len < 0)
+ throw new RemoteScpException(
+ "Malformed C line sent by remote SCP binary, illegal
file length.");
+
+ fileInfo.setLength(len);
+ fileInfo.setFilename(name_substring);
+ }
+
+ private void parseTLine(String line, FileInfo fileInfo) throws
RemoteScpException {
+ /* Minimum line: "0 0 0 0" ---> 8 chars */
+
+ long modtime;
+ long first_msec;
+ long atime;
+ long second_msec;
+
+ if (line.length() < 8)
+ throw new RemoteScpException(
+ "Malformed T line sent by remote SCP binary, line too
short.");
+
+ int first_msec_begin = line.indexOf(" ")+1;
+ if(first_msec_begin == 0 || first_msec_begin >= line.length())
+ throw new RemoteScpException(
+ "Malformed T line sent by remote SCP binary, line not enough
data.");
+
+ int atime_begin = line.indexOf(" ",first_msec_begin+1)+1;
+ if(atime_begin == 0 || atime_begin >= line.length())
+ throw new RemoteScpException(
+ "Malformed T line sent by remote SCP binary, line not enough
data.");
+
+ int second_msec_begin = line.indexOf(" ",atime_begin+1)+1;
+ if(second_msec_begin == 0 || second_msec_begin >= line.length())
+ throw new RemoteScpException(
+ "Malformed T line sent by remote SCP binary, line not enough
data.");
+
+ try {
+ modtime = Long.parseLong(line.substring(0,first_msec_begin-1));
+ first_msec =
Long.parseLong(line.substring(first_msec_begin,atime_begin-1));
+ atime =
Long.parseLong(line.substring(atime_begin,second_msec_begin-1));
+ second_msec =
Long.parseLong(line.substring(second_msec_begin));
+ } catch (NumberFormatException e) {
+ throw new RemoteScpException(
+ "Malformed C line sent by remote SCP binary, cannot
parse file length.");
+ }
+
+ if (modtime < 0 || first_msec < 0 || atime < 0 || second_msec < 0)
+ throw new RemoteScpException(
+ "Malformed C line sent by remote SCP binary, illegal
file length.");
+
+ fileInfo.setLastModified(modtime);
+ }
+
+ private void sendBytes(Channel channel, byte[] data, String fileName,
+ String mode) throws IOException,RemoteScpException {
+ OutputStream os = channel.getOutputStream();
+ InputStream is = new BufferedInputStream(channel.getInputStream(),
512);
+
+ try {
+ if(channel.isConnected())
+ channel.start();
+ else
+ channel.connect();
+ } catch (JSchException e1) {
+ throw (IOException) new IOException("Channel connection
problems").initCause(e1);
+ }
+
+ readResponse(is);
+
+ String cline = "C" + mode + " " + data.length + " " + fileName +
"\n";
+
+ os.write(cline.getBytes());
+ os.flush();
+
+ readResponse(is);
+
+ os.write(data, 0, data.length);
+ os.write(0);
+ os.flush();
+
+ readResponse(is);
+
+ os.write("E\n".getBytes());
+ os.flush();
+ }
+
+ private void sendFile(Channel channel, String localFile, String
remoteName, String mode)
+ throws IOException, RemoteScpException {
+ byte[] buffer = new byte[8192];
+
+ OutputStream os = new
BufferedOutputStream(channel.getOutputStream(), 40000);
+ InputStream is = new BufferedInputStream(channel.getInputStream(),
512);
+
+ try {
+ if(channel.isConnected())
+ channel.start();
+ else
+ channel.connect();
+ } catch (JSchException e1) {
+ throw (IOException) new IOException("Channel connection
problems").initCause(e1);
+ }
+
+ readResponse(is);
+
+ File f = new File(localFile);
+ long remain = f.length();
+
+ String cline = "C" + mode + " " + remain + " " + remoteName + "\n";
+
+ os.write(cline.getBytes());
+ os.flush();
+
+ readResponse(is);
+
+ FileInputStream fis = null;
+
+ try {
+ fis = new FileInputStream(f);
+
+ while (remain > 0) {
+ int trans;
+ if (remain > buffer.length)
+ trans = buffer.length;
+ else
+ trans = (int) remain;
+
+ if (fis.read(buffer, 0, trans) != trans)
+ throw new IOException(
+ "Cannot read enough from local file "
+ + localFile);
+
+ os.write(buffer, 0, trans);
+
+ remain -= trans;
+ }
+
+ fis.close();
+ } catch (IOException e) {
+ if (fis != null) {
+ fis.close();
+ }
+ throw (e);
+ }
+
+ os.write(0);
+ os.flush();
+
+ readResponse(is);
+
+ os.write("E\n".getBytes());
+ os.flush();
+ }
+
+ /**
+ * Receive a file via scp and store it in a stream
+ * @param channel ssh channel to use
+ * @param file to receive from remote
+ * @param target to store file into (if null, get only file info)
+ * @return file information of the file we received
+ * @throws IOException in case of network or protocol trouble
+ * @throws RemoteScpException in case of problems on the target system
(connection is fine)
+ */
+ private FileInfo receiveStream(Channel channel, String file,
OutputStream targetStream)
+ throws IOException,RemoteScpException {
+ byte[] buffer = new byte[8192];
+
+ OutputStream os = channel.getOutputStream();
+ InputStream is = channel.getInputStream();
+ try {
+ if(channel.isConnected())
+ channel.start();
+ else
+ channel.connect();
+ } catch (JSchException e1) {
+ throw (IOException) new IOException("Channel connection
problems").initCause(e1);
+ }
+ os.write(0x0);
+ os.flush();
+
+ FileInfo fileInfo = new FileInfo();
+
+ while (true) {
+ int c = is.read();
+ if (c < 0)
+ throw new RemoteScpException("Remote scp terminated
unexpectedly.");
+
+ String line = receiveLine(is);
+
+ if (c == 'T') {
+ parseTLine(line,fileInfo);
+ os.write(0x0);
+ os.flush();
+ continue;
+ }
+ if ((c == 1) || (c == 2))
+ throw new RemoteScpException("Remote SCP error: " + line);
+
+ if (c == 'C') {
+ parseCLine(line,fileInfo);
+ break;
+ }
+ throw new RemoteScpException("Remote SCP error: " + ((char) c)
+ line);
+ }
+ if(targetStream != null) {
+
+ os.write(0x0);
+ os.flush();
+
+ try {
+ long remain = fileInfo.getLength();
+
+ while (remain > 0) {
+ int trans;
+ if (remain > buffer.length)
+ trans = buffer.length;
+ else
+ trans = (int) remain;
+
+ int this_time_received = is.read(buffer, 0, trans);
+
+ if (this_time_received < 0) {
+ throw new IOException(
+ "Remote scp terminated connection
unexpectedly");
+ }
+
+ targetStream.write(buffer, 0, this_time_received);
+
+ remain -= this_time_received;
+ }
+
+ targetStream.close();
+ } catch (IOException e) {
+ if (targetStream != null)
+ targetStream.close();
+
+ throw (e);
+ }
+
+ readResponse(is);
+
+ os.write(0x0);
+ os.flush();
+ }
+ return fileInfo;
+ }
+
+ /**
+ * Copy a local file to a remote directory, uses mode 0600 when
creating the
+ * file on the remote side.
+ *
+ * @param localFile Path and name of local file.
+ * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
+ * @param remoteName target filename to use
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public void put(String localFile, String remoteTargetDirectory, String
remoteName)
+ throws IOException, RemoteScpException {
+ put(localFile, remoteTargetDirectory, remoteName, "0600");
+ }
+
+ /**
+ * Create a remote file and copy the contents of the passed byte array
into
+ * it. Uses mode 0600 for creating the remote file.
+ *
+ * @param data the data to be copied into the remote file.
+ * @param remoteFileName The name of the file which will be created in
the remote target directory.
+ * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+
+ public void put(byte[] data, String remoteFileName, String
remoteTargetDirectory)
+ throws IOException,RemoteScpException {
+ put(data, remoteFileName, remoteTargetDirectory, "0600");
+ }
+
+ /**
+ * Create a remote file and copy the contents of the passed byte array
into
+ * it. The method use the specified mode when creating the file on the
+ * remote side.
+ *
+ * @param data the data to be copied into the remote file.
+ * @param remoteFileName The name of the file which will be created in
the remote target directory.
+ * @param remoteTargetDirectory Remote target directory where the file
has to end up (optional)
+ * @param mode a four digit string (e.g., 0644, see "man chmod", "man
open")
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public void put(byte[] data, String remoteFileName, String
remoteTargetDirectory, String mode)
+ throws IOException,RemoteScpException {
+ ChannelExec channel = null;
+
+ if ((remoteFileName == null) || (mode == null))
+ throw new IllegalArgumentException("Null argument.");
+
+ if (mode.length() != 4)
+ throw new IllegalArgumentException("Invalid mode.");
+
+ for (int i = 0; i < mode.length(); i++)
+ if (Character.isDigit(mode.charAt(i)) == false)
+ throw new IllegalArgumentException("Invalid mode.");
+
+ String cmd = "scp -t ";
+ if(remoteTargetDirectory != null && remoteTargetDirectory.length()
> 0) {
+ cmd = cmd + "-d " + remoteTargetDirectory;
+ }
+
+ try {
+ channel = getExecChannel();
+ channel.setCommand(cmd);
+ sendBytes(channel, data, remoteFileName, mode);
+ //channel.disconnect();
+ } catch (JSchException e) {
+ if (channel != null)
+ channel.disconnect();
+ throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
+ .initCause(e);
+ }
+ }
+
+ /**
+ * @return
+ * @throws JSchException
+ */
+ private ChannelExec getExecChannel() throws JSchException {
+ ChannelExec channel;
+ channel = (ChannelExec)session.openChannel("exec");
+ return channel;
+ }
+
+ /**
+ * Copy a local file to a remote site, uses the specified mode when
+ * creating the file on the remote side.
+ *
+ * @param localFile Path and name of local file.
+ * @param remoteTargetDir Remote target directory where the file has to
end up (optional)
+ * @param remoteTargetName file name to use on the target system
+ * @param mode a four digit string (e.g., 0644, see "man chmod", "man
open")
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public void put(String localFile, String remoteTargetDir, String
remoteTargetName, String mode)
+ throws IOException,RemoteScpException {
+ ChannelExec channel = null;
+
+ if ((localFile == null) || (remoteTargetName == null) || (mode ==
null))
+ throw new IllegalArgumentException("Null argument.");
+
+ if (mode.length() != 4)
+ throw new IllegalArgumentException("Invalid mode.");
+
+ for (int i = 0; i < mode.length(); i++)
+ if (Character.isDigit(mode.charAt(i)) == false)
+ throw new IllegalArgumentException("Invalid mode.");
+
+ String cmd = "scp -t ";
+ if(remoteTargetDir != null && remoteTargetDir.length() > 0) {
+ cmd = cmd + "-d " + remoteTargetDir;
+ }
+
+ try {
+ channel = getExecChannel();
+ channel.setCommand(cmd);
+ sendFile(channel, localFile, remoteTargetName, mode);
+ channel.disconnect();
+ } catch (JSchException e) {
+ if (channel != null)
+ channel.disconnect();
+ throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
+ .initCause(e);
+ }
+ }
+
+ /**
+ * Download a file from the remote server to a local file.
+ * @param remoteFile Path and name of the remote file.
+ * @param localTarget Local file where to store the data.
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public void get(String remoteFile, String localTarget) throws
IOException,RemoteScpException {
+ File f = new File(localTarget);
+ FileOutputStream fop = new FileOutputStream(f);
+ get(remoteFile,fop);
+ }
+
+ /**
+ * Download a file from the remote server into an OutputStream
+ * @param remoteFile Path and name of the remote file.
+ * @param localTarget OutputStream to store the data.
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public void get(String remoteFile, OutputStream localTarget) throws
IOException,RemoteScpException {
+ ChannelExec channel = null;
+
+ if ((remoteFile == null) || (localTarget == null))
+ throw new IllegalArgumentException("Null argument.");
+
+ String cmd = "scp -p -f "+ remoteFile;
+
+ try {
+ channel = getExecChannel();
+ channel.setCommand(cmd);
+ receiveStream(channel, remoteFile, localTarget);
+ channel.disconnect();
+ } catch (JSchException e) {
+ if (channel != null)
+ channel.disconnect();
+ throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
+ .initCause(e);
+ }
+ }
+
+ /**
+ * Initiates an SCP sequence but stops after getting fileinformation
header
+ * @param remoteFile to get information for
+ * @return the file information got
+ * @throws IOException in case of network problems
+ * @throws RemoteScpException in case of problems on the target system
(connection ok)
+ */
+ public FileInfo getFileinfo(String remoteFile) throws
IOException,RemoteScpException {
+ ChannelExec channel = null;
+ FileInfo fileInfo = null;
+
+ if (remoteFile == null)
+ throw new IllegalArgumentException("Null argument.");
+
+ String cmd = "scp -p -f \""+remoteFile+"\"";
+
+ try {
+ channel = getExecChannel();
+ channel.setCommand(cmd);
+ fileInfo = receiveStream(channel, remoteFile, null);
+ channel.disconnect();
+ } catch (JSchException e) {
+ throw (IOException) new IOException("Error during SCP
transfer."+e.getMessage())
+ .initCause(e);
+ } finally {
+ if (channel != null)
+ channel.disconnect();
+ }
+ return fileInfo;
+ }
+}
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavClientFactory.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/IvyWebdavClientFactory.java?view=diff&rev=538245&r1
=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavClientFactory.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavClientFactory.java Tue May 15 09:29:33 2007
@@ -35,9 +35,6 @@
*
* Create a HttpClient instance
*
- * @author <a href="mailto:imario@apache.org">Mario Ivankovits</a>
- * @author Maarten Coene
- * @version $Revision: 330479 $ $Date: 2005-11-03 07:19:24 +0100 (Do, 03
Nov 2005) $
*/
class IvyWebdavClientFactory {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavConnectionManager.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/IvyWebdavConnectionManager.java?view=diff&rev=53824
5&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavConnectionManager.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavConnectionManager.java Tue May 15 09:29:33 2007
@@ -36,13 +36,6 @@
* <p/>
* imario@apache.org: Keep connection in ThreadLocal.
*
- * @author <a href="mailto:imario@apache.org">Mario Ivankovits</a>
- * @author <a href="mailto:becke@u.washington.edu">Michael Becke</a>
- * @author Eric Johnson
- * @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
- * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
- * @author Laura Werner
- * @author Maarten Coene
*/
class IvyWebdavConnectionManager implements HttpConnectionManager {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileProvider.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/IvyWebdavFileProvider.java?view=diff&rev=538245&r1=
538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileProvider.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileProvider.java Tue May 15 09:29:33 2007
@@ -31,9 +31,6 @@
*
* A provider for WebDAV.
*
- * @author <a href="mailto:adammurdoch@apache.org">Adam Murdoch</a>
- * @author Maarten Coene
- * @version $Revision: 417178 $ $Date: 2006-06-26 05:31:41 -0700 (Mon, 26
Jun 2006) $
*/
public class IvyWebdavFileProvider extends WebdavFileProvider {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileSystem.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/IvyWebdavFileSystem.java?view=diff&rev=538245&r1=53
8244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileSystem.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/IvyW
ebdavFileSystem.java Tue May 15 09:29:33 2007
@@ -26,7 +26,6 @@
/**
* This class extends from WebDavFileSystem because it doesn't provide an
accessible constructor.
*
- * @author Maarten Coene
*/
class IvyWebdavFileSystem extends WebDavFileSystem {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
epository.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/VfsRepository.java?view=diff&rev=538245&r1=538244&r
2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
epository.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
epository.java Tue May 15 09:29:33 2007
@@ -44,10 +44,6 @@
/**
* Implementation of a VFS repository
*
- * @author glen
- * @author Matt Inger
- * @author Stephen Nesbitt
- *
*/
public class VfsRepository extends AbstractRepository {
/**
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
esource.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vfs/VfsResource.java?view=diff&rev=538245&r1=538244&r2=
538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
esource.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vfs/VfsR
esource.java Tue May 15 09:29:33 2007
@@ -35,10 +35,6 @@
/**
* VFS implementation of the Resource interface
*
- * @author glen
- * @author Matt Inger
- * @author Stephen Nesbitt
- *
*/
public class VfsResource implements Resource {
private String _vfsURI;
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vsftp/Vs
ftpRepository.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/repository/vsftp/VsftpRepository.java?view=diff&rev=538245&r1=5382
44&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vsftp/Vs
ftpRepository.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/repository/vsftp/Vs
ftpRepository.java Tue May 15 09:29:33 2007
@@ -52,7 +52,6 @@
*
* Tested with SecureCRT 5.0.5
*
- * @author Xavier Hanin
*
*/
public class VsftpRepository extends AbstractRepository {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractRe
sourceResolver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/AbstractResourceResolver.java?view=diff&rev=538245&r1=538
244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractRe
sourceResolver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractRe
sourceResolver.java Tue May 15 09:29:33 2007
@@ -45,7 +45,6 @@
/**
- * @author Xavier Hanin
*
*/
public abstract class AbstractResourceResolver extends BasicResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/BasicResol
ver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/BasicResolver.java?view=diff&rev=538245&r1=538244&r2=5382
45
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/BasicResol
ver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/BasicResol
ver.java Tue May 15 09:29:33 2007
@@ -76,7 +76,6 @@
/**
- * @author Xavier Hanin
*
*/
public abstract class BasicResolver extends AbstractResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ChainResol
ver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/ChainResolver.java?view=diff&rev=538245&r1=538244&r2=5382
45
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ChainResol
ver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/ChainResol
ver.java Tue May 15 09:29:33 2007
@@ -42,7 +42,6 @@
/**
- * @author Hanin
*
*/
public class ChainResolver extends AbstractResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Dependency
Resolver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/DependencyResolver.java?view=diff&rev=538245&r1=538244&r2
=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Dependency
Resolver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Dependency
Resolver.java Tue May 15 09:29:33 2007
@@ -34,7 +34,6 @@
/**
- * @author x.hanin
*
*/
public interface DependencyResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystem
Resolver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/FileSystemResolver.java?view=diff&rev=538245&r1=538244&r2
=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystem
Resolver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/FileSystem
Resolver.java Tue May 15 09:29:33 2007
@@ -20,7 +20,6 @@
import org.apache.ivy.plugins.repository.file.FileRepository;
/**
- * @author Xavier Hanin
*/
public class FileSystemResolver extends RepositoryResolver {
public FileSystemResolver() {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Repository
Resolver.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/RepositoryResolver.java?view=diff&rev=538245&r1=538244&r2
=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Repository
Resolver.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/Repository
Resolver.java Tue May 15 09:29:33 2007
@@ -51,7 +51,6 @@
/**
- * @author Xavier Hanin
*
*/
public class RepositoryResolver extends AbstractResourceResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/VfsResolve
r.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/resolver/VfsResolver.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/VfsResolve
r.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/VfsResolve
r.java Tue May 15 09:29:33 2007
@@ -24,7 +24,6 @@
import org.apache.ivy.plugins.repository.vfs.VfsRepository;
/**
- * @author S. Nesbitt
*
*/
public class VfsResolver extends RepositoryResolver {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/trigger/AbstractTri
gger.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/trigger/AbstractTrigger.java?view=diff&rev=538245&r1=538244&r2=538
245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/trigger/AbstractTri
gger.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/trigger/AbstractTri
gger.java Tue May 15 09:29:33 2007
@@ -34,7 +34,6 @@
*
*
* @since 1.4
- * @author Xavier Hanin
*
*/
public abstract class AbstractTrigger implements Trigger {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/Match.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/version/Match.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/Match.java
(original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/Match.java
Tue May 15 09:29:33 2007
@@ -33,7 +33,6 @@
/**
*
- * @author Maarten Coene
*/
public class Match {
private String _revision;
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/PatternVers
ionMatcher.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/version/PatternVersionMatcher.java?view=diff&rev=538245&r1=538244&
r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/PatternVers
ionMatcher.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/PatternVers
ionMatcher.java Tue May 15 09:29:33 2007
@@ -29,7 +29,6 @@
/**
*
- * @author Maarten Coene
*/
public class PatternVersionMatcher extends AbstractVersionMatcher {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionMatc
her.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/version/VersionMatcher.java?view=diff&rev=538245&r1=538244&r2=5382
45
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionMatc
her.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionMatc
her.java Tue May 15 09:29:33 2007
@@ -38,7 +38,6 @@
* Therefore if a version matcher uses only module descriptors to accept a
revision or not it should always return true
* to needModuleDescriptor(ModuleRevisionId askedMrid, ModuleRevisionId
foundMrid) and accept(ModuleRevisionId askedMrid, ModuleRevisionId
foundMrid).
*
- * @author Xavier Hanin
*/
public interface VersionMatcher {
/**
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionRang
eMatcher.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/plugins/version/VersionRangeMatcher.java?view=diff&rev=538245&r1=538244&r2
=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionRang
eMatcher.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/version/VersionRang
eMatcher.java Tue May 15 09:29:33 2007
@@ -45,7 +45,6 @@
* Note that it can't work with latest time strategy, cause no time is
known for the limits of the range.
* Therefore only purely revision based LatestStrategy can be used.
*
- * @author xavier hanin
*
*/
public class VersionRangeMatcher extends AbstractVersionMatcher {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/ConfigurationUtils.jav
a
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/ConfigurationUtils.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/ConfigurationUtils.jav
a (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/ConfigurationUtils.jav
a Tue May 15 09:29:33 2007
@@ -28,7 +28,6 @@
/**
* Class containing several utility methods for working with
configurations.
*
- * @author Maarten Coene
*
*/
public class ConfigurationUtils {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Configurator.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/Configurator.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Configurator.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Configurator.java
Tue May 15 09:29:33 2007
@@ -52,7 +52,6 @@
* conf.endCreateChild(); // xinterface
* conf.endCreateChild(); // buildpath
*
- * @author x.hanin
*
*/
public class Configurator {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Credentials.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/Credentials.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Credentials.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Credentials.java
Tue May 15 09:29:33 2007
@@ -19,8 +19,6 @@
/**
*
- * @author Christian Riege
- * @author Xavier Hanin
*/
public class Credentials {
private String _realm;
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/EncrytedProperties.jav
a
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/EncrytedProperties.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/EncrytedProperties.jav
a (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/EncrytedProperties.jav
a Tue May 15 09:29:33 2007
@@ -33,7 +33,6 @@
*
* It this thus recommended to void using them, use setProperty and
getProperty instead.
*
- * @author Xavier Hanin
*
*/
public class EncrytedProperties extends Properties {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/FileUtil.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/FileUtil.java Tue
May 15 09:29:33 2007
@@ -38,7 +38,6 @@
/**
- * @author x.hanin
*
*/
public class FileUtil {
Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/Message.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/Message.java Tue
May 15 09:29:33 2007
@@ -30,8 +30,6 @@
/**
*
- * @author Xavier Hanin
- * @author Gilles Scokart
*/
public class Message {
// messages level copied from ant project, to avoid dependency on ant
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/StringUtils.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/StringUtils.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/util/StringUtils.java
(original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/util/StringUtils.java
Tue May 15 09:29:33 2007
@@ -23,7 +23,6 @@
* Usually use commons lang but here we do not want to have such
* a dependency for only one feature
*
- * @author X. Hanin
*
*/
public class StringUtils {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/ApacheURLLister.ja
va
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/ApacheURLLister.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/ApacheURLLister.ja
va (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/ApacheURLLister.ja
va Tue May 15 09:29:33 2007
@@ -36,9 +36,6 @@
* tested with Apache 1.3.33 server listing, as the one used at ibiblio,
and
* with Apache 2.0.53 server listing, as the one on mirrors.sunsite.dk.
*
- * @author Glen Marchesani
- * @author Xavier Hanin
- * @author <a href="mailto:johnmshields@yahoo.com">John M. Shields</a>
*/
public class ApacheURLLister {
//~ Static variables/initializers
------------------------------------------
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/BasicURLHandler.ja
va
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/BasicURLHandler.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/BasicURLHandler.ja
va (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/BasicURLHandler.ja
va Tue May 15 09:29:33 2007
@@ -33,8 +33,6 @@
/**
- * @author Xavier Hanin
- * @author Christian Riege
*
*/
public class BasicURLHandler extends AbstractURLHandler {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/CredentialsStore.j
ava
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/CredentialsStore.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/CredentialsStore.j
ava (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/CredentialsStore.j
ava Tue May 15 09:29:33 2007
@@ -26,8 +26,6 @@
/**
*
- * @author Christian Riege
- * @author Xavier Hanin
*/
public class CredentialsStore {
/**
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/HttpClientHandler.
java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/HttpClientHandler.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/HttpClientHandler.
java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/HttpClientHandler.
java Tue May 15 09:29:33 2007
@@ -44,7 +44,6 @@
/**
- * @author Xavier Hanin
*
*/
public class HttpClientHandler extends AbstractURLHandler {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/IvyAuthenticator.j
ava
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/IvyAuthenticator.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/IvyAuthenticator.j
ava (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/IvyAuthenticator.j
ava Tue May 15 09:29:33 2007
@@ -1,60 +1,58 @@
-/*
- * 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.ivy.util.url;
-
-import java.net.Authenticator;
-import java.net.PasswordAuthentication;
-
-import org.apache.ivy.util.Credentials;
-import org.apache.ivy.util.Message;
-
-
-/**
- *
- * @author Christian Riege
- * @author Xavier Hanin
- */
-public final class IvyAuthenticator extends Authenticator {
-
-
- /**
- * The sole instance.
- */
- public final static IvyAuthenticator INSTANCE = new IvyAuthenticator();
-
- /**
- * Private c'tor to prevent instantiation. Also installs this as the
default
- * Authenticator to use by the JVM.
- */
- private IvyAuthenticator() {
- // Install this as the default Authenticator object.
- Authenticator.setDefault(this);
- }
-
- // API
******************************************************************
-
- // Overriding Authenticator
*********************************************
-
- protected PasswordAuthentication getPasswordAuthentication() {
- Credentials c =
CredentialsStore.INSTANCE.getCredentials(getRequestingPrompt(),
getRequestingHost());
- Message.debug("authentication:
k='"+Credentials.buildKey(getRequestingPrompt(), getRequestingHost())+"'
c='" + c + "'");
- return c != null ? new PasswordAuthentication(c.getUserName(),
c.getPasswd().toCharArray()) : null;
- }
-
-
-}
+/*
+ * 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.ivy.util.url;
+
+import java.net.Authenticator;
+import java.net.PasswordAuthentication;
+
+import org.apache.ivy.util.Credentials;
+import org.apache.ivy.util.Message;
+
+
+/**
+ *
+ */
+public final class IvyAuthenticator extends Authenticator {
+
+
+ /**
+ * The sole instance.
+ */
+ public final static IvyAuthenticator INSTANCE = new IvyAuthenticator();
+
+ /**
+ * Private c'tor to prevent instantiation. Also installs this as the
default
+ * Authenticator to use by the JVM.
+ */
+ private IvyAuthenticator() {
+ // Install this as the default Authenticator object.
+ Authenticator.setDefault(this);
+ }
+
+ // API
******************************************************************
+
+ // Overriding Authenticator
*********************************************
+
+ protected PasswordAuthentication getPasswordAuthentication() {
+ Credentials c =
CredentialsStore.INSTANCE.getCredentials(getRequestingPrompt(),
getRequestingHost());
+ Message.debug("authentication:
k='"+Credentials.buildKey(getRequestingPrompt(), getRequestingHost())+"'
c='" + c + "'");
+ return c != null ? new PasswordAuthentication(c.getUserName(),
c.getPasswd().toCharArray()) : null;
+ }
+
+
+}
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandler.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/URLHandler.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandler.java
(original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandler.java
Tue May 15 09:29:33 2007
@@ -29,7 +29,6 @@
* This interface is responsible for handling some URL manipulation
* (stream opening, downloading, check reachability, ...).
*
- * @author Xavier Hanin
*
*/
public interface URLHandler {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerDispatch
er.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/URLHandlerDispatcher.java?view=diff&rev=538245&r1=538244&r2=53824
5
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerDispatch
er.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerDispatch
er.java Tue May 15 09:29:33 2007
@@ -30,7 +30,6 @@
/**
* This class is used to dispatch downloading requests
*
- * @author Xavier Hanin
*
*/
public class URLHandlerDispatcher implements URLHandler {
Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerRegistry
.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/iv
y/util/url/URLHandlerRegistry.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerRegistry
.java (original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/util/url/URLHandlerRegistry
.java Tue May 15 09:29:33 2007
@@ -20,7 +20,6 @@
import org.apache.ivy.util.Message;
/**
- * @author Xavier Hanin
*
*/
public class URLHandlerRegistry {
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.j
ava
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/i
vy/core/resolve/ResolveTest.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.j
ava (original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.j
ava Tue May 15 09:29:33 2007
@@ -60,7 +60,6 @@
/**
- * @author Xavier Hanin
*
*/
public class ResolveTest extends TestCase {
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/sort/SortTest.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/i
vy/core/sort/SortTest.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/sort/SortTest.java
(original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/sort/SortTest.java
Tue May 15 09:29:33 2007
@@ -30,8 +30,6 @@
import org.apache.ivy.core.module.id.ModuleRevisionId;
/**
- * @author Xavier Hanin
- * @author baumkar
*/
public class SortTest extends TestCase {
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpCon
flictManagerTest.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/i
vy/plugins/conflict/RegexpConflictManagerTest.java?view=diff&rev=538245&r1=5
38244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpCon
flictManagerTest.java (original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/plugins/conflict/RegexpCon
flictManagerTest.java Tue May 15 09:29:33 2007
@@ -17,10 +17,6 @@
*/
package org.apache.ivy.plugins.conflict;
-/**
- * @author Anders janmyr
- */
-
import java.io.File;
import junit.framework.TestCase;
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/ConfiguratorTest.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/i
vy/util/ConfiguratorTest.java?view=diff&rev=538245&r1=538244&r2=538245
============================================================================
==
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/ConfiguratorTest.java
(original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/ConfiguratorTest.java
Tue May 15 09:29:33 2007
@@ -23,7 +23,6 @@
import junit.framework.TestCase;
/**
- * @author x.hanin
*
*/
public class ConfiguratorTest extends TestCase {
Modified:
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/url/ApacheURLListerTe
st.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/i
vy/util/url/ApacheURLListerTest.java?view=diff&rev=538245&r1=538244&r2=53824
5
============================================================================
==
---
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/url/ApacheURLListerTe
st.java (original)
+++
incubator/ivy/core/trunk/test/java/org/apache/ivy/util/url/ApacheURLListerTe
st.java Tue May 15 09:29:33 2007
@@ -27,8 +27,6 @@
/**
* Tests {@link ApacheURLLister}.
*
- * @author Xavier Hanin
- * @author <a href="johnmshields@yahoo.com">John M. Shields</a>
*/
public class ApacheURLListerTest extends TestCase {