Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorddunne2010-01-14 20:59:00 +0000
committerddunne2010-01-14 20:59:00 +0000
commit6b676548b2be3e28cd28567837af8ab44c77f121 (patch)
tree60a86f2b840c653547517f2af0852daffb54892c
parenta9354e34fd2c33e44d9936eddeef2e9920425e2e (diff)
downloadorg.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.tar.gz
org.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.tar.xz
org.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.zip
User Management cleanup
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java4
-rw-r--r--org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java2
-rw-r--r--org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/UserManager.java6
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailGroupsAndUserGroups.java66
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XMembersCombo.java8
-rw-r--r--org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/XWidgetFactory.java2
6 files changed, 62 insertions, 26 deletions
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
index 181284d3701..5b578c1f1ca 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/PurgeUser.java
@@ -172,8 +172,8 @@ public class PurgeUser extends AbstractBlam {
@Override
public String getXWidgetsXml() {
StringBuffer buffer = new StringBuffer("<xWidgets>");
- buffer.append("<XWidget xwidgetType=\"XMembersCombo\" displayName=\"" + FROM_USER + "\" />");
- buffer.append("<XWidget xwidgetType=\"XMembersCombo\" displayName=\"" + TO_USER + "\" />");
+ buffer.append("<XWidget xwidgetType=\"XMembersComboAll\" displayName=\"" + FROM_USER + "\" />");
+ buffer.append("<XWidget xwidgetType=\"XMembersComboAll\" displayName=\"" + TO_USER + "\" />");
buffer.append("</xWidgets>");
return buffer.toString();
}
diff --git a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
index b940052ab80..b4c63f9f907 100644
--- a/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
+++ b/org.eclipse.osee.ats/src/org/eclipse/osee/ats/operation/ReAssignATSObjectsToUser.java
@@ -106,7 +106,7 @@ public class ReAssignATSObjectsToUser extends AbstractBlam {
@Override
public String getXWidgetsXml() {
StringBuffer buffer = new StringBuffer("<xWidgets>");
- buffer.append("<XWidget xwidgetType=\"XMembersCombo\" displayName=\"" + FROM_ASSIGNEE + "\" />");
+ buffer.append("<XWidget xwidgetType=\"XMembersComboAll\" displayName=\"" + FROM_ASSIGNEE + "\" />");
buffer.append("<XWidget xwidgetType=\"XMembersCombo\" displayName=\"" + TO_ASSIGNEE + "\" />");
buffer.append("</xWidgets>");
return buffer.toString();
diff --git a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/UserManager.java b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/UserManager.java
index 9c249d1d7c4..92862fc239b 100644
--- a/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/UserManager.java
+++ b/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/UserManager.java
@@ -84,6 +84,12 @@ public final class UserManager {
return users;
}
+ public static List<User> getUsersAllSortedByName() throws OseeCoreException {
+ List<User> users = getUsers(Active.Both);
+ Collections.sort(users);
+ return users;
+ }
+
private static List<User> getFromCache() throws OseeCoreException {
return org.eclipse.osee.framework.jdk.core.util.Collections.castAll(ArtifactCache.getArtifactsByType(CoreArtifactTypes.User));
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailGroupsAndUserGroups.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailGroupsAndUserGroups.java
index ef755b39806..8d70c7cd101 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailGroupsAndUserGroups.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/util/email/EmailGroupsAndUserGroups.java
@@ -18,6 +18,8 @@ import java.util.Set;
import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
import org.eclipse.osee.framework.core.enums.PermissionEnum;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLevel;
+import org.eclipse.osee.framework.logging.OseeLog;
import org.eclipse.osee.framework.skynet.core.User;
import org.eclipse.osee.framework.skynet.core.UserManager;
import org.eclipse.osee.framework.skynet.core.access.AccessControlManager;
@@ -27,6 +29,8 @@ import org.eclipse.osee.framework.skynet.core.artifact.UniversalGroup;
import org.eclipse.osee.framework.skynet.core.artifact.search.ArtifactQuery;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.osee.framework.ui.skynet.FrameworkImage;
+import org.eclipse.osee.framework.ui.skynet.SkynetGuiPlugin;
+import org.eclipse.osee.framework.ui.skynet.results.ResultsEditor;
import org.eclipse.osee.framework.ui.skynet.widgets.dialog.UserGroupsCheckTreeDialog;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItem;
import org.eclipse.osee.framework.ui.skynet.widgets.xnavigate.XNavigateItemAction;
@@ -73,33 +77,51 @@ public class EmailGroupsAndUserGroups extends XNavigateItemAction {
}
@Override
- public void run(TableLoadOption... tableLoadOptions) throws Exception {
- Set<Artifact> groupOptions = getEmailGroupsAndUserGroups(UserManager.getUser(), groupType);
- UserGroupsCheckTreeDialog dialog = new UserGroupsCheckTreeDialog(groupOptions);
- dialog.setTitle("Select Groups to Email");
- if (dialog.open() == 0) {
+ public void run(TableLoadOption... tableLoadOptions) {
+ try {
+ Set<Artifact> groupOptions = getEmailGroupsAndUserGroups(UserManager.getUser(), groupType);
+ UserGroupsCheckTreeDialog dialog = new UserGroupsCheckTreeDialog(groupOptions);
+ dialog.setTitle("Select Groups to Email");
+ if (dialog.open() == 0) {
- Set<String> emails = new HashSet<String>();
- for (Artifact artifact : dialog.getSelection()) {
- if (artifact.isOfType("Universal Group")) {
- for (Artifact userArt : artifact.getRelatedArtifacts(CoreRelationTypes.Universal_Grouping__Members)) {
- if (userArt instanceof User) {
- emails.add(((User) userArt).getEmail());
+ Set<String> emails = new HashSet<String>();
+ for (Artifact artifact : dialog.getSelection()) {
+ if (artifact.isOfType("Universal Group")) {
+ for (Artifact userArt : artifact.getRelatedArtifacts(CoreRelationTypes.Universal_Grouping__Members)) {
+ if (userArt instanceof User) {
+ if (!EmailUtil.isEmailValid((User) userArt)) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE, String.format(
+ "Invalid email [%s] for user [%s]; skipping", ((User) userArt).getEmail(), userArt));
+ } else {
+ emails.add(((User) userArt).getEmail());
+ }
+ }
+ }
+ } else if (artifact.isOfType("User Group")) {
+ for (User user : artifact.getRelatedArtifacts(CoreRelationTypes.Users_User, User.class)) {
+ if (!EmailUtil.isEmailValid(user)) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE, String.format(
+ "Invalid email [%s] for user [%s]; skipping", user.getEmail(), user));
+ } else {
+ emails.add(user.getEmail());
+ }
}
- }
- } else if (artifact.isOfType("User Group")) {
- for (User user : artifact.getRelatedArtifacts(CoreRelationTypes.Users_User, User.class)) {
- emails.add(user.getEmail());
}
}
+ if (emails.size() == 0) {
+ AWorkbench.popup("Error", "No emails configured.");
+ return;
+ }
+ String emailStr = org.eclipse.osee.framework.jdk.core.util.Collections.toString(";", emails);
+ if (emailStr.length() > 2048) {
+ AWorkbench.popup("Email list too big for auto-open. Emails opened in editor for copy/paste.");
+ ResultsEditor.open("Email Addresses", "Email Addresses", emailStr);
+ } else
+ Program.launch("mailto:" + emailStr);
+ AWorkbench.popup("Complete", "Configured emails openened in local email client.");
}
- if (emails.size() == 0) {
- AWorkbench.popup("Error", "No emails configured.");
- return;
- }
- Program.launch("mailto:" + org.eclipse.osee.framework.jdk.core.util.Collections.toString(";", emails));
- AWorkbench.popup("Complete", "Configured emails openened in local email client.");
+ } catch (OseeCoreException ex) {
+ OseeLog.log(SkynetGuiPlugin.class, OseeLevel.SEVERE_POPUP, ex);
}
}
-
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XMembersCombo.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XMembersCombo.java
index a782634f8e0..6bf449587dc 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XMembersCombo.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/XMembersCombo.java
@@ -44,11 +44,17 @@ public class XMembersCombo extends XWidget {
private Composite composite;
private User selectedUser;
private Search searchControl;
+ private boolean allUsers = false;
public XMembersCombo(String displayLabel) {
this(displayLabel, "", "");
}
+ public XMembersCombo(String displayLabel, boolean allUsers) {
+ this(displayLabel, "", "");
+ this.allUsers = allUsers;
+ }
+
public XMembersCombo(String displayLabel, String xmlRoot, String xmlSubRoot) {
super(displayLabel, xmlRoot, xmlSubRoot);
}
@@ -111,7 +117,7 @@ public class XMembersCombo extends XWidget {
dataCombo.add(DEFAULT_SELECTION);
dataCombo.setData(DEFAULT_SELECTION, null);
try {
- for (User user : UserManager.getUsersSortedByName()) {
+ for (User user : allUsers ? UserManager.getUsersAllSortedByName() : UserManager.getUsersSortedByName()) {
dataCombo.add(user.getName());
dataCombo.setData(user.getName(), user);
}
diff --git a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/XWidgetFactory.java b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/XWidgetFactory.java
index c0136960fba..f1e65639bf2 100644
--- a/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/XWidgetFactory.java
+++ b/org.eclipse.osee.framework.ui.skynet/src/org/eclipse/osee/framework/ui/skynet/widgets/workflow/XWidgetFactory.java
@@ -128,6 +128,8 @@ public class XWidgetFactory {
}
} else if (xWidgetName.equals("XMembersCombo")) {
xWidget = new XMembersCombo(name);
+ } else if (xWidgetName.equals("XMembersComboAll")) {
+ xWidget = new XMembersCombo(name, true);
} else if (xWidgetName.equals("XDate")) {
xWidget = new XDate(name);
} else if (xWidgetName.equals("XFileSelectionDialog")) {

Back to the top