Search in sources :

Example 1 with MailSettings

use of com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings in project Portofino by ManyDesigns.

the class MailSettingsAction method update.

@PUT
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Form update(String jsonObject) {
    Form form = setupFormAndBean();
    FormUtil.readFromJson(form, new JSONObject(jsonObject));
    if (form.validate()) {
        logger.debug("Applying settings to model");
        try {
            MailSettings settings = new MailSettings();
            form.writeToObject(settings);
            configuration.getProperties().setProperty(MailProperties.MAIL_ENABLED, settings.mailEnabled);
            configuration.getProperties().setProperty(MailProperties.MAIL_KEEP_SENT, settings.keepSent);
            configuration.getProperties().setProperty(MailProperties.MAIL_QUEUE_LOCATION, settings.queueLocation);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_HOST, settings.smtpHost);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_PORT, settings.smtpPort);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_SSL_ENABLED, settings.smtpSSL);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_TLS_ENABLED, settings.smtpTLS);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_LOGIN, settings.smtpLogin);
            configuration.getProperties().setProperty(MailProperties.MAIL_SMTP_PASSWORD, settings.smtpPassword);
            configuration.save();
            return form;
        } catch (Exception e) {
            logger.error("Configuration not saved", e);
            throw new WebApplicationException("Configuration not saved", e);
        }
    } else {
        throw new WebApplicationException(Response.serverError().entity(form).build());
    }
}
Also used : JSONObject(org.json.JSONObject) Form(com.manydesigns.elements.forms.Form) MailSettings(com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings)

Example 2 with MailSettings

use of com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings in project Portofino by ManyDesigns.

the class MailSettingsAction method setupFormAndBean.

protected Form setupFormAndBean() {
    Form form = new FormBuilder(MailSettings.class).build();
    MailSettings settings = new MailSettings();
    settings.mailEnabled = configuration.getProperties().getBoolean(MailProperties.MAIL_ENABLED, false);
    settings.keepSent = configuration.getProperties().getBoolean(MailProperties.MAIL_KEEP_SENT, false);
    settings.smtpHost = configuration.getProperties().getString(MailProperties.MAIL_SMTP_HOST);
    settings.smtpPort = configuration.getProperties().getInteger(MailProperties.MAIL_SMTP_PORT, null);
    settings.smtpSSL = configuration.getProperties().getBoolean(MailProperties.MAIL_SMTP_SSL_ENABLED, false);
    settings.smtpTLS = configuration.getProperties().getBoolean(MailProperties.MAIL_SMTP_TLS_ENABLED, false);
    settings.smtpLogin = configuration.getProperties().getString(MailProperties.MAIL_SMTP_LOGIN);
    settings.smtpPassword = configuration.getProperties().getString(MailProperties.MAIL_SMTP_PASSWORD);
    settings.queueLocation = configuration.getProperties().getProperty(MailProperties.MAIL_QUEUE_LOCATION) + "";
    form.readFromObject(settings);
    return form;
}
Also used : FormBuilder(com.manydesigns.elements.forms.FormBuilder) Form(com.manydesigns.elements.forms.Form) MailSettings(com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings)

Aggregations

Form (com.manydesigns.elements.forms.Form)2 MailSettings (com.manydesigns.portofino.upstairs.actions.mail.support.MailSettings)2 FormBuilder (com.manydesigns.elements.forms.FormBuilder)1 JSONObject (org.json.JSONObject)1