use of org.nhindirect.gateway.smtp.NotificationSettings in project nhin-d by DirectProject.
the class TimelyAndReliableLocalDelivery method init.
/**
* {@inheritDoc}
*/
public void init() throws MessagingException {
super.init();
try {
final String sDispatchedDelay = GatewayConfiguration.getConfigurationParam(DISPATCHED_MDN_DELAY, this, "0");
try {
dispatchedMDNDelay = Integer.valueOf(sDispatchedDelay).intValue();
} catch (NumberFormatException e) {
// in case of parsing exceptions
dispatchedMDNDelay = 0;
}
// create an instance of the local delivery if we can
localDeliveryMailet = createLocalDeliveryClass();
final Method initMethod = Mailet.class.getDeclaredMethod("init", MailetConfig.class);
serviceMethod = Mailet.class.getDeclaredMethod("service", Mail.class);
// set private objects if they exist
final Class<?> localDeliveryMailetClass = localDeliveryMailet.getClass();
Field field = getDeclaredFieldQuietly(localDeliveryMailetClass, "rrt");
if (field != null) {
field.setAccessible(true);
field.set(localDeliveryMailet, rrt);
}
field = getDeclaredFieldQuietly(localDeliveryMailetClass, "usersRepository");
if (field != null) {
field.setAccessible(true);
field.set(localDeliveryMailet, usersRepository);
}
field = getDeclaredFieldQuietly(localDeliveryMailetClass, "mailboxManager");
if (field != null) {
field.setAccessible(true);
field.set(localDeliveryMailet, mailboxManager);
}
field = getDeclaredFieldQuietly(localDeliveryMailetClass, "domainList");
if (field != null) {
field.setAccessible(true);
field.set(localDeliveryMailet, domainList);
}
field = getDeclaredFieldQuietly(localDeliveryMailetClass, "fileSystem");
if (field != null) {
field.setAccessible(true);
field.set(localDeliveryMailet, fileSystem);
}
initMethod.invoke(localDeliveryMailet, this.getMailetConfig());
} catch (Exception e) {
throw new MessagingException("Failed to initialize TimelyAndReliableLocalDelivery.", e);
}
notificationProducer = new ReliableDispatchedNotificationProducer(new NotificationSettings(true, "Local Direct Delivery Agent", "Your message was successfully dispatched."));
}
use of org.nhindirect.gateway.smtp.NotificationSettings in project nhin-d by DirectProject.
the class RESTSmtpAgentConfig method buildMDNSettings.
protected void buildMDNSettings() {
Setting autoResponseSettings;
Setting prodNameSetting;
Setting textSetting;
try {
autoResponseSettings = settingsService.getSetting("MDNAutoResponse");
prodNameSetting = settingsService.getSetting("MDNProdName");
textSetting = settingsService.getSetting("MDNProdName");
} catch (Exception e) {
throw new SmtpAgentException(SmtpAgentError.InvalidConfigurationFormat, "WebService error getting MDN settings: " + e.getMessage(), e);
}
boolean autoResponse = (autoResponseSettings == null) ? true : Boolean.parseBoolean(autoResponseSettings.getValue());
String prodName = (prodNameSetting == null) ? "" : prodNameSetting.getValue();
String text = (textSetting == null) ? "" : textSetting.getValue();
notificationProducer = new NotificationProducer(new NotificationSettings(autoResponse, prodName, text));
}
use of org.nhindirect.gateway.smtp.NotificationSettings in project nhin-d by DirectProject.
the class XMLSmtpAgentConfig method buildMDNSettings.
/*
* Builds the MDN settings
*/
private void buildMDNSettings(Node MDNNode) {
if (MDNNode.getNodeType() == Node.ELEMENT_NODE) {
Element settingsNode = (Element) MDNNode;
String autoResponseString = settingsNode.getAttribute("autoResponse");
boolean autoResponse = (autoResponseString == null || autoResponseString.isEmpty()) ? true : Boolean.parseBoolean(autoResponseString);
String prodName = settingsNode.getAttribute("productName");
String text = null;
Node childNode = MDNNode.getFirstChild();
do {
if (childNode.getNodeType() == Node.ELEMENT_NODE) {
if (childNode.getNodeName().equalsIgnoreCase("text"))
text = childNode.getFirstChild().getNodeValue();
}
childNode = childNode.getNextSibling();
} while (childNode != null);
notificationProducer = new NotificationProducer(new NotificationSettings(autoResponse, prodName, text));
}
}
use of org.nhindirect.gateway.smtp.NotificationSettings in project nhin-d by DirectProject.
the class WSSmtpAgentConfig method buildMDNSettings.
protected void buildMDNSettings() {
Setting autoResponseSettings;
Setting prodNameSetting;
Setting textSetting;
try {
autoResponseSettings = cfService.getSettingByName("MDNAutoResponse");
prodNameSetting = cfService.getSettingByName("MDNProdName");
textSetting = cfService.getSettingByName("MDNText");
} catch (Exception e) {
throw new SmtpAgentException(SmtpAgentError.InvalidConfigurationFormat, "WebService error getting MDN settings: " + e.getMessage(), e);
}
boolean autoResponse = (autoResponseSettings == null) ? true : Boolean.parseBoolean(autoResponseSettings.getValue());
String prodName = (prodNameSetting == null) ? "" : prodNameSetting.getValue();
String text = (textSetting == null) ? "" : textSetting.getValue();
notificationProducer = new NotificationProducer(new NotificationSettings(autoResponse, prodName, text));
}
use of org.nhindirect.gateway.smtp.NotificationSettings in project nhin-d by DirectProject.
the class DirectXdMailet method init.
/*
* (non-Javadoc)
*
* @see org.apache.mailet.base.GenericMailet#init()
*/
@Override
public void init() throws MessagingException {
LOGGER.info("Initializing DirectXdMailet");
super.init();
// Get the endpoint URL
endpointUrl = getInitParameter("EndpointURL");
if (StringUtils.isBlank(endpointUrl)) {
LOGGER.error("DirectXdMailet endpoint URL cannot be empty or null.");
throw new MessagingException("DirectXdMailet endpoint URL cannot be empty or null.");
}
// Get the config-service URL
try {
configServiceUrl = getInitParameter("ConfigURL");
} catch (Exception e) {
// eat it
}
notificationProducer = new ReliableDispatchedNotificationProducer(new NotificationSettings(true, "Direct XD Delivery Agent", "Your message was successfully dispatched."));
}
Aggregations