Changeset 1360
- Timestamp:
- 05/23/11 12:47:49 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ComponentRegistry/trunk/ComponentRegistry/src/main/java/clarin/cmdi/componentregistry/impl/database/ComponentRegistryFactoryDbImpl.java
r1357 r1360 32 32 @Autowired 33 33 private UserDao userDao; 34 private ComponentRegistry publicComponentRegistry = null; 34 35 35 36 @Override 36 37 public List<ComponentRegistry> getAllUserRegistries() { 37 38 // TODO: this probably could use some caching 38 39 39 try { 40 40 List<User> users = userDao.getAllUsers(); 41 41 List<ComponentRegistry> registries = new ArrayList<ComponentRegistry>(); 42 42 for (User user : users) { 43 ComponentRegistryDbImpl registry = componentRegistryBeanFactory.getNewComponentRegistry(); 44 registry.setUserId(user.getId()); 45 registries.add(registry); 43 registries.add(getNewComponentRegistryForUser(user.getId())); 46 44 } 47 45 return registries; … … 60 58 try { 61 59 User user = getOrCreateUser(principalName, credentials.getDisplayName()); 62 result = get ComponentRegistryForUser(user.getId());60 result = getNewComponentRegistryForUser(user.getId()); 63 61 } catch (DataAccessException ex) { 64 62 LOG.error("Could not retrieve or create user", ex); … … 81 79 if (user != null) { 82 80 if (configuration.isAdminUser(adminPrincipal)) { 83 result = get ComponentRegistryForUser(user.getId());81 result = getNewComponentRegistryForUser(user.getId()); 84 82 } else { 85 83 LOG.info(adminPrincipal.getName() + " not found in list of " + configuration.getAdminUsersArray().length); … … 96 94 @Override 97 95 public ComponentRegistry getPublicRegistry() { 98 return getComponentRegistryForUser(null); 96 if (publicComponentRegistry == null) { 97 publicComponentRegistry = getNewComponentRegistryForUser(null); 98 } 99 return publicComponentRegistry; 99 100 } 100 101 101 private ComponentRegistry get ComponentRegistryForUser(Number userId) {102 private ComponentRegistry getNewComponentRegistryForUser(Number userId) { 102 103 ComponentRegistryDbImpl componentRegistry = componentRegistryBeanFactory.getNewComponentRegistry(); 103 104 componentRegistry.setUserId(userId); … … 105 106 } 106 107 107 private User getOrCreateUser(String principalName, String displayName) {108 private synchronized User getOrCreateUser(String principalName, String displayName) { 108 109 // Try getting it from db 109 110 User user = userDao.getByPrincipalName(principalName);
Note: See TracChangeset
for help on using the changeset viewer.