mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-09 17:19:39 +02:00
Introduce SmackParsingException
This commit is contained in:
parent
163ca2b009
commit
7dee3b88a2
54 changed files with 277 additions and 155 deletions
|
@ -17,8 +17,8 @@
|
|||
package org.jivesoftware.smackx.ox.provider;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException;
|
||||
import org.jivesoftware.smackx.ox.element.CryptElement;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
@ -32,7 +32,7 @@ public class CryptElementProvider extends OpenPgpContentElementProvider<CryptEle
|
|||
public static final CryptElementProvider INSTANCE = new CryptElementProvider();
|
||||
|
||||
@Override
|
||||
public CryptElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, ParseException {
|
||||
public CryptElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackParsingException {
|
||||
OpenPgpContentElementData data = parseOpenPgpContentElementData(parser, initialDepth);
|
||||
|
||||
return new CryptElement(data.to, data.rpad, data.timestamp, data.payload);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 2017 Florian Schmaus, 2018 Paul Schaub.
|
||||
* Copyright 2017-2019 Florian Schmaus, 2018 Paul Schaub.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -20,7 +20,6 @@ import static org.xmlpull.v1.XmlPullParser.END_TAG;
|
|||
import static org.xmlpull.v1.XmlPullParser.START_TAG;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
|
@ -30,9 +29,11 @@ import java.util.logging.Level;
|
|||
import java.util.logging.Logger;
|
||||
|
||||
import org.jivesoftware.smack.packet.ExtensionElement;
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException;
|
||||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.jivesoftware.smack.provider.ProviderManager;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.util.ParserUtils;
|
||||
import org.jivesoftware.smackx.ox.element.CryptElement;
|
||||
import org.jivesoftware.smackx.ox.element.EncryptedOpenPgpContentElement;
|
||||
import org.jivesoftware.smackx.ox.element.OpenPgpContentElement;
|
||||
|
@ -41,7 +42,6 @@ import org.jivesoftware.smackx.ox.element.SigncryptElement;
|
|||
|
||||
import org.jxmpp.jid.Jid;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
import org.jxmpp.util.XmppDateTime;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
|
@ -79,10 +79,10 @@ public abstract class OpenPgpContentElementProvider<O extends OpenPgpContentElem
|
|||
}
|
||||
|
||||
@Override
|
||||
public abstract O parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, ParseException;
|
||||
public abstract O parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackParsingException;
|
||||
|
||||
protected static OpenPgpContentElementData parseOpenPgpContentElementData(XmlPullParser parser, int initialDepth)
|
||||
throws XmlPullParserException, IOException, ParseException {
|
||||
throws XmlPullParserException, IOException, SmackParsingException {
|
||||
Set<Jid> to = new HashSet<>();
|
||||
Date timestamp = null;
|
||||
String rpad = null;
|
||||
|
@ -97,7 +97,7 @@ public abstract class OpenPgpContentElementProvider<O extends OpenPgpContentElem
|
|||
|
||||
case OpenPgpContentElement.ELEM_TIME:
|
||||
String stamp = parser.getAttributeValue("", OpenPgpContentElement.ATTR_STAMP);
|
||||
timestamp = XmppDateTime.parseDate(stamp);
|
||||
timestamp = ParserUtils.getDateFromXep82String(stamp);
|
||||
break;
|
||||
|
||||
case OpenPgpContentElement.ELEM_TO:
|
||||
|
|
|
@ -20,13 +20,13 @@ import static org.xmlpull.v1.XmlPullParser.START_TAG;
|
|||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException.SmackTextParseException;
|
||||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.jivesoftware.smack.util.ParserUtils;
|
||||
import org.jivesoftware.smackx.ox.element.PubkeyElement;
|
||||
|
||||
import org.jxmpp.util.XmppDateTime;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
|
@ -38,9 +38,9 @@ public class PubkeyElementProvider extends ExtensionElementProvider<PubkeyElemen
|
|||
public static final PubkeyElementProvider TEST_INSTANCE = new PubkeyElementProvider();
|
||||
|
||||
@Override
|
||||
public PubkeyElement parse(XmlPullParser parser, int initialDepth) throws ParseException, XmlPullParserException, IOException {
|
||||
public PubkeyElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackTextParseException {
|
||||
String dateString = parser.getAttributeValue(null, PubkeyElement.ATTR_DATE);
|
||||
Date date = dateString != null ? XmppDateTime.parseXEP0082Date(dateString) : null;
|
||||
Date date = ParserUtils.getDateFromOptionalXep82String(dateString);
|
||||
while (true) {
|
||||
int tag = parser.next();
|
||||
String name = parser.getName();
|
||||
|
|
|
@ -20,13 +20,13 @@ import static org.xmlpull.v1.XmlPullParser.END_TAG;
|
|||
import static org.xmlpull.v1.XmlPullParser.START_TAG;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.Date;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException.SmackTextParseException;
|
||||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.jivesoftware.smack.util.ParserUtils;
|
||||
import org.jivesoftware.smackx.ox.element.PublicKeysListElement;
|
||||
|
||||
import org.jxmpp.util.XmppDateTime;
|
||||
import org.pgpainless.key.OpenPgpV4Fingerprint;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
@ -36,7 +36,7 @@ public final class PublicKeysListElementProvider extends ExtensionElementProvide
|
|||
public static final PublicKeysListElementProvider TEST_INSTANCE = new PublicKeysListElementProvider();
|
||||
|
||||
@Override
|
||||
public PublicKeysListElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, ParseException {
|
||||
public PublicKeysListElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackTextParseException {
|
||||
|
||||
PublicKeysListElement.Builder builder = PublicKeysListElement.builder();
|
||||
|
||||
|
@ -54,7 +54,7 @@ public final class PublicKeysListElementProvider extends ExtensionElementProvide
|
|||
String dt = parser.getAttributeValue(null,
|
||||
PublicKeysListElement.PubkeyMetadataElement.ATTR_DATE);
|
||||
OpenPgpV4Fingerprint fingerprint = new OpenPgpV4Fingerprint(finger);
|
||||
Date date = XmppDateTime.parseXEP0082Date(dt);
|
||||
Date date = ParserUtils.getDateFromXep82String(dt);
|
||||
builder.addMetadata(new PublicKeysListElement.PubkeyMetadataElement(fingerprint, date));
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -17,9 +17,9 @@
|
|||
package org.jivesoftware.smackx.ox.provider;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException;
|
||||
import org.jivesoftware.smack.util.StringUtils;
|
||||
import org.jivesoftware.smackx.ox.element.SignElement;
|
||||
|
||||
|
@ -35,7 +35,7 @@ public class SignElementProvider extends OpenPgpContentElementProvider<SignEleme
|
|||
public static final SignElementProvider INSTANCE = new SignElementProvider();
|
||||
|
||||
@Override
|
||||
public SignElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, ParseException {
|
||||
public SignElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackParsingException {
|
||||
OpenPgpContentElementData data = parseOpenPgpContentElementData(parser, initialDepth);
|
||||
|
||||
if (StringUtils.isNotEmpty(data.rpad)) {
|
||||
|
|
|
@ -17,8 +17,8 @@
|
|||
package org.jivesoftware.smackx.ox.provider;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException;
|
||||
import org.jivesoftware.smackx.ox.element.SigncryptElement;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
@ -32,7 +32,7 @@ public class SigncryptElementProvider extends OpenPgpContentElementProvider<Sign
|
|||
public static final SigncryptElementProvider INSTANCE = new SigncryptElementProvider();
|
||||
|
||||
@Override
|
||||
public SigncryptElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, ParseException {
|
||||
public SigncryptElement parse(XmlPullParser parser, int initialDepth) throws XmlPullParserException, IOException, SmackParsingException {
|
||||
OpenPgpContentElementData data = parseOpenPgpContentElementData(parser, initialDepth);
|
||||
return new SigncryptElement(data.to, data.rpad, data.timestamp, data.payload);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue