Skip to content

Commit

Permalink
fix: do not crash when no db creds are given
Browse files Browse the repository at this point in the history
Signed-off-by: WoodenMaiden <yann.pomie@laposte.net>
  • Loading branch information
WoodenMaiden committed Apr 5, 2024
1 parent 00e989f commit d154abb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 29 deletions.
32 changes: 11 additions & 21 deletions agrold-javaweb/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

- `git clone --branch dev`


Vous pourrez voir comment paramétrer votre IDE dans [la section appropriée sur le Notion](https://agrold-wiki.notion.site/Configurer-et-utiliser-son-IDE-pour-les-projets-cbf2dc48224f48009a9c0775a173a6d5)

### Deployer l'appli web
Expand All @@ -23,15 +22,15 @@ Vous pourrez voir comment paramétrer votre IDE dans [la section appropriée sur

Le déploiement de l'application se fait premièrement avec des propriétés Java passées à tomcat.

| Name | Description | Valeur par défaut |
| :------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------: |
| Name | Description | Valeur par défaut |
| :------------------------: | :------------------------------------------------------------------------: | :---------------------------: |
| `agrold.name` | Nom de l'archive et du contexte `aldp` on a `https://<un domaine>/agrold`) | `aldp` |
| `agrold.description` | Description affichée dans Tomcat | :x: |
| `agrold.sparql_endpoint` | Url de l'endpoint SPARQL | `http://sparql.southgreen.fr` |
| `agrold.db_connection_url` | Url de la base de données ex: `[host]:[port]/[db]?[opt]` | :x: (requis) |
| `agrold.db_username` | Utilisateur de la base de données | :x: (requis) |
| `agrold.db_password` | Mot de passe de la base de données | :x: (requis) |
| `agrold.rf_link` | Lien vers une instance de RelFinder[Reformed] | `http://rf.southgreen.fr/` |
| `agrold.description` | Description affichée dans Tomcat | :x: |
| `agrold.sparql_endpoint` | Url de l'endpoint SPARQL | `http://sparql.southgreen.fr` |
| `agrold.db_connection_url` | Url de la base de données ex: `[host]:[port]/[db]?[opt]` | :x: |
| `agrold.db_username` | Utilisateur de la base de données | :x: |
| `agrold.db_password` | Mot de passe de la base de données | :x: |
| `agrold.rf_link` | Lien vers une instance de RelFinder[Reformed] | `http://rf.southgreen.fr/` |

Pour injecter ces variables dans tomcat, il faut déclarer les sous forme d'argument en ligne de commande sous cette forme `-Dnomdelapropriété=valeur` et les placer dans la variable d'environnement `CATALINA_OPTS`

Expand All @@ -42,26 +41,18 @@ Par exemple:

```bash
# Directement sur l'hôte
export CATALINA_OPTS="-Dagrold.db_connection_url=someurlhere -Dagrold.db_username=usr -Dagrold.db_password=pwd"
export CATALINA_OPTS="-Dagrold.blabla=valeur"
catalina.sh
```

```java
...
String URL = System.getProperty("agrold.db_connection_url");
String usr = System.getProperty("agrold.db_username");
String pwd = System.getProperty("agrold.db_password");
...
```

Si vous lancez tomcat avec systemd le remplissage des variables d'environnement se fait ainsi

```bash
sudo systemctl edit tomcat8 #ou tomcat7/9

# dans l'éditeur
[Service]
Environment="CATALINA_OPTS='-Dagrold.db_connection_url=someurlhere -Dagrold.db_username=usr -Dagrold.db_password=pwd'"
Environment="CATALINA_OPTS='-Dagrold.blabla=valeur'"
```

Pour compiler lancez maven à la racine du projet, Il est possible de passer la propriété `agrold.name` en argument de maven
Expand All @@ -74,7 +65,6 @@ mvn clean install
mvn clean install -Dagrold.name=un_nom # vous accéderez à l'application via https://<votre url>/un_nom
```


Si vous utilisez docker:

```bash
Expand All @@ -89,7 +79,7 @@ docker login 10.9.2.21:8080 -u <user> -p <password>
docker pull 10.9.2.21:8080

# Lancer le conteneur
docker run -p 8080:8080 -e CATALINA_OPTS="-Dagrold.db_connection_url=someurl -Dagrold.db_username=usr -Dagrold.db_password=pwd -Dagrold.sparql_endpoint=a" <tag>
docker run -p 8080:8080 <tag>
```

> [!NOTE]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ private MySQLProperties(){
/* prevent usage of constructor bcause it's a static class */
}


// TODO: Change how it is handled, this will be replaced by cookies since it is just for history purposes
/**
*
* @return an ArrayList of String with the lines of the text in the same
Expand All @@ -39,13 +39,9 @@ private MySQLProperties(){
public static List<String> readLoginConfigurations() {
List<String> lines = new ArrayList<>();
try {
String URL = System.getProperty("agrold.db_connection_url");
String usr = System.getProperty("agrold.db_username");
String pwd = System.getProperty("agrold.db_password");

if (URL == null) throw new NullPointerException("Missing system property: agrold.db_connection_url");
if (usr == null) throw new NullPointerException("Missing system property: agrold.db_username");
if (pwd == null) throw new NullPointerException("Missing system property: agrold.db_password");
String URL = System.getProperty("agrold.db_connection_url", "");
String usr = System.getProperty("agrold.db_username", "");
String pwd = System.getProperty("agrold.db_password", "");

lines.add(URL);
lines.add(usr);
Expand Down

0 comments on commit d154abb

Please sign in to comment.