Advertisement
Guest User

Untitled

a guest
Dec 12th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 14.32 KB | None | 0 0
  1. package com.comarch.tripplanner.api.rest.tripplanner;import android.app.ProgressDialog;import android.content.Context;import android.util.Log;import android.widget.Toast;import com.comarch.tripplanner.api.model.Credentials;import com.comarch.tripplanner.api.model.RouteItem;import com.comarch.tripplanner.api.model.StopAndLinesNearby;import com.comarch.tripplanner.api.model.bicycle.BicycleStation;import com.comarch.tripplanner.api.model.plan.PlanResponse;import com.comarch.tripplanner.api.model.timetables.Timetable;import com.comarch.tripplanner.api.model.TripProfile;import com.comarch.tripplanner.api.model.Version;import com.comarch.tripplanner.api.model.graph.Graph;import com.comarch.tripplanner.api.model.routes.Pattern;import com.comarch.tripplanner.api.model.routes.Transport;import com.google.android.gms.maps.model.LatLng;import java.util.List;import rx.Observable;import rx.Subscriber;import rx.android.schedulers.AndroidSchedulers;import rx.schedulers.Schedulers;public class TripPlannerDataLoader {    private static final String USERNAME = "admin";    private static final String PASSWORD = "nimda";    private Context context;    private TripPlannerRestService service =            TripPlannerRestServiceFactory.create(TripPlannerRestService.class,                    new Credentials(USERNAME, PASSWORD));    private ProgressDialog progressDialog;    public TripPlannerDataLoader(Context context) {        this.context = context;    }    public void loadTripPlanData(String cityName, LatLng from, LatLng to, String modes, boolean wheelchair, final OnDataLoadedListener listener) {        Observable response = service.getPlan(cityName,                from.latitude + "," + from.longitude,//"45.488298185683945,9.180906414985657",                to.latitude + "," + to.longitude,//"45.465668959946484,9.181249737739563",                wheelchair,                1478120949000l,                modes,                false,                new TripProfile[]{TripProfile.PREFER_MIN_TRANSFERS},                null);        progressDialog = ProgressDialog.show(context, "Create Path", "Please Wait", true);        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                        progressDialog.dismiss();                    }                    @Override                    public void onError(Throwable e) {                        progressDialog.dismiss();                        e.printStackTrace();                        Toast.makeText(context, "Something bad happend", Toast.LENGTH_LONG).show();                    }                    @Override                    public void onNext(PlanResponse planResponse) {                        listener.onDataLoaded(planResponse);                    }                });    }    public void loadVersion(final OnDataLoadedListener listener) {        Observable response = service.getVersion();        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                    }                    @Override                    public void onError(Throwable e) {                        e.printStackTrace();                    }                    @Override                    public void onNext(Version version) {                        listener.onDataLoaded(version);                    }                });    }    public void loadDetailInformationForRoutes(String cityName, final OnDataLoadedListener listener) {        TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class,                new Credentials("admin", "nimda"));        Observable> response = service.getDetailInformationForRoutes(cityName);        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber>() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                    }                    @Override                    public void onError(Throwable e) {                        e.printStackTrace();                    }                    @Override                    public void onNext(List transports) {                        listener.onDataLoaded(transports);                    }                });    }    public void loadAllRoutes(String cityName, final OnDataLoadedListener listener) {        TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class,                new Credentials("admin", "nimda"));        Observable> response = service.getRoutes(cityName);        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber>() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                    }                    @Override                    public void onError(Throwable e) {                        e.printStackTrace();                    }                    @Override                    public void onNext(List transports) {                        listener.onDataLoaded(transports);                    }                });    }    public void loadBicycleStations(String cityName, final OnDataLoadedListener listener) {        TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class,                new Credentials("admin", "nimda"));        Observable> response = service.getBicycleStations(cityName);        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber>() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                    }                    @Override                    public void onError(Throwable e) {                        e.printStackTrace();                    }                    @Override                    public void onNext(List transports) {                        listener.onDataLoaded(transports);                    }                });    }    public void loadPatternDetailsForRoute(String cityName, String routeId, final OnDataLoadedListener listener) {        TripPlannerRestService service = TripPlannerRestServiceFactory.create(TripPlannerRestService.class,                new Credentials("admin", "nimda"));        Observable> response = service.getPatternDetailsForRoute(cityName, routeId);        response.observeOn(AndroidSchedulers.mainThread())                .subscribeOn(Schedulers.io())                .subscribe(new Subscriber>() {                    @Override                    public void onCompleted() {                        Log.e("OnCompleted", "");                    }                    @Override                    public void onError(Throwable e) {                        e.printStackTrace();                    }                    @Override                    public void onNext(List patterns) {                        listener.onDataLoaded(patterns);                    }                });    }    public void..From:Artur Miksapublic class TripPlannerRestServiceFactory {public static final String BASE_URL = "https://milan.smartcity.comarch.com/tripplanner/";//public static final String BASE_URL = "http://dev-logic.lodz.comarch:8080/tripplanner/";private static Retrofit.Builder builder = new Retrofit.Builder().baseUrl(BASE_URL).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).addConverterFactory(GsonConverterFactory.create());public static T create(Class serviceClass) {return create(serviceClass, null);}public static T create(Class serviceClass, Credentials credentials) {if (credentials != null) {builder.client(getOkHttpClient(credentials));}Retrofit retrofit = builder.build();return retrofit.create(serviceClass);}private static OkHttpClient getOkHttpClient(final Credentials credentials) {OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder().addInterceptor(new Interceptor() {@Overridepublic Response intercept(Chain chain) throws IOException {Request original = chain.request();String basic = getBasicEncodedString(credentials.getUsername(), credentials.getPassword());Request.Builder requestBuilder = original.newBuilder().header("Authorization", basic).header("Accept", "application/json").method(original.method(), original.body());Request request = requestBuilder.build();return chain.proceed(request);}});return httpClientBuilder.build();}private static String getBasicEncodedString(String username, String password) {String credentials = username + ":" + password;return "Basic " + Base64.encodeToString(credentials.getBytes(), Base64.NO_WRAP);}}Sent on:1:55 pmFrom:Artur Miksapackage com.comarch.tripplanner.api.rest.tripplanner;import com.comarch.tripplanner.api.model.bicycle.BicycleStation;import com.comarch.tripplanner.api.model.graph.Graph;import com.comarch.tripplanner.api.model.LineDetails;import com.comarch.tripplanner.api.model.NearbyDepartures;import com.comarch.tripplanner.api.model.routes.Pattern;import com.comarch.tripplanner.api.model.PatternItem;import com.comarch.tripplanner.api.model.plan.PlanResponse;import com.comarch.tripplanner.api.model.RouteItem;import com.comarch.tripplanner.api.model.StopAndLinesNearby;import com.comarch.tripplanner.api.model.routes.StopTime;import com.comarch.tripplanner.api.model.timetables.Timetable;import com.comarch.tripplanner.api.model.Geometry;import com.comarch.tripplanner.api.model.routes.Transport;import com.comarch.tripplanner.api.model.TripProfile;import com.comarch.tripplanner.api.model.Version;import java.util.List;import java.util.Set;import retrofit2.http.GET;import retrofit2.http.Path;import retrofit2.http.Query;import rx.Observable;public interface TripPlannerRestService {    @GET("cities/{cityName}/plan")    Observable getPlan(@Path("cityName") String cityName, @Query("fromPlace") String fromPlace, @Query("toPlace") String toPlace,                                     @Query("wheelchair") boolean wheelchair, @Query("time") long time, @Query("mode") String mode,                                     @Query("arriveBy") boolean arriveBy, @Query("profiles") TripProfile[] profiles, @Query("numItineraries") Integer numItineraries);    @GET("cities/{cityName}/nextPassingTimes")    Observable> getNextPassingTimes(@Path("cityName") String cityName,                                                   @Query("lat") double lat, @Query("lon") double lon,                                                   @Query("radius") int radius, @Query("time") long time, @Query("minutes") int minutes);    @GET("cities/{cityName}/nearbyDepartures")    Observable> getNearbyDepartures(@Path("cityName") String cityNam,                                                           @Query("lat") double lat, @Query("lon") double lone);    @GET("cities/{cityName}/line/{lineId}/details")    Observable> getStopsDetailsForLine(@Path("cityName") String cityName, @Path("lineId") String lineId);    @GET("cities/{cityName}/routes")    Observable> getRoutes(@Path("cityName") String cityName);    @GET("cities/{cityName}/transits")    Observable> getAvailableTransitModes(@Path("cityName") String cityName);    @GET("cities/{cityName}/routes/details")    Observable> getDetailInformationForRoutes(@Path("cityName") String cityName);    @GET("cities/{cityName}/stops")    Observable> getStops(@Path("cityName") String cityName);    @GET("cities/{cityName}/stops/nearby")    Observable> getStopAndLinesNearby(@Path("cityName") String cityName,                                                               @Query("lat") double lat, @Query("lon") double lon, @Query("radius") int radius);    @GET("cities/{cityName}/stops/{stopId}/timetable")    Observable> getTimetablesForStops(@Path("cityName") String cityName, @Path("stopId") String stopId);//  Observable> getTimetablesForStops(@Path("cityName") String cityName, @Path("timetable") String timetable, @Query("routeId") String routeId);    @GET("cities/{cityName}/stops/{stopId}/timetable/{date}")    Observable getTimetablesForStopsAndDate(@Path("cityName") String cityName, @Path("stopId") String stopId, @Path("date") String date,                                                    @Query("routeId") String routeId);    @GET("cities/{cityName}/stops/{stopId}/stoptime")    Observable> getStopTimes(@Path("cityName") String cityName, @Path("stopId") String stopId);    @GET("cities/{cityName}/stops/{stopId}/stoptimes/{date}")    Observable> getStopTimes(@Path("cityName") String cityName, @Path("stopId") String stopId, @Path("date") String date);    @GET("cities/{cityName}/routes/allerts")    Observable getAllertsForAllRoutes(@Path("cityName") String cityName);    @GET("cities/{cityName}/routes/{routeTag}/allerts")    Observable getAllertsForRoute(@Path("cityName") String cityName, @Path("routeTag") String routeTag);    @GET("cities/{cityName}/routes/buses")    Observable getAllBusLocations(@Path("cityName") String cityName);    @GET("cities/{cityName}/routes/{routeTag}/buses")    Observable getBusLocationsForRoute(@Path("cityName") String cityName, @Path("routeTag") String routeTag);    @GET("version")    Observable getVersion();    @GET("cities/{cityName}/patterns/{patternId}")    Observable getPattern(@Path("cityName") String cityName, @Path("patternId") String patternId);    @GET("cities/{cityName}/patterns/{patternId}/geometry")    Observable getGeometryForPattern(@Path("cityName") String cityName, @Path("patternId") String patternId);    @GET("cities/{cityName}/routes/{routeId}/patterns")    Observable> getPatternForRoute(@Path("cityName") String cityName, @Path("routeId") String routeId);    @GET("cities/{cityName}/routes/{routeId}/patterns/details")    Observable> getPatternDetailsForRoute(@Path("cityName") String cityName, @Path("routeId") String routeId);    @GET("cities/{cityName}/timetables")    Observable> getTimetablesForCity(@Path("cityName") String cityName);    @GET("cities/{cityName}/bicycles")    Observable> getBicycleStations(@Path("cityName") String cityName);    @GET("graphs")    Observable> getGraphs();}From:Artur Miksaw tych 2 klasach i interfejsie masz wszystko chyba co CI potrzebe no brak tylko modeli danych
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement