You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/09/20 22:35:32 UTC
svn commit: r1173344 - in
/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component:
gui/ registry/ registry/jackrabbit/ registry/jackrabbit/user/
Author: lahiru
Date: Tue Sep 20 20:35:31 2011
New Revision: 1173344
URL: http://svn.apache.org/viewvc?rev=1173344&view=rev
Log:
applying AIRAVATA-104-UM-API-JackRabbit-Impl.patch provided by saminda.
Added:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/AbstractJackRabbitUMComponent.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizable.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizableWrap.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroup.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroupWrap.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserManagerWrap.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserWrap.java
Modified:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java?rev=1173344&r1=1173343&r2=1173344&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/gui/JCRRegistryWindow.java Tue Sep 20 20:35:31 2011
@@ -25,16 +25,20 @@ import java.awt.event.ActionEvent;
import java.net.URI;
import java.net.URISyntaxException;
-import javax.swing.*;
+import javax.swing.AbstractAction;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JPasswordField;
import org.apache.airavata.xbaya.XBayaEngine;
import org.apache.airavata.xbaya.component.registry.ComponentRegistryLoader;
import org.apache.airavata.xbaya.component.registry.JCRComponentRegistry;
-import org.apache.airavata.xbaya.component.registry.URLComponentRegistry;
import org.apache.airavata.xbaya.gui.ErrorMessages;
import org.apache.airavata.xbaya.gui.GridPanel;
import org.apache.airavata.xbaya.gui.XBayaDialog;
import org.apache.airavata.xbaya.gui.XBayaLabel;
+import org.apache.airavata.xbaya.gui.XBayaLinkButton;
import org.apache.airavata.xbaya.gui.XBayaTextField;
public class JCRRegistryWindow {
@@ -51,6 +55,8 @@ public class JCRRegistryWindow {
private JPasswordField passwordTextField;
+ private XBayaLinkButton newUserButton;
+
/**
* @param engine
*/
@@ -95,6 +101,10 @@ public class JCRRegistryWindow {
this.loader.load(registry);
}
+ private void createNewUser(){
+
+ }
+
/**
* Initializes the GUI.
*/
@@ -106,16 +116,34 @@ public class JCRRegistryWindow {
XBayaLabel nameLabel = new XBayaLabel("Username", this.usernameTextField);
XBayaLabel passLabel = new XBayaLabel("Password", this.usernameTextField);
-
+ this.newUserButton = new XBayaLinkButton("Create new user...");
+ newUserButton.setHorizontalAlignment(XBayaLinkButton.RIGHT);
+ JLabel emptyLabel = new JLabel("");
+
+ newUserButton.addActionListener(new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ createNewUser();
+ }
+ });
+
GridPanel infoPanel = new GridPanel();
infoPanel.add(urlLabel);
infoPanel.add(this.urlTextField);
+// GridBagConstraints c = new GridBagConstraints();
+// c.fill = GridBagConstraints.HORIZONTAL;
+// c.gridwidth = 2;
+// c.gridx = 0;
+// c.gridy = 1;
+// infoPanel.getContentPanel().add(new JSeparator(SwingConstants.HORIZONTAL),c);
+// infoPanel.add(new JSeparator(SwingConstants.HORIZONTAL));
infoPanel.add(nameLabel);
infoPanel.add(this.usernameTextField);
infoPanel.add(passLabel);
infoPanel.add(this.passwordTextField);
- infoPanel.layout(3, 2, GridPanel.WEIGHT_NONE, 1);
-
+ infoPanel.add(emptyLabel);
+ infoPanel.add(this.newUserButton);
+ infoPanel.layout(4, 2, GridPanel.WEIGHT_NONE, 1);
+
JButton okButton = new JButton("OK");
okButton.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent e) {
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java?rev=1173344&r1=1173343&r2=1173344&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/JCRComponentRegistry.java Tue Sep 20 20:35:31 2011
@@ -38,10 +38,22 @@ public class JCRComponentRegistry extend
public JCRComponentRegistry(URI url, String username, String password) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("org.apache.jackrabbit.repository.uri", url.toString());
+ registerUserManagers();
this.registry = new JCRRegistry("org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory", username,
password, map);
}
+ /**
+ * to manually trigger user manager registrations
+ */
+ private void registerUserManagers() {
+ try {
+ Class.forName("org.apache.airavata.xbaya.component.registry.jackrabbit.user.JackRabbitUserManagerWrap");
+ } catch (ClassNotFoundException e) {
+ //error in registering user managers
+ }
+ }
+
/**
* @see org.apache.airavata.xbaya.component.registry.ComponentRegistry#getComponentTree()
*/
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/AbstractJackRabbitUMComponent.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/AbstractJackRabbitUMComponent.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/AbstractJackRabbitUMComponent.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/AbstractJackRabbitUMComponent.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,47 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.jackrabbit.api.security.user.Authorizable;
+import org.apache.jackrabbit.api.security.user.Group;
+
+public class AbstractJackRabbitUMComponent {
+
+ protected List<Group> getJRGroupList(
+ Iterator<org.apache.airavata.registry.api.user.Group> airavataUMGroupList) {
+ List<Group> groupList=new ArrayList<Group>();
+ while(airavataUMGroupList.hasNext()){
+ groupList.add(new JackRabbitGroup(airavataUMGroupList.next()));
+ }
+ return groupList;
+ }
+
+ protected List<org.apache.airavata.registry.api.user.Group> getGroupList(
+ Iterator<Group> airavataUMGroupList) {
+ List<org.apache.airavata.registry.api.user.Group> groupList=new ArrayList<org.apache.airavata.registry.api.user.Group>();
+ while(airavataUMGroupList.hasNext()){
+ groupList.add(new JackRabbitGroupWrap(airavataUMGroupList.next()));
+ }
+ return groupList;
+ }
+
+ protected List<Authorizable> getJRAuthorizableList(
+ Iterator<org.apache.airavata.registry.api.user.Authorizable> jackRabbitAuthorizableList) {
+ List<Authorizable> authorizableList = new ArrayList<Authorizable>();
+ while(jackRabbitAuthorizableList.hasNext()) {
+ authorizableList.add(new JackRabbitAuthorizable(jackRabbitAuthorizableList.next()));
+ }
+ return authorizableList;
+ }
+
+ protected List<org.apache.airavata.registry.api.user.Authorizable> getAuthorizableList(
+ Iterator<Authorizable> jackRabbitAuthorizableList) {
+ List<org.apache.airavata.registry.api.user.Authorizable> authorizableList = new ArrayList<org.apache.airavata.registry.api.user.Authorizable>();
+ while(jackRabbitAuthorizableList.hasNext()) {
+ authorizableList.add(new JackRabbitAuthorizableWrap(jackRabbitAuthorizableList.next()));
+ }
+ return authorizableList;
+ }
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizable.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizable.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizable.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizable.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,91 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
+import org.apache.jackrabbit.api.security.user.Authorizable;
+import org.apache.jackrabbit.api.security.user.Group;
+
+public class JackRabbitAuthorizable extends AbstractJackRabbitUMComponent implements Authorizable {
+ private org.apache.airavata.registry.api.user.Authorizable authorizable;
+
+ public JackRabbitAuthorizable(org.apache.airavata.registry.api.user.Authorizable authorizable) {
+ this.authorizable=authorizable;
+ }
+
+ @Override
+ public Iterator<Group> declaredMemberOf() throws RepositoryException {
+ Iterator<org.apache.airavata.registry.api.user.Group> declaredMemberOfGroupList = authorizable.declaredMemberOf();
+ List<Group> groupList = getJRGroupList(declaredMemberOfGroupList);
+ return groupList.iterator();
+ }
+
+ @Override
+ public String getID() throws RepositoryException {
+ return authorizable.getID();
+ }
+
+ @Override
+ public Principal getPrincipal() throws RepositoryException {
+ return authorizable.getPrincipal();
+ }
+
+ @Override
+ public Value[] getProperty(String name) throws RepositoryException {
+ return authorizable.getProperty(name);
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames() throws RepositoryException {
+ return authorizable.getPropertyNames();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames(String name)
+ throws RepositoryException {
+ return authorizable.getPropertyNames(name);
+ }
+
+ @Override
+ public boolean hasProperty(String name) throws RepositoryException {
+ return authorizable.hasProperty(name);
+ }
+
+ @Override
+ public boolean isGroup() {
+ return authorizable.isGroup();
+ }
+
+ @Override
+ public Iterator<Group> memberOf() throws RepositoryException {
+ Iterator<org.apache.airavata.registry.api.user.Group> declaredMemberOfGroupList = authorizable.memberOf();
+ List<Group> groupList = getJRGroupList(declaredMemberOfGroupList);
+ return groupList.iterator();
+ }
+
+ @Override
+ public void remove() throws RepositoryException {
+ authorizable.remove();
+ }
+
+ @Override
+ public boolean removeProperty(String name) throws RepositoryException {
+ return authorizable.removeProperty(name);
+ }
+
+ @Override
+ public void setProperty(String name, Value value) throws RepositoryException {
+ authorizable.setProperty(name, value);
+ }
+
+ @Override
+ public void setProperty(String name, Value[] value)
+ throws RepositoryException {
+ authorizable.setProperty(name, value);
+ }
+
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizableWrap.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizableWrap.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizableWrap.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitAuthorizableWrap.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,89 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
+import org.apache.airavata.registry.api.user.Authorizable;
+import org.apache.airavata.registry.api.user.Group;
+
+public class JackRabbitAuthorizableWrap extends AbstractJackRabbitUMComponent implements Authorizable {
+ private org.apache.jackrabbit.api.security.user.Authorizable authorizable;
+
+ public JackRabbitAuthorizableWrap(org.apache.jackrabbit.api.security.user.Authorizable authorizable) {
+ this.authorizable=authorizable;
+ }
+
+ @Override
+ public String getID() throws RepositoryException {
+ return authorizable.getID();
+ }
+
+ @Override
+ public boolean isGroup() {
+ return authorizable.isGroup();
+ }
+
+ @Override
+ public Principal getPrincipal() throws RepositoryException {
+ return authorizable.getPrincipal();
+ }
+
+ @Override
+ public void remove() throws RepositoryException {
+ authorizable.remove();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames() throws RepositoryException {
+ return authorizable.getPropertyNames();
+ }
+
+ @Override
+ public boolean hasProperty(String name) throws RepositoryException {
+ return authorizable.hasProperty(name);
+ }
+
+ @Override
+ public void setProperty(String name, Value value)
+ throws RepositoryException {
+ authorizable.setProperty(name, value);
+ }
+
+ @Override
+ public void setProperty(String name, Value[] value)
+ throws RepositoryException {
+ authorizable.setProperty(name, value);
+ }
+
+ @Override
+ public Value[] getProperty(String name) throws RepositoryException {
+ return authorizable.getProperty(name);
+ }
+
+ @Override
+ public boolean removeProperty(String name) throws RepositoryException {
+ return authorizable.removeProperty(name);
+ }
+
+ @Override
+ public Iterator<Group> declaredMemberOf() throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Group> declaredMemberOf = authorizable.declaredMemberOf();
+ return getGroupList(declaredMemberOf).iterator();
+ }
+
+ @Override
+ public Iterator<Group> memberOf() throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Group> declaredMemberOf = authorizable.memberOf();
+ return getGroupList(declaredMemberOf).iterator();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames(String name)
+ throws RepositoryException {
+ return authorizable.getPropertyNames(name);
+ }
+
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroup.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroup.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroup.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroup.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,124 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
+import org.apache.jackrabbit.api.security.user.Authorizable;
+import org.apache.jackrabbit.api.security.user.Group;
+
+
+public class JackRabbitGroup extends AbstractJackRabbitUMComponent implements Group {
+ private org.apache.airavata.registry.api.user.Group group;
+
+ public JackRabbitGroup(org.apache.airavata.registry.api.user.Group group) {
+ this.group=group;
+ }
+
+ @Override
+ public String getID() throws RepositoryException {
+ return group.getID();
+ }
+
+ @Override
+ public boolean isGroup() {
+ return group.isGroup();
+ }
+
+ @Override
+ public Principal getPrincipal() throws RepositoryException {
+ return group.getPrincipal();
+ }
+
+ @Override
+ public void remove() throws RepositoryException {
+ group.remove();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames() throws RepositoryException {
+ return group.getPropertyNames();
+ }
+
+ @Override
+ public boolean hasProperty(String name) throws RepositoryException {
+ return group.hasProperty(name);
+ }
+
+ @Override
+ public void setProperty(String name, Value value)
+ throws RepositoryException {
+ group.setProperty(name, value);
+ }
+
+ @Override
+ public void setProperty(String name, Value[] value)
+ throws RepositoryException {
+ group.setProperty(name, value);
+ }
+
+ @Override
+ public Value[] getProperty(String name) throws RepositoryException {
+ return group.getProperty(name);
+ }
+
+ @Override
+ public boolean removeProperty(String name) throws RepositoryException {
+ return group.removeProperty(name);
+ }
+
+ @Override
+ public Iterator<Authorizable> getDeclaredMembers()
+ throws RepositoryException {
+ Iterator<org.apache.airavata.registry.api.user.Authorizable> declaredMembers = group.getDeclaredMembers();
+ return getJRAuthorizableList(declaredMembers).iterator();
+ }
+
+ @Override
+ public Iterator<Authorizable> getMembers() throws RepositoryException {
+ return getJRAuthorizableList(group.getMembers()).iterator();
+ }
+
+ @Override
+ public boolean isMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.isMember(new JackRabbitAuthorizableWrap(authorizable));
+ }
+
+ @Override
+ public boolean addMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.addMember(new JackRabbitAuthorizableWrap(authorizable));
+ }
+
+ @Override
+ public boolean removeMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.removeMember(new JackRabbitAuthorizableWrap(authorizable));
+ }
+
+ @Override
+ public Iterator<Group> declaredMemberOf() throws RepositoryException {
+ return getJRGroupList(group.declaredMemberOf()).iterator();
+ }
+
+ @Override
+ public Iterator<Group> memberOf() throws RepositoryException {
+ return getJRGroupList(group.memberOf()).iterator();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames(String name)
+ throws RepositoryException {
+ return group.getPropertyNames(name);
+ }
+
+ @Override
+ public boolean isDeclaredMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.isDeclaredMember(new JackRabbitAuthorizableWrap(authorizable));
+ }
+
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroupWrap.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroupWrap.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroupWrap.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitGroupWrap.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,123 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
+import org.apache.airavata.registry.api.user.Authorizable;
+import org.apache.airavata.registry.api.user.Group;
+
+public class JackRabbitGroupWrap extends AbstractJackRabbitUMComponent implements Group{
+ private org.apache.jackrabbit.api.security.user.Group group;
+
+ public JackRabbitGroupWrap(org.apache.jackrabbit.api.security.user.Group group) {
+ this.group=group;
+ }
+
+ @Override
+ public String getID() throws RepositoryException {
+ return group.getID();
+ }
+
+ @Override
+ public boolean isGroup() {
+ return group.isGroup();
+ }
+
+ @Override
+ public Principal getPrincipal() throws RepositoryException {
+ return group.getPrincipal();
+ }
+
+ @Override
+ public void remove() throws RepositoryException {
+ group.remove();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames() throws RepositoryException {
+ return group.getPropertyNames();
+ }
+
+ @Override
+ public boolean hasProperty(String name) throws RepositoryException {
+ return group.hasProperty(name);
+ }
+
+ @Override
+ public void setProperty(String name, Value value)
+ throws RepositoryException {
+ group.setProperty(name, value);
+ }
+
+ @Override
+ public void setProperty(String name, Value[] value)
+ throws RepositoryException {
+ group.setProperty(name, value);
+ }
+
+ @Override
+ public Value[] getProperty(String name) throws RepositoryException {
+ return group.getProperty(name);
+ }
+
+ @Override
+ public boolean removeProperty(String name) throws RepositoryException {
+ return group.removeProperty(name);
+ }
+
+ @Override
+ public Iterator<Authorizable> getDeclaredMembers()
+ throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Authorizable> declaredMembers = group.getDeclaredMembers();
+ return getAuthorizableList(declaredMembers).iterator();
+ }
+
+ @Override
+ public Iterator<Authorizable> getMembers() throws RepositoryException {
+ return getAuthorizableList(group.getMembers()).iterator();
+ }
+
+ @Override
+ public boolean isMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.isMember(new JackRabbitAuthorizable(authorizable));
+ }
+
+ @Override
+ public boolean addMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.addMember(new JackRabbitAuthorizable(authorizable));
+ }
+
+ @Override
+ public boolean removeMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.removeMember(new JackRabbitAuthorizable(authorizable));
+ }
+
+ @Override
+ public Iterator<Group> declaredMemberOf() throws RepositoryException {
+ return getGroupList(group.declaredMemberOf()).iterator();
+ }
+
+ @Override
+ public Iterator<Group> memberOf() throws RepositoryException {
+ return getGroupList(group.memberOf()).iterator();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames(String name)
+ throws RepositoryException {
+ return group.getPropertyNames(name);
+ }
+
+ @Override
+ public boolean isDeclaredMember(Authorizable authorizable)
+ throws RepositoryException {
+ return group.isDeclaredMember(new JackRabbitAuthorizable(authorizable));
+ }
+
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserManagerWrap.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserManagerWrap.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserManagerWrap.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserManagerWrap.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,95 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+
+import javax.jcr.AccessDeniedException;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.jcr.UnsupportedRepositoryOperationException;
+
+import org.apache.airavata.registry.api.user.Authorizable;
+import org.apache.airavata.registry.api.user.AuthorizableExistsException;
+import org.apache.airavata.registry.api.user.Group;
+import org.apache.airavata.registry.api.user.User;
+import org.apache.airavata.registry.api.user.UserManager;
+import org.apache.airavata.registry.api.user.UserManagerFactory;
+import org.apache.jackrabbit.api.JackrabbitSession;
+
+public class JackRabbitUserManagerWrap extends AbstractJackRabbitUMComponent implements UserManager {
+
+ static{
+ UserManagerFactory.registerUserManager("org.apache.jackrabbit.rmi.repository.RmiRepositoryFactory", JackRabbitUserManagerWrap.class);
+ }
+
+ @Override
+ public User createUser(Session session, String userID, String password)
+ throws AuthorizableExistsException, RepositoryException {
+ org.apache.jackrabbit.api.security.user.User user = getJackRabbitUserManager(session).createUser(userID, password);
+ return new JackRabbitUserWrap(user);
+ }
+
+ @Override
+ public User createUser(Session session, String userID, String password,
+ Principal principal, String intermediatePath)
+ throws AuthorizableExistsException, RepositoryException {
+ org.apache.jackrabbit.api.security.user.User user = getJackRabbitUserManager(session).createUser(userID, password,principal,intermediatePath);
+ return new JackRabbitUserWrap(user);
+ }
+
+ @Override
+ public Group createGroup(Session session, Principal principal)
+ throws AuthorizableExistsException, RepositoryException {
+ org.apache.jackrabbit.api.security.user.Group group = getJackRabbitUserManager(session).createGroup(principal);
+ return new JackRabbitGroupWrap(group);
+ }
+
+ @Override
+ public Group createGroup(Session session, Principal principal,
+ String intermediatePath) throws AuthorizableExistsException,
+ RepositoryException {
+ return new JackRabbitGroupWrap(getJackRabbitUserManager(session).createGroup(principal, intermediatePath));
+ }
+
+ private org.apache.jackrabbit.api.security.user.UserManager getJackRabbitUserManager(Session session) throws AccessDeniedException, UnsupportedRepositoryOperationException, RepositoryException{
+ return ((JackrabbitSession) session).getUserManager();
+ }
+
+ @Override
+ public Authorizable getAuthorizable(Session session, String id)
+ throws RepositoryException {
+ return new JackRabbitAuthorizableWrap(getJackRabbitUserManager(session).getAuthorizable(id));
+ }
+
+ @Override
+ public Authorizable getAuthorizable(Session session, Principal principal)
+ throws RepositoryException {
+ return new JackRabbitAuthorizableWrap(getJackRabbitUserManager(session).getAuthorizable(principal));
+ }
+
+ @Override
+ public Iterator<Authorizable> findAuthorizables(Session session,
+ String propertyName, String value) throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Authorizable> authorizables = getJackRabbitUserManager(session).findAuthorizables(propertyName, value);
+ return getAuthorizableList(authorizables).iterator();
+ }
+
+ @Override
+ public Iterator<Authorizable> findAuthorizables(Session session,
+ String propertyName, String value, int searchType)
+ throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Authorizable> authorizables = getJackRabbitUserManager(session).findAuthorizables(propertyName, value,searchType);
+ return getAuthorizableList(authorizables).iterator();
+ }
+
+ @Override
+ public boolean isAutoSave(Session session) throws RepositoryException{
+ return getJackRabbitUserManager(session).isAutoSave();
+ }
+
+ @Override
+ public void autoSave(Session session, boolean enable)
+ throws UnsupportedRepositoryOperationException, RepositoryException {
+ getJackRabbitUserManager(session).autoSave(enable);
+ }
+}
Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserWrap.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserWrap.java?rev=1173344&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserWrap.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/component/registry/jackrabbit/user/JackRabbitUserWrap.java Tue Sep 20 20:35:31 2011
@@ -0,0 +1,105 @@
+package org.apache.airavata.xbaya.component.registry.jackrabbit.user;
+
+import java.security.Principal;
+import java.util.Iterator;
+
+import javax.jcr.Credentials;
+import javax.jcr.RepositoryException;
+import javax.jcr.Value;
+
+import org.apache.airavata.registry.api.user.Group;
+import org.apache.airavata.registry.api.user.User;
+
+public class JackRabbitUserWrap extends AbstractJackRabbitUMComponent implements User{
+ private org.apache.jackrabbit.api.security.user.User user;
+ public JackRabbitUserWrap(org.apache.jackrabbit.api.security.user.User user) {
+ this.user=user;
+ }
+
+ @Override
+ public String getID() throws RepositoryException {
+ return user.getID();
+ }
+
+ @Override
+ public boolean isGroup() {
+ return user.isGroup();
+ }
+
+ @Override
+ public Principal getPrincipal() throws RepositoryException {
+ return user.getPrincipal();
+ }
+
+ @Override
+ public void remove() throws RepositoryException {
+ user.remove();
+
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames() throws RepositoryException {
+ return user.getPropertyNames();
+ }
+
+ @Override
+ public boolean hasProperty(String name) throws RepositoryException {
+ return user.hasProperty(name);
+ }
+
+ @Override
+ public void setProperty(String name, Value value)
+ throws RepositoryException {
+ user.setProperty(name, value);
+ }
+
+ @Override
+ public void setProperty(String name, Value[] value)
+ throws RepositoryException {
+ user.setProperty(name, value);
+ }
+
+ @Override
+ public Value[] getProperty(String name) throws RepositoryException {
+ return user.getProperty(name);
+ }
+
+ @Override
+ public boolean removeProperty(String name) throws RepositoryException {
+ return user.removeProperty(name);
+ }
+
+ @Override
+ public boolean isAdmin() {
+ return user.isAdmin();
+ }
+
+ @Override
+ public Credentials getCredentials() throws RepositoryException {
+ return user.getCredentials();
+ }
+
+ @Override
+ public void changePassword(String password) throws RepositoryException {
+ user.changePassword(password);
+ }
+
+ @Override
+ public Iterator<Group> declaredMemberOf() throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Group> declaredMemberOf = user.declaredMemberOf();
+ return getGroupList(declaredMemberOf).iterator();
+ }
+
+ @Override
+ public Iterator<Group> memberOf() throws RepositoryException {
+ Iterator<org.apache.jackrabbit.api.security.user.Group> declaredMemberOf = user.memberOf();
+ return getGroupList(declaredMemberOf).iterator();
+ }
+
+ @Override
+ public Iterator<String> getPropertyNames(String name)
+ throws RepositoryException {
+ return user.getPropertyNames(name);
+ }
+
+}