1 package com.atlassian.user.impl.osuser.properties;
2
3 import com.atlassian.user.Entity;
4 import com.atlassian.user.properties.PropertySetFactory;
5 import com.opensymphony.module.propertyset.PropertySet;
6 import com.opensymphony.user.provider.ProfileProvider;
7 import org.apache.log4j.Logger;
8
9 public class OSUPropertySetFactory implements PropertySetFactory
10 {
11 protected final Logger log = Logger.getLogger(this.getClass());
12
13 private final ProfileProvider profileProvider;
14
15 public OSUPropertySetFactory(ProfileProvider profileProvider)
16 {
17 this.profileProvider = profileProvider;
18 }
19
20
21
22
23
24
25 public PropertySet getPropertySet(Entity entity)
26 {
27 PropertySet ps = null;
28
29 String entityName = entity.getName();
30 if (profileProvider.handles(entityName))
31 {
32 ps = profileProvider.getPropertySet(entityName);
33 }
34 else
35 {
36
37 String lowercasedEntityName = entityName.toLowerCase();
38 log.info("No propertyset for user [" + entityName + "]. Trying lower case form - [" + lowercasedEntityName + "]");
39 if (profileProvider.handles(lowercasedEntityName))
40 ps = profileProvider.getPropertySet(lowercasedEntityName);
41 }
42
43 return ps;
44 }
45 }