use of com.manydesigns.elements.forms.Form 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());
}
}
use of com.manydesigns.elements.forms.Form 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;
}
use of com.manydesigns.elements.forms.Form in project Portofino by ManyDesigns.
the class SettingsAction 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 {
Settings settings = new Settings();
form.writeToObject(settings);
ResourceAction action = (ResourceAction) getRoot();
String[] loginPath = settings.loginPath.split("/");
for (String loginPathSegment : loginPath) {
Object subResource = action.getSubResource(loginPathSegment);
if (!(subResource instanceof ResourceAction)) {
throw new WebApplicationException("Invalid login path");
}
action = (ResourceAction) subResource;
}
configuration.getProperties().setProperty(PortofinoProperties.APP_NAME, settings.appName);
configuration.getProperties().setProperty(PortofinoProperties.APP_VERSION, settings.appVersion);
configuration.getProperties().setProperty(PortofinoProperties.LOGIN_PATH, settings.loginPath);
if (!settings.preloadGroovyPages || configuration.getProperties().getProperty(PortofinoProperties.PRELOAD_ACTIONS) != null) {
configuration.getProperties().setProperty(PortofinoProperties.PRELOAD_ACTIONS, settings.preloadGroovyPages);
}
if (!settings.preloadGroovyClasses || configuration.getProperties().getProperty(PortofinoProperties.PRELOAD_CLASSES) != null) {
configuration.getProperties().setProperty(PortofinoProperties.PRELOAD_CLASSES, settings.preloadGroovyClasses);
}
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());
}
}
use of com.manydesigns.elements.forms.Form in project Portofino by ManyDesigns.
the class SettingsAction method setupFormAndBean.
protected Form setupFormAndBean() {
Settings settings = new Settings();
settings.appName = configuration.getProperties().getString(PortofinoProperties.APP_NAME);
settings.appVersion = configuration.getProperties().getString(PortofinoProperties.APP_VERSION);
settings.loginPath = configuration.getProperties().getString(PortofinoProperties.LOGIN_PATH);
settings.preloadGroovyPages = configuration.getProperties().getBoolean(PortofinoProperties.PRELOAD_ACTIONS, false);
settings.preloadGroovyClasses = configuration.getProperties().getBoolean(PortofinoProperties.PRELOAD_CLASSES, false);
Form form = new FormBuilder(Settings.class).build();
form.readFromObject(settings);
return form;
}
Aggregations