Skip to content

Commit 6e41d78

Browse files
authored
Merge pull request #24 from Sandro642/feature/schematic
Feature: update project version to 0.2.1-STABLE and refactor route ha…
2 parents 3166138 + 9c5560d commit 6e41d78

7 files changed

Lines changed: 15 additions & 182 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
}
66

77
group = 'fr.sandro642.github'
8-
version = '0.2.0-STABLE' // Version de votre projet
8+
version = '0.2.1-STABLE' // Version de votre projet
99

1010
// Ajoutez cette tâche à votre build.gradle
1111
tasks.register('printVersion') {

readme.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Et si vous pensiez que les API étaient compliquées, détrompez-vous ! Avec Con
77
---
88

99
```java
10-
Stable Version : 0.2.0-STABLE
10+
Stable Version : 0.2.1-STABLE
1111
```
1212

1313
---
@@ -24,7 +24,7 @@ Hook -----------------------|
2424

2525
Être tenu au courant des dernières features et mises à jour de ConnectorAPI.
2626

27-
- [Feature/Schematic](feature/schematic.md)
27+
- Système de débugging avancé. Disponible prochainement.
2828

2929
---
3030

@@ -34,6 +34,7 @@ Changelog :
3434
- [0.1.3.9-SNAPSHOT] : Ajout de la sérialisation des données pour une compatibilisation parfaite des données avec les HOOK.
3535
- [0.1.3.17-SNAPSHOT] : Suppresion de la sérialisation des données... Toujours disponible depuis la branche /feature/serializer. Utile si les processus ne sont pas initialisé dans le même environnement.
3636
- [0.1.9.2-STABLE] : Patch de sécurité en utilisant la méthode getRoutes en utilisant une classe enumération pour la routeName : StackOverflowError... + Création des maps selon le type de variable souhaité.
37+
- [0.2.0-STABLE] : Woaw arrivé de la 0.2.0 en si peu de temps ? Il y en avait des choses à faire sur ce projet ;)
3738
```
3839

3940
---

src/main/java/fr/sandro642/github/api/SchematicLoader.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/main/java/fr/sandro642/github/jobs/JobGetInfos.java

Lines changed: 2 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -172,69 +172,10 @@ public JobGetInfos getRoutes(VersionType versionType, MethodType methodType, Str
172172
* @param params Paramètres supplémentaires pour la requête (optionnel)
173173
* @return JobGetInfos pour chaînage
174174
*/
175-
public JobGetInfos getRoutes(VersionType versionType, MethodType methodType, String routeName, Map<String, ?> body, Map<String, ?> params) {
175+
public <R> JobGetInfos getRoutes(VersionType versionType, MethodType methodType, R routeName, Map<String, ?> body, Map<String, ?> params) {
176176
try {
177177
// Récupère la route depuis le fichier YAML
178-
String route = ConnectorAPI.getRoute(routeName);
179-
180-
String fullRoute;
181-
182-
// Vérification de null pour éviter NullPointerException
183-
if (versionType != null && versionType.getVersion() != null) {
184-
// Construit l'URL complète avec la version
185-
fullRoute = "/" + versionType.getVersion() + route;
186-
} else {
187-
// Construit l'URL complète sans version
188-
fullRoute = route;
189-
}
190-
191-
// Remplace les paramètres dans la route si présents
192-
if (params != null && !params.isEmpty()) {
193-
for (Map.Entry<String, ?> entry : params.entrySet()) {
194-
String paramKey = "{" + entry.getKey() + "}";
195-
String paramValue = entry.getValue().toString();
196-
197-
// Remplace toutes les occurrences du paramètre dans la route
198-
fullRoute = fullRoute.replace(paramKey, paramValue);
199-
}
200-
}
201-
202-
// Stocke les informations pour la requête
203-
ConnectorAPI.StoreAndRetrieve().store.put("currentRoute", fullRoute);
204-
ConnectorAPI.StoreAndRetrieve().store.put("currentMethod", methodType);
205-
206-
if (body != null) {
207-
ConnectorAPI.StoreAndRetrieve().store.put("currentBody", body);
208-
}
209-
210-
// Stocke les paramètres si présents
211-
if (params != null) {
212-
ConnectorAPI.StoreAndRetrieve().store.put("currentParams", params);
213-
}
214-
215-
ConnectorAPI.Logger().INFO("Route construite: " + fullRoute);
216-
217-
} catch (Exception e) {
218-
ConnectorAPI.Logger().ERROR("Erreur lors de la construction de la route: " + e.getMessage());
219-
throw new RuntimeException("Erreur lors de la construction de la route", e);
220-
}
221-
222-
return this;
223-
}
224-
225-
/**
226-
* Récupère les routes depuis le fichier YAML et construit l'URL complète
227-
* @param versionType Version de l'API (V1_BRANCH, V2_BRANCH)
228-
* @param methodType Type de méthode HTTP (GET, POST)
229-
* @param routeName Nom de la route dans le fichier YAML
230-
* @param body Corps de la requête pour POST (peut être null pour GET)
231-
* @param params Paramètres supplémentaires pour la requête (optionnel)
232-
* @return JobGetInfos pour chaînage
233-
*/
234-
public JobGetInfos getRoutes(VersionType versionType, MethodType methodType, Enum<?> routeName, Map<String, ?> body, Map<String, ?> params) {
235-
try {
236-
// Récupère la route depuis le fichier YAML
237-
String route = ConnectorAPI.getRoute(routeName);
178+
String route = ConnectorAPI.getRoute(routeName.toString().toLowerCase());
238179

239180
String fullRoute;
240181

src/main/java/fr/sandro642/github/utils/ConvertEnum.java

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,4 @@ public static Map<Enum<?>, String> convertRouteImport(Class<? extends Enum<?>> e
3838
}
3939
return map;
4040
}
41-
42-
43-
public interface SchemaImport {
44-
String schema();
45-
}
46-
47-
/**
48-
* Convertit une énumération en une map de schémas.
49-
* Seules les énumérations qui implémentent l'interface SchemaImport seront converties.
50-
*
51-
* @param enumClass la classe de l'énumération à convertir
52-
* @return une map contenant les énumérations et leurs schémas associés
53-
*/
54-
public static Map<Enum<?>, String> convertSchemaImport(Class<? extends Enum<?>> enumClass) {
55-
Enum<?>[] enums = enumClass.getEnumConstants();
56-
HashMap<Enum<?>, String> map = new HashMap<>();
57-
for (Enum<?> e : enums) {
58-
if (e instanceof SchemaImport schemaImport) {
59-
map.put((Enum<?>) schemaImport, schemaImport.schema());
60-
}
61-
}
62-
return map;
63-
}
6441
}

src/main/java/fr/sandro642/github/utils/YamlUtils.java

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -42,50 +42,10 @@ public String getURL() {
4242
}
4343
}
4444

45-
public Boolean isSchemaEnabled() {
46-
47-
String yamlFilePath = ConnectorAPI.StoreAndRetrieve().store.get(ConnectorAPI.StoreAndRetrieve().FILE_LOCATION_KEY) + "/infos.yml";
48-
49-
try (InputStream inputStream = Files.newInputStream(Paths.get(yamlFilePath))) {
50-
Yaml yaml = new Yaml();
51-
Map<String, Object> yamlData = yaml.load(inputStream);
52-
53-
// Récupérer la map "routes"
54-
Map<String, Object> schema = (Map<String, Object>) yamlData.get("schema");
55-
if (schema != null) {
56-
return (Boolean) schema.get("enable");
57-
}
58-
return null;
59-
} catch (Exception ex) {
60-
return null;
61-
}
62-
}
63-
64-
public Map<String, String> getSchemas() {
65-
String yamlFilePath = ConnectorAPI.StoreAndRetrieve().store.get(ConnectorAPI.StoreAndRetrieve().FILE_LOCATION_KEY) + "/infos.yml";
66-
67-
try (InputStream inputStream = Files.newInputStream(Paths.get(yamlFilePath))) {
68-
Yaml yaml = new Yaml();
69-
Map<String, Object> yamlData = yaml.load(inputStream);
70-
71-
Map<String, Object> schemaMap = (Map<String, Object>) yamlData.get("schema");
72-
if (schemaMap == null) return null;
73-
74-
Map<String, String> filtered = new HashMap<>();
75-
for (Map.Entry<String, Object> entry : schemaMap.entrySet()) {
76-
if (!entry.getKey().equals("enable")) { // exclure la clé "enable"
77-
filtered.put(entry.getKey(), entry.getValue().toString());
78-
}
79-
}
80-
return filtered;
81-
} catch (IOException e) {
82-
return null;
83-
}
84-
}
85-
8645
/**
87-
* Récupère toutes les routes définies dans le fichier YAML
88-
* @return une map contenant les routes, ou null en cas d'erreur
46+
* Récupère les routes définies dans le fichier YAML.
47+
*
48+
* @return une map contenant les routes, ou null en cas d'erreur.
8949
*/
9050
public Map<String,String> getRoutes() {
9151

@@ -102,12 +62,6 @@ public Map<String,String> getRoutes() {
10262
}
10363
}
10464

105-
/**
106-
* Génère un template de fichier YAML si celui-ci n'existe pas, ou met à jour la section des routes si le fichier existe déjà.
107-
*
108-
* @param type Le type de ressource pour laquelle générer le template.
109-
* @param routes Les routes à ajouter ou mettre à jour dans le fichier YAML.
110-
*/
11165
/**
11266
* Génère un template de fichier YAML si celui-ci n'existe pas, ou met à jour la section des routes si le fichier existe déjà.
11367
*

src/test/java/fr/sandro642/github/test/MainTest.java

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -54,45 +54,24 @@ public static void main(String[] args) {
5454

5555
System.out.println(response.getSpecData("data", "version"));
5656

57-
58-
// System.out.println("Data: " + response.getData());
59-
// System.out.println("Message: " + response.getMsg());
60-
// System.out.println("Code: " + response.getCode());
61-
// System.out.println("Erreur: " + response.isErr());
62-
//
63-
// System.out.println(response.display());
64-
65-
// try {
66-
// System.out.println("Valeur spécifique : " + response.getSpecDataString("version"));
67-
// } catch (Exception e) {
68-
// System.out.println("Clé 'version' non trouvée dans les données");
69-
// }
70-
7157
} catch (Exception e) {
7258
return;
7359
}
7460
}
7561

76-
7762
@Test
78-
public void FullObjectTest() {
63+
public void testUseFullRoute() {
7964
ConnectorAPI.initialize(ResourceType.TEST_RESOURCES, TestRoutes.class);
8065

8166
try {
67+
// Exemple d'utilisation comme demandé
8268
ApiFactory response = ConnectorAPI.JobGetInfos()
83-
.getRoutes(VersionType.V1_BRANCH, MethodType.GET, "example")
69+
.getRoutes(VersionType.V1_BRANCH, MethodType.POST, TestRoutes.INFO, null, null)
8470
.getResponse();
85-
86-
Map<String, Boolean> body = Map.of("status", true);
8771

88-
89-
Map<String, String> params = Map.of("sessionId", "0233-xgt-7113");
90-
91-
ApiResponse response = ConnectorAPI.JobGetInfos()
92-
.getRoutes(VersionType.V1_BRANCH, MethodType.POST, TestRoutes.UNIX, body, params)
93-
.getResponse();
94-
95-
System.out.println(response.display());
72+
} catch (Exception e) {
73+
e.printStackTrace();
74+
}
9675
}
9776

9877
}

0 commit comments

Comments
 (0)