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]