removed 'catch' added check for null

This commit is contained in:
daniel oeh 2012-07-24 18:15:30 +02:00
parent b51aaf2a92
commit 6321136271
1 changed files with 38 additions and 35 deletions

View File

@ -28,39 +28,45 @@ public class TypeGetter {
public Type getType(Feed feed) throws UnsupportedFeedtypeException { public Type getType(Feed feed) throws UnsupportedFeedtypeException {
XmlPullParserFactory factory; XmlPullParserFactory factory;
try { if (feed.getFile_url() != null) {
factory = XmlPullParserFactory.newInstance(); try {
factory.setNamespaceAware(true); factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser(); factory.setNamespaceAware(true);
xpp.setInput(createReader(feed)); XmlPullParser xpp = factory.newPullParser();
int eventType = xpp.getEventType(); xpp.setInput(createReader(feed));
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) { while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) { if (eventType == XmlPullParser.START_TAG) {
String tag = xpp.getName(); String tag = xpp.getName();
if (tag.equals(ATOM_ROOT)) { if (tag.equals(ATOM_ROOT)) {
if (AppConfig.DEBUG) Log.d(TAG, "Recognized type Atom"); if (AppConfig.DEBUG)
return Type.ATOM; Log.d(TAG, "Recognized type Atom");
} else if (tag.equals(RSS_ROOT) return Type.ATOM;
&& (xpp.getAttributeValue(null, "version") } else if (tag.equals(RSS_ROOT)
.equals("2.0"))) { && (xpp.getAttributeValue(null, "version")
if (AppConfig.DEBUG) Log.d(TAG, "Recognized type RSS 2.0"); .equals("2.0"))) {
return Type.RSS20; if (AppConfig.DEBUG)
Log.d(TAG, "Recognized type RSS 2.0");
return Type.RSS20;
} else {
if (AppConfig.DEBUG)
Log.d(TAG, "Type is invalid");
throw new UnsupportedFeedtypeException(Type.INVALID);
}
} else { } else {
if (AppConfig.DEBUG) Log.d(TAG, "Type is invalid"); eventType = xpp.next();
throw new UnsupportedFeedtypeException(Type.INVALID);
} }
} else {
eventType = xpp.next();
} }
}
} catch (XmlPullParserException e) { } catch (XmlPullParserException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
}
} }
if (AppConfig.DEBUG) Log.d(TAG, "Type is invalid"); if (AppConfig.DEBUG)
Log.d(TAG, "Type is invalid");
throw new UnsupportedFeedtypeException(Type.INVALID); throw new UnsupportedFeedtypeException(Type.INVALID);
} }
@ -71,9 +77,6 @@ public class TypeGetter {
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} catch (NullPointerException e) {
e.printStackTrace();
return null;
} }
return reader; return reader;
} }