Example usage for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_VIRTUSERTABLE

List of usage examples for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_VIRTUSERTABLE

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_VIRTUSERTABLE.

Prototype

String MAIL_HOOK_SENDMAIL_VIRTUSERTABLE

To view the source code for com.liferay.portal.kernel.util PropsKeys MAIL_HOOK_SENDMAIL_VIRTUSERTABLE.

Click Source Link

Usage

From source file:com.liferay.mail.util.SendmailHook.java

License:Open Source License

public void updateEmailAddress(long companyId, long userId, String emailAddress) {

    try {//w w  w .  jav  a  2s . c o  m
        String virtusertable = PropsUtil.get(PropsKeys.MAIL_HOOK_SENDMAIL_VIRTUSERTABLE);

        FileReader fileReader = new FileReader(virtusertable);
        UnsyncBufferedReader unsyncBufferedReader = new UnsyncBufferedReader(fileReader);

        StringBundler sb = new StringBundler();

        for (String s = unsyncBufferedReader.readLine(); s != null; s = unsyncBufferedReader.readLine()) {

            if (!s.endsWith(" " + userId)) {
                sb.append(s);
                sb.append('\n');
            }
        }

        if ((emailAddress != null) && (!emailAddress.equals(""))) {
            sb.append(emailAddress);
            sb.append(" ");
            sb.append(userId);
            sb.append('\n');
        }

        unsyncBufferedReader.close();
        fileReader.close();

        FileUtil.write(virtusertable, sb.toString());

        String virtusertableRefreshCmd = PropsUtil.get(PropsKeys.MAIL_HOOK_SENDMAIL_VIRTUSERTABLE_REFRESH);

        Runtime rt = Runtime.getRuntime();

        Process p = rt.exec(virtusertableRefreshCmd);

        ProcessUtil.close(p);
    } catch (Exception e) {
        _log.error(e, e);
    }
}