[gogoego] r3711 committed - fetch site-specific mailer via api

1 view
Skip to first unread message

codesite...@google.com

unread,
Jul 19, 2010, 4:58:30 PM7/19/10
to gog...@googlegroups.com
Revision: 3711
Author: carl....@solertium.com
Date: Mon Jul 19 13:50:31 2010
Log: fetch site-specific mailer via api
http://code.google.com/p/gogoego/source/detail?r=3711

Modified:

/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/ServerApplication.java

/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/applications/ServerApplicationImpl.java

/trunk/modules/org.gogoego.api/src/org/gogoego/api/applications/ServerApplicationAPI.java

=======================================
---
/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/ServerApplication.java
Tue Jan 12 00:58:34 2010
+++
/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/ServerApplication.java
Mon Jul 19 13:50:31 2010
@@ -110,6 +110,7 @@
import com.solertium.gogoego.server.lib.resources.ViewRegistryResource;
import com.solertium.gogoego.server.lib.services.ApplicationEvents;
import com.solertium.gogoego.server.lib.settings.SimpleSettingsStorage;
+import com.solertium.gogoego.server.lib.settings.mail.MailSettingsResource;
import
com.solertium.gogoego.server.lib.settings.resources.InstallationRestlet;
import
com.solertium.gogoego.server.lib.settings.resources.ShortcutsSettingsResource;
import
com.solertium.gogoego.server.lib.settings.resources.SimpleSettingsAuthorityResource;
@@ -436,6 +437,7 @@
VFSVersionAccessAndRevertResource.class)));

// Settings
+ privateRouter.attach("/settings/generic/{" +
MailSettingsResource.FILENAME_ATTR + "}", MailSettingsResource.class);
privateRouter.attach("/settings/shortcuts",
ShortcutsSettingsResource.class);
privateRouter.attach("/settings/{worker}",
SimpleSettingsInitResource.class);
privateRouter.attach("/settings/{worker}/authority/{remaining}",
SimpleSettingsAuthorityResource.class);
=======================================
---
/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/applications/ServerApplicationImpl.java
Fri Sep 4 13:07:59 2009
+++
/trunk/modules/com.solertium.gogoego.server/src/com/solertium/gogoego/server/applications/ServerApplicationImpl.java
Mon Jul 19 13:50:31 2010
@@ -16,11 +16,15 @@
package com.solertium.gogoego.server.applications;

import org.gogoego.api.applications.ServerApplicationAPI;
+import org.gogoego.api.mail.InstanceMailer;
+import org.gogoego.api.mail.LocalMailSettings;
import org.restlet.Context;

import com.solertium.gogoego.server.ServerApplication;
import com.solertium.gogoego.server.lib.services.ApplicationEvents;
import com.solertium.gogoego.server.lib.templates.TemplateRegistry;
+import com.solertium.mail.Mailer;
+import com.solertium.util.TrivialExceptionHandler;
import com.solertium.util.restlet.ScratchResourceBin;
import com.solertium.vfs.VFS;

@@ -119,5 +123,29 @@
public boolean isHostedMode() {
return app.isHostedMode();
}
+
+ private Mailer mailer;
+
+ public Mailer getMailer() {
+ if (mailer == null) {
+ LocalMailSettings settings = null;
+ try {
+ settings = new LocalMailSettings(getVFS());
+ } catch (InstantiationException e) {
+ TrivialExceptionHandler.ignore(this, e);
+ }
+
+ if (settings == null) {
+ //Keep checking to see if mailer gets set eventually...
+ return InstanceMailer.getInstance().getMailer();
+ }
+ else {
+ mailer = new Mailer(settings.getServer(), settings.getPort(),
+ settings.isSsl(), settings.getAccount(),
+ settings.getPassword());
+ }
+ }
+ return mailer;
+ }

}
=======================================
---
/trunk/modules/org.gogoego.api/src/org/gogoego/api/applications/ServerApplicationAPI.java
Fri Oct 23 14:57:03 2009
+++
/trunk/modules/org.gogoego.api/src/org/gogoego/api/applications/ServerApplicationAPI.java
Mon Jul 19 13:50:31 2010
@@ -17,6 +17,7 @@

import org.restlet.Context;

+import com.solertium.mail.Mailer;
import com.solertium.util.restlet.ScratchResourceBin;
import com.solertium.vfs.VFS;

@@ -93,5 +94,14 @@
* @return
*/
public boolean isHostedMode();
+
+ /**
+ * Returns a site-specific mailer with the properties
+ * specified from a site's settings page, unless there are
+ * no specifications, in which case, the system default
+ * InstanceMailer is supplied.
+ * @return
+ */
+ public Mailer getMailer();

}

Reply all
Reply to author
Forward
0 new messages