From 659202cf9a1aacf1ef1ae7fb58aad38849c740e9 Mon Sep 17 00:00:00 2001 From: Mamadou Coulibaly Date: Sat, 30 Nov 2013 21:10:32 +0100 Subject: [PATCH] parsing link to the database #2 #5 More optimisations incoming ... --- src/algo/graph/Graph.java | 2 +- src/algo/graph/parsing/Parse.java | 125 +++++---- src/hibernateLocal/HibernateSession.java | 41 +++ .../TestLoading.java | 2 +- src/hibernateLocal/TestReading.java | 250 ++++++++++++++++++ .../hibernate-configuration.xml | 0 src/hibernate_handling/TestReading.java | 151 ----------- .../META-INF/maven/Graph/Graph/pom.properties | 2 +- target/classes/algo/graph/parsing/Parse.class | Bin 7682 -> 8303 bytes .../hibernateLocal/HibernateSession.class | Bin 0 -> 1530 bytes .../TestLoading.class | Bin 5000 -> 4992 bytes .../classes/hibernateLocal/TestReading.class | Bin 0 -> 2360 bytes .../hibernate-configuration.xml | 0 .../hibernate_handling/TestReading.class | Bin 4085 -> 0 bytes target/classes/test.html | 2 +- target/classes/test1.html | 2 +- 16 files changed, 363 insertions(+), 214 deletions(-) create mode 100644 src/hibernateLocal/HibernateSession.java rename src/{hibernate_handling => hibernateLocal}/TestLoading.java (99%) create mode 100644 src/hibernateLocal/TestReading.java rename src/{hibernate_handling => hibernateLocal}/hibernate-configuration.xml (100%) delete mode 100644 src/hibernate_handling/TestReading.java create mode 100644 target/classes/hibernateLocal/HibernateSession.class rename target/classes/{hibernate_handling => hibernateLocal}/TestLoading.class (94%) create mode 100644 target/classes/hibernateLocal/TestReading.class rename target/classes/{hibernate_handling => hibernateLocal}/hibernate-configuration.xml (100%) delete mode 100644 target/classes/hibernate_handling/TestReading.class diff --git a/src/algo/graph/Graph.java b/src/algo/graph/Graph.java index ba310fa..0c37c5a 100755 --- a/src/algo/graph/Graph.java +++ b/src/algo/graph/Graph.java @@ -249,7 +249,7 @@ public static void main(String[] args) Graph g = parse.getGraph(); List chemin = g.Dijkstra(g.node,"La Courneuve-8-Mai-1945","Buttes-Chaumont","TOUS"); - + //List chemin = g.Dijkstra(g.node,"Jourdain","Buttes-Chaumont","TOUS"); String ligne = ""; for(int i = chemin.size()-1 ; i >= 0 ; i--) { diff --git a/src/algo/graph/parsing/Parse.java b/src/algo/graph/parsing/Parse.java index 817b388..8908db6 100755 --- a/src/algo/graph/parsing/Parse.java +++ b/src/algo/graph/parsing/Parse.java @@ -1,10 +1,20 @@ package algo.graph.parsing; +import hibernateLocal.HibernateSession; + import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; +import java.util.Collection; + +import org.onebusaway.gtfs.model.Route; +import org.onebusaway.gtfs.model.Stop; +import org.onebusaway.gtfs.model.StopTime; +import org.onebusaway.gtfs.model.Trip; +import org.onebusaway.gtfs.services.GtfsMutableRelationalDao; +import org.onebusaway.gtfs.services.HibernateGtfsFactory; import algo.graph.Graph; @@ -23,40 +33,49 @@ public Parse() } + public String getTransportation(int type){ + if(type == 1) + return "METRO"; + else if(type == 2) + return "RER"; + else if(type == 3) + return "BUS"; + else if (type == 0) + return "TRAM"; + else + return "NONE"; + + + } public Graph getGraph() { // Cr�ation du Graph a retourner try { - // Chargement du fichier permettant de r�cup�rer toutes les routes du r�seaux RATP/SNCF - String fichierRoutes ="routes.txt"; - InputStream ips = new FileInputStream(fichierRoutes); - InputStreamReader ipsr = new InputStreamReader(ips); - BufferedReader br = new BufferedReader(ipsr); - String ligneRoutes; - String numTrips_ID = ""; - - br.readLine(); - String modeTransport = ""; - - while ((ligneRoutes = br.readLine()) != null) - { - String [] splitRoutes = ligneRoutes.split(","); - - if(splitRoutes[2].contains("T")) - modeTransport = "TRAM"; - - if(splitRoutes[2].equals("A") || splitRoutes[2].equals("B")) - modeTransport = "RER"; - - else - modeTransport = "METRO"; - - // Traitement mode de transport - routes.add(new Routes(splitRoutes[0],splitRoutes[2],modeTransport)); - } - br.close(); - + + HibernateSession hyber = new HibernateSession(); + HibernateGtfsFactory factory = hyber.createHibernateGtfsFactory(); + GtfsMutableRelationalDao dao = factory.getDao(); + + /** fill routes **/ + Collection routesDB = dao.getAllRoutes(); + for( Route route: routesDB){ + routes.add(new Routes(route.getId().getId(), route.getShortName(),getTransportation(route.getType()))); + } + + /** fill stops **/ + Collection stopsDB = dao.getAllStops(); + for( Stop stop: stopsDB){ + + stops.add(new Stops(stop.getId().getId(), stop.getName(), + Double.toString(stop.getLat()), Double.toString(stop.getLon()), stop.getParentStation())); + //StopTime stopTime = dao.getStopTimeForId(Integer.parseInt(stop.getId().getId())); + //stop_times.add( new StopTimes(stopTime.getTrip().getId().getId(), + // stopTime.getStop().getId().getId(),Integer.toString( stopTime.getArrivalTime()))); + + } + + // Chargement du fichier permettant de r�cup�rer les correspondances et les d�lais entre les stations String fichierStop_Times = "stop_times.txt"; InputStream ipsStop_Times = new FileInputStream(fichierStop_Times); @@ -73,37 +92,27 @@ public Graph getGraph() brStop_Times.close(); - // Parcourt du fichier permettant de recup�rer les chemins des diff�rentes lignes du reseau - String fichierTrips = "trips.txt"; - InputStream ipsTrips = new FileInputStream(fichierTrips); - InputStreamReader ipsrTrips = new InputStreamReader(ipsTrips); - BufferedReader brTrips = new BufferedReader(ipsrTrips); - - String ligneTrips; - brTrips.readLine(); - while ((ligneTrips = brTrips.readLine()) != null) - { - String [] splitTrips = ligneTrips.split(","); - trips.add(new Trips(splitTrips[0],splitTrips[2])); - } - brTrips.close(); + /*** fill stop times *****/ + /* fill stops + Collection stopTimesDB = dao.getAllStopTimes(); + for( StopTime stopTime: stopTimesDB){ + + stop_times.add( new StopTimes(stopTime.getTrip().getId().getId(), + stopTime.getStop().getId().getId(),Integer.toString( stopTime.getDepartureTime()))); + + } + */ + + + /* fill trips **/ + Collection tripsDB = dao.getAllTrips(); + for( Trip trip: tripsDB){ + trips.add(new Trips(trip.getRoute().getId().getId(), trip.getId().getId())); + + } - // Parcourt du fichier permettant de recup�rer les chemins des diff�rentes lignes du reseau - String fichierStops = "stops.txt"; - InputStream ipsStops = new FileInputStream(fichierStops); - InputStreamReader ipsrStops = new InputStreamReader(ipsStops); - BufferedReader brStops = new BufferedReader(ipsrStops); - - String ligneStops; - brStops.readLine(); - while ((ligneStops = brStops.readLine()) != null) - { - String [] splitStops = ligneStops.split(","); - stops.add(new Stops(splitStops[0],splitStops[2],splitStops[3],splitStops[4],splitStops[7])); - } - brStops.close(); - + String fichierGeo= "geo.csv"; InputStream ipsGeo = new FileInputStream(fichierGeo); diff --git a/src/hibernateLocal/HibernateSession.java b/src/hibernateLocal/HibernateSession.java new file mode 100644 index 0000000..ac08c3d --- /dev/null +++ b/src/hibernateLocal/HibernateSession.java @@ -0,0 +1,41 @@ +package hibernateLocal; + +import java.io.File; + +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; +import org.onebusaway.gtfs.services.HibernateGtfsFactory; + +public class HibernateSession { + private static final String KEY_CLASSPATH = "classpath:"; + + private static final String KEY_FILE = "file:"; + + + protected String resource = null; + + public HibernateSession() { + super(); + this.resource = "file:src/hibernateLocal/hibernate-configuration.xml"; + } + + public HibernateGtfsFactory createHibernateGtfsFactory() { + + Configuration config = new Configuration(); + + + if (resource.startsWith(KEY_CLASSPATH)) { + resource = resource.substring(KEY_CLASSPATH.length()); + config = config.configure(resource); + } else if (resource.startsWith(KEY_FILE)) { + resource = resource.substring(KEY_FILE.length()); + config = config.configure(new File(resource)); + } else { + config = config.configure(new File(resource)); + } + + SessionFactory sessionFactory = config.buildSessionFactory(); + return new HibernateGtfsFactory(sessionFactory); + } + +} diff --git a/src/hibernate_handling/TestLoading.java b/src/hibernateLocal/TestLoading.java similarity index 99% rename from src/hibernate_handling/TestLoading.java rename to src/hibernateLocal/TestLoading.java index 60e8908..b22e448 100644 --- a/src/hibernate_handling/TestLoading.java +++ b/src/hibernateLocal/TestLoading.java @@ -1,4 +1,4 @@ -package hibernate_handling; +package hibernateLocal; import java.io.File; diff --git a/src/hibernateLocal/TestReading.java b/src/hibernateLocal/TestReading.java new file mode 100644 index 0000000..de3776d --- /dev/null +++ b/src/hibernateLocal/TestReading.java @@ -0,0 +1,250 @@ +package hibernateLocal; + + +import java.io.File; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.hibernate.SessionFactory; +import org.hibernate.cfg.Configuration; +import org.onebusaway.gtfs.model.AgencyAndId; +import org.onebusaway.gtfs.model.Pathway; +import org.onebusaway.gtfs.model.Route; +import org.onebusaway.gtfs.model.Stop; +import org.onebusaway.gtfs.model.StopTime; +import org.onebusaway.gtfs.model.Transfer; +import org.onebusaway.gtfs.model.Trip; +import org.onebusaway.gtfs.model.calendar.ServiceDate; +import org.onebusaway.gtfs.serialization.GtfsReader; +import org.onebusaway.gtfs.services.GtfsDao; +import org.onebusaway.gtfs.services.GtfsMutableRelationalDao; +import org.onebusaway.gtfs.services.HibernateGtfsFactory; +import org.onebusaway.gtfs.services.calendar.CalendarService; + +import algo.graph.parsing.StopTimes; + + + + + + +public class TestReading { + + + private static final String KEY_CLASSPATH = "classpath:"; + + private static final String KEY_FILE = "file:"; + + @SuppressWarnings("null") + public static void main(String[] args) throws IOException { + /* + if (!(args.length == 1 || args.length == 2)) { + System.err.println("usage: gtfsPath [hibernate-config.xml]"); + System.exit(-1); + } + */ + + + //String gtfsFiles = "src/ressources/"; + //if (args.length == 2) + //resource = args[1]; + + HibernateSession hyber = new HibernateSession(); + HibernateGtfsFactory factory = hyber.createHibernateGtfsFactory(); + GtfsMutableRelationalDao dao = factory.getDao(); + + Collection stops = dao.getAllStops(); + //Collection timeList = null ; + + + try{ + for(Stop stop : stops ){ + + //System.out.println(stop.getId()); + //System.out.println(stop.getId().getId()); + //System.out.println(stop.getId().getAgencyId()); + //for(Stop stop2 : stops ){ + //boolean b = timeList.add( dao.getStopTimeForId( Integer.parseInt(stop.getId().getAgencyId()))) ; + //System.out.println("bool check " + b); + System.out.println("stop times are: "+dao.getStopTimeForId(Integer.parseInt(stop.getId().getId()))); + //System.out.println("--------------------------------------------------------"); + //System.out.println( stop.getName()+" <---------> " + //+(dao.getStopTimeForId(Integer.parseInt(stop.getId().getId()))).getStop().getName()); + // int stopId = stop.getId().toString() + + //if( Integer.parseInt(stop2.getId().getId()) == Integer.parseInt(stop.getId().getId())+2){ + // System.out.println(stop.getName()+ " <---------------> "+ stop2.getName()); + // break; + //} + //} + } + }catch( Exception e){ + + } + + + + //GtfsReader reader = new GtfsReader(); + // reader.setInputLocation(new File(gtfsFiles)); + + + + //reader.setEntityStore(dao); + //reader.run(); + + /* + Collection trips = dao.getAllTrips(); + Collection stops = null; + int i = 0; + + try{ + for(Trip trip : trips ){ + if( trip.getRoute().getType() == 1){ + //System.out.println( dao.getStopTimeForId(Integer.parseInt(trip.getId().getId())).getStop().getName()); + //System.out.println(dao.getStopTimeForId(Integer.parseInt(trip.getId().getId())).getStop().getName()); + //System.out.println(trip.getId().getAgencyId()); + i++; + //System.out.println((dao.getStopTimesForTrip(trip)).get(2).getStop().getName()); + + + System.out.println(i); + + } + //System.out.println(trip); + } + //System.out.println("taille"+stops.size()); + } + catch( Exception e){ + System.out.println(e.toString()); + } + */ + + + /* + + + Collection trips = dao.getAllTrips(); + + try{ + for(Trip trip : trips ){ + //if( trip.getRoute().getType() == 1){ + //System.out.println( dao.getStopTimeForId(Integer.parseInt(trip.getId().getId())).getStop().getName()); + //} + System.out.println(trip); + } + } + catch( Exception e){ + + } + // check if the station is a subway or something else + Collection routes = dao.getAllRoutes(); + + int i = 0; + try{ + for( Route route : routes ){ + + + if( route.getType() == 1) + { + i++; + System.out.println( " This is a subway" + " and the iteration is: "+i); + + } + + } + }catch( Exception e){ + + } + // check the pathways + Collection paths = dao.getAllPathways(); + + try{ + for( Pathway path : paths ){ + + System.out.println(path.toString()); + + + } + }catch( Exception e){ + + } + + + + Collection trips = dao.getAllTrips(); + + try{ + for(Trip trip : trips ){ + + System.out.println(Integer.parseInt((trip.getRoute().getId().getAgencyId()))); + + } + }catch( Exception e){ + + } + + + + try{ + //System.out.println( timeList.get(0).getArrivalTime()); + for(StopTime time : timeList ){ + System.out.println( "this is stop time"+time.getArrivalTime()); + } + }catch( Exception e){ + + } + + + + for (Stop stop : stops) + System.out.println(stop.getName()); + + for(Trip trip : trips) + System.out.println(trip.getRoute()); + */ + + } + + /* + + CalendarService calendarService = factory.getCalendarService(); + Set serviceIds = calendarService.getServiceIds(); + + for (AgencyAndId serviceId : serviceIds) { + Set dates = calendarService.getServiceDatesForServiceId(serviceId); + ServiceDate from = null; + ServiceDate to = null; + for (ServiceDate date : dates) { + from = min(from, date); + to = max(to, date); + } + + System.out.println("serviceId=" + serviceId + " from=" + from + " to=" + + to); + } + } + + private static ServiceDate min(ServiceDate a, ServiceDate b) { + if (a == null) + return b; + if (b == null) + return a; + return a.compareTo(b) <= 0 ? a : b; + } + + private static ServiceDate max(ServiceDate a, ServiceDate b) { + if (a == null) + return b; + if (b == null) + return a; + return a.compareTo(b) <= 0 ? b : a; + } +*/ + + + +} diff --git a/src/hibernate_handling/hibernate-configuration.xml b/src/hibernateLocal/hibernate-configuration.xml similarity index 100% rename from src/hibernate_handling/hibernate-configuration.xml rename to src/hibernateLocal/hibernate-configuration.xml diff --git a/src/hibernate_handling/TestReading.java b/src/hibernate_handling/TestReading.java deleted file mode 100644 index 8cc2f05..0000000 --- a/src/hibernate_handling/TestReading.java +++ /dev/null @@ -1,151 +0,0 @@ -package hibernate_handling; - - -import java.io.File; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.hibernate.SessionFactory; -import org.hibernate.cfg.Configuration; -import org.onebusaway.gtfs.model.AgencyAndId; -import org.onebusaway.gtfs.model.Stop; -import org.onebusaway.gtfs.model.StopTime; -import org.onebusaway.gtfs.model.Trip; -import org.onebusaway.gtfs.model.calendar.ServiceDate; -import org.onebusaway.gtfs.serialization.GtfsReader; -import org.onebusaway.gtfs.services.GtfsMutableRelationalDao; -import org.onebusaway.gtfs.services.HibernateGtfsFactory; -import org.onebusaway.gtfs.services.calendar.CalendarService; - -import algo.graph.parsing.StopTimes; - - - - - - -public class TestReading { - - - private static final String KEY_CLASSPATH = "classpath:"; - - private static final String KEY_FILE = "file:"; - - @SuppressWarnings("null") - public static void main(String[] args) throws IOException { - /* - if (!(args.length == 1 || args.length == 2)) { - System.err.println("usage: gtfsPath [hibernate-config.xml]"); - System.exit(-1); - } - */ - //String resource = "classpath:org/onebusaway/gtfs/examples/hibernate-configuration-examples.xml"; - String resource = "file:src/hibernate_handling/hibernate-configuration.xml"; - //String gtfsFiles = "src/ressources/"; - //if (args.length == 2) - //resource = args[1]; - - HibernateGtfsFactory factory = createHibernateGtfsFactory(resource); - - GtfsReader reader = new GtfsReader(); - // reader.setInputLocation(new File(gtfsFiles)); - - GtfsMutableRelationalDao dao = factory.getDao(); - reader.setEntityStore(dao); - //reader.run(); - - Collection stops = dao.getAllStops(); - Collection trips = dao.getAllTrips(); - - - - List timeList = null ; - - - try{ - for(Stop stop : stops ){ - System.out.println(dao.getStopTimeForId(Integer.parseInt(stop.getId().getId()))+" "+ stop.getName()); - } - }catch( Exception e){ - - } - try{ - System.out.println( timeList.get(0).getArrivalTime()); - for(StopTime time : timeList ){ - System.out.println( time.getArrivalTime()); - } - }catch( Exception e){ - - } - - /* - for (Stop stop : stops) - System.out.println(stop.getName()); - - for(Trip trip : trips) - System.out.println(trip.getRoute()); - */ - - } - - /* - - CalendarService calendarService = factory.getCalendarService(); - Set serviceIds = calendarService.getServiceIds(); - - for (AgencyAndId serviceId : serviceIds) { - Set dates = calendarService.getServiceDatesForServiceId(serviceId); - ServiceDate from = null; - ServiceDate to = null; - for (ServiceDate date : dates) { - from = min(from, date); - to = max(to, date); - } - - System.out.println("serviceId=" + serviceId + " from=" + from + " to=" - + to); - } - } - - private static ServiceDate min(ServiceDate a, ServiceDate b) { - if (a == null) - return b; - if (b == null) - return a; - return a.compareTo(b) <= 0 ? a : b; - } - - private static ServiceDate max(ServiceDate a, ServiceDate b) { - if (a == null) - return b; - if (b == null) - return a; - return a.compareTo(b) <= 0 ? b : a; - } -*/ - - private static HibernateGtfsFactory createHibernateGtfsFactory(String resource) { - - Configuration config = new Configuration(); - - if (resource.startsWith(KEY_CLASSPATH)) { - resource = resource.substring(KEY_CLASSPATH.length()); - config = config.configure(resource); - } else if (resource.startsWith(KEY_FILE)) { - resource = resource.substring(KEY_FILE.length()); - config = config.configure(new File(resource)); - } else { - config = config.configure(new File(resource)); - } - - SessionFactory sessionFactory = config.buildSessionFactory(); - return new HibernateGtfsFactory(sessionFactory); - } - - - -} diff --git a/target/classes/META-INF/maven/Graph/Graph/pom.properties b/target/classes/META-INF/maven/Graph/Graph/pom.properties index 836553d..16753ea 100644 --- a/target/classes/META-INF/maven/Graph/Graph/pom.properties +++ b/target/classes/META-INF/maven/Graph/Graph/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Wed Nov 27 02:12:03 CET 2013 +#Sat Nov 30 21:07:44 CET 2013 version=0.0.1-SNAPSHOT groupId=Graph m2e.projectName=Graph diff --git a/target/classes/algo/graph/parsing/Parse.class b/target/classes/algo/graph/parsing/Parse.class index df66e39996b79a2a6fcc3ebe498742e4d9045be2..f5981dda202c0574a8aa11d4d08161fa775b2cbe 100644 GIT binary patch literal 8303 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 O;eY4IVdl6)?)nv1agiDT literal 7682 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 diff --git a/target/classes/hibernateLocal/HibernateSession.class b/target/classes/hibernateLocal/HibernateSession.class new file mode 100644 index 0000000000000000000000000000000000000000..bf09fa166b2da980831cc9735ea6985a77112716 GIT binary patch literal 1530 zcmb7E+fEZv6kUe`y)aO0L6JKs*cRw;5ifu!AO&<#laiVm6LLBX?cgv&W~L|)eu!V- zt0r0!N&EnR$5&(AXIcsr#Q1XBea^nEwf3GLzrTG4Foh?6)G_oG^qgj!+|?9I<%Ya^ zY^F8G(Jj-DdWO~=zRzWYn|b+pZbwsHhUTZs+07+oA)S7)u(8SzQBHi)uC1H-S#nyk zOvmM>o8d-L3n0i4QVs4nd)zI|Fa$)B)S9v!fW*+Sts9!SwKc~o+N#FTIH#MsJI~;Y z#WM``OV*Yaf)5c1EeHp}&?cc7jR9O`nDXKsTa{}tRn0NgGPm`7(dI5eOTODR7{ZEf zYR`(h#KH#88B{dlF_Gc6F6_!>y<5;7h5@CT>|(wMb*E};#AlVs6?fZ7an-f#1BU5X zT(RuDY?)fF=}dABu4>MS0H?xc{pcmBL|nDJtZwIJ;`ank2t9~|Fn}9= z44x6KEQo}g7$OBo5!-cM>TZFdJ$7EV_$!g*mV_AMB!QusdErVDtciya38NTe2s*`_ z<0&oDti{hK5)H``#xX(O$J7(S(-#%>Sh)lpaWKUoc~hoaa*Adpgh@<`Nx1VDAQ{oY zJ<-8^hKWkmO7Lu1hs!F8=vfJKc)$?N6?J2)vJ_P{`zvamWI5|WO+Tc{|1Ee3^H>nb z7HQ;SHPqCU5R1`RW>?JTKZb*Wud)oGw6~u^17d!) z=97^W8quK8$k2zzhfXx0kt{!1bqJ6hI%PMZUTm=UM!g|So~>l1$d}P?YvK@B66`CY ziAX!0pFPiObVew$e1;K3lp@>EK{rx44%ev?=zkZwD>;8sgy`x05qh$R=u;A35RC*% z=>LGe#IZ44LV^m72)l%&@)3*PQbSq+a=s3_vlE?)kq05>qnT+ zjvnICCu+b40U(JcIy;DxE^57-*0Tp==%s<{gMxm%CK5L>2n$1SG3-ovU5cc1_lOWhCA#GOpFXt8JS6`MR|!OsXqD1i8&LM&I-u*po(o~W^5G# E0BNffXaE2J delta 67 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 diff --git a/target/classes/test.html b/target/classes/test.html index 3084146..a6e2d0b 100644 --- a/target/classes/test.html +++ b/target/classes/test.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/target/classes/test1.html b/target/classes/test1.html index 916450f..50b963e 100644 --- a/target/classes/test1.html +++ b/target/classes/test1.html @@ -1 +1 @@ - \ No newline at end of file +
depuis La Courneuve-8-Mai-1945
jusqu'a Louis Blanc
20h29
20h39
12min
depuis Louis Blanc
jusqu'a Buttes-Chaumont
20h39
20h43
4min
\ No newline at end of file
depuis La Courneuve-8-Mai-1945
jusqu'a Louis Blanc
20h31
20h41
12min
depuis Louis Blanc
jusqu'a Buttes-Chaumont
20h41
20h45
4min