<launcherArgs>
<programArgs>-console -clean</programArgs>
- <vmArgs>-Dlog4j.configuration="file:${system_property:user.home}/dev/src/commons/security/demo/log4j.properties"</vmArgs>
+ <vmArgs>-Dlog4j.configuration="file:${system_property:user.home}/dev/src/commons/demo/log4j.properties"</vmArgs>
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
</launcherArgs>
<plugin id="org.argeo.eclipse.ui"/>
<plugin id="org.argeo.eclipse.ui.jcr"/>
<plugin id="org.argeo.eclipse.ui.rcp"/>
- <plugin id="org.argeo.infra.core"/>
+ <plugin id="org.argeo.infra.core" fragment=""/>
<plugin id="org.argeo.infra.security.services" fragment="true"/>
<plugin id="org.argeo.jcr.ui.explorer"/>
<plugin id="org.argeo.node.repo.jackrabbit"/>
<plugin id="org.argeo.node.repo.jackrabbit" autoStart="true" startLevel="0" />
<plugin id="org.argeo.security.manager.ldap" autoStart="true" startLevel="0" />
<plugin id="org.argeo.security.services" autoStart="true" startLevel="0" />
- <plugin id="org.argeo.server.ads.server" autoStart="true" startLevel="0" />
+ <plugin id="org.argeo.server.ads.server" autoStart="false" startLevel="0" />
<plugin id="org.springframework.osgi.extender" autoStart="true" startLevel="0" />
</configurations>
org.argeo.security.ui.initialPerspective=org.argeo.jcr.ui.explorer.perspective
+argeo.node.repo.home=~/.argeo/server_noderepo
+argeo.node.repo.dburl=jdbc:h2:file:~/.argeo/h2/server_noderepo_db
+
log4j.configuration=file:../../log4j.properties
--- /dev/null
+bin.includes = META-INF/
\r
<reference id="securityDao" interface="org.argeo.security.ArgeoSecurityDao" />\r
\r
- <!-- <reference id="authenticationProvider" -->\r
- <!-- interface="org.springframework.security.providers.AuthenticationProvider" \r
- /> -->\r
<list id="authenticationProviders"\r
interface="org.springframework.security.providers.AuthenticationProvider"\r
cardinality="0..N">\r
</list>\r
\r
<!-- SERVICES -->\r
- <service ref="securityService" interface="org.argeo.security.ArgeoSecurityService" />\r
+<!-- <service ref="securityService" interface="org.argeo.security.ArgeoSecurityService" /> -->\r
<service ref="securityService" interface="org.argeo.security.CurrentUserService" />\r
<service ref="securityService" interface="org.argeo.security.UserAdminService" />\r
<service ref="systemExecutionService" interface="org.argeo.security.SystemExecutionService" />\r
--- /dev/null
+bin.includes = META-INF/
scope="prototype" />
<bean id="addRole" class="org.argeo.security.ui.admin.commands.AddRole"
scope="prototype">
- <property name="securityService" ref="securityService" />
+ <property name="userAdminService" ref="userAdminService" />
</bean>
<bean id="refreshUsersList" class="org.argeo.security.ui.admin.commands.RefreshUsersList"
scope="prototype" />
<!-- Editors -->
<bean id="adminArgeoUserEditor" class="org.argeo.security.ui.admin.editors.ArgeoUserEditor"
scope="prototype">
- <property name="securityService" ref="securityService" />
+ <property name="userAdminService" ref="userAdminService" />
</bean>
</beans>
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"\r
osgi:default-timeout="30000">\r
\r
- <reference id="securityService" interface="org.argeo.security.ArgeoSecurityService" />\r
+ <reference id="userAdminService" interface="org.argeo.security.UserAdminService" />\r
</beans:beans>
\ No newline at end of file
<bean id="adminUsersView" class="org.argeo.security.ui.admin.views.UsersView"
scope="prototype">
- <property name="securityService" ref="securityService" />
+ <property name="userAdminService" ref="userAdminService" />
</bean>
<bean id="adminRolesView" class="org.argeo.security.ui.admin.views.RolesView"
scope="prototype">
- <property name="securityService" ref="securityService" />
+ <property name="userAdminService" ref="userAdminService" />
</bean>
</beans>
--- /dev/null
+bin.includes = plugin.xml,\
+ META-INF/
+source.. = src/main/java/
+output.. = target/classes/
<extension
point="org.eclipse.ui.perspectives">
<perspective
- class="org.argeo.security.ui.admin.SecurityPerspective"
+ class="org.argeo.security.ui.admin.SecurityAdminPerspective"
icon="icons/security.gif"
id="org.argeo.security.ui.admin.adminSecurityPerspective"
name="Security">
<artifactId>maven-bundle-plugin</artifactId>
<version>${version.maven-bundle-plugin}</version>
<configuration>
- <!-- <instructions> -->
- <!-- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy> -->
- <!-- <Bundle-Activator>org.argeo.security.ui.SecurityUiPlugin</Bundle-Activator> -->
- <!-- <Require-Bundle>org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime</Require-Bundle> -->
- <!-- <Import-Package> -->
- <!-- org.argeo.eclipse.spring, -->
- <!-- org.osgi.framework;version="0.0.0", -->
- <!-- !org.eclipse.core.runtime, -->
- <!-- !org.eclipse.core.commands, -->
- <!-- !org.eclipse.ui.plugin, -->
- <!-- !org.eclipse.ui, -->
- <!-- !org.eclipse.ui.commands, -->
- <!-- !org.eclipse.ui.handlers, -->
- <!-- !org.eclipse.ui.part, -->
- <!-- * -->
- <!-- </Import-Package> -->
- <!-- <Private-Package>icons</Private-Package> -->
- <!-- <Export-Package>org.argeo.security.ui.*</Export-Package> -->
- <!-- </instructions> -->
<instructions>
<Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
- <Bundle-Activator>org.argeo.security.ui.SecurityUiPlugin</Bundle-Activator>
- <Require-Bundle>org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime</Require-Bundle>
+ <Bundle-Activator>org.argeo.security.ui.admin.SecurityAdminPlugin
+ </Bundle-Activator>
+ <Require-Bundle>org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime
+ </Require-Bundle>
<Import-Package>
org.argeo.eclipse.spring,
*
</Import-Package>
- <Export-Package>
- !org.argeo.security.ui.internal.*,
- org.argeo.security.ui.*
- </Export-Package>
+ <Export-Package>org.argeo.security.ui.admin.*</Export-Package>
</instructions>
</configuration>
</plugin>
<version>0.2.3-SNAPSHOT</version>
</dependency>
- <!-- Argeo Eclipse distribution (common dependencies for both RAP and RCP) -->
- <dependency>
- <groupId>org.argeo.commons.eclipse</groupId>
- <artifactId>org.argeo.eclipse.dep.common</artifactId>
- <version>0.2.3-SNAPSHOT</version>
- </dependency>
-
<!-- RCP only dependency, needed at compile time -->
<dependency>
<groupId>org.argeo.commons.eclipse</groupId>
<!-- Others -->
<dependency>
<groupId>org.slf4j</groupId>
- <artifactId>com.springsource.slf4j.org.apache.commons.logging</artifactId>
+ <artifactId>com.springsource.slf4j.org.apache.commons.logging
+ </artifactId>
</dependency>
</dependencies>
</project>
package org.argeo.security.ui.admin;
+import org.argeo.security.ui.admin.views.RolesView;
+import org.argeo.security.ui.admin.views.UsersView;
import org.eclipse.ui.IFolderLayout;
import org.eclipse.ui.IPageLayout;
import org.eclipse.ui.IPerspectiveFactory;
IFolderLayout left = layout.createFolder("left", IPageLayout.LEFT,
0.4f, editorArea);
- left.addView("org.argeo.security.ui.admin.adminUsersView");
- left.addView("org.argeo.security.ui.admin.adminRolesView");
+ left.addView(UsersView.ID);
+ left.addView(RolesView.ID);
}
}
import org.osgi.framework.BundleContext;
public class SecurityAdminPlugin extends AbstractUIPlugin {
-
- // The plug-in ID
public static final String PLUGIN_ID = "org.argeo.security.ui.admin"; //$NON-NLS-1$
-
- // The shared instance
private static SecurityAdminPlugin plugin;
- /**
- * The constructor
- */
public SecurityAdminPlugin() {
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
- * )
- */
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
- * )
- */
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
public static SecurityAdminPlugin getDefault() {
return plugin;
}
package org.argeo.security.ui.admin.commands;
import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
+import org.argeo.security.UserAdminService;
import org.argeo.security.ui.admin.views.RolesView;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
/** Add a new role. */
public class AddRole extends AbstractHandler {
- public final static String COMMAND_ID = "org.argeo.security.ui.addRole";
- private ArgeoSecurityService securityService;
+ public final static String COMMAND_ID = "org.argeo.security.ui.admin.addRole";
+ private UserAdminService userAdminService;
private String rolePrefix = "ROLE_";
public Object execute(ExecutionEvent event) throws ExecutionException {
role = role.trim().toUpperCase();
if (!role.startsWith(rolePrefix))
role = rolePrefix + role;
- if (securityService.listEditableRoles().contains(role))
+ if (userAdminService.listEditableRoles().contains(role))
throw new ArgeoException("Role " + role + " already exists");
- securityService.newRole(role);
+ userAdminService.newRole(role);
rolesView.refresh();
return null;
}
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
+ public void setUserAdminService(UserAdminService userAdminService) {
+ this.userAdminService = userAdminService;
}
}
/** Command handler to set visible or open a Argeo user. */
public class OpenArgeoUserEditor extends AbstractHandler {
- public final static String COMMAND_ID = "org.argeo.security.ui.openArgeoUserEditor";
- public final static String PARAM_USERNAME = "org.argeo.security.ui.username";
+ public final static String COMMAND_ID = "org.argeo.security.ui.admin.openArgeoUserEditor";
+ public final static String PARAM_USERNAME = "org.argeo.security.ui.admin.username";
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
/** Save the currently edited Argeo user. */
public class SaveArgeoUser extends AbstractHandler {
- public final static String COMMAND_ID = "org.argeo.security.ui.saveArgeoUser";
+ public final static String COMMAND_ID = "org.argeo.security.ui.admin.saveArgeoUser";
public Object execute(ExecutionEvent event) throws ExecutionException {
try {
package org.argeo.security.ui.admin.editors;
import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
import org.argeo.security.ArgeoUser;
import org.argeo.security.SimpleArgeoUser;
+import org.argeo.security.UserAdminService;
import org.argeo.security.nature.SimpleUserNature;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.IEditorInput;
/** Editor for an Argeo user. */
public class ArgeoUserEditor extends FormEditor {
- public final static String ID = "org.argeo.security.ui.adminArgeoUserEditor";
+ public final static String ID = "org.argeo.security.ui.admin.adminArgeoUserEditor";
private ArgeoUser user;
- private ArgeoSecurityService securityService;
+ private UserAdminService userAdminService;
public void init(IEditorSite site, IEditorInput input)
throws PartInitException {
user.getUserNatures().put(SimpleUserNature.TYPE,
new SimpleUserNature());
} else
- user = securityService.getUser(username);
+ user = userAdminService.getUser(username);
this.setPartProperty("name", username != null ? username : "<new user>");
setPartName(username != null ? username : "<new user>");
}
protected void addPages() {
try {
- addPage(new DefaultUserMainPage(this, securityService, user));
+ addPage(new DefaultUserMainPage(this, userAdminService, user));
} catch (PartInitException e) {
throw new ArgeoException("Not able to add page ", e);
// TODO: make it more generic
findPage(DefaultUserMainPage.ID).doSave(monitor);
- if (securityService.userExists(user.getUsername()))
- securityService.updateUser(user);
+ if (userAdminService.userExists(user.getUsername()))
+ userAdminService.updateUser(user);
else {
- securityService.newUser(user);
+ userAdminService.newUser(user);
setPartName(user.getUsername());
}
firePropertyChange(PROP_DIRTY);
return false;
}
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
+ public void setUserAdminService(UserAdminService userAdminService) {
+ this.userAdminService = userAdminService;
}
}
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.argeo.security.ArgeoSecurityService;
import org.argeo.security.ArgeoUser;
import org.argeo.security.SimpleArgeoUser;
+import org.argeo.security.UserAdminService;
import org.argeo.security.nature.SimpleUserNature;
import org.argeo.security.ui.admin.SecurityAdminPlugin;
import org.eclipse.jface.viewers.CellEditor;
private ArgeoUser user;
private SimpleUserNature simpleNature;
private String simpleNatureType;
- private ArgeoSecurityService securityService;
+ private UserAdminService securityService;
public DefaultUserMainPage(FormEditor editor,
- ArgeoSecurityService securityService, ArgeoUser user) {
+ UserAdminService securityService, ArgeoUser user) {
super(editor, ID, "Main");
this.securityService = securityService;
this.user = user;
import java.util.ArrayList;
import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
import org.argeo.security.ArgeoUser;
+import org.argeo.security.UserAdminService;
import org.argeo.security.ui.admin.SecurityAdminPlugin;
import org.argeo.security.ui.admin.commands.AddRole;
import org.argeo.security.ui.admin.commands.OpenArgeoUserEditor;
/** List all roles. */
public class RolesView extends ViewPart {
- public final static String ID = "org.argeo.security.ui.rolesView";
+ public final static String ID = "org.argeo.security.ui.admin.adminRolesView";
private Text newRole;
private TableViewer viewer;
- private ArgeoSecurityService securityService;
+ private UserAdminService userAdminService;
private String addNewRoleText = "<add new role here>";
viewer.getTable().setFocus();
}
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
+ public void setUserAdminService(UserAdminService userAdminService) {
+ this.userAdminService = userAdminService;
}
public String getAddNewRoleText() {
private class RolesContentProvider implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
- return securityService.listEditableRoles().toArray();
+ return userAdminService.listEditableRoles().toArray();
}
public void dispose() {
import java.util.ArrayList;
import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
import org.argeo.security.ArgeoUser;
+import org.argeo.security.UserAdminService;
import org.argeo.security.nature.SimpleUserNature;
import org.argeo.security.ui.admin.SecurityAdminPlugin;
import org.argeo.security.ui.admin.commands.OpenArgeoUserEditor;
/** List all users. */
public class UsersView extends ViewPart {
- public final static String ID = "org.argeo.security.ui.usersView";
+ public final static String ID = "org.argeo.security.ui.admin.adminUsersView";
private TableViewer viewer;
- private ArgeoSecurityService securityService;
+ private UserAdminService userAdminService;
private String simpleNatureType = null;
viewer.getTable().setFocus();
}
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
+ public void setUserAdminService(UserAdminService userAdminService) {
+ this.userAdminService = userAdminService;
}
public void setSimpleNatureType(String simpleNatureType) {
private class UsersContentProvider implements IStructuredContentProvider {
public Object[] getElements(Object inputElement) {
- return securityService.listUsers().toArray();
+ return userAdminService.listUsers().toArray();
}
public void dispose() {
private class UsersLabelProvider extends LabelProvider implements
ITableLabelProvider {
public String getColumnText(Object element, int columnIndex) {
- //String currentUsername = CurrentUser.getUsername();
+ // String currentUsername = CurrentUser.getUsername();
String currentUsername = "";
ArgeoUser user = (ArgeoUser) element;
SimpleUserNature simpleNature = SimpleUserNature
--- /dev/null
+bin.includes = plugin.xml,\
+ META-INF/
+source.. = src/main/java/
+output.. = target/classes/
<bean id="openChangePasswordDialog" class="org.argeo.security.ui.commands.OpenChangePasswordDialog"
scope="prototype">
- <property name="securityService" ref="securityService" />
+ <property name="currentUserService" ref="currentUserService" />
</bean>
</beans>
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"\r
osgi:default-timeout="30000">\r
\r
- <reference id="securityService" interface="org.argeo.security.ArgeoSecurityService" />\r
+ <reference id="currentUserService" interface="org.argeo.security.CurrentUserService" />\r
</beans:beans>
\ No newline at end of file
<artifactId>maven-bundle-plugin</artifactId>
<version>${version.maven-bundle-plugin}</version>
<configuration>
- <!-- <instructions> -->
- <!-- <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy> -->
- <!-- <Bundle-Activator>org.argeo.security.ui.SecurityUiPlugin</Bundle-Activator> -->
- <!-- <Require-Bundle>org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime</Require-Bundle> -->
- <!-- <Import-Package> -->
- <!-- org.argeo.eclipse.spring, -->
- <!-- org.osgi.framework;version="0.0.0", -->
- <!-- !org.eclipse.core.runtime, -->
- <!-- !org.eclipse.core.commands, -->
- <!-- !org.eclipse.ui.plugin, -->
- <!-- !org.eclipse.ui, -->
- <!-- !org.eclipse.ui.commands, -->
- <!-- !org.eclipse.ui.handlers, -->
- <!-- !org.eclipse.ui.part, -->
- <!-- * -->
- <!-- </Import-Package> -->
- <!-- <Private-Package>icons</Private-Package> -->
- <!-- <Export-Package>org.argeo.security.ui.*</Export-Package> -->
- <!-- </instructions> -->
<instructions>
<Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
<Bundle-Activator>org.argeo.security.ui.SecurityUiPlugin</Bundle-Activator>
<version>0.2.3-SNAPSHOT</version>
</dependency>
- <!-- Argeo Eclipse distribution (common dependencies for both RAP and RCP) -->
- <dependency>
- <groupId>org.argeo.commons.eclipse</groupId>
- <artifactId>org.argeo.eclipse.dep.common</artifactId>
- <version>0.2.3-SNAPSHOT</version>
- </dependency>
-
<!-- RCP only dependency, needed at compile time -->
<dependency>
<groupId>org.argeo.commons.eclipse</groupId>
package org.argeo.security.ui.commands;
-import org.argeo.security.ArgeoSecurityService;
+import org.argeo.security.CurrentUserService;
import org.argeo.security.ui.dialogs.ChangePasswordDialog;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
/** Opens the change password dialog. */
public class OpenChangePasswordDialog extends AbstractHandler {
- private ArgeoSecurityService securityService;
+ private CurrentUserService currentUserService;
public Object execute(ExecutionEvent event) throws ExecutionException {
ChangePasswordDialog dialog = new ChangePasswordDialog(
- HandlerUtil.getActiveShell(event), securityService);
+ HandlerUtil.getActiveShell(event), currentUserService);
dialog.open();
return null;
}
- public void setSecurityService(ArgeoSecurityService securityService) {
- this.securityService = securityService;
+ public void setCurrentUserService(CurrentUserService currentUserService) {
+ this.currentUserService = currentUserService;
}
}
package org.argeo.security.ui.dialogs;
import org.argeo.ArgeoException;
-import org.argeo.security.ArgeoSecurityService;
+import org.argeo.security.CurrentUserService;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.dialogs.TitleAreaDialog;
import org.eclipse.swt.SWT;
/** Dialog to change the current user password */
public class ChangePasswordDialog extends TitleAreaDialog {
private Text currentPassword, newPassword1, newPassword2;
- private ArgeoSecurityService securityService;
+ private CurrentUserService securityService;
public ChangePasswordDialog(Shell parentShell,
- ArgeoSecurityService securityService) {
+ CurrentUserService securityService) {
super(parentShell);
this.securityService = securityService;
}
<modules>
<module>org.argeo.security.equinox</module>
<module>org.argeo.security.ui</module>
+ <module>org.argeo.security.ui.admin</module>
<module>org.argeo.security.ui.rcp</module>
<module>org.argeo.security.ui.rap</module>
</modules>
-source.. = src/main/java/
+source.. = src/main/java/,\
+ src/main/resources/
output.. = target/classes/
bin.includes = META-INF/,\
.
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+@SuppressWarnings("unchecked")
public class ActiveMqSecurityBrokerPlugin extends BrokerPluginSupport {
// private final static Log log = LogFactory
// .getLog(ActiveMqSecurityBrokerPlugin.class);
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
- allPopups="false"
locationURI="menu:org.argeo.jcr.ui.explorer.browserView">
<command
commandId="org.argeo.jcr.ui.explorer.openGenericJcrQueryEditor"
</command>
</menuContribution>
<menuContribution
- allPopups="false"
locationURI="popup:org.argeo.jcr.ui.explorer.browserView">
<command
commandId="org.argeo.jcr.ui.explorer.refresh"
PropertyDescriptor pd = beanWrapper.getPropertyDescriptor(prop
.getName());
- Class propClass = pd.getPropertyType();
+ Class<?> propClass = pd.getPropertyType();
if (log.isTraceEnabled())
log.trace("Load " + prop + ", propClass=" + propClass
continue nodes;
PropertyDescriptor pd = beanWrapper.getPropertyDescriptor(name);
- Class propClass = pd.getPropertyType();
+ Class<?> propClass = pd.getPropertyType();
// objects list
if (propClass != null && List.class.isAssignableFrom(propClass)) {
if (classProperty.equals(key))
continue keyProps;
- Class keyPropClass = classFromProperty(keyProp);
+ Class<?> keyPropClass = classFromProperty(keyProp);
if (keyPropClass != null) {
Object mapValue = asObject(keyProp.getValue(),
keyPropClass);