bug[TW19497]: Allow UserToken and createUsers to taken SENTINEL
Change-Id: Ib36eb8056dbb98da9c8124a81cd76a84d550d8a2
diff --git a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
index f65b5a4..b9f9e8d 100644
--- a/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
+++ b/plugins/org.eclipse.osee.framework.core/src/org/eclipse/osee/framework/core/data/UserToken.java
@@ -48,6 +48,15 @@
return new UserTokenImpl(id, name, userId, active, email, java.util.Collections.singleton(userId), roles);
}
+ public static UserToken create(String name, String email, String userId, boolean active, IUserGroupArtifactToken... roles) {
+ return new UserTokenImpl(ArtifactId.SENTINEL.getId(), name, userId, active, email,
+ java.util.Collections.singleton(userId), roles);
+ }
+
+ public static @NonNull UserToken create(ArtifactId id, String name, String email, String userId, boolean active, Collection<String> loginIds, IUserGroupArtifactToken... roles) {
+ return new UserTokenImpl(id.getId(), name, userId, active, email, loginIds, roles);
+ }
+
public static @NonNull UserToken create(long id, String name, String email, String userId, boolean active, Collection<String> loginIds, IUserGroupArtifactToken... roles) {
return new UserTokenImpl(id, name, userId, active, email, loginIds, roles);
}
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserServiceImpl.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserServiceImpl.java
index 16c9c92..63d8096 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserServiceImpl.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/access/UserServiceImpl.java
@@ -186,7 +186,12 @@
if (existingUsers.contains(userToken)) {
throw new OseeStateException("User %s already exists", userToken);
}
- ArtifactId user = tx.createArtifact(userToken);
+ ArtifactId user = null;
+ if (userToken.isValid()) {
+ user = tx.createArtifact(userToken);
+ } else {
+ user = tx.createArtifact(CoreArtifactTypes.User, userToken.getName());
+ }
tx.setSoleAttributeValue(user, CoreAttributeTypes.Active, userToken.isActive());
tx.setSoleAttributeValue(user, CoreAttributeTypes.UserId, userToken.getUserId());
tx.setSoleAttributeValue(user, CoreAttributeTypes.Email, userToken.getEmail());