com.servicerocket.confluence.randombits.metadata.impl.handler.UnknownUser Maven / Gradle / Ivy
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;
}
}