public static final int MAX_FETCH_TRIES=5;
- public AbstractEPGSource(Config config) {
+ public AbstractEPGSource(int sourceId, Config config) {
this.config = config;
+ this.sourceId = sourceId;
cache = new ProgrammeCache(config);
}
private Config() {
Properties configProp = new Properties();
- InputStream in = ClassLoader.getSystemResourceAsStream("/tv_grab_nl_java.properties");
- System.out.println(in);
+ InputStream in = ClassLoader.getSystemResourceAsStream("tv_grab_nl_java.properties");
try {
configProp.load(in);
} catch (IOException e) {
public int getId();
public void setId(int id);
- public String getName();
+ public String getName(); // must be static
public List<Channel> getChannels();
// Convenience method
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
private static Map<Integer,Class<EPGSource>> classes = new HashMap<Integer,Class<EPGSource>>();
private static Map<Integer,String> names = new HashMap<Integer,String>();
private static boolean initialised=false;
+ private static List<Integer> sources=new ArrayList<Integer>();
static void init() {
if(initialised) return;
Properties configProp = new Properties();
ClassLoader loader = ClassLoader.getSystemClassLoader();
- InputStream in = loader.getResourceAsStream("/org/vanbest/xmltv/tv_grab_nl_java.properties");
+ InputStream in = loader.getResourceAsStream("tv_grab_nl_java.properties");
try {
configProp.load(in);
} catch (IOException e) {
try {
Class<EPGSource> clazz = (Class<EPGSource>) loader.loadClass(name);
classes.put(source, clazz);
- Method getName=clazz.getMethod("getName");
- String sourceName=(String)getName.invoke(null);
+ System.out.println("clazz: " + clazz.toString());
+ Field NAME=clazz.getField("NAME");
+ System.out.println("NAME: " + NAME.toString());
+ String sourceName=(String)NAME.get(null);
names.put(source,sourceName);
ids.put(sourceName,source);
+ sources.add(source);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
public EPGSource createEPGSource(int source, Config config) {
Constructor<EPGSource> constructor;
try {
- constructor = classes.get(source).getConstructor(Config.class);
+ constructor = classes.get(source).getConstructor(Integer.class,Config.class);
return constructor.newInstance(source, config);
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
}
public int[] getAll() {
- Integer[] list = (Integer[]) classes.keySet().toArray();
- Arrays.sort(list);
- int[] result = new int[list.length];
+ int[] result = new int[sources.size()];
for(int i=0; i<result.length; i++) {
- result[i]=list[i];
+ result[i]=sources.get(i);
}
return result;
}
private static final String detail_url="http://www.rtl.nl/active/epg_data/uitzending_data/";\r
private static final String icon_url="http://www.rtl.nl/service/gids/components/vaste_componenten/";\r
private static final int MAX_PROGRAMMES_PER_DAY = 9999;\r
+ public static final String NAME="rtl.nl";\r
\r
String[] xmlKeys = {"zendernr", "pgmsoort", "genre", "bijvnwlanden", "ondertiteling", "begintijd", "titel", \r
"site_path", "wwwadres", "presentatie", "omroep", "eindtijd", "inhoud", "tt_inhoud", "alginhoud", "afl_titel", "kijkwijzer" };\r
}\r
}\r
\r
- public RTL(Config config) {\r
- super(config);\r
+ public RTL(int sourceId, Config config) {\r
+ super(sourceId, config);\r
}\r
\r
public String getName() {\r
- return "rtl.nl";\r
+ return NAME;\r
}\r
\r
public List<Channel> getChannels() {\r
*/\r
public static void main(String[] args) {\r
Config config = Config.getDefaultConfig();\r
- RTL rtl = new RTL(config);\r
+ RTL rtl = new RTL(2, config);\r
try {\r
List<Channel> channels = rtl.getChannels();\r
System.out.println("Channels: " + channels);\r
static String html_detail_base_url = "http://www.tvgids.nl/programma/";
private static final int MAX_PROGRAMMES_PER_DAY = 9999;
+ public static String NAME="tvgids.nl";
- public TvGids(Config config) {
- super(config);
+ public TvGids(int sourceId, Config config) {
+ super(sourceId, config);
}
public String getName() {
- return "tvgids.nl";
+ return NAME;
}
public static URL programmeUrl(List<Channel> channels, int day) throws Exception {
*/
public static void main(String[] args) {
Config config = Config.getDefaultConfig();
- TvGids gids = new TvGids(config);
+ TvGids gids = new TvGids(1, config);
try {
List<Channel> channels = gids.getChannels();
System.out.println("Channels: " + channels);