View Javadoc

1   /*
2    * GroupAccountMapper.java
3    *
4    * Created on May 25, 2004, 2:10 PM
5    */
6   
7   package gov.bnl.gums.account;
8   
9   import gov.bnl.gums.configuration.Configuration;
10  
11  import org.apache.commons.logging.Log;
12  import org.apache.commons.logging.LogFactory;
13  
14  /** 
15   * An account mapping policy that maps all user to the same account.
16   * <p>
17   * To configure the policy one needs only to set the groupName property
18   * as the desired group account.
19   *
20   * @author Gabriele Carcassi, Jay Packard
21   */
22  public class GroupAccountMapper extends AccountMapper {
23      static public String getTypeStatic() {
24  		return "group";
25  	}
26      
27      private Log log = LogFactory.getLog(GroupAccountMapper.class);
28  	private String accountName = "";
29      
30      public GroupAccountMapper() {
31      	super();
32      }
33  
34      public GroupAccountMapper(Configuration configuration) {
35      	super(configuration);
36      }
37      
38      public GroupAccountMapper(Configuration configuration, String name) {
39      	super(configuration, name);
40      }
41  
42      public AccountMapper clone(Configuration configuration) {
43      	GroupAccountMapper accountMapper = new GroupAccountMapper(configuration, new String(getName()));
44      	accountMapper.setDescription(new String(getDescription()));
45      	accountMapper.setAccountName(new String(accountName));
46      	return accountMapper;
47      }
48  	
49  	public String getAccountName() {
50  		return accountName;
51  	}    
52  	
53      public String getType() {
54  		return "group";
55  	}
56      
57      public String mapUser(String userDN, boolean createIfDoesNotExist) {
58          
59          if (log.isDebugEnabled()) {
60              log.debug("User " + userDN + " mapped to account " + accountName);
61          }
62          
63          return accountName;
64      }
65  
66      public void setAccountName(String accountName) {
67      	log.debug("GroupName changed from  " + this.accountName + " to " + accountName);
68  		this.accountName = accountName;
69  	}
70      
71      public String toString(String bgColor) {
72      	return "<td bgcolor=\""+bgColor+"\"><a href=\"accountMappers.jsp?command=edit&name=" + getName() + "\">" + getName() + "</a></td><td bgcolor=\""+bgColor+"\">" + getType() + "</td><td bgcolor=\""+bgColor+"\">" + accountName + "</td>";
73      }      
74      
75      public String toXML() {
76      	return "\t\t<groupAccountMapper\n"+
77  			"\t\t\tname='"+getName()+"'\n"+
78  			"\t\t\tdescription='"+getDescription()+"'\n"+
79  			"\t\t\taccountName='"+accountName+"'/>\n\n";
80      }
81  }