Package com.agiletec.plugins.jpnewsletter.aps.internalservlet.subscriber

Source Code of com.agiletec.plugins.jpnewsletter.aps.internalservlet.subscriber.RegSubscriberAction

/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando software.
* Entando is a free software;
* You can redistribute it and/or modify it
* under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2.
*
* See the file License for the specific language governing permissions  
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpnewsletter.aps.internalservlet.subscriber;

import com.agiletec.aps.system.ApsSystemUtils;
import com.agiletec.apsadmin.system.BaseAction;
import com.agiletec.plugins.jpnewsletter.aps.system.services.newsletter.INewsletterManager;
import com.agiletec.plugins.jpnewsletter.aps.system.services.newsletter.model.Subscriber;

public class RegSubscriberAction extends BaseAction implements IRegSubscriberAction {
 
  @Override
  public String addSubscription() {
    try {
      String mailAddress = this.getMailAddress();
      INewsletterManager newsletterManager = this.getNewsletterManager();
      Subscriber subscriber = newsletterManager.loadSubscriber(mailAddress);
      if (subscriber == null) {
        newsletterManager.addSubscriber(mailAddress);
      } else if (!subscriber.isActive()) {
        newsletterManager.resetSubscriber(mailAddress);
      } else {
        return INPUT;
      }
    } catch (Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "addSubscription", "Errore durante l'aggiunta di una sottoscrizione");
      return FAILURE;
    }
    return SUCCESS;
  }
 
  @Override
  public String activateSubscription() {
    try {
      String token = this.getToken();
      INewsletterManager newsletterManager = this.getNewsletterManager();
      String mailAddress = newsletterManager.getAddressFromToken(token);
      if (mailAddress!=null && mailAddress.equals(this.getMailAddress())) {
        newsletterManager.activateSubscriber(mailAddress, token);
      } else {
        return INPUT;
      }
    } catch (Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "activateSubscription", "Errore durante l'aggiunta di una sottoscrizione");
      return FAILURE;
    }
    return SUCCESS;
  }
 
  public Boolean isDuplicated(String mailAddress) throws Throwable {
    Boolean isDuplicated = true;
    try {
      Subscriber duplicated = this.getNewsletterManager().loadSubscriber(mailAddress);
      if (duplicated == null || !duplicated.isActive()) {
        isDuplicated = false;
      }
    } catch (Throwable t) {
      throw t;
    }
    return isDuplicated;
  }
 
  public Boolean isAlreadyAnUser(String mailAddress) throws Throwable {
    Boolean isAlreadyAnUser = true;
    try {
      isAlreadyAnUser = this.getNewsletterManager().isAlreadyAnUser(mailAddress);
      if (isAlreadyAnUser == false) {
        isAlreadyAnUser = false;
        return isAlreadyAnUser;
      }
    } catch (Throwable t) {
      throw t;
    }
    return isAlreadyAnUser;
  }
 
  @Override
  public String trashSubscription() {
    return SUCCESS;
  }
 
  @Override
  public String deleteSubscription() {
    try {
      INewsletterManager newsletterManager = this.getNewsletterManager();
      Subscriber subscriber = newsletterManager.loadSubscriber(this.getMailAddress());
      if (null != subscriber) {
        newsletterManager.deleteSubscriber(this.getMailAddress());
      } else {
        String[] args = {this.getMailAddress()};
        this.addActionError(this.getText("jpnewsletter.messsage.emailNotPresent", args));
        return INPUT;
      }
    } catch (Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "deleteSubscriber");
      return FAILURE;
    }
    return SUCCESS;
  }
 
  public String getMailAddress() {
    return _mailAddress;
  }
  public void setMailAddress(String mailAddress) {
    _mailAddress = mailAddress;
  }
 
  public String getToken() {
    return _token;
  }
  public void setToken(String token) {
    this._token = token;
  }
 
  protected INewsletterManager getNewsletterManager() {
    return _newsletterManager;
  }
  public void setNewsletterManager(INewsletterManager newsletterManager) {
    this._newsletterManager = newsletterManager;
  }
 
  private String _mailAddress;
  private String _token;
  private INewsletterManager _newsletterManager;
 
}
TOP

Related Classes of com.agiletec.plugins.jpnewsletter.aps.internalservlet.subscriber.RegSubscriberAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.