Author: mcconnell
Date: Thu Jun 17 17:14:02 2004
New Revision: 21392
Modified:
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Home.java
avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Repository.java
Log:
add proxy support to the home and repository
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Home.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Home.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Home.java Thu Jun 17 17:14:02 2004
@@ -102,7 +102,7 @@
m_system = m_index.getParentFile();
String path = getCachePath( project );
String hostsPath = project.getProperty( "avalon.hosts" );
- m_repository = new Repository( m_system, path, hostsPath, this );
+ m_repository = new Repository( project, m_system, path, hostsPath, this );
Element root = ElementHelper.getRootElement( m_index );
final Element resources = ElementHelper.getChild( root, "resources" );
Modified: avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Repository.java
==============================================================================
--- avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Repository.java (original)
+++ avalon/trunk/tools/magic/src/main/org/apache/avalon/tools/home/Repository.java Thu Jun 17 17:14:02 2004
@@ -38,6 +38,7 @@
import org.apache.tools.ant.taskdefs.Sequential;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.FileList;
+import org.apache.tools.ant.taskdefs.optional.net.SetProxy;
import org.apache.avalon.tools.project.Definition;
import org.apache.avalon.tools.project.ResourceRef;
@@ -51,12 +52,18 @@
*/
public class Repository
{
+ public final String PROJECT_PROXY_HOST_KEY = "project.proxy.host";
+ public final String PROJECT_PROXY_PORT_KEY = "project.proxy.port";
+ public final String PROJECT_PROXY_USERNAME_KEY = "project.proxy.username";
+ public final String PROJECT_PROXY_PASSWORD_KEY = "project.proxy.password";
+
private final Home m_home;
private final File m_root;
private final File m_cache;
private final String[] m_hosts;
- public Repository( File system, String path, String hosts, Home home )
+ public Repository(
+ Project project, File system, String path, String hosts, Home home )
{
if( null == system )
{
@@ -74,6 +81,8 @@
m_root = system;
m_cache = getCanonicalFile( Context.getFile( system, path ) );
m_hosts = getHostsSequence( hosts );
+
+ setupProxy( project );
}
public File getCacheDirectory()
@@ -114,4 +123,29 @@
return (String[]) list.toArray( new String[0] );
}
+ private void setupProxy( Project project )
+ {
+ String host = project.getProperty( PROJECT_PROXY_HOST_KEY );
+ if(( null == host ) || "".equals( host ) )
+ {
+ return;
+ }
+ else
+ {
+ int port = Integer.decode(
+ project.getProperty( PROJECT_PROXY_PORT_KEY ) ).intValue();
+ String username =
+ project.getProperty( PROJECT_PROXY_USERNAME_KEY );
+ String password =
+ project.getProperty( PROJECT_PROXY_PASSWORD_KEY );
+ SetProxy proxy =
+ (SetProxy) project.createTask( "setproxy" );
+ proxy.init();
+ proxy.setProxyHost( host );
+ proxy.setProxyPort( port );
+ proxy.setProxyUser( username );
+ proxy.setProxyPassword( password );
+ proxy.execute();
+ }
+ }
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.