email-templates-library/src/main/java/org/gcube/portal/mailing/templates/TemplatenviteWIthPassword.java

72 lines
29 KiB
Java
Raw Normal View History

package org.gcube.portal.mailing.templates;
import java.util.Base64;
import org.gcube.common.portal.mailing.templates.AbstractTemplate;
import org.gcube.common.portal.mailing.templates.Template;
import org.gcube.vomanagement.usermanagement.model.GCubeUser;
/**
*
* @author Massimiliano Assante, CNR-ISTI
*
*/
public class TemplatenviteWIthPassword extends AbstractTemplate implements Template {
private final String encodedTemplateHTML = "PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cgk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KCQk8dGl0bGU+VGl0bGU8L3RpdGxlPgo8L2hlYWQ+Cjxib2R5CglzdHlsZT0iLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IE1hcmdpbjogMDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgY29sb3I6ICMwYTBhMGE7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGxpbmUtaGVpZ2h0OiAxLjM7IG1hcmdpbjogMDsgbWluLXdpZHRoOiAxMDAlOyBwYWRkaW5nOiAwOyB0ZXh0LWFsaWduOiBsZWZ0OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ij4KCTxzdHlsZT4KQG1lZGlhIG9ubHkgc2NyZWVuIHsKCWh0bWwgewoJCW1pbi1oZWlnaHQ6IDEwMCU7CgkJYmFja2dyb3VuZDogI2YzZjNmMwoJfQp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpIHsKCS5zbWFsbC1mbG9hdC1jZW50ZXIgewoJCW1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7CgkJZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAoJfQoJLnNtYWxsLXRleHQtY2VudGVyIHsKCQl0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudAoJfQoJLnNtYWxsLXRleHQtbGVmdCB7CgkJdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50Cgl9Cgkuc21hbGwtdGV4dC1yaWdodCB7CgkJdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudAoJfQp9CgpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NTk2cHgpIHsKCS5oaWRlLWZvci1sYXJnZSB7CgkJZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogYXV0byAhaW1wb3J0YW50OwoJCW92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7CgkJbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OwoJCWZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OwoJCWxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQKCX0KfQoKQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU5NnB4KSB7Cgl0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAuaGlkZS1mb3ItbGFyZ2UsIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5yb3cuaGlkZS1mb3ItbGFyZ2UKCQl7CgkJZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLmNhbGxvdXQtaW5uZXIuaGlkZS1mb3ItbGFyZ2UgewoJCWRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsKCQl3aWR0aDogMTAwJSAhaW1wb3J0YW50Cgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnNob3ctZm9yLWxhcmdlIHsKCQlkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDA7CgkJbXNvLWhpZGU6IGFsbDsKCQlvdmVyZmxvdzogaGlkZGVuCgl9Cn0KCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo1OTZweCkgewoJdGFibGUuYm9keSBpbWcgewoJCXdpZHRoOiBhdXRvOwoJCWhlaWdodDogYXV0bwoJfQoJdGFibGUuYm9keSBjZW50ZXIgewoJCW1pbi13aWR0aDogMCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb250YWluZXIgewoJCXdpZHRoOiA5NSUgIWltcG9ydGFudAoJfQoJdGFibGUuYm9keSAuY29sdW1uLCB0YWJsZS5ib2R5IC5jb2x1bW5zIHsKCQloZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwoJCWJveC1zaXppbmc6IGJvcmRlci1ib3g7CgkJcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb2x1bW4gLmNvbHVtbiwgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW5zLCB0YWJsZS5ib2R5IC5jb2x1bW5zIC5jb2x1bW4sCgkJdGFibGUuYm9keSAuY29sdW1ucyAuY29sdW1ucyB7CgkJcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Cgl9Cgl0YWJsZS5ib2R5IC5jb2xsYXBzZSAuY29sdW1uLCB0YWJsZS5ib2R5IC5jb2xsYXBzZSAuY29sdW1ucyB7CgkJcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7CgkJcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC0xLCB0aC5zbWFsbC0xIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogOC4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtMiwgdGguc21hbGwtMiB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7CgkJd2lkdGg6IDE2LjY2NjY3JSAhaW1wb3J0YW50Cgl9Cgl0ZC5zbWFsbC0zLCB0aC5zbWFsbC0zIHsKCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKCQl3aWR0aDogMjUlICFpbXBvcnRhbnQKCX0KCXRkLnNtYWxsLTQsIHRoLnNtYWxsLTQgewoJCWRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OwoJCXdpZHRoOiAzMy4zMzMzMyUgIWltcG9ydGFudAoJfQoJdGQuc21hbGwtNSwgdGguc21hbGwtNSB7CgkJZGlzcGxheTogaW5saW5lLWJsb2NrIC
private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkhpIHt7SU5WSVRFRF9VU0VSX05BTUV9fSwKe3tJTlZJVElOR19VU0VSX0ZVTExOQU1FfX0gaGFzIGludml0ZWQgeW91IHRvIHt7U0VMRUNURURfVlJFX05BTUV9fSwgeW91IGNhbiBmaW5kIGEgYnJpZWYgZGVzY3JpcHRpb24gYmVsb3c6Cgp7e1NFTEVDVEVEX1ZSRV9ERVNDUklQVElPTn19CgpUbyBhY2NlcHQgdGhlIGludml0ZSBwbGVhc2UgY29weSB0aGlzIHRlbXBvcmFyeSBwYXNzd29yZCwge3tJTlZJVEVfVEVNUF9QV0R9fSBhbmQgZm9sbG93IHRoaXMgbGluazoge3tBQ0NFUFRfSU5WSVRFX1VSTH19e3tHQVRFV0FZX05BTUV9fQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkhpIHt7SU5WSVRFRF9VU0VSX05BTUV9fSwKe3tJTlZJVElOR19VU0VSX0ZVTExOQU1FfX0gaGFzIGludml0ZWQgeW91IHRvIHt7U0VMRUNURURfVlJFX05BTUV9fSwgeW91IGNhbiBmaW5kIGEgYnJpZWYgZGVzY3JpcHRpb24gYmVsb3c6Cgp7e1NFTEVDVEVEX1ZSRV9ERVNDUklQVElPTn19CgpUbyBhY2NlcHQgdGhlIGludml0ZSBwbGVhc2UgY29weSB0aGlzIHRlbXBvcmFyeSBwYXNzd29yZCwge3tJTlZJVEVfVEVNUF9QV0R9fSBhbmQgZm9sbG93IHRoaXMgbGluazoge3tBQ0NFUFRfSU5WSVRFX1VSTH19";
private GCubeUser theInvitingUser;
private String theUserInvitedName;
private String theVREName;
private String theVREDescription;
private String acceptInviteURL;
private String thePasswordToSend; //the random password
/**
*
* @param gatewayName
* @param gatewayURL
* @param theInvitingUser
* @param theUserInvitedName
* @param theVRE
* @param acceptInviteURL
* @param signUpURL
*/
public TemplatenviteWIthPassword(String gatewayName, String gatewayURL, GCubeUser theInvitingUser,
String theUserInvitedName, String theVREName, String theVREDescription, String acceptInviteURL, String thePasswordToSend) {
super(gatewayName, gatewayURL);
this.theInvitingUser = theInvitingUser;
this.theUserInvitedName = theUserInvitedName;
this.theVREName = theVREName;
this.theVREDescription = theVREDescription;
this.acceptInviteURL = acceptInviteURL;
this.thePasswordToSend = thePasswordToSend;
}
@Override
public String compile(String templateContent) {
String userAvatarURL = getGatewayURL()+this.theInvitingUser.getUserAvatarURL();
return new String(Base64.getDecoder().decode(templateContent))
.replace("{{SELECTED_VRE_NAME}}", theVREName)
.replace("{{INVITING_USER_AVATAR_URL}}", userAvatarURL)
.replace("{{INVITING_USER_FULLNAME}}", theInvitingUser.getFullname())
.replace("{{INVITED_USER_NAME}}", this.theUserInvitedName)
.replace("{{SELECTED_VRE_DESCRIPTION}}", theVREDescription)
.replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL())
.replace("{{GATEWAY_URL}}", getGatewayURL())
.replace("{{GATEWAY_NAME}}", getGatewayName())
.replace("{{INVITE_TEMP_PWD}}", thePasswordToSend)
.replace("{{ACCEPT_INVITE_URL}}", acceptInviteURL);
}
@Override
public String getTextHTML() {
return compile(encodedTemplateHTML);
}
@Override
public String getTextPLAIN() {
return compile(encodedTemplateTEXT);
}
}