You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by eg...@apache.org on 2003/06/03 15:45:48 UTC

cvs commit: cocoon-lenya/src/java/org/apache/lenya/cms/ac FileRole.java User.java FileUser.java FileGroup.java

egli        2003/06/03 06:45:48

  Modified:    src/java/org/apache/lenya/cms/ac FileRole.java User.java
                        FileUser.java FileGroup.java
  Log:
  The Publication needs to be passed in in the constructor in
  order for the constructor to be able to find the other ItemManagers.
  That is required so that subitems (i.e. Roles for Groups)
  can be found.
  
  Revision  Changes    Path
  1.3       +7 -5      cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileRole.java
  
  Index: FileRole.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileRole.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FileRole.java	2 Jun 2003 17:15:00 -0000	1.2
  +++ FileRole.java	3 Jun 2003 13:45:48 -0000	1.3
  @@ -68,27 +68,29 @@
   	public static final String NAME_ATTRIBUTE = "name";
   	public static final String CLASS_ATTRIBUTE = "class";
   
  -
  +	private Publication publication;
   	/**
   	 * @param name
   	 */
  -	public FileRole(String name) {
  +	public FileRole(Publication publication, String name) {
   		super(name);
  +		this.publication = publication;
   	}
   
   	/**
   	 * @param config
   	 * @throws ConfigurationException
   	 */
  -	public FileRole(Configuration config) throws ConfigurationException {
  +	public FileRole(Publication publication, Configuration config) throws ConfigurationException {
   		super(config.getAttribute(NAME_ATTRIBUTE));
  +		this.publication = publication;
   	}
   	
   	/**
   	 * @param publication
   	 * @throws AccessControlException
   	 */
  -	public void save(Publication publication) throws AccessControlException {
  +	public void save() throws AccessControlException {
   		DefaultConfigurationSerializer serializer =
   			new DefaultConfigurationSerializer();
   		Configuration config = createConfiguration();
  
  
  
  1.8       +2 -4      cocoon-lenya/src/java/org/apache/lenya/cms/ac/User.java
  
  Index: User.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/ac/User.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- User.java	2 Jun 2003 17:18:22 -0000	1.7
  +++ User.java	3 Jun 2003 13:45:48 -0000	1.8
  @@ -53,8 +53,6 @@
   import java.util.Iterator;
   import java.util.Set;
   
  -import org.apache.lenya.cms.publication.Publication;
  -
   /**
    *
    * @author  nobby
  @@ -165,7 +163,7 @@
   	 * @param publication
   	 * @throws AccessControlException
   	 */
  -	public abstract void save(Publication publication)
  +	public abstract void save()
   		throws AccessControlException;
   
   	/* (non-Javadoc)
  
  
  
  1.5       +19 -6     cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileUser.java
  
  Index: FileUser.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileUser.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FileUser.java	2 Jun 2003 17:15:00 -0000	1.4
  +++ FileUser.java	3 Jun 2003 13:45:48 -0000	1.5
  @@ -75,6 +75,8 @@
   	public static final String ID_ATTRIBUTE = "id";
   	public static final String CLASS_ATTRIBUTE = "class";
   
  +	private Publication publication;
  +	
   	/**
   	 * @param id
   	 */
  @@ -82,15 +84,26 @@
   		super(id);
   	}
   	
  -	public FileUser(Configuration config) throws ConfigurationException {
  +	public FileUser(Publication publication, Configuration config)
  +		throws ConfigurationException {
   		id = config.getAttribute(ID);
   		setEmail(config.getValue(EMAIL));
   		setFullName(config.getValue(FULL_NAME));
   		setPassword(config.getValue(PASSWORD));
   		Configuration[] groups = config.getChildren(GROUPS);
  -		//		for (int i = 0; i < groups.length; i++) {
  -		//			Configuration group = groups[i];
  -		//		}
  +		GroupManager manager = null;
  +		try {
  +			manager = GroupManager.instance(publication);
  +		} catch (AccessControlException e) {
  +			throw new ConfigurationException(
  +				"Exception when trying to fetch GroupManager for publication: "
  +					+ publication,
  +				e);
  +		}
  +		for (int i = 0; i < groups.length; i++) {
  +			String groupName = groups[i].getValue();
  +			addGroup(manager.getGroup(groupName));
  +		}
   	}
   
   
  @@ -132,7 +145,7 @@
   	/* (non-Javadoc)
   	 * @see org.apache.lenya.cms.ac.User#save()
   	 */
  -	public void save(Publication publication) throws AccessControlException {
  +	public void save() throws AccessControlException {
   		DefaultConfigurationSerializer serializer =
   			new DefaultConfigurationSerializer();
   		Configuration config = createConfiguration();
  
  
  
  1.3       +34 -11    cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileGroup.java
  
  Index: FileGroup.java
  ===================================================================
  RCS file: /home/cvs/cocoon-lenya/src/java/org/apache/lenya/cms/ac/FileGroup.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FileGroup.java	2 Jun 2003 17:15:00 -0000	1.2
  +++ FileGroup.java	3 Jun 2003 13:45:48 -0000	1.3
  @@ -70,21 +70,44 @@
   	public static final String ROLE = "role";
   	public static final String NAME_ATTRIBUTE = "name";
   	public static final String CLASS_ATTRIBUTE = "class";
  +	
  +	private Publication publication;
   
  -	public FileGroup(Configuration config) throws ConfigurationException {
  -		name = config.getAttribute(name);
  -		Configuration[] groups = config.getChildren(ROLES);
  -		//		for (int i = 0; i < groups.length; i++) {
  -		//			Configuration group = groups[i];
  -		//		}		
  +	/**
  +	 * @param name
  +	 */
  +	public FileGroup(Publication publication, String name) {
  +		super(name);
  +		this.publication = publication;
  +	}
  +
  +	public FileGroup(Publication publication, Configuration config)
  +		throws ConfigurationException {
  +		super(config.getAttribute(NAME_ATTRIBUTE));
  +		this.publication = publication;
  +
  +		Configuration[] roles = config.getChildren(ROLES)[0].getChildren(ROLE);
  +		for (int i = 0; i < roles.length; i++) {
  +			String roleName = roles[i].getValue();
  +			RoleManager manager = null;
  +			try {
  +				manager = RoleManager.instance(publication);
  +			} catch (AccessControlException e) {
  +				throw new ConfigurationException(
  +					"Exception when trying to fetch RoleManager for publication: "
  +						+ publication,
  +					e);
  +			}
  +			addRole(manager.getRole(roleName));
  +		}
   	}
   	
  -	public void save(Publication publication) throws AccessControlException {
  +	public void save() throws AccessControlException {
   		DefaultConfigurationSerializer serializer =
   			new DefaultConfigurationSerializer();
   		Configuration config = createConfiguration();
   		File xmlPath = GroupManager.instance(publication).getPath();
  -		File xmlfile = new File(xmlPath, name + GroupManager.SUFFIX);
  +		File xmlfile = new File(xmlPath, getName() + GroupManager.SUFFIX);
   		try {
   			serializer.serializeToFile(xmlfile, config);
   		} catch (Exception e) {
  @@ -98,17 +121,17 @@
   	private Configuration createConfiguration() {
   		
   		DefaultConfiguration config = new DefaultConfiguration(GROUP);
  -		config.setAttribute(NAME_ATTRIBUTE, name);
  +		config.setAttribute(NAME_ATTRIBUTE, getName());
   		config.setAttribute(CLASS_ATTRIBUTE, this.getClass().getName());
   		DefaultConfiguration child = null;
   		// add roles node
  -		child = new DefaultConfiguration(GROUP);
  +		child = new DefaultConfiguration(ROLES);
   		config.addChild(child);		
   
   		Iterator groupsIter = getRoles();
   		while (groupsIter.hasNext()) {
   			DefaultConfiguration groupNode = new DefaultConfiguration(ROLE);
  -			groupNode.setValue(((Group) groupsIter.next()).getName());
  +			groupNode.setValue(((Role) groupsIter.next()).getName());
   			child.addChild(groupNode);
   		}
   		return config;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org