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

58 lines
28 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 TemplateUserHasLeftVRE extends AbstractTemplate implements Template {
private final String encodedTemplateHTML = "PCEtLSBJbmxpbmVyIEJ1aWxkIFZlcnNpb24gNDM4MGI3NzQxYmI3NTlkNmNiOTk3NTQ1ZjNhZGQyMWFkNDhmMDEwYiAtLT4NCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4NCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9Im1pbi1oZWlnaHQ6IDEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjMgIWltcG9ydGFudDsiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIiAvPg0KICAgIDx0aXRsZT5UaXRsZTwvdGl0bGU+DQogIDwvaGVhZD4NCiAgPGJvZHkgc3R5bGU9IndpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IG1pbi13aWR0aDogMTAwJTsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGNvbG9yOiAjMGEwYTBhOyBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgdGV4dC1hbGlnbjogbGVmdDsgbGluZS1oZWlnaHQ6IDEuMzsgZm9udC1zaXplOiAxNnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7IG1hcmdpbjogMDsgcGFkZGluZzogMDsiIGJnY29sb3I9IiNmM2YzZjMgIWltcG9ydGFudCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk2cHgpIHsNCiAgLnNtYWxsLWZsb2F0LWNlbnRlciB7DQogICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogIH0NCiAgLnNtYWxsLXRleHQtY2VudGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsNCiAgfQ0KICAuc21hbGwtdGV4dC1sZWZ0IHsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLnNtYWxsLXRleHQtcmlnaHQgew0KICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7DQogIH0NCiAgLmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB3aWR0aDogYXV0byAhaW1wb3J0YW50OyBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7IGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50OyBsaW5lLWhlaWdodDogaW5oZXJpdCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5oaWRlLWZvci1sYXJnZSB7DQogICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IHRhYmxlLmNvbnRhaW5lciAucm93LmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB3aWR0aDogMTAwJSAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgdGFibGUuY29udGFpbmVyIC5jYWxsb3V0LWlubmVyLmhpZGUtZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSB0YWJsZS5jb250YWluZXIgLnNob3ctZm9yLWxhcmdlIHsNCiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IHdpZHRoOiAwOyBtc28taGlkZTogYWxsOyBvdmVyZmxvdzogaGlkZGVuOw0KICB9DQogIHRhYmxlLmJvZHkgaW1nIHsNCiAgICB3aWR0aDogYXV0bzsgaGVpZ2h0OiBhdXRvOw0KICB9DQogIHRhYmxlLmJvZHkgY2VudGVyIHsNCiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IC5jb250YWluZXIgew0KICAgIHdpZHRoOiA5NSUgIWltcG9ydGFudDsNCiAgfQ0KICB0YWJsZS5ib2R5IC5jb2x1bW5zIHsNCiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIHsNCiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1ucyAuY29sdW1uIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLmNvbHVtbnMgLmNvbHVtbnMgew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW4gew0KICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7DQogIH0NCiAgdGFibGUuYm9keSAuY29sdW1uIC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50Ow0KICB9DQogIHRhYmxlLmJvZHkgLmNvbGxhcHNlIC5jb2x1bW5zIHsNCiAgICBwYWRkaW5nLWxlZnQ6ID
private final String encodedTemplateTEXT = "e3tHQVRFV0FZX05BTUV9fQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Ke3tVU0VSX0ZVTExOQU1FfX0gaGFzIGxlZnQge3tTRUxFQ1RFRF9WUkVfTkFNRX19IFZSRS4NCg0KDQpGdXJ0aGVyIGluZm8gYWJvdXQge3tVU0VSX0ZVTExOQU1FfX06DQoNCkVtYWlsOiB7e1VTRVJfRU1BSUx9fQ0KVXNlcm5hbWU6IHt7VVNFUl9JRH19DQoNCg0KWW91IHJlY2VpdmVkIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgYXJlIGEgbWFuYWdlciBvZiB7e1NFTEVDVEVEX1ZSRV9OQU1FfX0uDQo=";
private GCubeUser theUserWhoLeft;
private String theVREName;
/**
*
* @param theUserWhoLeft
* @param theVRE
* @param optionalMessage
* @param gatewayName
* @param gatewayURL
*/
public TemplateUserHasLeftVRE(GCubeUser theUserWhoLeft, String theVREName, String gatewayName, String gatewayURL) {
super(gatewayName, gatewayURL);
this.theUserWhoLeft = theUserWhoLeft;
this.theVREName = theVREName;
}
@Override
public String compile(String templateContent) {
String userAvatarURL = getGatewayURL()+this.theUserWhoLeft.getUserAvatarURL();
return new String(Base64.getDecoder().decode(templateContent))
.replace("{{SELECTED_VRE_NAME}}", theVREName)
.replace("{{USER_AVATAR_URL}}", userAvatarURL)
.replace("{{GATEWAY_LOGO:URL}}", getGatewayLogoURL())
.replace("{{GATEWAY_NAME}}", getGatewayName())
.replace("{{USER_EMAIL}}", theUserWhoLeft.getEmail())
.replace("{{USER_ID}}", theUserWhoLeft.getUsername())
.replace("{{USER_FULLNAME}}", theUserWhoLeft.getFullname());
}
@Override
public String getTextHTML() {
return compile(encodedTemplateHTML);
}
@Override
public String getTextPLAIN() {
return compile(encodedTemplateTEXT);
}
}