conveyal / gtfs-editor

A web-based GTFS editing framework. THIS PROJECT IS DEPRECATED. See https://github.com/ibi-group/datatools-ui for current version.
https://github.com/ibi-group/datatools-ui
MIT License
134 stars 63 forks source link

"Changes to trip pattern stops must be made one at a time" when importing from TransitWand #174

Closed medwards closed 9 years ago

medwards commented 9 years ago

I'm experimenting with TransitWand + GTFS-editor right now and I can get it all running, but when I bring in a pattern from TransitWand (id 104204) I get this Exception.

The geometry and stop locations show up correctly, but when I try to add them to the route then I continually get this exception and none of the travel and dwell times seem to save.

medwards commented 9 years ago

Stacktrace if it helps:

java.lang.IllegalStateException: Changes to trip pattern stops must be made one at a time
    at models.transit.TripPattern.reconcilePatternStops(TripPattern.java:446)
    at controllers.Api.updateTripPattern(Api.java:557)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557)
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:508)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484)
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479)
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
    at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:251)
    at play.Invoker$Invocation.run(Invoker.java:278)
    at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:229)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
mattwigway commented 9 years ago

This message occurs when the controller can't figure out how stops have been moved around. I'm not that familiar with transitwand import; looks like what's happening is that it creates a trippattern and then tries to put stops into it. I need to rewrite this code as part of #166, so I'll add a check for this situation.

mattwigway commented 9 years ago

I think this should be fixed with latest master, which does not use Postgres at all. Note that there currently isn't a migration tool other than exporting and reimporting GTFS (or just reimporting the GTFS you started with). Feel free to reopen if it isn't.