luetzkendorf    2005/02/28 03:56:57

  Modified:    src/stores/org/apache/slide/store/txfile
                        AbstractXMLResourceDescriptor.java
  Log:
  fix: property permissions are not added to the property
  (empty permission list is no longer serialized)
  
  Revision  Changes    Path
  1.7       +23 -15    
jakarta-slide/src/stores/org/apache/slide/store/txfile/AbstractXMLResourceDescriptor.java
  
  Index: AbstractXMLResourceDescriptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/stores/org/apache/slide/store/txfile/AbstractXMLResourceDescriptor.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractXMLResourceDescriptor.java        7 Dec 2004 17:54:11 -0000       
1.6
  +++ AbstractXMLResourceDescriptor.java        28 Feb 2005 11:56:17 -0000      
1.7
  @@ -155,13 +155,17 @@
           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));
  +        
  +        
  +        Enumeration aEnum = aProp.enumeratePermissions();
  +        if (aEnum.hasMoreElements()) {
  +            Element aPermissions = new Element("permissions");
  +            for (; aEnum.hasMoreElements();) {
  +                NodePermission aPermission = (NodePermission) 
aEnum.nextElement();
  +                aPermissions.addContent(encodeNodePermission(aPermission));
  +            }
  +            aElement.addContent(aPermissions);
           }
  -        aElement.addContent(aPermissions);
           return aElement;
       }
   
  @@ -238,14 +242,18 @@
           String aType = aElement.getAttributeValue("type");
           boolean aProtected = new 
Boolean(aElement.getAttributeValue("protected")).booleanValue();
   
  +        NodeProperty property = new NodeProperty(aName, aValue, aNamespace, 
aType, aProtected);
  +        
           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));
  +        if (aPermisionsElement != null) {
  +            List aList = aPermisionsElement.getChildren();
  +            for (int i = 0; i < aList.size(); i++) {
  +                Element aChild = (Element) aList.get(i);
  +                property.addPermission(decodePermission(aChild, aUri));
  +            }
           }
  -        return new NodeProperty(aName, aValue, aNamespace, aType, 
aProtected);
  +        
  +        return property;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to