Skip to content
Snippets Groups Projects
Commit 18aa2bbc authored by Alexandre Vanini's avatar Alexandre Vanini
Browse files

[ANGULAR + JAVALIN]

Ajout de route pour la database
création de programme + ajout de kata totalement ok
j'ai remplacé le jquery par le clienthttp de angular
parent 8d7e6292
Branches
Tags
No related merge requests found
Showing
with 220 additions and 42 deletions
export interface Program {
id: string,
programID: string;
title: string;
language: string;
sensei: string;
......
import {Program} from './program';
/*import {Program} from './program';
export const PROGRAMS: Program[] = [
{
......@@ -20,3 +20,4 @@ export const PROGRAMS: Program[] = [
}
];
*/
<ace-editor [readOnly]="false" [mode]="type" (textChanged)="onChange($event)" [autoUpdateContent]="true" [(text)]="code" [durationBeforeCallback]="1000" #editor></ace-editor>
<ace-editor [readOnly]="false" [mode]="type" (textChanged)="onChange($event)" [autoUpdateContent]="true" [(text)]="code" [durationBeforeCallback]="200" #editor></ace-editor>
public class Kata {
private String title, canva, cassert, solution, rules;
private String id, title, canva, cassert, solution, rules,programID,difficulty,language;
private boolean keepAssert;
private int nbAttempt,programID;
private int nbAttempt;
public boolean isKeepAssert() {
......@@ -60,11 +60,35 @@ public class Kata {
this.nbAttempt = nbAttempt;
}
public int getProgramID() {
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getProgramID() {
return programID;
}
public void setProgramID(int programID) {
public void setProgramID(String programID) {
this.programID = programID;
}
public String getDifficulty() {
return difficulty;
}
public void setDifficulty(String difficulty) {
this.difficulty = difficulty;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
}
public class KataShowCase {
private String title,difficulty,id,status;
public KataShowCase(String title, String difficulty, String id, String status){
this.difficulty = difficulty;
this.title = title;
this.id = id;
this.status = status;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDifficulty() {
return difficulty;
}
public void setDifficulty(String difficulty) {
this.difficulty = difficulty;
}
public String getId() {
return id;
}
public void setId(String programID) {
this.id = programID;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
......@@ -2,30 +2,62 @@ import java.util.ArrayList;
public class LiveDB extends ProgramsDataBase {
ArrayList<Program> programs;
ArrayList<Kata> katas;
ArrayList<Program> programs;
public LiveDB() {
programs = new ArrayList<>();
this.programs = new ArrayList<>();
this.katas = new ArrayList<>();
}
public void createProgram(Program prg) {
this.programs.add(prg);
}
public void createKata(Kata kata) {
for (Program p : this.programs)
if (p.getId().equals(kata.getProgramID())) {
p.setNbKata(p.getNbKata() + 1);
p.getKatas().add(kata);
break;
}
}
public ArrayList<ProgramShowCase> getProgramsDetails() {
ArrayList<ProgramShowCase> p = new ArrayList<>();
public String createProgram(Program prg) {
for (Program prg : this.programs)
p.add(new ProgramShowCase(prg.getTitle(), prg.getSensei(), prg.getLanguage(), prg.getDescription(), prg.getNbKata(), prg.getTags(), prg.getId()));
programs.add(prg);
return String.valueOf(programs.indexOf(prg));
return p;
}
public void createKata(Kata kata) {
katas.add(kata);
//programs.get(kata.getProgramID()).setKata();
// programs.get(kata.getProgramID()).getKata().add(kata);
public Kata getProgramKata(String programID, String kataID) {
ArrayList<Kata> ktemp = new ArrayList<>();
Kata kata = new Kata();
for (Program prg : this.programs)
if (prg.getId().equals(programID))
ktemp = prg.getKatas();
for(Kata k : ktemp)
if(k.getId().equals(kataID))
kata = k;
return kata;
}
public ArrayList<KataShowCase> getProgramKatasDetails(String programID) {
ArrayList<KataShowCase> ktsc = new ArrayList<>();
ArrayList<Kata> kt = new ArrayList<>();
for (Program prg : this.programs)
if (prg.getId().equals(programID)) {
kt = prg.getKatas();
break;
}
public ArrayList<Program> getAllPrograms(){
return programs;
for (Kata k : kt)
ktsc.add(new KataShowCase(k.getTitle(), k.getDifficulty(), k.getId(), "TODO"));
return ktsc;
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@ public class Program {
private String id,sensei,language,title,description;
private String[] tags;
private int nbKata;
private ArrayList<Kata> katas;
public String getSensei() {
return sensei;
......@@ -60,6 +61,14 @@ public class Program {
public void setId(String id) {
this.id = id;
}
public ArrayList<Kata> getKatas() {
return katas;
}
public void setKatas(ArrayList<Kata> katas) {
this.katas = katas;
}
/*
public ArrayList<Kata> getKata() {
return kata;
......
public class ProgramShowCase {
private String title,sensei,language,description,programID;
private int nbKata;
private String[] tags;
public ProgramShowCase(String title, String sensei, String language, String description, int nbKata, String[] tags, String programID){
this.title = title;
this.sensei = sensei;
this.language = language;
this.description = description;
this.nbKata = nbKata;
this.tags = tags;
this.programID = programID;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSensei() {
return sensei;
}
public void setSensei(String sensei) {
this.sensei = sensei;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getNbKata() {
return nbKata;
}
public void setNbKata(int nbKata) {
this.nbKata = nbKata;
}
public String[] getTags() {
return tags;
}
public void setTags(String[] tags) {
this.tags = tags;
}
public String getProgramID() {
return programID;
}
public void setProgramID(String programID) {
this.programID = programID;
}
}
import java.util.ArrayList;
public abstract class ProgramsDataBase {
public abstract String createProgram(Program prg);
public abstract void createProgram(Program prg);
public abstract void createKata(Kata kata);
public abstract ArrayList<Program> getAllPrograms();
public abstract ArrayList<ProgramShowCase> getProgramsDetails();
public abstract Kata getProgramKata(String programID, String kataID);
public abstract ArrayList<KataShowCase> getProgramKatasDetails(String programID);
}
......@@ -57,7 +57,7 @@ public class app {
app.post("/program/create", ctx -> {
Program prg = objectMapper.readValue(ctx.body(), Program.class);
ctx.result(db.createProgram(prg));
db.createProgram(prg);
});
app.post("/kata/create", ctx -> {
......@@ -65,8 +65,16 @@ public class app {
db.createKata(kt);
});
app.get("/program/getall", ctx -> {
ctx.json(db.getAllPrograms());
app.get("/program/getdetails", ctx -> {
ctx.json(db.getProgramsDetails());
});
app.get("/program/getkatas/details/:id", ctx -> {
ctx.json(db.getProgramKatasDetails(ctx.pathParam("id")));
});
app.get("/program/getkata/:prid/:id", ctx -> {
ctx.json(db.getProgramKata(ctx.pathParam("prid"),ctx.pathParam("id")));
});
}
......
No preview for this file type
File added
No preview for this file type
No preview for this file type
File added
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -13,14 +13,12 @@ public class DockerCompilation {
case "python":
filename = "share_docker_file/sample.py";
filename_test = "share_docker_file/assert.py";
// cmd = "python3 " + filename_test;
cmd = "docker run --rm --mount type=bind,source=/Users/freak/Desktop/dojo-hepia/tests/serveur_compilation/serveur_compilation/share_docker_file,dst=/env/ hey:1.1 python3 assert.py";
break;
case "java":
filename = "share_docker_file/kata.java";
filename_test = "share_docker_file/Main.java";
cmd = "docker run --rm --mount type=bind,source=/Users/freak/Desktop/dojo-hepia/tests/serveur_compilation/serveur_compilation/share_docker_file,dst=/env/ java:4.0 ./java_test.sh";
//cmd = "java " + filename_test;
break;
}
......@@ -91,15 +89,6 @@ public class DockerCompilation {
file = new File(filename_test);
file.delete();
switch (input.get("language").toString()){
case "java":
file = new File("share_docker_file/Main.class");
file.delete();
file = new File("share_docker_file/kata.class");
file.delete();
break;
}
return json;
}
}
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment