/** * Reads response elements from XML. * * @param reader ,The reader * @throws Exception the exception */ @Override protected void readElementsFromXml(EwsServiceXmlReader reader) throws Exception { reader.readStartElement(XmlNamespace.Messages, XmlElementNames.RootFolder); int totalItemsInView = reader.readAttributeValue(Integer.class, XmlAttributeNames.TotalItemsInView); boolean moreItemsAvailable = !reader.readAttributeValue(Boolean.class, XmlAttributeNames.IncludesLastItemInRange); // Ignore IndexedPagingOffset attribute if moreItemsAvailable is false. Integer nextPageOffset = moreItemsAvailable ? reader.readNullableAttributeValue( Integer.class, XmlAttributeNames.IndexedPagingOffset) : null; if (!this.isGrouped) { this.results = new FindItemsResults<TItem>(); this.results.setTotalCount(totalItemsInView); this.results.setNextPageOffset(nextPageOffset); this.results.setMoreAvailable(moreItemsAvailable); internalReadItemsFromXml(reader, this.propertySet, this.results.getItems()); } else { this.groupedFindResults = new GroupedFindItemsResults<TItem>(); this.groupedFindResults.setTotalCount(totalItemsInView); this.groupedFindResults.setNextPageOffset(nextPageOffset); this.groupedFindResults.setMoreAvailable(moreItemsAvailable); reader.readStartElement(XmlNamespace.Types, XmlElementNames.Groups); if (!reader.isEmptyElement()) { do { reader.read(); if (reader.isStartElement(XmlNamespace.Types, XmlElementNames.GroupedItems)) { String groupIndex = reader.readElementValue(XmlNamespace.Types, XmlElementNames.GroupIndex); ArrayList<TItem> itemList = new ArrayList<TItem>(); internalReadItemsFromXml(reader, this.propertySet, itemList); reader.readEndElement(XmlNamespace.Types, XmlElementNames.GroupedItems); this.groupedFindResults.getItemGroups().add(new ItemGroup<TItem>(groupIndex, itemList)); } } while (!reader.isEndElement(XmlNamespace.Types, XmlElementNames.Groups)); } else { reader.read(); } } reader.readEndElement(XmlNamespace.Messages, XmlElementNames.RootFolder); }
/** * * Reads the attributes from XML. * * @param reader accepts EwsServiceXmlReader * @throws Exception throws Exception */ @Override protected void readAttributesFromXml(EwsServiceXmlReader reader) throws Exception { this.timeZoneName = reader.readAttributeValue(XmlAttributeNames.TimeZoneName); }
/** * Loads the attributes from XML. * * @param reader the reader * @throws Exception the exception */ protected void loadAttributesFromXml(EwsServiceXmlReader reader) throws Exception { this.setFormat(reader.readAttributeValue(IdFormat.class, XmlAttributeNames.Format)); }