Example usage for org.apache.commons.lang RandomStringUtils randomAlphanumeric

List of usage examples for org.apache.commons.lang RandomStringUtils randomAlphanumeric

Introduction

In this page you can find the example usage for org.apache.commons.lang RandomStringUtils randomAlphanumeric.

Prototype

public static String randomAlphanumeric(int count) 

Source Link

Document

Creates a random string whose length is the number of characters specified.

Characters will be chosen from the set of alpha-numeric characters.

Usage

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);
}