All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.servicerocket.confluence.randombits.metadata.impl.handler.UnknownUser Maven / Gradle / Ivy

There is a newer version: 2.5.12
Show newest version
package com.servicerocket.confluence.randombits.metadata.impl.handler;

import com.atlassian.confluence.user.HasBackingUser;
import com.atlassian.confluence.util.i18n.I18NBean;
import com.atlassian.confluence.util.i18n.I18NBeanFactory;
import com.atlassian.spring.container.ContainerManager;
import com.atlassian.user.User;

/**
 *  This class was created to replace `com.atlassian.confluence.user.UnknownUser`, because
 *  `com.atlassian.confluence.user.UnknownUser`'s constructor was changed from public in Confluence 6 to
 *  protected in Confluence 7.
 */
public class UnknownUser implements User {
    private final String userName;
    private final String fullName;

    public UnknownUser(String userName) {
        this(userName, (I18NBeanFactory) ContainerManager.getComponent("i18NBeanFactory"));
    }

    public UnknownUser(String userName, I18NBeanFactory i18NBeanFactory) {
        this(userName, lookupFullNameForUnknownUser(userName, i18NBeanFactory.getI18NBean()));
    }

    private static String lookupFullNameForUnknownUser(String userName, I18NBean i18NBean) {
        return i18NBean.getText("unknown.name", new Object[]{userName});
    }

    public static User unknownUser(String userName, I18NBean i18NBean) {
        return new UnknownUser(userName, lookupFullNameForUnknownUser(userName, i18NBean));
    }

    private UnknownUser(String userName, String fullName) {
        this.userName = userName;
        this.fullName = fullName;
    }

    public String getFullName() {
        return this.fullName;
    }

    public String getEmail() {
        return null;
    }

    @Deprecated
    public void setFullName(String string) {
    }

    @Deprecated
    public void setEmail(String string) {
    }

    @Deprecated
    public void setPassword(String string) {
    }

    public String getName() {
        return this.userName;
    }

    public static boolean isUnknownUser(User user) {
        return user instanceof UnknownUser || user instanceof HasBackingUser && ((HasBackingUser)user).getBackingUser() instanceof UnknownUser;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy