List of usage examples for org.apache.commons.lang RandomStringUtils randomAlphanumeric
public static String randomAlphanumeric(int count)
Creates a random string whose length is the number of characters specified.
Characters will be chosen from the set of alpha-numeric characters.
From source file:net.sourceforge.subsonic.service.SecurityService.java
/** * check/creates a default/guest user.//from www .java 2 s . c o m */ public void checkAccounts() { User defaultUser = userDao.getUserByName(User.USERNAME_DEFAULT); User guestUser = userDao.getUserByName(User.USERNAME_GUEST); // check default User if (defaultUser == null) { userDao.createUser(new User(User.USERNAME_DEFAULT, RandomStringUtils.randomAlphanumeric(30), null, false, 0, 0, 0, 0, true)); defaultUser = userDao.getUserByName(User.USERNAME_DEFAULT); defaultUser.setLdapAuthenticated(false); defaultUser.setStreamRole(false); userDao.updateUser(defaultUser); userDao.updateUserSettings(settingsService.getUserSettings(User.USERNAME_DEFAULT)); LOG.debug("## Created user " + User.USERNAME_DEFAULT); } else { UserSettings userSettings = userDao.getUserSettings(User.USERNAME_DEFAULT); defaultUser.setLdapAuthenticated(false); defaultUser.setStreamRole(false); defaultUser.setLocked(true); userDao.updateUser(defaultUser); userDao.updateUserSettings(userSettings); LOG.debug("## Updated user " + User.USERNAME_DEFAULT); } // check gueset User if (guestUser == null) { userDao.createUser(new User(User.USERNAME_GUEST, RandomStringUtils.randomAlphanumeric(30), null, false, 0, 0, 0, 1, false)); guestUser = userDao.getUserByName(User.USERNAME_GUEST); guestUser.setLdapAuthenticated(false); guestUser.setStreamRole(true); userDao.updateUser(guestUser); userDao.updateUserSettings(settingsService.getUserSettings(User.USERNAME_GUEST)); LOG.debug("## Created user " + User.USERNAME_GUEST); } else { UserSettings userSettings = userDao.getUserSettings(User.USERNAME_GUEST); guestUser.setLdapAuthenticated(false); guestUser.setStreamRole(true); userDao.updateUserSettings(userSettings); LOG.debug("## Updated user " + User.USERNAME_GUEST); } }
From source file:net.sourceforge.subsonic.service.SonosService.java
@Override public LastUpdate getLastUpdate() { LastUpdate result = new LastUpdate(); // Effectively disabling caching result.setCatalog(RandomStringUtils.randomAlphanumeric(8)); result.setFavorites(RandomStringUtils.randomAlphanumeric(8)); return result; }
From source file:nl.b3p.viewer.features.ShapeDownloader.java
@Override public void init() throws IOException { try {//from www. ja va 2 s .co m String uniqueName = RandomStringUtils.randomAlphanumeric(8); dir = new File(System.getProperty("java.io.tmpdir"), uniqueName); dir.mkdir(); File shape = File.createTempFile("shp", ".shp", dir); // create a new shapefile data store DataStore newShapefileDataStore = new ShapefileDataStore(shape.toURI().toURL()); // create the schema based on the original shapefile org.opengis.feature.simple.SimpleFeatureType sft = createNewFeatureType(fs, attributes, featureTypeAttributes); newShapefileDataStore.createSchema(sft); // grab the feature source from the new shapefile data store FeatureSource newFeatureSource = newShapefileDataStore.getFeatureSource(sft.getName()); // downcast FeatureSource to specific implementation of FeatureStore newFeatureStore = (FeatureStore) newFeatureSource; // accquire a transaction to create the shapefile from FeatureStore t = newFeatureStore.getTransaction(); featureList = new ArrayList<SimpleFeature>(); featureBuilder = new SimpleFeatureBuilder(sft); } catch (IOException ex) { log.error("Cannot initialize new download", ex); throw ex; } }
From source file:nl.strohalm.cyclos.services.elements.ElementServiceImpl.java
private RegisteredMember register(Member member, final WhenSaving when, final boolean forceChangePassword, final String remoteAddress) { final MemberGroup group = (MemberGroup) fetchService.fetch(member.getGroup()); member.setGroup(group);//w w w . j a va2s . c o m RegisteredMember result; // Check the mail validation final MemberGroupSettings settings = group.getMemberSettings(); nl.strohalm.cyclos.entities.groups.MemberGroupSettings.EmailValidation emailValidation = getEmailValidation( when, member); final boolean validateEmail = settings.getEmailValidation() != null && settings.getEmailValidation().contains(emailValidation); if (validateEmail) { // It's enabled: Save a pending member final PendingMember pendingMember = new PendingMember(); PropertyHelper.copyProperties(member, pendingMember); pendingMember.setCreationDate(Calendar.getInstance()); pendingMember.setSalt(hashHandler.newSalt()); pendingMember.setForceChangePassword(forceChangePassword); final User user = member.getUser(); if (user != null) { pendingMember.setPassword(hashHandler.hash(pendingMember.getSalt(), user.getPassword())); } if (user instanceof MemberUser) { final MemberUser memberUser = (MemberUser) user; pendingMember.setPin(hashHandler.hash(pendingMember.getSalt(), memberUser.getPin())); } pendingMember.setValidationKey(RandomStringUtils.randomAlphanumeric(64)); if (when == WhenSaving.PUBLIC) { // On public registrations, the license agreement has been accepted final RegistrationAgreement registrationAgreement = group.getRegistrationAgreement(); if (registrationAgreement != null) { pendingMember.setRegistrationAgreement(registrationAgreement); pendingMember.setRegistrationAgreementDate(Calendar.getInstance()); } } validate(pendingMember); result = pendingMemberDao.insert(pendingMember); memberCustomFieldService.saveValues(result); resendEmail((PendingMember) result); } else { // Not enabled: save the member directly final ActivationMail activationMail = when == WhenSaving.WEB_SERVICE ? ActivationMail.THREADED : ActivationMail.ONLINE; result = member = save(member, activationMail, when, forceChangePassword); if (when == WhenSaving.PUBLIC) { // On the public registration, when there's an agreement, store it member = fetchService.fetch(member, RelationshipHelper.nested(Element.Relationships.GROUP, MemberGroup.Relationships.REGISTRATION_AGREEMENT)); final RegistrationAgreement registrationAgreement = member.getMemberGroup() .getRegistrationAgreement(); if (registrationAgreement != null) { createAgreementLog(remoteAddress, member, registrationAgreement); } } // Notify the admins adminNotificationHandler.notifyNewPublicRegistration(member); } return result; }
From source file:nl.strohalm.cyclos.services.elements.ElementServiceImpl.java
/** * Saves the given element// w w w .j a va 2 s . com */ @SuppressWarnings("unchecked") private <E extends Element> E save(E element, final ActivationMail activationMail, final WhenSaving when, final boolean forceChangePassword) { validate(element, when, false); // Store the custom values on a saparate collection final Collection<?> values = (Collection<?>) PropertyHelper.get(element, "customValues"); PropertyHelper.set(element, "customValues", null); final boolean isInsert = element.isTransient(); if (isInsert) { // Check if we must generate a username for member final AccessSettings accessSettings = settingsService.getAccessSettings(); final UsernameGeneration usernameGeneration = accessSettings.getUsernameGeneration(); if (element instanceof Member && usernameGeneration != UsernameGeneration.NONE) { User user = element.getUser(); // Assign a new user if none found if (user == null) { user = new MemberUser(); element.setUser(user); } // Generate the username String generated = generateUsername(accessSettings.getGeneratedUsernameLength()); while (!uniqueObjectHandler.tryAcquire(Pair.<Object, Object>of(generated, generated))) { generated = generateUsername(accessSettings.getGeneratedUsernameLength()); } user.setUsername(generated); } else { // Check if the username already in use final String username = element.getUsername(); if (!uniqueObjectHandler.tryAcquire(Pair.<Object, Object>of(username, username))) { throw new UsernameAlreadyInUseException(username); } try { if (element instanceof Operator) { loadOperatorUser((Member) LoggedUser.element(), username); } else { loadUser(username); } throw new UsernameAlreadyInUseException(username); } catch (final EntityNotFoundException e) { // Ok - not exists yet } } final String email = StringUtils.trimToNull(element.getEmail()); if (settingsService.getLocalSettings().isEmailUnique() && StringUtils.isNotEmpty(email)) { if (!uniqueObjectHandler.tryAcquire(Pair.<Object, Object>of(email, email))) { throw new ValidationException(new UniqueError(email)); } } final User user = element.getUser(); // Create a salt value if (user.getSalt() == null) { user.setSalt(hashHandler.newSalt()); } // If a password exists, ensure it's hashed if (StringUtils.isNotEmpty(user.getPassword())) { // When the registration is not pre-hashed, hash the password if (!when.isPreHashed()) { user.setPassword(hashHandler.hash(user.getSalt(), user.getPassword())); } // When not forcing to change (passwordDate == null), set a password date if (!forceChangePassword) { user.setPasswordDate(Calendar.getInstance()); } } // If a pin exists, ensure it's hashed if (user instanceof MemberUser) { final MemberUser memberUser = (MemberUser) user; if (StringUtils.isNotEmpty(memberUser.getPin()) && !when.isPreHashed()) { memberUser.setPin(hashHandler.hash(user.getSalt(), memberUser.getPin())); } } // Insert Calendar creationDate = element.getCreationDate(); if (creationDate == null) { creationDate = Calendar.getInstance(); element.setCreationDate(creationDate); } element = elementDao.insert(element); if (element instanceof Member) { final Member member = (Member) element; // Handle the member accounts handleAccounts(member); // When the member has been activated, send the activation e-mail if (member.isActive()) { sendActivationMailIfNeeded(activationMail, member); } // Fetch member group final MemberGroup group = fetchService.fetch(member.getMemberGroup(), MemberGroup.Relationships.CHANNELS, MemberGroup.Relationships.DEFAULT_MAIL_MESSAGES, MemberGroup.Relationships.SMS_MESSAGES, MemberGroup.Relationships.DEFAULT_SMS_MESSAGES); // Copy default channels access from to member final Collection<Channel> memberChannels = new ArrayList<Channel>(group.getDefaultChannels()); member.setChannels(memberChannels); element = (E) elementDao.update(member, false); // Insert the default notification preferences final List<NotificationPreference> preferences = new ArrayList<NotificationPreference>(); final Collection<Type> defaultMailMessages = group.getDefaultMailMessages(); final Collection<Type> smsMessages = group.getSmsMessages(); final Collection<Type> defaultSmsMessages = group.getDefaultSmsMessages(); for (final Type type : Type.values()) { final NotificationPreference preference = new NotificationPreference(); preference.setEmail(defaultMailMessages.contains(type)); preference.setMessage(true); if (smsMessages.contains(type) && defaultSmsMessages.contains(type)) { preference.setSms(true); } preference.setMember(member); preference.setType(type); preferences.add(preference); } preferenceService.save(member, preferences); // Create the brokering when there is a broker set final Member broker = member.getBroker(); if (broker != null) { brokeringService.create(broker, member); } } // Create initial group history log createGroupHistoryLog(element, element.getGroup(), creationDate); } else { // Some properties cannot be saved using this method. Load the db state final Element saved = elementDao.load(element.getId()); element.setCreationDate(saved.getCreationDate()); element.setGroup(saved.getGroup()); final User user = saved.getUser(); if (element instanceof Member) { /* * At this point if there is not a valid user, the update was invoked through an unrestricted web service client. */ final boolean isWebServiceInvocation = !LoggedUser.hasUser(); final Member member = (Member) element; // Check if the name has changed final String savedName = saved.getName(); final String givenName = element.getName(); if (!savedName.equals(givenName)) { final boolean canChangeName = isWebServiceInvocation || permissionService.permission(member).admin(AdminMemberPermission.MEMBERS_CHANGE_NAME) .broker(BrokerPermission.MEMBERS_CHANGE_NAME) .member(MemberPermission.PROFILE_CHANGE_NAME).hasPermission(); if (!canChangeName) { // No permissions. Ensure the name is not changed member.setName(savedName); } } // Check if the email has changed final String savedEmail = StringUtils.trimToNull(saved.getEmail()); final String givenEmail = StringUtils.trimToNull(element.getEmail()); if (!ObjectUtils.equals(savedEmail, givenEmail)) { final boolean canChangeEmail = isWebServiceInvocation || permissionService.permission(member) .admin(AdminMemberPermission.MEMBERS_CHANGE_EMAIL) .broker(BrokerPermission.MEMBERS_CHANGE_EMAIL) .member(MemberPermission.PROFILE_CHANGE_EMAIL).hasPermission(); if (!canChangeEmail) { // No permissions. Ensure the email is not changed member.setEmail(savedEmail); } else { pendingEmailChangeDao.removeAll(member); // Check if there is e-mail validation for changing e-mail if (givenEmail != null) { nl.strohalm.cyclos.entities.groups.MemberGroupSettings.EmailValidation emailValidation = getEmailValidation( when, element); if (member.getMemberGroup().getMemberSettings().getEmailValidation() .contains(emailValidation)) { // E-mail validation is enabled. Keep the same saved e-mail and create a pending e-mail change member.setEmail(savedEmail); PendingEmailChange pec = new PendingEmailChange(); pec.setBy(LoggedUser.element()); pec.setCreationDate(Calendar.getInstance()); pec.setMember(member); pec.setNewEmail(givenEmail); pec.setRemoteAddress(LoggedUser.remoteAddress()); pec.setValidationKey(RandomStringUtils.randomAlphanumeric(64)); pec = pendingEmailChangeDao.insert(pec); resendEmail(pec); } } } } // Check if the username has changed final String savedUsername = saved.getUsername(); final String givenUsername = element.getUsername(); boolean canChangeUsername; if (settingsService.getAccessSettings().getUsernameGeneration() == UsernameGeneration.NONE) { canChangeUsername = isWebServiceInvocation || permissionService.permission(member) .admin(AdminMemberPermission.MEMBERS_CHANGE_USERNAME) .broker(BrokerPermission.MEMBERS_CHANGE_USERNAME) .member(MemberPermission.PROFILE_CHANGE_USERNAME).hasPermission(); } else { // Even with permissions, when username is generated it cannot be changed canChangeUsername = false; } if (!savedUsername.equals(givenUsername) && canChangeUsername) { // Log the change final UsernameChangeLog log = new UsernameChangeLog(); log.setDate(Calendar.getInstance()); log.setBy(LoggedUser.element()); log.setUser(user); log.setPreviousUsername(savedUsername); log.setNewUsername(givenUsername); usernameChangeLogDao.insert(log); // Save the username user.setUsername(givenUsername); // Set the owner name on each account final List<? extends Account> accounts = accountService.getAccounts(member); for (final Account account : accounts) { account.setOwnerName(givenUsername); } } } else if (element instanceof Operator) { if (LoggedUser.isMember()) { // Save the username: a member always can change the operator's username user.setUsername(element.getUsername()); } } element.setUser(user); if (element instanceof Member) { final Member member = (Member) element; final Member savedMember = (Member) saved; member.setActivationDate(savedMember.getActivationDate()); member.setBroker(savedMember.getBroker()); member.setChannels(accessService.getChannelsEnabledForMember(savedMember)); } else if (element instanceof Operator) { final Operator operator = (Operator) element; final Operator savedOperator = (Operator) saved; operator.setMember(savedOperator.getMember()); if (!LoggedUser.isMember()) { // preserve the saved name: only the member can change the operator's name operator.setName(savedOperator.getName()); } } // Update element = elementDao.update(element); } // Save the custom fields PropertyHelper.set(element, "customValues", values); if (element instanceof Member) { memberCustomFieldService.saveValues((Member) element); } else if (element instanceof Administrator) { adminCustomFieldService.saveValues((Administrator) element); } else if (element instanceof Operator) { operatorCustomFieldService.saveValues((Operator) element); } // Reindex the element elementDao.addToIndex(element); return element; }
From source file:nl.strohalm.cyclos.utils.HashHandler.java
/** * Returns a new salt, but only if the password hash is SHA2 / SALT. Otherwise, returns null *//*from www . j a va 2 s . co m*/ public String newSalt() { if (getPasswordHash() != PasswordHash.SHA2_SALT) { return null; } return RandomStringUtils.randomAlphanumeric(32); }
From source file:nl.surfnet.coin.teams.util.InvitationGenerator.java
/** * Generates (unique) ramdom string for invitations * * @return random {@link String}/* w w w.ja v a 2 s . c o m*/ */ public static String generateHash() { return RandomStringUtils.randomAlphanumeric(INVITATION_HASH_LENGTH); }
From source file:nl.surfnet.coin.teams.util.TokenUtil.java
public static String generateSessionToken() { return RandomStringUtils.randomAlphanumeric(TOKEN_LENGTH); }
From source file:org.alfresco.os.win.app.MoveContentSyncTest.java
/** * Data setup for move folder out of MoveFolderOutOfSubInShare *//*w w w . j a v a 2 s .c o m*/ public void setupMoveFolderOutOfSubInShare() { siteNameToMoveShare = "movesite" + RandomStringUtils.randomAlphanumeric(5); folderNameShare = getRandomFolderIn(getLocalSiteLocation(), "sharemovefolder"); fileNameShare = getRandomFile("sharemovefile", "txt"); ContentDetails content = new ContentDetails(); content.setName(fileNameShare.getName()); content.setDescription(fileNameShare.getName()); content.setTitle(fileNameShare.getName()); content.setContent("share created file"); try { shareLogin.loginToShare(drone, userInfo, shareUrl); share.createSite(drone, siteNameToMoveShare, "movesite", "public"); share.openSitesDocumentLibrary(drone, siteName); share.navigateToFolder(drone, getLocalSiteLocation().getName()); share.createFolder(drone, folderNameShare.getName(), folderNameShare.getName(), folderNameShare.getName()); share.navigateToFolder(drone, folderNameShare.getName()); share.createContent(drone, content, ContentType.PLAINTEXT); shareLogin.logout(drone); } catch (Throwable e) { logger.error(e); throw new TestException("Share data setup in share failed ", e); } }
From source file:org.alfresco.repo.domain.propval.PropertyTypeConverterTest.java
@Test public void testGetPersistentType() { DefaultPropertyTypeConverter defaultPropertyTypeConverter = new DefaultPropertyTypeConverter(); // Check string. PropertyValueEntity.PersistedType persistedType = PropertyValueEntity.getPersistedTypeEnum("test", defaultPropertyTypeConverter); assertEquals(PropertyValueEntity.PersistedType.STRING, persistedType); // String value with length grater then the DB supported threshold. String stringValue = RandomStringUtils.randomAlphanumeric(SchemaBootstrap.DEFAULT_MAX_STRING_LENGTH + 1); // Check long string that was truncated (see MNT-17523 for details). persistedType = PropertyValueEntity.getPersistedTypeEnum(stringValue, defaultPropertyTypeConverter); assertEquals(PropertyValueEntity.PersistedType.SERIALIZABLE, persistedType); }