diff --git a/src/com/uncc/gameday/parking/ParkingChoices.java b/src/com/uncc/gameday/parking/ParkingChoice.java similarity index 73% rename from src/com/uncc/gameday/parking/ParkingChoices.java rename to src/com/uncc/gameday/parking/ParkingChoice.java index 2d1bd14..7574a9f 100644 --- a/src/com/uncc/gameday/parking/ParkingChoices.java +++ b/src/com/uncc/gameday/parking/ParkingChoice.java @@ -1,6 +1,6 @@ package com.uncc.gameday.parking; -public enum ParkingChoices { +public enum ParkingChoice { GREEN ("GREEN"), BLACK ("BLACK"), RED ("RED"), @@ -14,6 +14,6 @@ public enum ParkingChoices { GOLD ("GOLD"); String choice; - ParkingChoices(String choice) { this.choice = choice; } + ParkingChoice(String choice) { this.choice = choice; } public String getValue() { return choice; } } \ No newline at end of file diff --git a/src/com/uncc/gameday/parking/ParkingClient.java b/src/com/uncc/gameday/parking/ParkingClient.java index d25e217..ac30b4a 100644 --- a/src/com/uncc/gameday/parking/ParkingClient.java +++ b/src/com/uncc/gameday/parking/ParkingClient.java @@ -1,6 +1,8 @@ package com.uncc.gameday.parking; +import java.util.HashMap; import java.util.List; +import java.util.Map; import retrofit.RestAdapter; import android.content.Context; @@ -23,7 +25,7 @@ public class ParkingClient { return gds.listLots(); } - public ParkingLot listLot(ParkingChoices choice) { + public ParkingLot listLot(ParkingChoice choice) { return gds.listLot(choice.getValue()); } @@ -31,7 +33,7 @@ public class ParkingClient { return gds.listLot(lot.getLocation().getValue()); } - public void rateLot(RatingChoices rating, ParkingChoices parkingLot) { + public void rateLot(RatingChoices rating, ParkingChoice parkingLot) { ParkingRating pRating = new ParkingRating(); pRating.setParkingLot(parkingLot); pRating.setRating(rating); @@ -41,4 +43,19 @@ public class ParkingClient { public void rateLot(ParkingRating rating) { gds.rateLot(rating, new ParkingLotCallback()); } + + public ParkingLot listLotLocation(ParkingLot p){ + ParkingCoordinate pc = gds.listLotLocation(p.getLocation().getValue()); + p.setCoordinate(pc); + return p; + } + + public ParkingLot listLotLocation(ParkingChoice c) { + ParkingCoordinate pc = gds.listLotLocation(c.getValue()); + ParkingLot pl = new ParkingLot(); + pl.setLocation(c); + pl.setCoordinate(pc); + return pl; + } + } diff --git a/src/com/uncc/gameday/parking/ParkingCoordinate.java b/src/com/uncc/gameday/parking/ParkingCoordinate.java new file mode 100644 index 0000000..be1a966 --- /dev/null +++ b/src/com/uncc/gameday/parking/ParkingCoordinate.java @@ -0,0 +1,46 @@ +package com.uncc.gameday.parking; + +import android.content.Intent; +import android.net.Uri; + +public class ParkingCoordinate { + private double latitude; + private double longitude; + private String label; + + public double getLatitude() { + return latitude; + } + public void setLatitude(double latitude) { + this.latitude = latitude; + } + public double getLongitude() { + return longitude; + } + public void setLongitude(double longitude) { + this.longitude = longitude; + } + public String getLabel() { + return label; + } + public void setLabel(String label) { + this.label = label; + } + + public Uri getNavigationURI() { + // URI used to construct an intent for navigation + return Uri.parse("google.navigation:q=" + this.getLatitude() + "," + this.getLongitude()); + } + + public Intent getNavigationIntent() { + // Intent used to do navigation + return new Intent(Intent.ACTION_VIEW, this.getNavigationURI()); + } + + public ParkingCoordinate(double latitude, double longitude, String label) { + this.latitude = latitude; + this.longitude = longitude; + this.label = label; + } + +} diff --git a/src/com/uncc/gameday/parking/ParkingLot.java b/src/com/uncc/gameday/parking/ParkingLot.java index 2c278a9..ecaa8fa 100644 --- a/src/com/uncc/gameday/parking/ParkingLot.java +++ b/src/com/uncc/gameday/parking/ParkingLot.java @@ -2,8 +2,9 @@ package com.uncc.gameday.parking; public class ParkingLot { - private ParkingChoices location; + private ParkingChoice location; private int filled_pct; + private ParkingCoordinate coordinate; public int getFilledPct() { return filled_pct; @@ -11,11 +12,17 @@ public class ParkingLot { public void setFilledPct(int filled_pct) { this.filled_pct = filled_pct; } - public ParkingChoices getLocation() { + public ParkingChoice getLocation() { return location; } - public void setLocation(ParkingChoices location) { + public void setLocation(ParkingChoice location) { this.location = location; } + public ParkingCoordinate getCoordinate() { + return coordinate; + } + public void setCoordinate(ParkingCoordinate coordinate) { + this.coordinate = coordinate; + } } diff --git a/src/com/uncc/gameday/parking/ParkingRating.java b/src/com/uncc/gameday/parking/ParkingRating.java index 8670d61..9e03669 100644 --- a/src/com/uncc/gameday/parking/ParkingRating.java +++ b/src/com/uncc/gameday/parking/ParkingRating.java @@ -1,13 +1,13 @@ package com.uncc.gameday.parking; public class ParkingRating { - private ParkingChoices parking_lot; + private ParkingChoice parking_lot; private RatingChoices rating; - public ParkingChoices getParkingLot() { + public ParkingChoice getParkingLot() { return parking_lot; } - public void setParkingLot(ParkingChoices parking_lot) { + public void setParkingLot(ParkingChoice parking_lot) { this.parking_lot = parking_lot; } public RatingChoices getRating() { diff --git a/src/com/uncc/gameday/registration/RegistrationClient.java b/src/com/uncc/gameday/registration/RegistrationClient.java index f20a00b..cf292ba 100644 --- a/src/com/uncc/gameday/registration/RegistrationClient.java +++ b/src/com/uncc/gameday/registration/RegistrationClient.java @@ -6,7 +6,7 @@ import retrofit.RestAdapter; import android.content.Context; import com.uncc.gameday.R; -import com.uncc.gameday.parking.ParkingChoices; +import com.uncc.gameday.parking.ParkingChoice; import com.uncc.gameday.parking.ParkingLot; import com.uncc.gameday.parking.ParkingLotCallback; import com.uncc.gameday.parking.ParkingRating; diff --git a/src/com/uncc/gameday/rest/GamedayService.java b/src/com/uncc/gameday/rest/GamedayService.java index 59b67c2..23baa61 100644 --- a/src/com/uncc/gameday/rest/GamedayService.java +++ b/src/com/uncc/gameday/rest/GamedayService.java @@ -2,13 +2,17 @@ package com.uncc.gameday.rest; import java.util.List; +import retrofit.Callback; +import retrofit.http.Body; +import retrofit.http.GET; +import retrofit.http.POST; +import retrofit.http.Path; + +import com.uncc.gameday.parking.ParkingCoordinate; import com.uncc.gameday.parking.ParkingLot; import com.uncc.gameday.parking.ParkingRating; import com.uncc.gameday.registration.Attendee; -import retrofit.Callback; -import retrofit.http.*; - public interface GamedayService { @GET("/lots/") @@ -17,9 +21,12 @@ public interface GamedayService { @GET("/lots/{lot}/") ParkingLot listLot(@Path("lot") String lot); - @POST("/rate/") + @POST("/lots/rate/") void rateLot(@Body ParkingRating p, Callback lot); + @GET("/lots/{lot}/") + ParkingCoordinate listLotLocation(@Path("lot") String lot); + @GET("/register/{id}/") Attendee getUser(@Path("id") int id);