Package edu.monash.merc.struts2.action

Source Code of edu.monash.merc.struts2.action.PartyAction

/*
* Copyright (c) 2010-2011, Monash e-Research Centre
* (Monash University, Australia)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*   * Redistributions of source code must retain the above copyright
*     notice, this list of conditions and the following disclaimer.
*   * Redistributions in binary form must reproduce the above copyright
*     notice, this list of conditions and the following disclaimer in the
*     documentation and/or other materials provided with the distribution.
*   * Neither the name of the Monash University nor the names of its
*     contributors may be used to endorse or promote products derived from
*     this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package edu.monash.merc.struts2.action;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.beans.factory.annotation.Autowired;

import edu.monash.merc.common.service.ldap.LDAPService;
import edu.monash.merc.common.service.rifcs.PartyActivityWSService;
import edu.monash.merc.dto.LDAPUser;
import edu.monash.merc.dto.PartyBean;

/**
* @author Sindhu Emilda
* @email sindhu.emilda@monash.edu
*
*         Date: 27/01/12 Time: 2:00 PM
* @version 1.0
*/
@Scope("prototype")
@Controller("data.searchPartyAction")
public class PartyAction extends DMBaseAction {

  @Autowired
  private LDAPService ldapService;

  @Autowired
  private PartyActivityWSService partyActivitySvc;

  private String party;

  private String stringResult;

  private Logger logger = Logger.getLogger(this.getClass().getName());

  public void setLdapService(LDAPService ldapService) {
    this.ldapService = ldapService;
  }

  public String searchParty() {

    String authcateId = null;
    try {
      LDAPUser user = this.ldapService.searchLdapUser(party);

      // get researcher nla id from rm ws
      authcateId = user.getUid();
      System.out.println("authcateId: " + authcateId);

      String nlaId = this.partyActivitySvc.getNlaId(authcateId);
      System.out.println("nlaId: " + nlaId);

      // get the researcher party from rm ws
      PartyBean partyBean = this.partyActivitySvc.getParty(nlaId);
      System.out.println("partyBean: " + partyBean.toString());
      String rifcsContent = partyBean.getRifcsContent();
      stringResult = genSuccessMsg(rifcsContent);
    } catch (Exception e) {
      String errorMsg = e.getMessage();
      String errorMessage;
      if (StringUtils.containsIgnoreCase(errorMsg, "NLA Id not found") ||
          StringUtils.containsIgnoreCase(errorMsg, "Invalid authcate username")) {
        errorMessage = getText("party.nlaid.notfound");
      } else  if (StringUtils.containsIgnoreCase(errorMsg, "Invalid party id")) {
        errorMessage = getText("party.info.notfound");
      } else {
        if (null == authcateId) {
          errorMessage = getText("ldap.user.notfound");
        } else {
          errorMessage = getText("error.researchmaster");
        }
      }
      logger.error(errorMessage);
      stringResult = genErrorMsg(errorMessage);
      return ERROR;
    }

    return SUCCESS;
  }

  private String genSuccessMsg(String successMsg) {
    StringBuilder responseBuilder = new StringBuilder();
    responseBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    responseBuilder.append("<response>");
    responseBuilder.append("<status>SUCCESS</status>");
    responseBuilder.append("<message>");
        responseBuilder.append(successMsg);
        responseBuilder.append("</message>");
        responseBuilder.append("</response>");
    return responseBuilder.toString();
  }

  private String genErrorMsg(String errorMsg) {
    StringBuilder responseBuilder = new StringBuilder();
    responseBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    responseBuilder.append("<response>");
    responseBuilder.append("<status>ERROR</status>");
    responseBuilder.append("<message>");
    responseBuilder.append(errorMsg);
    responseBuilder.append("</message>");
    responseBuilder.append("</response>");
    return responseBuilder.toString();
  }

  public String getStringResult() {
    return stringResult;
  }

  public void setStringResult(String stringResult) {
    this.stringResult = stringResult;
  }

  /**
   * @param party the party to set
   */
  public void setParty(String party) {
    System.out.println("Party: " + party);
    this.party = party;
  }
}
TOP

Related Classes of edu.monash.merc.struts2.action.PartyAction

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.