diff options
author | ddunne | 2010-01-14 20:59:00 +0000 |
---|---|---|
committer | ddunne | 2010-01-14 20:59:00 +0000 |
commit | 6b676548b2be3e28cd28567837af8ab44c77f121 (patch) | |
tree | 60a86f2b840c653547517f2af0852daffb54892c | |
parent | a9354e34fd2c33e44d9936eddeef2e9920425e2e (diff) | |
download | org.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.tar.gz org.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.tar.xz org.eclipse.osee-6b676548b2be3e28cd28567837af8ab44c77f121.zip |
User Management cleanup
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")) {
|