NodeRevisionNumber aInitialRevision=decodeRevisionNumber(aRevisionsHistory.getAttributeValue("initialRevision"));
boolean aUseVersionning=new Boolean(aRevisionsHistory.getAttributeValue("useVersioning")).booleanValue();
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(aSuccessor.getAttributeValue("number"));
aSuccessorsNumbers.addElement(aRevisionNumber);
}
aBranches.put(aStartNumber,aSuccessorsNumbers);
}
revisionDescriptors=new NodeRevisionDescriptors(
object.getUri().toString(),aInitialRevision,new Hashtable(),aLastestRevisions,aBranches,aUseVersionning);
}