return url
}
+ /**
+ * Construit une url pour une securiteSession (utilisée pour déterminer le
+ * porteur de l'utilisateur courant), 1 application Eliot
+ * l'action et le controller sont géré par l'application
+ * @return une url
+ * @throws IllegalStateException Si les données fournies n'ont pas permis de
+ * construire une url valide (données invalides en base pour le porteur,
+ * configuration manquante ou incorrecte pour l'application, ou controleur ou
+ * action incorrect
+ */
+ String getUrl(SecuriteSession securiteSession,
+ EliotApplicationEnum application
+ ) {
+
+ String urlServeur = getUrlServeur(securiteSession, application)
+
+ String nomApplication = getNomApplication(application)
+
+ String url = "$urlServeur/$nomApplication/"
+
+ UrlValidator urlValidator = new UrlValidator()
+ if (!urlValidator.isValid(url)) {
+ throw new IllegalStateException(
+ "$url n'est pas une url valide"
+ )
+ }
+
+ return url
+ }
+
/**
* Construit une url pour la sécurite session, pour un serveur non grails
*/
return url
}
-
/**
* @return retourne le nom d'application pour application utilisé dans l'url
*/
* @return une url
*/
public String getUrlServeurFromPorteurEntAnnuaireDistant(
- SecuriteSession securiteSession) {
+ SecuriteSession securiteSession) {
PorteurENTInfo porteurInfo =
- (PorteurENTInfo)annuaireService.getPorteurENTInfoForCodePorteurENT(
+ (PorteurENTInfo) annuaireService.getPorteurENTInfoForCodePorteurENT(
securiteSession.codePorteurENT
)
return porteurInfo.urlAccesEnt