Skip to content

Commit

Permalink
masih kurang json, sama trainScheduleController
Browse files Browse the repository at this point in the history
  • Loading branch information
marfanwicaksono committed Nov 25, 2019
1 parent 50ede25 commit af1a720
Show file tree
Hide file tree
Showing 7 changed files with 268 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ public boolean searchTime(String timeCode){
}

public ArrayList<TimeModel> getAllTime(){
ArrayList<TimeModel> times = new ArrayList<>();
ArrayList<TimeModel> times = new ArrayList<TimeModel>();
// TODO: Get from json
return times;
}

Expand All @@ -102,10 +103,11 @@ public void displayTime() {
// TODO: Display list
}

public void sortTime() {
ArrayList<TimeModel> current = routeTimeModel.getList();
public void sortTime(RouteTimeModel routeTime) {
ArrayList<TimeModel> current = routeTime.getList();
current.sort(Comparator.comparing(TimeModel::getTimeCode));
routeTimeModel.setList(current);
routeTime.setList(current);
// TODO: Update json
}

public void deleteTime(TimeModel time) {
Expand Down Expand Up @@ -145,6 +147,10 @@ public String allRouteTimeView(ArrayList<RouteTimeModel> routeTimes){
return t.createString(routeTimes);
}

public void updateRouteTime(ArrayList<RouteTimeModel> routeTimes){
// TODO: Update json
}

public boolean checkRouteAvailability(String routeCode){
boolean check = false;
for (RouteTimeModel r : getAllRouteTime()) {
Expand Down Expand Up @@ -183,4 +189,23 @@ public RwRouteModel getRwRoute(String routeCode) {
}
return rwRoute;
}

public boolean deleteRouteTime(String routeTimeCode) {
ArrayList<RouteTimeModel> routeTimes = new ArrayList<RouteTimeModel>();
boolean found = false;

for (RouteTimeModel r : routeTimes) {
if (r.getRouteTimeCode().equals(routeTimeCode)){
routeTimes.remove(r);
found = true;
break;
}
}

if (found){
updateRouteTime(routeTimes);
}

return found;
}
}
102 changes: 98 additions & 4 deletions src/main/java/org/kelompok4/app/Controller/RouteTrainController.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import org.kelompok4.app.Interface.ICanDelete;
import org.kelompok4.app.Interface.ICanRead;
import org.kelompok4.app.Model.RouteTrainModel;
import org.kelompok4.app.Model.RwRouteModel;
import org.kelompok4.app.Model.TrainModel;
import org.kelompok4.app.View.RouteTrainView;

Expand Down Expand Up @@ -51,17 +52,50 @@ public void read() {

}

public TrainModel getTrain(String trainCode){
TrainModel train = new TrainModel();

for (TrainModel t : getAllTrain()){
if (t.getTrainCode().equals(trainCode)){
train = t;
break;
}
}

return train;
}

public boolean searchTrain(String trainCode){
boolean check = false;

public void addTrain(TrainModel train){
for (TrainModel t : getAllTrain()){
if (t.getTrainCode().equals(trainCode)){
check = true;
break;
}
}

return check;
}

public ArrayList<TrainModel> getAllTrain(){
ArrayList<TrainModel> trains = new ArrayList<TrainModel>();
// TODO: Get from json
return trains;
}

public void setRouteTrain(RouteTrainModel routeTrain){
// TODO: Insert to json
}

public void addTrain(TrainModel train, RouteTrainModel routeTrain){
ArrayList<TrainModel> current = routeTrainModel.getList();
if (current.contains(train)){
routeTrainView.FailedAddRouteTrain();
} else {
current.add(train);
routeTrainModel.setList(current);
// TODO: Update json
routeTrainView.SuccessAddRouteTrain();
}
}

Expand All @@ -73,8 +107,8 @@ public void displayRouteTrain(){
// TODO: Display list
}

public void sortTrain(){
ArrayList<TrainModel> current = routeTrainModel.getList();
public void sortTrain(RouteTrainModel routeTrain){
ArrayList<TrainModel> current = routeTrain.getList();
current.sort(Comparator.comparing(TrainModel::getTrainCode));
routeTrainModel.setList(current);
// TODO: Update json
Expand All @@ -91,6 +125,15 @@ public void deleteTrain(TrainModel train){
}
}

public RouteTrainModel getRouteTrain(String routeTrainCode){
RouteTrainModel routeTrain = new RouteTrainModel();
for (RouteTrainModel r : getAllRouteTrain()) {
routeTrain = r;
break;
}
return routeTrain;
}

public ArrayList<RouteTrainModel> getAllRouteTrain(){
ArrayList<RouteTrainModel> routeTrains = new ArrayList<RouteTrainModel>();
// TODO: Get from json
Expand All @@ -106,6 +149,10 @@ public String allRouteTrainView(ArrayList<RouteTrainModel> routeTrains){
return t.createString(routeTrains);
}

public void updateRouteTrain(ArrayList<RouteTrainModel> routeTrains){
// TODO: Update json
}

public boolean checkRouteAvailability(String routeCode){
boolean check = false;
for (RouteTrainModel r : getAllRouteTrain()) {
Expand All @@ -116,4 +163,51 @@ public boolean checkRouteAvailability(String routeCode){
}
return check;
}

public String getLastRouteTrainCode(){
return getAllRouteTrain().get(getAllRouteTrain().size()-1).getRouteTrainCode();
}

public String generateLastRouteTrainCode(){
String current = getLastRouteTrainCode();
int newCode = Integer.valueOf(current.split("KR")[0]);
String newString = "KR" + Integer.toString(newCode);
return newString;
}

public ArrayList<RwRouteModel> getAllRwRoute(){
ArrayList<RwRouteModel> rwRoutes = new ArrayList<RwRouteModel>();
// TODO: Get from json
return rwRoutes;
}

public RwRouteModel getRwRoute(String routeCode) {
RwRouteModel rwRoute = new RwRouteModel();
for (RwRouteModel r : getAllRwRoute()) {
if (r.getRoute().getRouteCode().equals(routeCode)){
rwRoute = r;
break;
}
}
return rwRoute;
}

public boolean deleteRouteTrain(String routeTrainCode){
ArrayList<RouteTrainModel> routeTrains = new ArrayList<RouteTrainModel>();
boolean found = false;

for (RouteTrainModel r : routeTrains){
if (r.getRouteTrainCode().equals(routeTrainCode)){
routeTrains.remove(r);
found = true;
break;
}
}

if (found){
updateRouteTrain(routeTrains);
}

return found;
}
}
14 changes: 12 additions & 2 deletions src/main/java/org/kelompok4/app/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,19 @@
import org.kelompok4.app.Controller.CustomerController;
import org.kelompok4.app.Controller.LoginController;
import org.kelompok4.app.Controller.RegisterController;
import org.kelompok4.app.Controller.RouteTimeController;
import org.kelompok4.app.Controller.TrainController;
import org.kelompok4.app.Model.LoginModel;
import org.kelompok4.app.Model.RouteTimeModel;
import org.kelompok4.app.Model.TrainModel;
import org.kelompok4.app.Model.UserModel;
import org.kelompok4.app.Presenter.LoginPresenter;
import org.kelompok4.app.Presenter.RegisterPresenter;
import org.kelompok4.app.Presenter.RouteTimePresenter;
import org.kelompok4.app.Presenter.TrainPresenter;
import org.kelompok4.app.View.LoginView;
import org.kelompok4.app.View.RegisterView;
import org.kelompok4.app.View.RouteTimeView;
import org.kelompok4.app.View.TrainView;

import java.io.IOException;
Expand Down Expand Up @@ -45,8 +49,14 @@ public static void main(String[] args) throws IOException, InterruptedException
// driver.login(loginController,loginModel,loginView);
// driver.register(registerController,userModel,registerView);
// driver.updateinfouser(customerController, userModel, registerView);
TrainPresenter trainPresenter = new TrainPresenter(trainController);
trainPresenter.run();
// TrainPresenter trainPresenter = new TrainPresenter(trainController);
// trainPresenter.run();

RouteTimeModel routeTimeModel = new RouteTimeModel();
RouteTimeView routeTimeView = new RouteTimeView();
RouteTimeController routeTimeController = new RouteTimeController(routeTimeModel, routeTimeView);
RouteTimePresenter routeTimePresenter = new RouteTimePresenter(routeTimeController);
routeTimePresenter.run();
}

}
81 changes: 49 additions & 32 deletions src/main/java/org/kelompok4/app/Presenter/RouteTimePresenter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.kelompok4.app.Interface.ICanRun;
import org.kelompok4.app.Model.RouteTimeModel;

public class RouteTimePresenter extends ContinuePresenter implements ICanRun{
public class RouteTimePresenter extends ContinuePresenter implements ICanRun {
RouteTimeController routeTimeController;

public RouteTimePresenter(RouteTimeController routeTimeController) {
Expand All @@ -28,50 +28,67 @@ public void run() {
menu(menu);
}

public void menu(int menu){
switch (menu){
case 1:{
addRouteTime();
break;
}
case 2:{
showRouteTime();
break;
}
case 3:{
delRouteTime();
break;
}
public void menu(int menu) {
switch (menu) {
case 1: {
addRouteTime();
break;
}
case 2: {
showRouteTime();
break;
}
case 3: {
delRouteTime();
break;
}
}
}

public void addRouteTime(){
public void addRouteTime() {
routeTimeController.getRouteTimeView().printAddRouteTimeViewPage();
routeTimeController.getRouteTimeView().printCodeRouteTime();
String routeCode = sc.nextLine();
if (routeTimeController.checkRouteAvailability(routeCode)){
if (routeTimeController.checkRouteAvailability(routeCode)) {
String timeCode = sc.nextLine();
while (timeCode.equals("-99"))
if (routeTimeController.searchTime(timeCode)){
RouteTimeModel routeTime = new RouteTimeModel();
routeTime.setRouteTimeCode(routeTimeController.generateLastRouteTimeCode());
routeTime.setRwRoute(routeTimeController.getRwRoute(routeCode));
routeTimeController.addTime(routeTimeController.getTime(timeCode), routeTime);
} else {

RouteTimeModel routeTime = new RouteTimeModel();
while (timeCode.equals("-99")) {
if (routeTimeController.searchTime(timeCode)) {
routeTime.setRouteTimeCode(routeTimeController.generateLastRouteTimeCode());
routeTime.setRwRoute(routeTimeController.getRwRoute(routeCode));
routeTimeController.addTime(routeTimeController.getTime(timeCode), routeTime);
routeTimeController.sortTime(routeTime);
} else {
routeTimeController.getRouteTimeView().FailedAddRouteTime();
}
}

routeTimeController.setRouteTime(routeTime);
pressEnterKey();
run();
} else {
routeTimeController.getRouteTimeView().FailedAddRouteTime();
pressEnterKey();
run();
}

}

public void showRouteTime(){

public void showRouteTime() {
routeTimeController.getRouteTimeView().HeaderViewRouteTime();
System.out.println(routeTimeController.allRouteTimeView(routeTimeController.getAllRouteTime()));
pressEnterKey();
run();
}

public void delRouteTime(){

public void delRouteTime() {
routeTimeController.getRouteTimeView().printDeleteRouteTimeViewPage();
routeTimeController.getRouteTimeView().printDeleteRouteTime();
String routeTimeCode = sc.nextLine();
if (routeTimeController.deleteRouteTime(routeTimeCode)){
routeTimeController.getRouteTimeView().SuccessDeleteRouteTime();
} else {
routeTimeController.getRouteTimeView().FailedDeleteRouteTime();
}
pressEnterKey();
run();
}

}
Loading

0 comments on commit af1a720

Please sign in to comment.