You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by pn...@apache.org on 2002/05/10 18:22:22 UTC

cvs commit: jakarta-slide/src/stores/slidestore/file XMLFileDescriptorsStore.java UriProperties.java AbstractUriProperties.java

pnever      02/05/10 09:22:22

  Modified:    src/stores/slidestore/file XMLFileDescriptorsStore.java
                        UriProperties.java AbstractUriProperties.java
  Log:
  - Fixed several bugs
  - Disabled println's to System.out
  
  Revision  Changes    Path
  1.4       +119 -119  jakarta-slide/src/stores/slidestore/file/XMLFileDescriptorsStore.java
  
  Index: XMLFileDescriptorsStore.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/slidestore/file/XMLFileDescriptorsStore.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLFileDescriptorsStore.java	25 Apr 2002 21:15:16 -0000	1.3
  +++ XMLFileDescriptorsStore.java	10 May 2002 16:22:21 -0000	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/XMLFileDescriptorsStore.java,v 1.3 2002/04/25 21:15:16 jericho Exp $
  - * $Revision: 1.3 $
  - * $Date: 2002/04/25 21:15:16 $
  + * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/XMLFileDescriptorsStore.java,v 1.4 2002/05/10 16:22:21 pnever Exp $
  + * $Revision: 1.4 $
  + * $Date: 2002/05/10 16:22:21 $
    *
    * ====================================================================
    *
  @@ -78,10 +78,10 @@
    * Memory with persistence, reorganization of the <a href="mailto:remm@apache.org">Remy Maucherat</a>
    * Reference implementation.
    * Use of UriProperties.
  - * 
  + *
    * @author <a href="mailto:mdecugis@mds-desing.fr">Marc D�cugis</a>
  - * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a> 
  - * @version $Revision: 1.3 $ , $Date: 2002/04/25 21:15:16 $
  + * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a>
  + * @version $Revision: 1.4 $ , $Date: 2002/05/10 16:22:21 $
    */
   public class XMLFileDescriptorsStore extends AbstractService
       implements LockStore, NodeStore, RevisionDescriptorsStore,
  @@ -126,17 +126,17 @@
       public void setParameters(Hashtable parameters)
           throws ServiceParameterErrorException,
           ServiceParameterMissingException {
  -		// copy/paste of FileDescriptorsStoreNoVersioning
  -		
  -		
  +        // copy/paste of FileDescriptorsStoreNoVersioning
  +        
  +        
           // A parameter will tell were serialization files are.
           rootpath = (String) parameters.get("rootpath");
           if (rootpath == null) {
  -            // Default is that files are stored starting in the 
  +            // Default is that files are stored starting in the
               // current directory
               rootpath = "";
           }
  -		System.out.println("----------- XMLMemDescriptorsStore setParameters rootpath="+rootpath);
  +        // System.out.println("----------- XMLMemDescriptorsStore setParameters rootpath="+rootpath);
       }
       
       
  @@ -147,7 +147,7 @@
        */
       public synchronized void connect()
           throws ServiceConnectionFailedException {
  -		System.out.println("----------- XMLMemDescriptorsStore connect definitions="+definitions);
  +        // System.out.println("----------- XMLMemDescriptorsStore connect definitions="+definitions);
           if (definitions == null) {
               definitions = new Hashtable();
           }
  @@ -173,8 +173,8 @@
       public synchronized void initialize(NamespaceAccessToken token)
           throws ServiceInitializationFailedException {
           super.initialize(token);
  -		System.out.println("----------- XMLMemDescriptorsStore initialize token="+token);
  -		definitions = new Hashtable();
  +        // System.out.println("----------- XMLMemDescriptorsStore initialize token="+token);
  +        definitions = new Hashtable();
       }
       
       
  @@ -185,8 +185,8 @@
        */
       public synchronized void reset()
           throws ServiceResetFailedException {
  -		
  -		definitions = new Hashtable();
  +        
  +        definitions = new Hashtable();
       }
       
       
  @@ -226,21 +226,21 @@
       public ObjectNode retrieveObject(Uri uri)
           throws ServiceAccessException, ObjectNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore retrieveObject uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore retrieveObject uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			File aFile=UriProperties.getFile(rootpath,uri);
  -			if (aFile.exists()) {
  -				try {
  -					aProps=new UriProperties(rootpath,uri);
  -				}
  -				catch (ServiceAccessException e) {
  -					throw new ObjectNotFoundException(uri);
  -				}
  -				definitions.put(uri.toString(),aProps);
  -			}
  -			else {
  -				throw new ObjectNotFoundException(uri);
  -			}
  +            File aFile=UriProperties.getFile(rootpath,uri);
  +            if (aFile.exists()) {
  +                try {
  +                    aProps=new UriProperties(rootpath,uri);
  +                }
  +                catch (ServiceAccessException e) {
  +                    throw new ObjectNotFoundException(uri);
  +                }
  +                definitions.put(uri.toString(),aProps);
  +            }
  +            else {
  +                throw new ObjectNotFoundException(uri);
  +            }
           }
           return aProps.retrieveObject(uri);
       }
  @@ -256,17 +256,17 @@
       public void storeObject(Uri uri, ObjectNode object)
           throws ServiceAccessException, ObjectNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		try {
  -			if (aProps == null) {
  -				aProps=new UriProperties(rootpath,uri);
  -				definitions.put(uri.toString(),aProps);
  -			}
  -		}
  -		catch (Throwable t) {
  -			t.printStackTrace();
  -		}
  -		aProps.storeObject(uri,object);
  -		System.out.println("----------- XMLMemDescriptorsStore storeObject 3/n uri="+uri+" aProps="+aProps);
  +        try {
  +            if (aProps == null) {
  +                aProps=new UriProperties(rootpath,uri);
  +                definitions.put(uri.toString(),aProps);
  +            }
  +        }
  +        catch (Throwable t) {
  +            t.printStackTrace();
  +        }
  +        aProps.storeObject(uri,object);
  +        // System.out.println("----------- XMLMemDescriptorsStore storeObject 3/n uri="+uri+" aProps="+aProps);
   
       }
       
  @@ -283,14 +283,14 @@
       public void createObject(Uri uri, ObjectNode object)
           throws ServiceAccessException, ObjectAlreadyExistsException {
           try {
  -			UriProperties aProps = getUriProperties(uri);
  -			System.out.println("----------- XMLMemDescriptorsStore 1/n createObject uri="+uri+" aProps="+aProps);
  -			if (aProps == null) {
  -				storeObject(uri,object);
  +            UriProperties aProps = getUriProperties(uri);
  +            // System.out.println("----------- XMLMemDescriptorsStore 1/n createObject uri="+uri+" aProps="+aProps);
  +            if (aProps == null) {
  +                storeObject(uri,object);
  +            }
  +            else {
  +                aProps.createObject(uri, object);
               }
  -			else {
  -				aProps.createObject(uri, object);
  -			}
           } catch(ObjectNotFoundException e) {
               // Never happens
           }
  @@ -306,13 +306,13 @@
        */
       public void removeObject(Uri uri, ObjectNode object)
           throws ServiceAccessException, ObjectNotFoundException {
  -		UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore removeObject 1/n uri="+uri+" aProps="+aProps);
  -		if (aProps == null) {
  +        UriProperties aProps = getUriProperties(uri);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeObject 1/n uri="+uri+" aProps="+aProps);
  +        if (aProps == null) {
               throw new ObjectNotFoundException(uri);
           }
           aProps.removeObject(uri,object);
  -		System.out.println("----------- XMLMemDescriptorsStore removeObject 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeObject 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -325,13 +325,13 @@
       public void grantPermission(Uri uri, NodePermission permission)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore grantPermission 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore grantPermission 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
           }
  -		aProps.grantPermission(uri,permission);
  -		System.out.println("----------- XMLMemDescriptorsStore grantPermission 2/n uri="+uri+" aProps="+aProps);
  +        aProps.grantPermission(uri,permission);
  +        // System.out.println("----------- XMLMemDescriptorsStore grantPermission 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -344,11 +344,11 @@
       public void revokePermission(Uri uri, NodePermission permission)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore revokePermission 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore revokePermission 1/n uri="+uri+" aProps="+aProps);
           if (aProps != null) {
  -			aProps.revokePermission(uri,permission);
  +            aProps.revokePermission(uri,permission);
           }
  -		System.out.println("----------- XMLMemDescriptorsStore revokePermission 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore revokePermission 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -361,11 +361,11 @@
       public void revokePermissions(Uri uri)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore revokePermissions 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore revokePermissions 1/n uri="+uri+" aProps="+aProps);
           if (aProps != null) {
  -			aProps.revokePermissions(uri);
  +            aProps.revokePermissions(uri);
           }
  -		System.out.println("----------- XMLMemDescriptorsStore revokePermissions 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore revokePermissions 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -378,13 +378,13 @@
       public Enumeration enumeratePermissions(Uri uri)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore enumeratePermissions 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore enumeratePermissions 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			return new Vector().elements();
  +            return new Vector().elements();
           }
           else {
  -			return aProps.enumeratePermissions();
  -		}
  +            return aProps.enumeratePermissions();
  +        }
       }
       
       
  @@ -397,13 +397,13 @@
       public void putLock(Uri uri, NodeLock lock)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore putLock 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore putLock 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
           }
  -		aProps.putLock(uri,lock);
  -		System.out.println("----------- XMLMemDescriptorsStore putLock 2/n uri="+uri+" aProps="+aProps);
  +        aProps.putLock(uri,lock);
  +        // System.out.println("----------- XMLMemDescriptorsStore putLock 2/n uri="+uri+" aProps="+aProps);
        }
       
       
  @@ -417,13 +417,13 @@
       public void renewLock(Uri uri, NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore renewLock 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore renewLock 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
           }
  -		aProps.renewLock(uri,lock);
  -		System.out.println("----------- XMLMemDescriptorsStore renewLock 2/n uri="+uri+" aProps="+aProps);
  +        aProps.renewLock(uri,lock);
  +        // System.out.println("----------- XMLMemDescriptorsStore renewLock 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -437,13 +437,13 @@
       public void removeLock(Uri uri, NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore removeLock 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeLock 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
               throw new LockTokenNotFoundException(lock);
           } else {
  -			aProps.removeLock(uri,lock);
  +            aProps.removeLock(uri,lock);
           }
  -		System.out.println("----------- XMLMemDescriptorsStore removeLock 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeLock 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -470,13 +470,13 @@
       public Enumeration enumerateLocks(Uri uri)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore enumerateLocks 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore enumerateLocks 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			return new Vector().elements();
  +            return new Vector().elements();
           }
           else {
  -			return aProps.enumerateLocks();
  -		}
  +            return aProps.enumerateLocks();
  +        }
       }
       
       
  @@ -491,11 +491,11 @@
       public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
  -		System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
           return aProps.retrieveRevisionDescriptors(uri);
       }
       
  @@ -511,13 +511,13 @@
           (Uri uri, NodeRevisionDescriptors revisionDescriptors)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
           }
  -		aProps.createRevisionDescriptors(uri,revisionDescriptors);
  -		System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
  +        aProps.createRevisionDescriptors(uri,revisionDescriptors);
  +        // System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -534,12 +534,12 @@
           (Uri uri, NodeRevisionDescriptors revisionDescriptors)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
           aProps.storeRevisionDescriptors(uri, revisionDescriptors);
  -		System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -552,11 +552,11 @@
       public void removeRevisionDescriptors(Uri uri)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptors 1/n uri="+uri+" aProps="+aProps);
           if (aProps != null) {
  -			aProps.removeRevisionDescriptors(uri);
  +            aProps.removeRevisionDescriptors(uri);
           }
  -		System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptors 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -569,20 +569,20 @@
       public NodeRevisionDescriptor retrieveRevisionDescriptor (Uri uri, NodeRevisionNumber revisionNumber)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
  +        }
  +        // System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 2/n uri="+uri+" revisionNumber="+revisionNumber);
  +        try {
  +            return aProps.retrieveRevisionDescriptor(uri,revisionNumber);
  +        }
  +        catch (RevisionDescriptorNotFoundException e) {
  +            // System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 3/n uri="+uri+" aProps="+aProps);
  +            e.printStackTrace();
  +            throw e;
           }
  -		System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 2/n uri="+uri+" revisionNumber="+revisionNumber);
  -		try {
  -			return aProps.retrieveRevisionDescriptor(uri,revisionNumber);
  -		}
  -		catch (RevisionDescriptorNotFoundException e) {
  -			System.out.println("----------- XMLMemDescriptorsStore retrieveRevisionDescriptor 3/n uri="+uri+" aProps="+aProps);
  -			e.printStackTrace();
  -			throw e;
  -		}
       }
       
       
  @@ -597,13 +597,13 @@
           (Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
  -			aProps=new UriProperties(rootpath,uri);
  -			definitions.put(uri.toString(),aProps);
  +            aProps=new UriProperties(rootpath,uri);
  +            definitions.put(uri.toString(),aProps);
           }
  -		aProps.createRevisionDescriptor(uri,revisionDescriptor);
  -		System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
  +        aProps.createRevisionDescriptor(uri,revisionDescriptor);
  +        // System.out.println("----------- XMLMemDescriptorsStore createRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -619,12 +619,12 @@
       public void storeRevisionDescriptor(Uri uri, NodeRevisionDescriptor revisionDescriptor)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
           if (aProps == null) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
  -		aProps.storeRevisionDescriptor(uri,revisionDescriptor);
  -		System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
  +        aProps.storeRevisionDescriptor(uri,revisionDescriptor);
  +        // System.out.println("----------- XMLMemDescriptorsStore storeRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
       }
       
       
  @@ -638,11 +638,11 @@
       public void removeRevisionDescriptor(Uri uri, NodeRevisionNumber number)
           throws ServiceAccessException {
           UriProperties aProps = getUriProperties(uri);
  -		System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptor 1/n uri="+uri+" aProps="+aProps);
           if (aProps != null) {
  -			aProps.removeRevisionDescriptor(uri,number);
  +            aProps.removeRevisionDescriptor(uri,number);
           }
  -		System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
  +        // System.out.println("----------- XMLMemDescriptorsStore removeRevisionDescriptor 2/n uri="+uri+" aProps="+aProps);
       }
   
   
  
  
  
  1.4       +489 -487  jakarta-slide/src/stores/slidestore/file/UriProperties.java
  
  Index: UriProperties.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/slidestore/file/UriProperties.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- UriProperties.java	25 Apr 2002 21:15:16 -0000	1.3
  +++ UriProperties.java	10 May 2002 16:22:21 -0000	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/UriProperties.java,v 1.3 2002/04/25 21:15:16 jericho Exp $
  - * $Revision: 1.3 $
  - * $Date: 2002/04/25 21:15:16 $
  + * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/UriProperties.java,v 1.4 2002/05/10 16:22:21 pnever Exp $
  + * $Revision: 1.4 $
  + * $Date: 2002/05/10 16:22:21 $
    *
    * ====================================================================
    *
  @@ -83,8 +83,8 @@
   /**
    * Handles the saving and retreiving of descriptions attached to an Uri</a>
    * @author <a href="mailto:mdecugis@mds-desing.fr">Marc D�cugis</a>
  - * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a> 
  - * @version $Revision: 1.3 $ , $Date: 2002/04/25 21:15:16 $
  + * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a>
  + * @version $Revision: 1.4 $ , $Date: 2002/05/10 16:22:21 $
    */
   
   //----------------------------------------
  @@ -93,491 +93,493 @@
   
   //----------------------------------------
   public class UriProperties extends AbstractUriProperties {
  -	/** A simple date format.*/
  -	protected SimpleDateFormat dateFormat;
  -	
  -	//----------------------------------------
  -	public UriProperties(String aRootPath,Uri aUri) throws ServiceAccessException {
  -		super(aRootPath,aUri);
  -		dateFormat=new SimpleDateFormat();
  -		File aFile=getFile(aUri);
  -		if (aFile.exists()) {
  -			init(aFile);
  -		}
  -	}
  -	// --------------------------------------
  +    /** A simple date format.*/
  +    protected SimpleDateFormat dateFormat;
  +    
  +    //----------------------------------------
  +    public UriProperties(String aRootPath,Uri aUri) throws ServiceAccessException {
  +        super(aRootPath,aUri);
  +        dateFormat=new SimpleDateFormat();
  +        File aFile=getFile(aUri);
  +        if (aFile.exists()) {
  +            init(aFile);
  +        }
  +    }
  +    // --------------------------------------
       public static File getFile(String aRootPath,Uri aUri) {
  -		System.out.println("----------- UriProperties getFile 1/n aUri="+aUri);
  +        // System.out.println("----------- UriProperties getFile 1/n aUri="+aUri);
           // String aRelative = aUri.getRelative();
  -		// System.out.println("----------- UriProperties getFile 2/n aRelative="+aRelative);
  +        // // System.out.println("----------- UriProperties getFile 2/n aRelative="+aRelative);
          //  if (aRelative.equals("")) aRelative = "/";
  -		// System.out.println("----------- UriProperties getFile 3/n aRelative="+aRelative);
  +        // // System.out.println("----------- UriProperties getFile 3/n aRelative="+aRelative);
   
  -		// File aFile = new File(rootpath + aRelative + ".def.xml");
  -		File aFile = new File(aRootPath + aUri + ".def.xml");
  -		File aParentFile = new File(aFile.getParent());
  -		if ((aParentFile != null) && (!aParentFile.exists())) {
  -			aParentFile.mkdirs();
  -		}
  -		return aFile;
  -	}
  -	// --------------------------------------
  +        // File aFile = new File(rootpath + aRelative + ".def.xml");
  +        File aFile = new File(aRootPath + aUri + ".def.xml");
  +        File aParentFile = new File(aFile.getParent());
  +        if ((aParentFile != null) && (!aParentFile.exists())) {
  +            aParentFile.mkdirs();
  +        }
  +        return aFile;
  +    }
  +    // --------------------------------------
       public File getFile(Uri aUri) {
  -		return getFile(rootpath,aUri);
  -	}
  -	// --------------------------------------
  -	public static XMLOutputter getXMLOutputter() {
  -		XMLOutputter aOutputter = new XMLOutputter();
  -		aOutputter.setEncoding("ISO-8859-1");//Unicode
  -		aOutputter.setNewlines(true);
  -		aOutputter.setIndent(true);
  -		aOutputter.setLineSeparator("\n");
  -		//aOutputter.setTextNormalize(true);
  -
  -
  -		return aOutputter;
  -	}
  -	// --------------------------------------
  -	public static String booleanToString(boolean aBoolean) {
  -		return aBoolean ? "true" : "false";
  -	}
  -	//----------------------------------------
  -	//----------------------------------------
  -	//----------------------------------------
  -	
  -	//----------------------------------------
  -	protected void save(Uri aUri) throws ServiceAccessException {
  -		try {
  -			File aFile=getFile(aUri);
  -			System.out.println("--------- save 1/n aFile="+aFile);
  -			Element aRoot=encode();
  -			System.out.println("--------- save 2/n");
  -			Document aDocument=new Document(aRoot);
  -			System.out.println("--------- save 3/n");
  -			OutputStream aOut=new FileOutputStream(aFile);
  -			XMLOutputter aOutputter = getXMLOutputter();
  -			// aOutputter.output(aDocument, System.out);
  -			aOutputter.output(aDocument, aOut);
  -			// if (DEBUG) trace("--------- enregistre 3/n");
  -			System.out.println("--------- save 4/n");
  -			aOut.flush();
  -			aOut.close();
  -			System.out.println("--------- save 5/n");
  -		}
  -		catch (Exception e) {
  -			e.printStackTrace();
  -			throw new ServiceAccessException(null,e);
  -		}
  -	}
  -	//----------------------------------------
  -	protected Element encode() throws ServiceAccessException {
  -		Element aRoot=new Element("data");
  -		aRoot.addContent(encodeObject());
  -		aRoot.addContent(encodePermissions());
  -		aRoot.addContent(encodeLocks());
  -		aRoot.addContent(encodeRevisionDescriptors());
  -		aRoot.addContent(encodeRevisionDescriptor());
  -		return aRoot;
  -	}
  -	// --------------------------------------
  -	public Element encodeObject() {
  -		Element aElementObjectNode=new Element("objectnode");
  -		aElementObjectNode.setAttribute("classname",object.getClass().getName());
  -		aElementObjectNode.setAttribute("uri",object.getUri());
  -		aElementObjectNode.addContent(createElements("childs","child",object.enumerateChildren()));
  -		aElementObjectNode.addContent(createElements("links","link",object.enumerateLinks()));
  -		if (object instanceof LinkNode) {
  -			aElementObjectNode.setAttribute("linkTo",((LinkNode)object).getLinkedUri());
  -		}
  -		return aElementObjectNode;
  -	}
  -	// --------------------------------------
  -	public Element encodePermissions() {
  -		Element aPermissions=new Element("permissions");
  -		if (permissions==null) return aPermissions;
  -		
  -		for (int aSize=permissions.size(),i=0;i<aSize;i++) {
  -			NodePermission aPermission=(NodePermission)permissions.elementAt(i);
  -			aPermissions.addContent(encodeNodePermission(aPermission));
  -		}
  -		return aPermissions;
  -	}
  -	// --------------------------------------
  -	public Element encodeNodePermission(NodePermission aPermission) {
  -		Element aElementPermission=new Element("permission");
  -		NodeRevisionNumber aRevisionNumber=aPermission.getRevisionNumber();
  -		if (aRevisionNumber!=null) {
  -			aElementPermission.setAttribute("revisionNumber",encodeRevisionNumber(aRevisionNumber));
  -		}
  -		aElementPermission.setAttribute("subjectUri",aPermission.getSubjectUri());
  -		aElementPermission.setAttribute("actionUri",aPermission.getActionUri());
  -		aElementPermission.setAttribute("inheritable",booleanToString(aPermission.isInheritable()));
  -		aElementPermission.setAttribute("negative",booleanToString(aPermission.isNegative()));
  -		return aElementPermission;
  -    }
  -	// --------------------------------------
  -	public Element encodeLocks() {
  -		Element aElementLocks=new Element("locks");
  -		if (locks==null) return aElementLocks;
  -		
  -		for (int aSize=locks.size(),i=0;i<aSize;i++) {
  -			NodeLock aLock=(NodeLock)locks.elementAt(i);
  -			Element aElementLock=new Element("lock");
  -			aElementLock.setAttribute("subjectUri",aLock.getSubjectUri());
  -			aElementLock.setAttribute("typeUri",aLock.getTypeUri());
  -			aElementLock.setAttribute("date",dateFormat.format(aLock.getExpirationDate()));
  -			aElementLock.setAttribute("inheritance",booleanToString(aLock.isInheritable()));
  -			aElementLock.setAttribute("exclusive",booleanToString(aLock.isExclusive()));
  -			aElementLock.setAttribute("lockId",aLock.getLockId());
  -			aElementLocks.addContent(aElementLock);
  -		}
  -		return aElementLocks;
  -	}
  -	// --------------------------------------
  -	public Element encodeRevisionDescriptors() {
  -		
  -		Element aRevisionsHistory=new Element("revisionsHistory");
  -		if (revisionDescriptors==null) return aRevisionsHistory;
  -
  -		aRevisionsHistory.setAttribute("initialRevision",encodeRevisionNumber(revisionDescriptors.getInitialRevision()));
  -		aRevisionsHistory.setAttribute("useVersioning",booleanToString(revisionDescriptors.hasRevisions()));
  -		
  -		System.out.println("---------- encodeRevisionDescriptors getLatestRevision="+
  -			revisionDescriptors.getLatestRevision());
  -		
  -		Element aBranchesElement=new Element("branches");
  -		Enumeration aBranches=revisionDescriptors.enumerateBranchNames();
  -		while (aBranches.hasMoreElements()) {
  -			String aBranchName=(String)aBranches.nextElement();
  -			Element aElementBranch=new Element("branch");
  -			aElementBranch.setAttribute("name",aBranchName);
  -			NodeRevisionNumber aRevisionNumber=revisionDescriptors.getLatestRevision(aBranchName);
  -			aElementBranch.setAttribute("lastestRevision",encodeRevisionNumber(aRevisionNumber));
  -			aBranchesElement.addContent(aElementBranch);
  -		}
  -		aRevisionsHistory.addContent(aBranchesElement);
  -		
  -		Element aRevisionsElement=new Element("revisions");
  -		Enumeration aRevisions=revisionDescriptors.enumerateRevisionNumbers();
  -		while (aRevisions.hasMoreElements()) {
  -			NodeRevisionNumber aRevisionNumber=(NodeRevisionNumber)aRevisions.nextElement();
  -			Element aRevisionElement=new Element("branch");
  -			aRevisionElement.setAttribute("start",encodeRevisionNumber(aRevisionNumber));
  -			
  -			Enumeration aSuccessors=revisionDescriptors.getSuccessors(aRevisionNumber);
  -			while (aSuccessors.hasMoreElements()) {
  -				NodeRevisionNumber aSuccessorRevisionNumber=(NodeRevisionNumber)aRevisions.nextElement();
  -				Element aSuccessorRevisionElement=new Element("revision");
  -				aSuccessorRevisionElement.setAttribute("number",encodeRevisionNumber(aSuccessorRevisionNumber));
  -				aRevisionElement.addContent(aSuccessorRevisionElement);
  -			}
  -			aRevisionsElement.addContent(aRevisionElement);
  -		}
  -		aRevisionsHistory.addContent(aRevisionsElement);
  -		
  -		return aRevisionsHistory;
  -	}
  -	// --------------------------------------
  -	public Element encodeRevisionDescriptor() {
  -		Element aRet=new Element("descriptor");
  -		if (descriptor==null) return aRet;
  -
  -		for (Enumeration aEnum=descriptor.elements();aEnum.hasMoreElements();) {
  -			NodeRevisionDescriptor aRevisionDescriptor=(NodeRevisionDescriptor)aEnum.nextElement();
  -			aRet.addContent(encodeRevisionDescriptor(aRevisionDescriptor));
  -		}
  -		return aRet;
  -	}
  -	// --------------------------------------
  -	public Element encodeRevisionDescriptor(NodeRevisionDescriptor aDescriptor) {
  -		Element aRevisions=new Element("revisions");
  -		aRevisions.setAttribute("branchName",aDescriptor.getBranchName());
  -		aRevisions.setAttribute("number",encodeRevisionNumber(aDescriptor.getRevisionNumber()));
  -		aRevisions.addContent(createElements("labels","label",aDescriptor.enumerateLabels()));
  -		Element aProperties=new Element("properties");		
  -		
  -		for (Enumeration aEnum=aDescriptor.enumerateProperties();aEnum.hasMoreElements();) {
  -			Object aObject=aEnum.nextElement();
  -			System.out.println("---------- encodeRevisionDescriptor aObject="+aObject+" "+aObject.getClass().getName());
  -			NodeProperty aProp=(NodeProperty)aObject;
  -			aProperties.addContent(encodeNodeProperty(aProp));
  -		}
  -		aRevisions.addContent(aProperties);
  -		return aRevisions;
  -	}
  -	// --------------------------------------
  -	public String encodeRevisionNumber(NodeRevisionNumber aRevisionNumber) {
  -		return aRevisionNumber.getMajor()+"."+aRevisionNumber.getMinor();
  -	}
  -	// --------------------------------------
  -	public Element encodeNodeProperty(NodeProperty aProp) {
  -		Element aElement=new Element("property");
  -		aElement.setAttribute("name",aProp.getName());
  -		aElement.setAttribute("namespace",aProp.getNamespace());
  -		aElement.setAttribute("value",aProp.getValue().toString());
  -		aElement.setAttribute("type",aProp.getType());
  -		aElement.setAttribute("protected",booleanToString(aProp.isProtected()));
  -		Element aPermissions=new Element("permissions");
  -		
  -		for (Enumeration aEnum=aProp.enumeratePermissions();aEnum.hasMoreElements();) {
  -			NodePermission aPermission=(NodePermission)aEnum.nextElement();
  -			aPermissions.addContent(encodeNodePermission(aPermission));
  -		}
  -		aElement.addContent(aPermissions);
  -		return aElement;
  -	}
  -	// --------------------------------------
  -	public Element createElements(String aParent,String aChild,Enumeration aEnum) {
  -		Element aElement=new Element(aParent);
  -		while (aEnum.hasMoreElements()) {
  -			Object aObject=aEnum.nextElement();
  -			Element aItem=new Element(aChild);
  -			aItem.setAttribute("val",aObject.toString());
  -			aElement.addContent(aItem);
  -		}
  -		return aElement;
  -	}
  -	//----------------------------------------
  -	//----------------------------------------
  -	//----------------------------------------
  -	
  -	//----------------------------------------
  -	protected void init(File aFile) throws ServiceAccessException {
  -		try {
  -			System.out.println("--------- init 1/n aFile="+aFile);
  -			SAXBuilder aBuilder=new SAXBuilder();
  -			FileInputStream aIn=new FileInputStream(aFile);
  -			Document aDocument=aBuilder.build(aIn);
  -			System.out.println("--------- init 2/n");
  -			decode(aDocument.getRootElement());
  -			System.out.println("--------- init 3/n");
  -			aIn.close();
  -			System.out.println("--------- init 5/n");
  -		}
  -		catch (Exception e) {
  -			e.printStackTrace();
  -			throw new ServiceAccessException(null,e);
  -		}
  -	}
  -	//----------------------------------------
  -	protected void decode(Element aRoot) throws ServiceAccessException {
  -		decodeObject(aRoot);
  -		decodePermissions(aRoot);
  -		decodeLocks(aRoot);
  -		decodeRevisionDescriptors(aRoot);
  -		decodeRevisionDescriptor(aRoot);
  -	}
  -	// --------------------------------------
  -	public void decodeObject(Element aElement) throws ServiceAccessException {
  -		try {
  -			Element aElementObjectNode=aElement.getChild("objectnode");
  -			String aClasseName=aElementObjectNode.getAttributeValue("classname");
  -			String aUri=aElementObjectNode.getAttributeValue("uri");
  -			Vector aChilds=createVector(aElementObjectNode,"childs","child");
  -			Vector aLinks=createVector(aElementObjectNode,"links","link");
  -			System.out.println("--------- decodeObject  aChilds="+aChilds);
  -			System.out.println("--------- decodeObject  aLinks="+aLinks);
  -			Class aTypes[] = null;
  -			Object aArgs[] = null;
  -
  -			if (aClasseName.equals(LinkNode.class.getName())) {
  -				String aLinkTo=aElementObjectNode.getAttributeValue("linkTo");
  -				aTypes= new Class[]{String.class,Vector.class,Vector.class,String.class};
  -				aArgs= new Object[]{aUri, aChilds, aLinks,aLinkTo};
  -			}
  -			else {
  -				aTypes=new Class[] {String.class,Vector.class,Vector.class};
  -				aArgs=new Object[] {aUri, aChilds, aLinks};
  -			}
  -			object=(ObjectNode) createObject(aClasseName,aTypes,aArgs);
  -		}
  -		catch (Exception e) {
  -			e.printStackTrace();
  -			throw new ServiceAccessException(null,e);
  -		}
  -	}
  -	
  -	// --------------------------------------
  -	public void decodePermissions(Element aElement) {
  -		permissions=new Vector();
  -		String aUri=object.getUri().toString();
  -		Element aPermissions=aElement.getChild("permissions");
  -		List aList=aPermissions.getChildren();
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			permissions.addElement(decodePermission(aChild,aUri));
  -		}
  -	}
  -	// --------------------------------------
  -	public void decodeLocks(Element aElement) throws ServiceAccessException {
  -		try {
  -			locks=new Vector();
  -			Element aElementLocks=aElement.getChild("locks");
  -			List aList=aElementLocks.getChildren();
  -			
  -			for (int i=0;i<aList.size();i++) {
  -				Element aChild=(Element)aList.get(i);
  -				String aSubject=aChild.getAttributeValue("subjectUri");
  -				String aType=aChild.getAttributeValue("typeUri");
  -				Date aDateExpiration=dateFormat.parse(aChild.getAttributeValue("date"));
  -				boolean aInheritable=Boolean.getBoolean(aChild.getAttributeValue("inheritance"));
  -				boolean aNegative=Boolean.getBoolean(aChild.getAttributeValue("exclusive"));
  -				String aLockId=aChild.getAttributeValue("lockId");
  -				locks.addElement(
  -					new NodeLock(aLockId,object.getUri(),aSubject,aType,aDateExpiration,aInheritable,aNegative)
  -				);
  -			}
  -		}
  -		catch (Exception e) {
  -			e.printStackTrace();
  -			throw new ServiceAccessException(null,e);
  -		}
  -		
  -	}
  -	// --------------------------------------
  -	public void decodeRevisionDescriptors(Element aElement) {
  -		Element aRevisionsHistory=aElement.getChild("revisionsHistory");
  -
  -		NodeRevisionNumber aInitialRevision=decodeRevisionNumber(aRevisionsHistory.getAttributeValue("initialRevision"));
  -		boolean aUseVersionning=Boolean.getBoolean(aRevisionsHistory.getAttributeValue("useVersioning"));
  -
  -		Element aBranchesElement=aElement.getChild("branches");
  -		if (aBranchesElement==null) {
  -			revisionDescriptors=new NodeRevisionDescriptors(
  -				object.getUri().toString(),aInitialRevision,new Hashtable(),new Hashtable(),new Hashtable(),aUseVersionning);			
  -				return; 
  -		}
  -		
  -		List aList=aBranchesElement.getChildren();
  -		Hashtable aLastestRevisions=new Hashtable();
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			String aName=aChild.getAttributeValue("name");
  -			NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("lastestRevision"));
  -			aLastestRevisions.put(aName,aRevisionNumber);
  -		}
  -		Hashtable aBranches=new Hashtable();
  -		Element aRevisionsElement=aElement.getChild("revisions");
  -		aList=aRevisionsElement.getChildren();
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			NodeRevisionNumber aStartNumber=decodeRevisionNumber(aChild.getAttributeValue("start"));
  -			List aSuccessors=aChild.getChildren();
  -			Vector aSuccessorsNumbers=new Vector();
  -			for (int k=0;k<aSuccessors.size();k++) {
  -				Element aSuccessor=(Element)aSuccessors.get(i);
  -				NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("number"));
  -				aSuccessorsNumbers.addElement(aRevisionNumber);
  -			}
  -			aBranches.put(aStartNumber,aSuccessorsNumbers);
  -		}
  -		revisionDescriptors=new NodeRevisionDescriptors(
  -				object.getUri().toString(),aInitialRevision,new Hashtable(),aLastestRevisions,aBranches,aUseVersionning);
  -	}
  -	// --------------------------------------
  -	public void decodeRevisionDescriptor(Element aParent) {
  -		descriptor=new Hashtable();
  -		
  -		Element aElement=aParent.getChild("descriptor");
  -		if (aElement==null) return;
  -		
  -		List aList=aElement.getChildren();
  -		String aUri=object.getUri().toString();
  -		
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			String aBranchName=aChild.getAttributeValue("branchName");
  -			NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("number"));
  -
  -			Vector aLabels=new Vector();
  -			Element aLabelsElement=(Element)aChild.getChild("labels");
  -			List aLabelList=aLabelsElement.getChildren();
  -			for (int k=0;k<aLabelList.size();k++) {
  -				Element aLabel=(Element)aLabelList.get(i);
  -				aLabels.addElement(aLabel.getAttributeValue("val"));
  -			}
  -
  -			Hashtable aProperties=new Hashtable();
  -			Element aPropertiesElement=(Element)aChild.getChild("properties");
  -			List aPropertiesList=aPropertiesElement.getChildren();
  -			for (int k=0;k<aPropertiesList.size();k++) {
  -				Element aPropertie=(Element)aPropertiesList.get(i);
  -				NodeProperty aProp=decodeNodeProperty(aPropertie,aUri);
  -				aProperties.put(aPropertie.getNamespace() + aPropertie.getName(),aProp);
  -			}
  -			NodeRevisionDescriptor aNode=new NodeRevisionDescriptor(aRevisionNumber,aBranchName,aLabels,aProperties);
  -			descriptor.put(aRevisionNumber,aNode);
  -		}		
  -	}
  -	// --------------------------------------
  -	public NodePermission decodePermission(Element aElement,String aUri) {
  -		String aRevisionNumber=aElement.getAttributeValue("revisionNumber");
  -		String aSubject=aElement.getAttributeValue("subjectUri");
  -		String aAction=aElement.getAttributeValue("actionUri");
  -		boolean aInheritable=Boolean.getBoolean(aElement.getAttributeValue("inheritable"));
  -		boolean aNegative=Boolean.getBoolean(aElement.getAttributeValue("negative"));
  -		return new NodePermission(aUri,aRevisionNumber,aSubject,aAction,aInheritable,aNegative);
  -
  -	}
  -	// --------------------------------------
  -	public NodeRevisionNumber decodeRevisionNumber(Element aElement) {
  -		Element aElementRevision=aElement.getChild("revision");
  -		return new NodeRevisionNumber(Integer.parseInt(aElementRevision.getAttributeValue("major")),
  -									  Integer.parseInt(aElementRevision.getAttributeValue("minor")));
  -	}
  -	// --------------------------------------
  -	public NodeRevisionNumber decodeRevisionNumber(String aStr) {
  -		return (aStr==null ? null : new NodeRevisionNumber(aStr));
  -	}
  -	// --------------------------------------
  -	public NodeProperty decodeNodeProperty(Element aElement,String aUri) {
  -		String aName=aElement.getAttributeValue("name");
  -		String aValue=aElement.getAttributeValue("value");
  -		String aNamespace=aElement.getAttributeValue("namespace");
  -		String aType=aElement.getAttributeValue("type");
  -		boolean aProtected=Boolean.getBoolean(aElement.getAttributeValue("protected"));
  -		
  -		Element aPermisionsElement=aElement.getChild("permissions");
  -		List aList=aPermisionsElement.getChildren();
  -		Vector aPermission=new Vector();
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			aPermission.addElement(decodePermission(aChild,aUri));
  -		}
  -		return new NodeProperty(aName,aValue,aNamespace,aType,aProtected);
  -	}
  -
  -	// --------------------------------------
  -	public Vector createVector(Element aElement,String aParentName,String aChildName) {
  -		Element aParent=aElement.getChild(aParentName);
  -		Vector aRet=new Vector();
  -		System.out.println("--------- createVector  aParentName="+aParentName+" aChildName="+aChildName);
  -		List aList=aParent.getChildren(aChildName);
  -		System.out.println("--------- createVector  aList="+aList);
  -		for (int i=0;i<aList.size();i++) {
  -			Element aChild=(Element)aList.get(i);
  -			aRet.addElement(aChild.getAttributeValue("val"));
  -		}
  -		return aRet;
  -	}
  -	// --------------------------------------
  -	public Object createObject(String aNomClasse,Class aTypes[],Object aArgs[]) throws UnknownObjectClassException {
  -		Class aClasse = null;
  -		try {
  -			// First, load the object's class
  -			aClasse = Class.forName(aNomClasse);
  -			Constructor aConstructor = aClasse.getConstructor(aTypes);
  -			if (aConstructor==null) aConstructor=aClasse.getSuperclass().getConstructor(aTypes);
  -			return aConstructor.newInstance(aArgs);
  -			
  -		}
  -		catch (Exception e) {
  -			throw new UnknownObjectClassException(aNomClasse);
  -		}
  -	}
  -	/*
  -	// --------------------------------------
  -	public Vector decodeObject(Vector aVector,Enumeration aEnum) {
  -	}
  -	*/
  +        return getFile(rootpath,aUri);
  +    }
  +    // --------------------------------------
  +    public static XMLOutputter getXMLOutputter() {
  +        XMLOutputter aOutputter = new XMLOutputter();
  +        aOutputter.setEncoding("ISO-8859-1");//Unicode
  +        aOutputter.setNewlines(true);
  +        aOutputter.setIndent(true);
  +        aOutputter.setLineSeparator("\n");
  +        //aOutputter.setTextNormalize(true);
  +
  +
  +        return aOutputter;
  +    }
  +    // --------------------------------------
  +    public static String booleanToString(boolean aBoolean) {
  +        return aBoolean ? "true" : "false";
  +    }
  +    //----------------------------------------
  +    //----------------------------------------
  +    //----------------------------------------
  +    
  +    //----------------------------------------
  +    protected void save(Uri aUri) throws ServiceAccessException {
  +        try {
  +            File aFile=getFile(aUri);
  +            // System.out.println("--------- save 1/n aFile="+aFile);
  +            Element aRoot=encode();
  +            // System.out.println("--------- save 2/n");
  +            Document aDocument=new Document(aRoot);
  +            // System.out.println("--------- save 3/n");
  +            OutputStream aOut=new FileOutputStream(aFile);
  +            XMLOutputter aOutputter = getXMLOutputter();
  +            // aOutputter.output(aDocument, // System.out);
  +            aOutputter.output(aDocument, aOut);
  +            // if (DEBUG) trace("--------- enregistre 3/n");
  +            // System.out.println("--------- save 4/n");
  +            aOut.flush();
  +            aOut.close();
  +            // System.out.println("--------- save 5/n");
  +        }
  +        catch (Exception e) {
  +            e.printStackTrace();
  +            throw new ServiceAccessException(null,e);
  +        }
  +    }
  +    //----------------------------------------
  +    protected Element encode() throws ServiceAccessException {
  +        Element aRoot=new Element("data");
  +        aRoot.addContent(encodeObject());
  +        aRoot.addContent(encodePermissions());
  +        aRoot.addContent(encodeLocks());
  +        aRoot.addContent(encodeRevisionDescriptors());
  +        aRoot.addContent(encodeRevisionDescriptor());
  +        return aRoot;
  +    }
  +    // --------------------------------------
  +    public Element encodeObject() {
  +        Element aElementObjectNode=new Element("objectnode");
  +        aElementObjectNode.setAttribute("classname",object.getClass().getName());
  +        aElementObjectNode.setAttribute("uri",object.getUri());
  +        aElementObjectNode.addContent(createElements("childs","child",object.enumerateChildren()));
  +        aElementObjectNode.addContent(createElements("links","link",object.enumerateLinks()));
  +        if (object instanceof LinkNode) {
  +            aElementObjectNode.setAttribute("linkTo",((LinkNode)object).getLinkedUri());
  +        }
  +        return aElementObjectNode;
  +    }
  +    // --------------------------------------
  +    public Element encodePermissions() {
  +        Element aPermissions=new Element("permissions");
  +        if (permissions==null) return aPermissions;
  +        
  +        for (int aSize=permissions.size(),i=0;i<aSize;i++) {
  +            NodePermission aPermission=(NodePermission)permissions.elementAt(i);
  +            aPermissions.addContent(encodeNodePermission(aPermission));
  +        }
  +        return aPermissions;
  +    }
  +    // --------------------------------------
  +    public Element encodeNodePermission(NodePermission aPermission) {
  +        Element aElementPermission=new Element("permission");
  +        NodeRevisionNumber aRevisionNumber=aPermission.getRevisionNumber();
  +        if (aRevisionNumber!=null) {
  +            aElementPermission.setAttribute("revisionNumber",encodeRevisionNumber(aRevisionNumber));
  +        }
  +        aElementPermission.setAttribute("subjectUri",aPermission.getSubjectUri());
  +        aElementPermission.setAttribute("actionUri",aPermission.getActionUri());
  +        aElementPermission.setAttribute("inheritable",booleanToString(aPermission.isInheritable()));
  +        aElementPermission.setAttribute("negative",booleanToString(aPermission.isNegative()));
  +        return aElementPermission;
  +    }
  +    // --------------------------------------
  +    public Element encodeLocks() {
  +        Element aElementLocks=new Element("locks");
  +        if (locks==null) return aElementLocks;
  +        
  +        for (int aSize=locks.size(),i=0;i<aSize;i++) {
  +            NodeLock aLock=(NodeLock)locks.elementAt(i);
  +            Element aElementLock=new Element("lock");
  +            aElementLock.setAttribute("subjectUri",aLock.getSubjectUri());
  +            aElementLock.setAttribute("typeUri",aLock.getTypeUri());
  +            aElementLock.setAttribute("date",dateFormat.format(aLock.getExpirationDate()));
  +            aElementLock.setAttribute("inheritance",booleanToString(aLock.isInheritable()));
  +            aElementLock.setAttribute("exclusive",booleanToString(aLock.isExclusive()));
  +            aElementLock.setAttribute("lockId",aLock.getLockId());
  +            aElementLocks.addContent(aElementLock);
  +        }
  +        return aElementLocks;
  +    }
  +    // --------------------------------------
  +    public Element encodeRevisionDescriptors() {
  +        
  +        Element aRevisionsHistory=new Element("revisionsHistory");
  +        if (revisionDescriptors==null) return aRevisionsHistory;
  +
  +        aRevisionsHistory.setAttribute("initialRevision",encodeRevisionNumber(revisionDescriptors.getInitialRevision()));
  +        aRevisionsHistory.setAttribute("useVersioning",booleanToString(revisionDescriptors.hasRevisions()));
  +        
  +        // System.out.println("---------- encodeRevisionDescriptors getLatestRevision="+
  +        //  revisionDescriptors.getLatestRevision());
  +        
  +        Element aBranchesElement=new Element("branches");
  +        Enumeration aBranches=revisionDescriptors.enumerateBranchNames();
  +        while (aBranches.hasMoreElements()) {
  +            String aBranchName=(String)aBranches.nextElement();
  +            Element aElementBranch=new Element("branch");
  +            aElementBranch.setAttribute("name",aBranchName);
  +            NodeRevisionNumber aRevisionNumber=revisionDescriptors.getLatestRevision(aBranchName);
  +            aElementBranch.setAttribute("lastestRevision",encodeRevisionNumber(aRevisionNumber));
  +            aBranchesElement.addContent(aElementBranch);
  +        }
  +        aRevisionsHistory.addContent(aBranchesElement);
  +        
  +        Element aRevisionsElement=new Element("revisions");
  +        Enumeration aRevisions=revisionDescriptors.enumerateRevisionNumbers();
  +        while (aRevisions.hasMoreElements()) {
  +            NodeRevisionNumber aRevisionNumber=(NodeRevisionNumber)aRevisions.nextElement();
  +            Element aRevisionElement=new Element("branch");
  +            aRevisionElement.setAttribute("start",encodeRevisionNumber(aRevisionNumber));
  +            
  +            Enumeration aSuccessors=revisionDescriptors.getSuccessors(aRevisionNumber);
  +            while (aSuccessors.hasMoreElements()) {
  +                NodeRevisionNumber aSuccessorRevisionNumber=(NodeRevisionNumber)aSuccessors.nextElement();
  +                Element aSuccessorRevisionElement=new Element("revision");
  +                aSuccessorRevisionElement.setAttribute("number",encodeRevisionNumber(aSuccessorRevisionNumber));
  +                aRevisionElement.addContent(aSuccessorRevisionElement);
  +            }
  +            aRevisionsElement.addContent(aRevisionElement);
  +        }
  +        aRevisionsHistory.addContent(aRevisionsElement);
  +        
  +        return aRevisionsHistory;
  +    }
  +    // --------------------------------------
  +    public Element encodeRevisionDescriptor() {
  +        Element aRet=new Element("descriptor");
  +        if (descriptor==null) return aRet;
  +
  +        for (Enumeration aEnum=descriptor.elements();aEnum.hasMoreElements();) {
  +            NodeRevisionDescriptor aRevisionDescriptor=(NodeRevisionDescriptor)aEnum.nextElement();
  +            aRet.addContent(encodeRevisionDescriptor(aRevisionDescriptor));
  +        }
  +        return aRet;
  +    }
  +    // --------------------------------------
  +    public Element encodeRevisionDescriptor(NodeRevisionDescriptor aDescriptor) {
  +        Element aRevisions=new Element("revisions");
  +        aRevisions.setAttribute("branchName",aDescriptor.getBranchName());
  +        aRevisions.setAttribute("number",encodeRevisionNumber(aDescriptor.getRevisionNumber()));
  +        aRevisions.addContent(createElements("labels","label",aDescriptor.enumerateLabels()));
  +        Element aProperties=new Element("properties");
  +        
  +        for (Enumeration aEnum=aDescriptor.enumerateProperties();aEnum.hasMoreElements();) {
  +            Object aObject=aEnum.nextElement();
  +            // System.out.println("---------- encodeRevisionDescriptor aObject="+aObject+" "+aObject.getClass().getName());
  +            NodeProperty aProp=(NodeProperty)aObject;
  +            aProperties.addContent(encodeNodeProperty(aProp));
  +        }
  +        aRevisions.addContent(aProperties);
  +        return aRevisions;
  +    }
  +    // --------------------------------------
  +    public String encodeRevisionNumber(NodeRevisionNumber aRevisionNumber) {
  +        return aRevisionNumber.getMajor()+"."+aRevisionNumber.getMinor();
  +    }
  +    // --------------------------------------
  +    public Element encodeNodeProperty(NodeProperty aProp) {
  +        Element aElement=new Element("property");
  +        aElement.setAttribute("name",aProp.getName());
  +        aElement.setAttribute("namespace",aProp.getNamespace());
  +        aElement.setAttribute("value",aProp.getValue().toString());
  +        aElement.setAttribute("type",aProp.getType());
  +        aElement.setAttribute("protected",booleanToString(aProp.isProtected()));
  +        Element aPermissions=new Element("permissions");
  +        
  +        for (Enumeration aEnum=aProp.enumeratePermissions();aEnum.hasMoreElements();) {
  +            NodePermission aPermission=(NodePermission)aEnum.nextElement();
  +            aPermissions.addContent(encodeNodePermission(aPermission));
  +        }
  +        aElement.addContent(aPermissions);
  +        return aElement;
  +    }
  +    // --------------------------------------
  +    public Element createElements(String aParent,String aChild,Enumeration aEnum) {
  +        Element aElement=new Element(aParent);
  +        while (aEnum.hasMoreElements()) {
  +            Object aObject=aEnum.nextElement();
  +            Element aItem=new Element(aChild);
  +            aItem.setAttribute("val",aObject.toString());
  +            aElement.addContent(aItem);
  +        }
  +        return aElement;
  +    }
  +    //----------------------------------------
  +    //----------------------------------------
  +    //----------------------------------------
  +    
  +    //----------------------------------------
  +    protected void init(File aFile) throws ServiceAccessException {
  +        try {
  +            // System.out.println("--------- init 1/n aFile="+aFile);
  +            SAXBuilder aBuilder=new SAXBuilder();
  +            FileInputStream aIn=new FileInputStream(aFile);
  +            Document aDocument=aBuilder.build(aIn);
  +            // System.out.println("--------- init 2/n");
  +            decode(aDocument.getRootElement());
  +            // System.out.println("--------- init 3/n");
  +            aIn.close();
  +            // System.out.println("--------- init 5/n");
  +        }
  +        catch (Exception e) {
  +            e.printStackTrace();
  +            throw new ServiceAccessException(null,e);
  +        }
  +    }
  +    //----------------------------------------
  +    protected void decode(Element aRoot) throws ServiceAccessException {
  +        decodeObject(aRoot);
  +        decodePermissions(aRoot);
  +        decodeLocks(aRoot);
  +        decodeRevisionDescriptors(aRoot);
  +        decodeRevisionDescriptor(aRoot);
  +    }
  +    // --------------------------------------
  +    public void decodeObject(Element aElement) throws ServiceAccessException {
  +        try {
  +            Element aElementObjectNode=aElement.getChild("objectnode");
  +            String aClasseName=aElementObjectNode.getAttributeValue("classname");
  +            String aUri=aElementObjectNode.getAttributeValue("uri");
  +            Vector aChilds=createVector(aElementObjectNode,"childs","child");
  +            Vector aLinks=createVector(aElementObjectNode,"links","link");
  +            // System.out.println("--------- decodeObject  aChilds="+aChilds);
  +            // System.out.println("--------- decodeObject  aLinks="+aLinks);
  +            Class aTypes[] = null;
  +            Object aArgs[] = null;
  +
  +            if (aClasseName.equals(LinkNode.class.getName())) {
  +                String aLinkTo=aElementObjectNode.getAttributeValue("linkTo");
  +                aTypes= new Class[]{String.class,Vector.class,Vector.class,String.class};
  +                aArgs= new Object[]{aUri, aChilds, aLinks,aLinkTo};
  +            }
  +            else {
  +                aTypes=new Class[] {String.class,Vector.class,Vector.class};
  +                aArgs=new Object[] {aUri, aChilds, aLinks};
  +            }
  +            object=(ObjectNode) createObject(aClasseName,aTypes,aArgs);
  +        }
  +        catch (Exception e) {
  +            e.printStackTrace();
  +            throw new ServiceAccessException(null,e);
  +        }
  +    }
  +    
  +    // --------------------------------------
  +    public void decodePermissions(Element aElement) {
  +        permissions=new Vector();
  +        String aUri=object.getUri().toString();
  +        Element aPermissions=aElement.getChild("permissions");
  +        List aList=aPermissions.getChildren();
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            permissions.addElement(decodePermission(aChild,aUri));
  +        }
  +    }
  +    // --------------------------------------
  +    public void decodeLocks(Element aElement) throws ServiceAccessException {
  +        try {
  +            locks=new Vector();
  +            Element aElementLocks=aElement.getChild("locks");
  +            List aList=aElementLocks.getChildren();
  +            
  +            for (int i=0;i<aList.size();i++) {
  +                Element aChild=(Element)aList.get(i);
  +                String aSubject=aChild.getAttributeValue("subjectUri");
  +                String aType=aChild.getAttributeValue("typeUri");
  +                Date aDateExpiration=dateFormat.parse(aChild.getAttributeValue("date"));
  +                boolean aInheritable=Boolean.getBoolean(aChild.getAttributeValue("inheritance"));
  +                boolean aNegative=Boolean.getBoolean(aChild.getAttributeValue("exclusive"));
  +                String aLockId=aChild.getAttributeValue("lockId");
  +                locks.addElement(
  +                    new NodeLock(aLockId,object.getUri(),aSubject,aType,aDateExpiration,aInheritable,aNegative)
  +                );
  +            }
  +        }
  +        catch (Exception e) {
  +            e.printStackTrace();
  +            throw new ServiceAccessException(null,e);
  +        }
  +        
  +    }
  +    // --------------------------------------
  +    public void decodeRevisionDescriptors(Element aElement) {
  +        Element aRevisionsHistory=aElement.getChild("revisionsHistory");
  +
  +        NodeRevisionNumber aInitialRevision=decodeRevisionNumber(aRevisionsHistory.getAttributeValue("initialRevision"));
  +        boolean aUseVersionning=Boolean.getBoolean(aRevisionsHistory.getAttributeValue("useVersioning"));
  +
  +        Element aBranchesElement=aRevisionsHistory.getChild("branches");
  +        if (aBranchesElement==null) {
  +            revisionDescriptors=new NodeRevisionDescriptors(
  +                object.getUri().toString(),aInitialRevision,new Hashtable(),new Hashtable(),new Hashtable(),aUseVersionning);
  +                return;
  +        }
  +        
  +        List aList=aBranchesElement.getChildren();
  +        Hashtable aLastestRevisions=new Hashtable();
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            String aName=aChild.getAttributeValue("name");
  +            NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("lastestRevision"));
  +            aLastestRevisions.put(aName,aRevisionNumber);
  +        }
  +        Hashtable aBranches=new Hashtable();
  +        Element aRevisionsElement=aRevisionsHistory.getChild("revisions");
  +        aList=aRevisionsElement.getChildren();
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            NodeRevisionNumber aStartNumber=decodeRevisionNumber(aChild.getAttributeValue("start"));
  +            List aSuccessors=aChild.getChildren();
  +            Vector aSuccessorsNumbers=new Vector();
  +            for (int k=0;k<aSuccessors.size();k++) {
  +                Element aSuccessor=(Element)aSuccessors.get(k);
  +                NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("number"));
  +                aSuccessorsNumbers.addElement(aRevisionNumber);
  +            }
  +            aBranches.put(aStartNumber,aSuccessorsNumbers);
  +        }
  +        revisionDescriptors=new NodeRevisionDescriptors(
  +                object.getUri().toString(),aInitialRevision,new Hashtable(),aLastestRevisions,aBranches,aUseVersionning);
  +    }
  +    // --------------------------------------
  +    public void decodeRevisionDescriptor(Element aParent) {
  +        descriptor=new Hashtable();
  +        
  +        Element aElement=aParent.getChild("descriptor");
  +        if (aElement==null) return;
  +        
  +        List aList=aElement.getChildren();
  +        String aUri=object.getUri().toString();
  +        
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            String aBranchName=aChild.getAttributeValue("branchName");
  +            NodeRevisionNumber aRevisionNumber=decodeRevisionNumber(aChild.getAttributeValue("number"));
  +
  +            Vector aLabels=new Vector();
  +            Element aLabelsElement=(Element)aChild.getChild("labels");
  +            List aLabelList=aLabelsElement.getChildren();
  +            for (int k=0;k<aLabelList.size();k++) {
  +                Element aLabel=(Element)aLabelList.get(k);
  +                aLabels.addElement(aLabel.getAttributeValue("val"));
  +            }
  +
  +            Hashtable aProperties=new Hashtable();
  +            Element aPropertiesElement=(Element)aChild.getChild("properties");
  +            List aPropertiesList=aPropertiesElement.getChildren();
  +            for (int k=0;k<aPropertiesList.size();k++) {
  +                Element aProperty=(Element)aPropertiesList.get(k);
  +                NodeProperty aProp=decodeNodeProperty(aProperty,aUri);
  +                String key =
  +                    aProperty.getAttributeValue("namespace")+aProperty.getAttributeValue("name");
  +                aProperties.put(key,aProp);
  +            }
  +            NodeRevisionDescriptor aNode=new NodeRevisionDescriptor(aRevisionNumber,aBranchName,aLabels,aProperties);
  +            descriptor.put(aRevisionNumber.toString(),aNode);
  +        }
  +    }
  +    // --------------------------------------
  +    public NodePermission decodePermission(Element aElement,String aUri) {
  +        String aRevisionNumber=aElement.getAttributeValue("revisionNumber");
  +        String aSubject=aElement.getAttributeValue("subjectUri");
  +        String aAction=aElement.getAttributeValue("actionUri");
  +        boolean aInheritable=Boolean.getBoolean(aElement.getAttributeValue("inheritable"));
  +        boolean aNegative=Boolean.getBoolean(aElement.getAttributeValue("negative"));
  +        return new NodePermission(aUri,aRevisionNumber,aSubject,aAction,aInheritable,aNegative);
  +
  +    }
  +    // --------------------------------------
  +    public NodeRevisionNumber decodeRevisionNumber(Element aElement) {
  +        Element aElementRevision=aElement.getChild("revision");
  +        return new NodeRevisionNumber(Integer.parseInt(aElementRevision.getAttributeValue("major")),
  +                                      Integer.parseInt(aElementRevision.getAttributeValue("minor")));
  +    }
  +    // --------------------------------------
  +    public NodeRevisionNumber decodeRevisionNumber(String aStr) {
  +        return (aStr==null ? null : new NodeRevisionNumber(aStr));
  +    }
  +    // --------------------------------------
  +    public NodeProperty decodeNodeProperty(Element aElement,String aUri) {
  +        String aName=aElement.getAttributeValue("name");
  +        String aValue=aElement.getAttributeValue("value");
  +        String aNamespace=aElement.getAttributeValue("namespace");
  +        String aType=aElement.getAttributeValue("type");
  +        boolean aProtected=Boolean.getBoolean(aElement.getAttributeValue("protected"));
  +        
  +        Element aPermisionsElement=aElement.getChild("permissions");
  +        List aList=aPermisionsElement.getChildren();
  +        Vector aPermission=new Vector();
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            aPermission.addElement(decodePermission(aChild,aUri));
  +        }
  +        return new NodeProperty(aName,aValue,aNamespace,aType,aProtected);
  +    }
  +
  +    // --------------------------------------
  +    public Vector createVector(Element aElement,String aParentName,String aChildName) {
  +        Element aParent=aElement.getChild(aParentName);
  +        Vector aRet=new Vector();
  +        // System.out.println("--------- createVector  aParentName="+aParentName+" aChildName="+aChildName);
  +        List aList=aParent.getChildren(aChildName);
  +        // System.out.println("--------- createVector  aList="+aList);
  +        for (int i=0;i<aList.size();i++) {
  +            Element aChild=(Element)aList.get(i);
  +            aRet.addElement(aChild.getAttributeValue("val"));
  +        }
  +        return aRet;
  +    }
  +    // --------------------------------------
  +    public Object createObject(String aNomClasse,Class aTypes[],Object aArgs[]) throws UnknownObjectClassException {
  +        Class aClasse = null;
  +        try {
  +            // First, load the object's class
  +            aClasse = Class.forName(aNomClasse);
  +            Constructor aConstructor = aClasse.getConstructor(aTypes);
  +            if (aConstructor==null) aConstructor=aClasse.getSuperclass().getConstructor(aTypes);
  +            return aConstructor.newInstance(aArgs);
  +            
  +        }
  +        catch (Exception e) {
  +            throw new UnknownObjectClassException(aNomClasse);
  +        }
  +    }
  +    /*
  +    // --------------------------------------
  +    public Vector decodeObject(Vector aVector,Enumeration aEnum) {
  +    }
  +    */
   }
  
  
  
  1.4       +292 -292  jakarta-slide/src/stores/slidestore/file/AbstractUriProperties.java
  
  Index: AbstractUriProperties.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/stores/slidestore/file/AbstractUriProperties.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractUriProperties.java	25 Apr 2002 21:12:27 -0000	1.3
  +++ AbstractUriProperties.java	10 May 2002 16:22:21 -0000	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/AbstractUriProperties.java,v 1.3 2002/04/25 21:12:27 jericho Exp $
  - * $Revision: 1.3 $
  - * $Date: 2002/04/25 21:12:27 $
  + * $Header: /home/cvs/jakarta-slide/src/stores/slidestore/file/AbstractUriProperties.java,v 1.4 2002/05/10 16:22:21 pnever Exp $
  + * $Revision: 1.4 $
  + * $Date: 2002/05/10 16:22:21 $
    *
    * ====================================================================
    *
  @@ -80,101 +80,101 @@
   /**
     * Handles the descriptions attached to an Uri</a>
    * @author <a href="mailto:mdecugis@mds-desing.fr">Marc D�cugis</a>
  - * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a> 
  - * @version $Revision: 1.3 $ , $Date: 2002/04/25 21:12:27 $
  + * @contact <a href="mailto:remm@apache.org">Remy Maucherat</a>
  + * @version $Revision: 1.4 $ , $Date: 2002/05/10 16:22:21 $
   */
   
   //----------------------------------------
   public class AbstractUriProperties  {
  -	
  -	
  -	/** Stored object.*/
  -	protected ObjectNode object;
  -	
  -	/** Permissions vector. */
  -	protected Vector permissions;
  -	
  -	/** Locks vector.*/
  -	protected Vector locks;
  -	
  -	/** Revision descriptors.*/
  -	protected NodeRevisionDescriptors revisionDescriptors;
  -	
  -	/** Revision descriptor hashtable.*/
  -	protected Hashtable descriptor;
  -	
  -	/** The rootpath user to store uri descriptions.*/
  -	protected String rootpath;
  -	
  -	
  -	
  -	//----------------------------------------
  -	public AbstractUriProperties(String aRootPath,Uri aUri) {
  -		rootpath=aRootPath;
  -	}
  -	//----------------------------------------
  -	protected void save(Uri aUri) throws ServiceAccessException {
  -		System.out.println("------------------------------------------------------------------------");
  -		System.out.println("----------- AbstractUriProperties save aUri="+aUri);
  -		System.out.println("----------- AbstractUriProperties save object="+object);
  -		System.out.println("----------- AbstractUriProperties save permissions="+permissions);
  -		System.out.println("----------- AbstractUriProperties save locks="+locks);
  -		System.out.println("----------- AbstractUriProperties save revisionDescriptors="+revisionDescriptors);
  -		System.out.println("----------- AbstractUriProperties save descriptor="+descriptor);
  -		System.out.println("------------------------------------------------------------------------");
  -	}
  +    
  +    
  +    /** Stored object.*/
  +    protected ObjectNode object;
  +    
  +    /** Permissions vector. */
  +    protected Vector permissions;
  +    
  +    /** Locks vector.*/
  +    protected Vector locks;
  +    
  +    /** Revision descriptors.*/
  +    protected NodeRevisionDescriptors revisionDescriptors;
  +    
  +    /** Revision descriptor hashtable.*/
  +    protected Hashtable descriptor;
  +    
  +    /** The rootpath user to store uri descriptions.*/
  +    protected String rootpath;
  +    
  +    
  +    
  +    //----------------------------------------
  +    public AbstractUriProperties(String aRootPath,Uri aUri) {
  +        rootpath=aRootPath;
  +    }
  +    //----------------------------------------
  +    protected void save(Uri aUri) throws ServiceAccessException {
  +        // System.out.println("------------------------------------------------------------------------");
  +        // System.out.println("----------- AbstractUriProperties save aUri="+aUri);
  +        // System.out.println("----------- AbstractUriProperties save object="+object);
  +        // System.out.println("----------- AbstractUriProperties save permissions="+permissions);
  +        // System.out.println("----------- AbstractUriProperties save locks="+locks);
  +        // System.out.println("----------- AbstractUriProperties save revisionDescriptors="+revisionDescriptors);
  +        // System.out.println("----------- AbstractUriProperties save descriptor="+descriptor);
  +        // System.out.println("------------------------------------------------------------------------");
  +    }
      
  -	//----------------------------------------
  -	//----------------------------------------
  -	//----------------------------------------
  -	
  -	//----------------------------------------
  -	/**
  -	* Retrive an object from the Descriptors Store.
  -	*
  -	* @param uri Uri of the object we want to retrieve
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	* @exception ObjectNotFoundException The object to retrieve was not found
  -	*/
  -	//----------------------------------------
  -	public ObjectNode retrieveObject(Uri uri)
  +    //----------------------------------------
  +    //----------------------------------------
  +    //----------------------------------------
  +    
  +    //----------------------------------------
  +    /**
  +    * Retrive an object from the Descriptors Store.
  +    *
  +    * @param uri Uri of the object we want to retrieve
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    * @exception ObjectNotFoundException The object to retrieve was not found
  +    */
  +    //----------------------------------------
  +    public ObjectNode retrieveObject(Uri uri)
           throws ServiceAccessException, ObjectNotFoundException {
  -		System.out.println("----------- AbstractUriProperties retrieveObject uri="+uri+" object="+object);
  +        // System.out.println("----------- AbstractUriProperties retrieveObject uri="+uri+" object="+object);
           if (object == null) {
               throw new ObjectNotFoundException(uri);
           }
  -		System.out.println("----------- AbstractUriProperties retrieveObject uri="+uri+" object="+object);
  +        // System.out.println("----------- AbstractUriProperties retrieveObject uri="+uri+" object="+object);
           return object.cloneObject();
       }
   
  -	//----------------------------------------
  -	/**
  -	* Store an object in the Descriptors Store.
  -	*
  -	* @param object Object to update
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	* @exception ObjectNotFoundException The object to update was not found
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Store an object in the Descriptors Store.
  +    *
  +    * @param object Object to update
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    * @exception ObjectNotFoundException The object to update was not found
  +    */
  +    //----------------------------------------
       public void storeObject(Uri uri,ObjectNode aObject)
           throws ServiceAccessException, ObjectNotFoundException {
  -		System.out.println("----------- AbstractUriProperties storeObject uri="+uri+" object="+object);
  +        // System.out.println("----------- AbstractUriProperties storeObject uri="+uri+" object="+object);
           object=aObject.cloneObject();
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Create a new object in the Descriptors Store.
  -	*
  -	* @param object SlideObject
  -	* @param uri Uri of the object we want to create
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	* @exception ObjectAlreadyExistsException An object already exists
  -	* at this Uri
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Create a new object in the Descriptors Store.
  +    *
  +    * @param object SlideObject
  +    * @param uri Uri of the object we want to create
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    * @exception ObjectAlreadyExistsException An object already exists
  +    * at this Uri
  +    */
  +    //----------------------------------------
       public void createObject(Uri uri,ObjectNode aObject)
           throws ServiceAccessException, ObjectAlreadyExistsException {
           try {
  @@ -185,79 +185,79 @@
           } catch(ObjectNotFoundException e) {
               // Never happens
           }
  -		System.out.println("----------- AbstractUriProperties createObject uri="+uri+" object="+object);
  +        // System.out.println("----------- AbstractUriProperties createObject uri="+uri+" object="+object);
       }
  -	//----------------------------------------
  -	/**
  -	* Remove an object from the Descriptors Store.
  -	*
  -	* @param object Object to remove
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	* @exception ObjectNotFoundException The object to remove was not found
  -	*/
  -	//----------------------------------------
  -	public void removeObject(Uri uri, ObjectNode aObject)
  +    //----------------------------------------
  +    /**
  +    * Remove an object from the Descriptors Store.
  +    *
  +    * @param object Object to remove
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    * @exception ObjectNotFoundException The object to remove was not found
  +    */
  +    //----------------------------------------
  +    public void removeObject(Uri uri, ObjectNode aObject)
           throws ServiceAccessException, ObjectNotFoundException {
           object=null;
  -		System.out.println("----------- AbstractUriProperties removeObject uri="+uri+" object="+object);
  +        // System.out.println("----------- AbstractUriProperties removeObject uri="+uri+" object="+object);
       }
           
  -	//----------------------------------------
  -	/**
  -	* Store an object permissions in the Descriptors Store.
  -	*
  -	* @param permission Permission we want to create
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Store an object permissions in the Descriptors Store.
  +    *
  +    * @param permission Permission we want to create
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    */
  +    //----------------------------------------
       public void grantPermission(Uri uri,NodePermission permission)
           throws ServiceAccessException {
           if (permissions == null) permissions = new Vector();
           permissions.addElement(permission.cloneObject());
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Store an object permissions in the Descriptors Store.
  -	*
  -	* @param permission Permission we want to create
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Store an object permissions in the Descriptors Store.
  +    *
  +    * @param permission Permission we want to create
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    */
  +    //----------------------------------------
       public void revokePermission(Uri uri,NodePermission permission)
           throws ServiceAccessException {
  -        if (permissions != null) 
  -			permissions.removeElement(permission);
  -		save(uri);
  +        if (permissions != null)
  +            permissions.removeElement(permission);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Revoke all the permissions on the object .
  -	*
  -	* @param permission Permission we want to create
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Revoke all the permissions on the object .
  +    *
  +    * @param permission Permission we want to create
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    */
  +    //----------------------------------------
       public void revokePermissions(Uri uri)
           throws ServiceAccessException {
  -        if (permissions != null) 
  -			permissions.removeAllElements();
  -		save(uri);
  +        if (permissions != null)
  +            permissions.removeAllElements();
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Store an object permissions in the Descriptors Store.
  -	*
  -	* @param permission Permission we want to create
  -	* @exception ServiceAccessException Error accessing the Descriptors Store
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Store an object permissions in the Descriptors Store.
  +    *
  +    * @param permission Permission we want to create
  +    * @exception ServiceAccessException Error accessing the Descriptors Store
  +    */
  +    //----------------------------------------
       public Enumeration enumeratePermissions()
           throws ServiceAccessException {
           if (permissions == null) permissions = new Vector();
  @@ -265,165 +265,165 @@
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Puts a lock on a subject.
  -	*
  -	* @param lock Lock token
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Puts a lock on a subject.
  +    *
  +    * @param lock Lock token
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
       public void putLock(Uri uri, NodeLock lock)
           throws ServiceAccessException {
           if (locks == null) locks = new Vector();
           locks.addElement(lock.cloneObject());
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Renews a lock.
  -	*
  -	* @param lock Token to renew
  -	* @exception ServiceAccessException Service access error
  -	* @exception LockTokenNotFoundException Lock token was not found
  -	*/
  -	//----------------------------------------
  -	 public void renewLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException {
  +    //----------------------------------------
  +    /**
  +    * Renews a lock.
  +    *
  +    * @param lock Token to renew
  +    * @exception ServiceAccessException Service access error
  +    * @exception LockTokenNotFoundException Lock token was not found
  +    */
  +    //----------------------------------------
  +     public void renewLock(Uri uri, NodeLock lock) throws ServiceAccessException, LockTokenNotFoundException {
           if (locks == null) locks = new Vector();
  -		 boolean wasPresent = locks.removeElement(lock);
  -		 if (!wasPresent) {
  -			 throw new LockTokenNotFoundException(lock);
  -		 }
  -		 locks.addElement(lock.cloneObject());
  -		save(uri);
  -	 }
  +         boolean wasPresent = locks.removeElement(lock);
  +         if (!wasPresent) {
  +             throw new LockTokenNotFoundException(lock);
  +         }
  +         locks.addElement(lock.cloneObject());
  +        save(uri);
  +     }
   
       
  -	//----------------------------------------
  -	/**
  -	* Removes (cancels) a lock.
  -	*
  -	* @param lock Token to remove
  -	* @exception ServiceAccessException Service access error
  -	* @exception LockTokenNotFoundException Lock token was not found
  -	*/
  -	//----------------------------------------
  +    //----------------------------------------
  +    /**
  +    * Removes (cancels) a lock.
  +    *
  +    * @param lock Token to remove
  +    * @exception ServiceAccessException Service access error
  +    * @exception LockTokenNotFoundException Lock token was not found
  +    */
  +    //----------------------------------------
       public void removeLock(Uri uri,NodeLock lock)
           throws ServiceAccessException, LockTokenNotFoundException {
  -		
  -		if (locks == null) {
  -			throw new LockTokenNotFoundException(lock);
  -		}
  -		boolean wasPresent = locks.removeElement(lock);
  -		if (!wasPresent) {
  -			throw new LockTokenNotFoundException(lock);
  -		}
  -		save(uri);
  -	}
  -    
  -	//----------------------------------------
  -	/**
  -	* Returns the list of locks put on a subject.
  -	*
  -	* @param subject Subject
  -	* @return Enumeration List of locks which have been put on the subject
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  -	public Enumeration enumerateLocks()
  +        
  +        if (locks == null) {
  +            throw new LockTokenNotFoundException(lock);
  +        }
  +        boolean wasPresent = locks.removeElement(lock);
  +        if (!wasPresent) {
  +            throw new LockTokenNotFoundException(lock);
  +        }
  +        save(uri);
  +    }
  +    
  +    //----------------------------------------
  +    /**
  +    * Returns the list of locks put on a subject.
  +    *
  +    * @param subject Subject
  +    * @return Enumeration List of locks which have been put on the subject
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
  +    public Enumeration enumerateLocks()
           throws ServiceAccessException {
           if (locks == null) locks = new Vector();
           return locks.elements();
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Retrieve a revision descriptors.
  -	*
  -	* @param uri Uri
  -	* @exception ServiceAccessException Service access error
  -	* @exception RevisionDescriptorNotFoundException Revision descriptor
  -	* was not found
  -	*/
  -	//----------------------------------------
  -	public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
  -		throws ServiceAccessException, RevisionDescriptorNotFoundException {
  -		if (revisionDescriptors == null) {
  -			throw new RevisionDescriptorNotFoundException(uri.toString());
  -		}
  -		return revisionDescriptors.cloneObject();
  -	}
  -	
  -    
  -	//----------------------------------------
  -	/**
  -	* Create new revision descriptors.
  -	*
  -	* @param uri Uri
  -	* @param revisionDescriptors Node revision descriptors
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  -	public void createRevisionDescriptors (Uri uri,NodeRevisionDescriptors aRevisionDescriptors)
  +    //----------------------------------------
  +    /**
  +    * Retrieve a revision descriptors.
  +    *
  +    * @param uri Uri
  +    * @exception ServiceAccessException Service access error
  +    * @exception RevisionDescriptorNotFoundException Revision descriptor
  +    * was not found
  +    */
  +    //----------------------------------------
  +    public NodeRevisionDescriptors retrieveRevisionDescriptors(Uri uri)
  +        throws ServiceAccessException, RevisionDescriptorNotFoundException {
  +        if (revisionDescriptors == null) {
  +            throw new RevisionDescriptorNotFoundException(uri.toString());
  +        }
  +        return revisionDescriptors.cloneObject();
  +    }
  +    
  +    
  +    //----------------------------------------
  +    /**
  +    * Create new revision descriptors.
  +    *
  +    * @param uri Uri
  +    * @param revisionDescriptors Node revision descriptors
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
  +    public void createRevisionDescriptors (Uri uri,NodeRevisionDescriptors aRevisionDescriptors)
           throws ServiceAccessException {
           revisionDescriptors = aRevisionDescriptors.cloneObject();
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Update revision descriptors.
  -	*
  -	* @param uri Uri
  -	* @param revisionDescriptors Node revision descriptors
  -	* @exception ServiceAccessException Service access error
  -	* @exception RevisionDescriptorNotFoundException Revision descriptor
  -	* was not found
  -	*/
  -	//----------------------------------------
  -	public void storeRevisionDescriptors(Uri uri, NodeRevisionDescriptors aRevisionDescriptors)
  +    //----------------------------------------
  +    /**
  +    * Update revision descriptors.
  +    *
  +    * @param uri Uri
  +    * @param revisionDescriptors Node revision descriptors
  +    * @exception ServiceAccessException Service access error
  +    * @exception RevisionDescriptorNotFoundException Revision descriptor
  +    * was not found
  +    */
  +    //----------------------------------------
  +    public void storeRevisionDescriptors(Uri uri, NodeRevisionDescriptors aRevisionDescriptors)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           if (!revisionDescriptors.getUri().equals(uri.toString())) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
           revisionDescriptors = aRevisionDescriptors.cloneObject();
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Remove revision descriptors.
  -	*
  -	* @param uri Uri
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  -	public void removeRevisionDescriptors(Uri uri)
  +    //----------------------------------------
  +    /**
  +    * Remove revision descriptors.
  +    *
  +    * @param uri Uri
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
  +    public void removeRevisionDescriptors(Uri uri)
           throws ServiceAccessException {
           revisionDescriptors = null;
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Retrieve revision descriptor.
  -	*
  -	* @param Uri uri
  -	* @param revisionNumber Node revision number
  -	*/
  -	//----------------------------------------
  -	public NodeRevisionDescriptor retrieveRevisionDescriptor(Uri uri, NodeRevisionNumber revisionNumber)
  +    //----------------------------------------
  +    /**
  +    * Retrieve revision descriptor.
  +    *
  +    * @param Uri uri
  +    * @param revisionNumber Node revision number
  +    */
  +    //----------------------------------------
  +    public NodeRevisionDescriptor retrieveRevisionDescriptor(Uri uri, NodeRevisionNumber revisionNumber)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           Object result = null;
  -		
  -		if (descriptor!=null && revisionNumber!=null) result = descriptor.get(revisionNumber.toString());
  -			
  +        
  +        if (descriptor!=null && revisionNumber!=null) result = descriptor.get(revisionNumber.toString());
  +            
           if (result == null) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
  @@ -431,63 +431,63 @@
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Create new revision descriptor.
  -	*
  -	* @param uri Uri
  -	* @param revisionDescriptor Node revision descriptor
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  -	public void createRevisionDescriptor(Uri uri, NodeRevisionDescriptor aRevisionDescriptor)
  +    //----------------------------------------
  +    /**
  +    * Create new revision descriptor.
  +    *
  +    * @param uri Uri
  +    * @param revisionDescriptor Node revision descriptor
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
  +    public void createRevisionDescriptor(Uri uri, NodeRevisionDescriptor aRevisionDescriptor)
           throws ServiceAccessException {
  -		if (descriptor==null) descriptor=new Hashtable();
  +        if (descriptor==null) descriptor=new Hashtable();
   
           descriptor.put(aRevisionDescriptor.getRevisionNumber().toString(),
                          aRevisionDescriptor.cloneObject());
  -		save(uri);
  +        save(uri);
       }
       
       
  -	//----------------------------------------
  -	/**
  -	* Update revision descriptor.
  -	*
  -	* @param uri Uri
  -	* @param revisionDescriptors Node revision descriptor
  -	* @exception ServiceAccessException Service access error
  -	* @exception RevisionDescriptorNotFoundException Revision descriptor
  -	* was not found
  -	*/
  -	//----------------------------------------
  -	public void storeRevisionDescriptor(Uri uri, NodeRevisionDescriptor aRevisionDescriptor)
  +    //----------------------------------------
  +    /**
  +    * Update revision descriptor.
  +    *
  +    * @param uri Uri
  +    * @param revisionDescriptors Node revision descriptor
  +    * @exception ServiceAccessException Service access error
  +    * @exception RevisionDescriptorNotFoundException Revision descriptor
  +    * was not found
  +    */
  +    //----------------------------------------
  +    public void storeRevisionDescriptor(Uri uri, NodeRevisionDescriptor aRevisionDescriptor)
           throws ServiceAccessException, RevisionDescriptorNotFoundException {
           String key = aRevisionDescriptor.getRevisionNumber().toString();
           if (descriptor==null || !descriptor.containsKey(key)) {
               throw new RevisionDescriptorNotFoundException(uri.toString());
           }
           descriptor.put(key, aRevisionDescriptor.cloneObject());
  -		save(uri);
  +        save(uri);
       }
       
  -	
  -	//----------------------------------------
  -	/**
  -	* Remove revision descriptor.
  -	*
  -	* @param uri Uri
  -	* @param revisionNumber Revision number
  -	* @exception ServiceAccessException Service access error
  -	*/
  -	//----------------------------------------
  -	public void removeRevisionDescriptor(Uri uri, NodeRevisionNumber number)
  +    
  +    //----------------------------------------
  +    /**
  +    * Remove revision descriptor.
  +    *
  +    * @param uri Uri
  +    * @param revisionNumber Revision number
  +    * @exception ServiceAccessException Service access error
  +    */
  +    //----------------------------------------
  +    public void removeRevisionDescriptor(Uri uri, NodeRevisionNumber number)
           throws ServiceAccessException {
  -		if (descriptor==null) return;
  -		
  +        if (descriptor==null) return;
  +        
           descriptor.remove(number.toString());
  -		save(uri);
  +        save(uri);
       }
  -	
  +    
   }
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>