package org.argeo.security.ui;
+import org.argeo.ArgeoException;
+import org.argeo.security.ArgeoUser;
+import org.argeo.security.UserNature;
+import org.argeo.security.nature.SimpleUserNature;
+import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
// The shared instance
private static SecurityUiPlugin plugin;
-
+
/**
* The constructor
*/
/*
* (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ *
+ * @see
+ * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
+ * )
*/
public void start(BundleContext context) throws Exception {
super.start(context);
/*
* (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ *
+ * @see
+ * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
+ * )
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
/**
* Returns the shared instance
- *
+ *
* @return the shared instance
*/
public static SecurityUiPlugin getDefault() {
return plugin;
}
+ public static ImageDescriptor getImageDescriptor(String path) {
+ return imageDescriptorFromPlugin(PLUGIN_ID, path);
+ }
+
+ /*
+ * SECURITY UTILITIES
+ */
+ public final static SimpleUserNature findSimpleUserNature(ArgeoUser user,
+ String simpleNatureType) {
+ SimpleUserNature simpleNature = null;
+ if (simpleNatureType != null)
+ simpleNature = (SimpleUserNature) user.getUserNatures().get(
+ simpleNatureType);
+ else
+ for (UserNature userNature : user.getUserNatures().values())
+ if (userNature instanceof SimpleUserNature)
+ simpleNature = (SimpleUserNature) userNature;
+
+ if (simpleNature == null)
+ throw new ArgeoException("No simple user nature in user " + user);
+ return simpleNature;
+ }
}