| /******************************************************************************* |
| * Copyright (c) 2010, 2011 Sonatype, Inc. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Sonatype, Inc. - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.aether.ant.types; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import org.apache.tools.ant.Project; |
| import org.apache.tools.ant.types.DataType; |
| import org.apache.tools.ant.types.Reference; |
| import org.eclipse.aether.ant.AntRepoSys; |
| |
| /** |
| */ |
| public class Authentication |
| extends DataType |
| { |
| |
| private String username; |
| |
| private String password; |
| |
| private String privateKeyFile; |
| |
| private String passphrase; |
| |
| private List<String> servers = new ArrayList<String>(); |
| |
| @Override |
| public void setProject( Project project ) |
| { |
| super.setProject( project ); |
| |
| AntRepoSys.getInstance( project ).addAuthentication( this ); |
| } |
| |
| protected Authentication getRef() |
| { |
| return (Authentication) getCheckedRef(); |
| } |
| |
| public void setRefid( Reference ref ) |
| { |
| if ( username != null || password != null || privateKeyFile != null || passphrase != null ) |
| { |
| throw tooManyAttributes(); |
| } |
| super.setRefid( ref ); |
| } |
| |
| public String getUsername() |
| { |
| if ( isReference() ) |
| { |
| return getRef().getUsername(); |
| } |
| return username; |
| } |
| |
| public void setUsername( String username ) |
| { |
| checkAttributesAllowed(); |
| this.username = username; |
| } |
| |
| public String getPassword() |
| { |
| if ( isReference() ) |
| { |
| return getRef().getPassword(); |
| } |
| return password; |
| } |
| |
| public void setPassword( String password ) |
| { |
| checkAttributesAllowed(); |
| this.password = password; |
| } |
| |
| public String getPrivateKeyFile() |
| { |
| if ( isReference() ) |
| { |
| return getRef().getPrivateKeyFile(); |
| } |
| return privateKeyFile; |
| } |
| |
| public void setPrivateKeyFile( String privateKeyFile ) |
| { |
| checkAttributesAllowed(); |
| this.privateKeyFile = privateKeyFile; |
| } |
| |
| public String getPassphrase() |
| { |
| if ( isReference() ) |
| { |
| return getRef().getPassphrase(); |
| } |
| return passphrase; |
| } |
| |
| public void setPassphrase( String passphrase ) |
| { |
| checkAttributesAllowed(); |
| this.passphrase = passphrase; |
| } |
| |
| public List<String> getServers() |
| { |
| if ( isReference() ) |
| { |
| return getRef().getServers(); |
| } |
| return servers; |
| } |
| |
| public void setServers( String servers ) |
| { |
| checkAttributesAllowed(); |
| this.servers.clear(); |
| String[] split = servers.split( "[;:]" ); |
| for ( String server : split ) |
| { |
| server = server.trim(); |
| if ( server.length() > 0 ) |
| { |
| this.servers.add( server ); |
| } |
| } |
| } |
| |
| } |