-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
package org.argeo.cms.e4.users;
-import static org.argeo.cms.util.UserAdminUtils.setProperty;
+import static org.argeo.api.NodeInstance.WORKGROUP;
+import static org.argeo.cms.auth.UserAdminUtils.setProperty;
import static org.argeo.naming.LdapAttrs.businessCategory;
import static org.argeo.naming.LdapAttrs.description;
-import static org.argeo.node.NodeInstance.WORKGROUP;
import java.util.ArrayList;
import java.util.Iterator;
import javax.jcr.Session;
import javax.naming.InvalidNameException;
import javax.naming.ldap.LdapName;
-import javax.transaction.UserTransaction;
-import org.argeo.cms.ArgeoNames;
+import org.argeo.api.NodeConstants;
+import org.argeo.api.NodeInstance;
import org.argeo.cms.CmsException;
+import org.argeo.cms.auth.UserAdminUtils;
import org.argeo.cms.e4.users.providers.CommonNameLP;
import org.argeo.cms.e4.users.providers.MailLP;
import org.argeo.cms.e4.users.providers.RoleIconLP;
import org.argeo.cms.e4.users.providers.UserFilter;
+import org.argeo.cms.jcr.CmsJcrUtils;
+import org.argeo.cms.swt.CmsSwtUtils;
import org.argeo.cms.ui.eclipse.forms.AbstractFormPart;
import org.argeo.cms.ui.eclipse.forms.IManagedForm;
-import org.argeo.cms.util.CmsUtils;
-import org.argeo.cms.util.UserAdminUtils;
import org.argeo.eclipse.ui.ColumnDefinition;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.eclipse.ui.parts.LdifUsersTable;
import org.argeo.jcr.JcrUtils;
import org.argeo.naming.LdapAttrs;
-import org.argeo.node.NodeInstance;
-import org.argeo.node.NodeUtils;
+import org.argeo.osgi.transaction.WorkTransaction;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
import org.osgi.service.useradmin.UserAdminEvent;
/** Display/edit main properties of a given group */
-public class GroupEditor extends AbstractRoleEditor implements ArgeoNames {
+public class GroupEditor extends AbstractRoleEditor {
// final static String ID = "GroupEditor.mainPage";
@Inject
@Inject
private NodeInstance nodeInstance;
// private final UserAdminWrapper userAdminWrapper;
- private Session session;
+ private Session groupsSession;
// public GroupMainPage(FormEditor editor, UserAdminWrapper userAdminWrapper,
// Repository repository,
@Override
protected void createUi(Composite parent) {
try {
- session = repository.login();
+ groupsSession = repository.login(NodeConstants.SRV_WORKSPACE);
} catch (RepositoryException e) {
throw new CmsException("Cannot retrieve session", e);
}
@PreDestroy
public void dispose() {
- JcrUtils.logoutQuietly(session);
+ JcrUtils.logoutQuietly(groupsSession);
super.dispose();
}
// GridLayout layout = new GridLayout(5, false);
GridLayout layout = new GridLayout(2, false);
body.setLayout(layout);
- body.setLayoutData(CmsUtils.fillWidth());
+ body.setLayoutData(CmsSwtUtils.fillWidth());
String cn = UserAdminUtils.getProperty(group, LdapAttrs.cn.name());
createReadOnlyLT(body, "Name", cn);
// dnTxt.setText(group.getName());
// cnTxt.setText(UserAdminUtils.getProperty(group, LdapAttrs.cn.name()));
descTxt.setText(UserAdminUtils.getProperty(group, LdapAttrs.description.name()));
- Node workgroupHome = NodeUtils.getGroupHome(session, cn);
+ Node workgroupHome = CmsJcrUtils.getGroupHome(groupsSession, cn);
if (workgroupHome == null)
markAsWorkgroupLk.setText("<a>Mark as workgroup</a>");
else
boolean confirmed = MessageDialog.openConfirm(parent.getShell(), "Mark as workgroup",
"Are you sure you want to mark " + cn + " as being a workgroup? ");
if (confirmed) {
- Node workgroupHome = NodeUtils.getGroupHome(session, cn);
+ Node workgroupHome = CmsJcrUtils.getGroupHome(groupsSession, cn);
if (workgroupHome != null)
return; // already marked as workgroup, do nothing
else
ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
ToolBar toolBar = toolBarManager.createControl(body);
- toolBar.setLayoutData(CmsUtils.fillWidth());
+ toolBar.setLayoutData(CmsSwtUtils.fillWidth());
toolBarManager.add(action);
toolBarManager.update(true);
userAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, myGroup));
} else if (role.getType() == Role.USER) {
// TODO check if the group is already member of this group
- UserTransaction transaction = userAdminWrapper.beginTransactionIfNeeded();
+ WorkTransaction transaction = userAdminWrapper.beginTransactionIfNeeded();
User user = (User) role;
myGroup.addMember(user);
if (UserAdminWrapper.COMMIT_ON_SAVE)
// lbl.setFont(EclipseUiUtils.getBoldFont(parent));
// Text text = toolkit.createText(parent, value, SWT.BORDER);
// text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
- // CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT);
+ // CmsUiUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT);
// return text;
// }
//
// Text text = toolkit.createText(parent, value, SWT.NONE);
// text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
// text.setEditable(false);
- // CmsUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT);
+ // CmsUiUtils.style(text, CmsWorkbenchStyles.WORKBENCH_FORM_TEXT);
// return text;
// }