/** * Skips the element. * * @param xmlNamespace the xml namespace * @param localName the local name * @throws Exception the exception */ public void skipElement(XmlNamespace xmlNamespace, String localName) throws Exception { if (!this.isEndElement(xmlNamespace, localName)) { if (!this.isStartElement(xmlNamespace, localName)) { this.readStartElement(xmlNamespace, localName); } if (!this.isEmptyElement()) { do { this.read(); } while (!this.isEndElement(xmlNamespace, localName)); } } }
/** * Skips the element. * * @param namespacePrefix the namespace prefix * @param localName the local name * @throws Exception the exception */ public void skipElement(String namespacePrefix, String localName) throws Exception { if (!this.isEndElement(namespacePrefix, localName)) { if (!this.isStartElement(namespacePrefix, localName)) { this.readStartElement(namespacePrefix, localName); } if (!this.isEmptyElement()) { do { this.read(); } while (!this.isEndElement(namespacePrefix, localName)); } } }
/** * Ensures the current node is start element. * * @param xmlNamespace the xml namespace * @param localName the local name * @throws Exception the exception */ public void ensureCurrentNodeIsEndElement(XmlNamespace xmlNamespace, String localName) throws Exception { if (!this.isEndElement(xmlNamespace, localName)) { if (!(this.isStartElement(xmlNamespace, localName) && this .isEmptyElement())) { throw new ServiceXmlDeserializationException( String .format("The element '%s' in namespace '%s' wasn't found at the current position.", xmlNamespace, localName)); } } }
/** * Read SOAP header. * * @param reader EwsXmlReader. * @throws Exception the exception */ protected void readSoapHeaders(EwsXmlReader reader) throws Exception { reader.readStartElement(XmlNamespace.Soap, XmlElementNames.SOAPHeaderElementName); do { reader.read(); this.readSoapHeader(reader); } while (!reader.isEndElement(XmlNamespace.Soap, XmlElementNames.SOAPHeaderElementName)); }
/** * Reads the end element if necessary. * * @param xmlNamespace the xml namespace * @param localName the local name * @throws Exception the exception */ public void readEndElementIfNecessary(XmlNamespace xmlNamespace, String localName) throws Exception { if (!(this.isStartElement(xmlNamespace, localName) && this .isEmptyElement())) { if (!this.isEndElement(xmlNamespace, localName)) { this.readEndElement(xmlNamespace, localName); } } }
/** * Reads domain setting from XML. * * @param reader The reader. * @throws Exception the exception */ private void readSettingFromXml(EwsXmlReader reader) throws Exception { DomainSettingName name = null; Object value = null; do { reader.read(); if (reader.getNodeType().nodeType == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals( XmlElementNames.DomainStringSetting)) { name = reader.readElementValue(DomainSettingName.class); } else if (reader.getLocalName().equals(XmlElementNames.Value)) { value = reader.readElementValue(); } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.DomainSetting)); EwsUtilities.ewsAssert(name != null, "GetDomainSettingsResponse.ReadSettingFromXml", "Missing name element in domain setting"); this.settings.put(name, value); }
/** * Loads instance of WebClientUrlCollection from XML. * * @param reader The reader. * @return the web client url collection * @throws Exception the exception */ public static WebClientUrlCollection loadFromXml(EwsXmlReader reader) throws Exception { WebClientUrlCollection instance = new WebClientUrlCollection(); do { reader.read(); if ((reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) && (reader.getLocalName() .equals(XmlElementNames.WebClientUrl))) { instance.getUrls().add(WebClientUrl.loadFromXml(reader)); } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.WebClientUrls)); return instance; }
/** * Loads instance of AlternateMailboxCollection from XML. * * @param reader the reader * @return AlternateMailboxCollection * @throws Exception the exception */ public static AlternateMailboxCollection loadFromXml(EwsXmlReader reader) throws Exception { AlternateMailboxCollection instance = new AlternateMailboxCollection(); do { reader.read(); if ((reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) && (reader.getLocalName() .equals(XmlElementNames.AlternateMailbox))) { instance.getEntries().add( AlternateMailbox.loadFromXml(reader)); } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.AlternateMailboxes)); return instance; }
/** * Read user setting with ProtocolConnectionCollection value. * * @param reader EwsServiceXmlReader * @return the protocol connection collection * @throws Exception the exception */ public static ProtocolConnectionCollection loadFromXml(final EwsXmlReader reader) throws Exception { final ProtocolConnectionCollection value = new ProtocolConnectionCollection(); do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals(XmlElementNames.ProtocolConnection)) { final ProtocolConnection connection = ProtocolConnection.loadFromXml(reader); if (connection != null) { value.getConnections().add(connection); } } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.ProtocolConnections)); return value; }
/** * Loads from XML. * * @param reader The reader. * @throws Exception the exception */ public void loadFromXml(EwsXmlReader reader) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals(XmlElementNames.ErrorCode)) { this.errorCode = reader .readElementValue(AutodiscoverErrorCode.class); } else if (reader.getLocalName().equals( XmlElementNames.ErrorMessage)) { this.errorMessage = reader.readElementValue(); } else if (reader.getLocalName().equals( XmlElementNames.SettingName)) { this.settingName = reader.readElementValue(); } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.DomainSettingError)); }
/** * Load from XML. * * @param reader The reader. * @throws Exception the exception */ protected void loadFromXml(EwsXmlReader reader) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals(XmlElementNames.DisplayName)) { this.displayName = reader.readElementValue(); } else if (reader.getLocalName().equals( XmlElementNames.LegacyDN)) { this.legacyDN = reader.readElementValue(); } else if (reader.getLocalName().equals( XmlElementNames.DeploymentId)) { this.deploymentId = reader.readElementValue(); } else { reader.skipCurrentElement(); } } } while (!reader.isEndElement(XmlNamespace.NotSpecified, XmlElementNames.User)); }
/** * Loads response from XML. * * @param reader the reader * @param endElementName End element name. * @throws Exception the exception */ public void loadFromXml(EwsXmlReader reader, String endElementName) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals( this.getResponseCollectionXmlElementName())) { this.loadResponseCollectionFromXml(reader); } else { super.loadFromXml(reader, endElementName); } } } while (!reader .isEndElement(XmlNamespace.Autodiscover, endElementName)); }
/** * Loads web client urls from XML. * * @param reader The reader. * @param webClientUrls The web client urls. * @param elementName Name of the element. * @throws Exception */ private static void loadWebClientUrlsFromXml(EwsXmlReader reader, WebClientUrlCollection webClientUrls, String elementName) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals(XmlElementNames.OWAUrl)) { String authMethod = reader.readAttributeValue( XmlAttributeNames.AuthenticationMethod); String owaUrl = reader.readElementValue(); WebClientUrl webClientUrl = new WebClientUrl(authMethod, owaUrl); webClientUrls.getUrls().add(webClientUrl); } else { reader.skipCurrentElement(); } } } while (!reader.isEndElement(XmlNamespace.NotSpecified, elementName)); }
/** * Loads response from XML. * * @param reader The reader. * @param endElementName End element name. * @throws Exception the exception */ @Override public void loadFromXml(EwsXmlReader reader, String endElementName) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName() .equals(XmlElementNames.RedirectTarget)) { this.setRedirectTarget(reader.readElementValue()); } else if (reader.getLocalName().equals( XmlElementNames.UserSettingErrors)) { this.loadUserSettingErrorsFromXml(reader); } else if (reader.getLocalName().equals( XmlElementNames.UserSettings)) { this.loadUserSettingsFromXml(reader); } else { super.loadFromXml(reader, endElementName); } } } while (!reader .isEndElement(XmlNamespace.Autodiscover, endElementName)); }
/** * Loads from XML. * * @param reader The reader. * @throws Exception the exception */ public void loadFromXml(EwsXmlReader reader) throws Exception { do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals(XmlElementNames.ErrorCode)) { this.setErrorCode(reader .readElementValue(AutodiscoverErrorCode.class)); } else if (reader.getLocalName().equals( XmlElementNames.ErrorMessage)) { this.setErrorMessage(reader.readElementValue()); } else if (reader.getLocalName().equals( XmlElementNames.SettingName)) { this.setSettingName(reader.readElementValue()); } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.UserSettingError)); }
/** * Loads WebClientUrl instance from XML. * * @param reader The reader. * @return WebClientUrl. * @throws Exception the exception */ protected static WebClientUrl loadFromXml(EwsXmlReader reader) throws Exception { WebClientUrl webClientUrl = new WebClientUrl(); do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals( XmlElementNames.AuthenticationMethods)) { webClientUrl.setAuthenticationMethods(reader .readElementValue(String.class)); } else if (reader.getLocalName().equals(XmlElementNames.Url)) { webClientUrl.setUrl(reader.readElementValue(String.class)); } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.WebClientUrl)); return webClientUrl; }
/** * Parses the message xml. * * @param reader the reader * @throws Exception the exception * @throws ServiceXmlDeserializationException the service xml deserialization exception */ private void parseMessageXml(EwsXmlReader reader) throws Exception, ServiceXmlDeserializationException, Exception { // E14:172881: E12 and E14 return the MessageXml element in different // namespaces (types namespace for E12, errors namespace in E14). To // avoid this problem, the parser will match the namespace from the // start and end elements. XmlNamespace elementNS = EwsUtilities.getNamespaceFromUri(reader.getNamespaceUri()); if (!reader.isEmptyElement()) { do { reader.read(); if (reader.isStartElement() && !reader.isEmptyElement()) { String localName = reader.getLocalName(); if (localName.equals(XmlElementNames.Value)) { this.errorDetails.put(reader .readAttributeValue(XmlAttributeNames.Name), reader.readElementValue()); } } } while (!reader .isEndElement(elementNS, XmlElementNames.MessageXml)); } else { reader.read(); } }
/** * Loads response from XML. * * @param reader the reader * @throws Exception the exception */ private void loadResponseCollectionFromXml(EwsXmlReader reader) throws Exception { if (!reader.isEmptyElement()) { do { reader.read(); if ((reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) && (reader.getLocalName().equals(this .getResponseInstanceXmlElementName()))) { TResponse response = this.createResponseInstance(); response.loadFromXml(reader, this .getResponseInstanceXmlElementName()); this.responses.add(response); } } while (!reader.isEndElement(XmlNamespace.Autodiscover, this .getResponseCollectionXmlElementName())); } else { reader.read(); } }
/** * Read user setting with ProtocolConnection value. * * @param reader EwsServiceXmlReader * @return the protocol connection * @throws Exception the exception */ protected static ProtocolConnection loadFromXml(EwsXmlReader reader) throws Exception { ProtocolConnection connection = new ProtocolConnection(); do { reader.read(); if (reader.getNodeType().getNodeType() == XmlNodeType.START_ELEMENT) { if (reader.getLocalName().equals( XmlElementNames.EncryptionMethod)) { connection.setEncryptionMethod(reader .readElementValue(String.class)); } else if (reader.getLocalName().equals( XmlElementNames.Hostname)) { connection.setHostname(reader .readElementValue(String.class)); } else if (reader.getLocalName().equals(XmlElementNames.Port)) { connection.setPort(reader.readElementValue(int.class)); } } } while (!reader.isEndElement(XmlNamespace.Autodiscover, XmlElementNames.ProtocolConnection)); return connection; }
/** * Loads the settings from XML. * * @param reader the reader * @throws Exception the exception */ public void loadFromXml(EwsXmlReader reader) throws Exception { reader.readStartElement(XmlNamespace.NotSpecified, XmlElementNames.Autodiscover); reader.readStartElement(XmlNamespace.NotSpecified, XmlElementNames.Response); do { reader.read(); if (reader.isStartElement()) { if (!this.tryReadCurrentXmlElement(reader)) { reader.skipCurrentElement(); } } } while (!reader.isEndElement(XmlNamespace.NotSpecified, XmlElementNames.Response)); reader.readEndElement(XmlNamespace.NotSpecified, XmlElementNames.Autodiscover); }