@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the B4S playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/playlist/b4s"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(false); // Force an error if unknown elements are found. final StringReader reader = new StringReader(str); final SpecificPlaylist ret = (SpecificPlaylist) serializer.unmarshal(reader); // May throw Exception. ret.setProvider(this); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the WPL playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/playlist/xspf"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(true); final StringReader reader = new StringReader(str); final SpecificPlaylist ret = (SpecificPlaylist) serializer.unmarshal(reader); // May throw Exception. ret.setProvider(this); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the SMIL playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/playlist/smil"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(true); // Many SMIL elements are not implemented yet. final StringReader reader = new StringReader(str); final SpecificPlaylist ret = (SpecificPlaylist) serializer.unmarshal(reader); // May throw Exception. ret.setProvider(this); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the WPL playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/playlist/wpl"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(false); // Force an error if unknown elements are found. final StringReader reader = new StringReader(str); final SpecificPlaylist ret = (SpecificPlaylist) serializer.unmarshal(reader); // May throw Exception. ret.setProvider(this); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the WPL playlist. final XmlSerializer serializer = XmlSerializer.getMapping( "chameleon/playlist/hypetape"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(false); final StringReader reader = new StringReader(str); final SpecificPlaylist ret = (SpecificPlaylist) serializer.unmarshal(reader); // May throw Exception. ret.setProvider(this); return ret; }
serializer.getUnmarshaller().setIgnoreExtraElements(false); // Force an error if unknown elements are found.
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Workaround Castor bug 2521: str = str.replace("xmlns=\"http://www.w3.org/2005/Atom\"", ""); // Unmarshal the SMIL playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/atom"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(true); final StringReader reader = new StringReader(str); // TODO Allow also an Entry. final Feed feed = (Feed) serializer.unmarshal(reader); // May throw Exception. final AtomPlaylist ret = new AtomPlaylist(); ret.setProvider(this); ret.setFeed(feed); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/plist"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(false); // Force an error if unknown elements are found. final StringReader reader = new StringReader(str); final Plist plist = (Plist) serializer.unmarshal(reader); // May throw Exception. final PlistPlaylist ret = new PlistPlaylist(); ret.setProvider(this); ret.setPlist(plist); return ret; }
@Override public SpecificPlaylist readFrom(final InputStream in, final String encoding, final Log logger) throws Exception { String enc = encoding; if (enc == null) { enc = "UTF-8"; } String str = IOUtils.toString(in, enc); // May throw IOException. Throws NullPointerException if in is null. // Replace all occurrences of a single '&' with "&" (or leave this construct as is). // First replace blindly all '&' to its corresponding character reference. str = str.replace("&", "&"); // Then restore any existing character reference. str = str.replaceAll("&([a-zA-Z0-9#]+;)", "&$1"); // Shall not throw PatternSyntaxException. // Unmarshal the SMIL playlist. final XmlSerializer serializer = XmlSerializer.getMapping("chameleon/rss"); // May throw Exception. serializer.getUnmarshaller().setIgnoreExtraElements(true); final StringReader reader = new StringReader(str); final RSS rss = (RSS) serializer.unmarshal(reader); // May throw Exception. final RSSPlaylist ret = new RSSPlaylist(); ret.setProvider(this); ret.setRSS(rss); return ret; }