Package org.openmeetings.app.remote

Source Code of org.openmeetings.app.remote.InvitationService

package org.openmeetings.app.remote;

import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

import org.slf4j.Logger;
import org.red5.logging.Red5LoggerFactory;
import org.red5.server.api.service.IPendingServiceCall;
import org.red5.server.api.service.IPendingServiceCallback;
import org.openmeetings.app.data.basic.Configurationmanagement;
import org.openmeetings.app.data.basic.Sessionmanagement;
import org.openmeetings.app.data.basic.dao.OmTimeZoneDaoImpl;
import org.openmeetings.app.data.conference.Invitationmanagement;
import org.openmeetings.app.data.user.Usermanagement;
import org.openmeetings.app.persistence.beans.basic.Configuration;
import org.openmeetings.app.persistence.beans.basic.OmTimeZone;
import org.openmeetings.app.persistence.beans.invitation.Invitations;
import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
import org.openmeetings.utils.math.CalendarPatterns;

public class InvitationService implements IPendingServiceCallback {
 
  private static final Logger log = Red5LoggerFactory.getLogger(InvitationService.class, ScopeApplicationAdapter.webAppRootKey);

  public void resultReceived(IPendingServiceCall arg0) {
    // TODO Auto-generated method stub
    log.debug("InvitationService resultReceived"+arg0);
  }

    /**
     * send an invitation to another user by Mail
     * @param SID
     * @param username
     * @param message
     * @param baseurl
     * @param email
     * @param subject
     * @param room_id
     * @param conferencedomain
     * @param isPasswordProtected
     * @param invitationpass
     * @param valid
     * @param validFromDate
     * @param validFromTime
     * @param validToDate
     * @param validToTime
     * @return
     */
  public String sendInvitationHash(String SID, String username, String message,
      String baseurl, String email, String subject, Long room_id,String conferencedomain,
        Boolean isPasswordProtected, String invitationpass, Integer valid,
        Date validFromDate, String validFromTime, Date validToDate, String validToTime,
        Long language_id, String jNameTimeZone){
     
    try {
        log.debug("sendInvitationHash: ");
       
        Integer validFromHour = Integer.valueOf(validFromTime.substring(0, 2)).intValue();
        Integer validFromMinute = Integer.valueOf(validFromTime.substring(3, 5)).intValue();
       
        Integer validToHour = Integer.valueOf(validToTime.substring(0, 2)).intValue();
        Integer validToMinute = Integer.valueOf(validToTime.substring(3, 5)).intValue();
       
        log.info("validFromHour: "+validFromHour);
        log.info("validFromMinute: "+validFromMinute);
       
        //TODO: Remove deprecated Java-Date handlers
        Calendar calFrom = Calendar.getInstance();
        int year = validFromDate.getYear()+1900;
        int month = validFromDate.getMonth();
        int date = validFromDate.getDate();
        calFrom.set(year, month, date, validFromHour, validFromMinute, 0);
     
     
      Calendar calTo= Calendar.getInstance();
        int yearTo = validToDate.getYear()+1900;
        int monthTo = validToDate.getMonth();
        int dateTo = validToDate.getDate();
        calTo.set(yearTo, monthTo, dateTo, validToHour, validToMinute, 0);
       
        Date dFrom = calFrom.getTime();
        Date dTo = calTo.getTime();
       
        log.info("validFromDate: "+CalendarPatterns.getDateWithTimeByMiliSeconds(dFrom));
        log.info("validToDate: "+CalendarPatterns.getDateWithTimeByMiliSeconds(validToDate));
       
        Long users_id = Sessionmanagement.getInstance().checkSession(SID);
        Long user_level = Usermanagement.getInstance().getUserLevelByID(users_id);
       
        OmTimeZone omTimeZone = OmTimeZoneDaoImpl.getInstance().getOmTimeZone(jNameTimeZone);
     
        //If everything fails
      if (omTimeZone == null) {
        Configuration conf = Configurationmanagement.getInstance().getConfKey(3L, "default.timezone");
        if (conf != null) {
          jNameTimeZone = conf.getConf_value();
        }
        omTimeZone = OmTimeZoneDaoImpl.getInstance().getOmTimeZone(jNameTimeZone);
      }
       
      String timeZoneName = omTimeZone.getIcal();
     
        Calendar cal = Calendar.getInstance();
      cal.setTimeZone(TimeZone.getTimeZone(timeZoneName));
      int offset = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
     
      log.debug("addAppointment offset :: "+offset);
     
      Date gmtTimeStart = new Date(dFrom.getTime() - offset);
      Date gmtTimeEnd = new Date(dTo.getTime() - offset);
       
        Invitations invitation =  Invitationmanagement.getInstance().addInvitationLink(
                        user_level, username, message,
                        baseurl, email, subject, room_id, conferencedomain,
                        isPasswordProtected, invitationpass,
                        valid, dFrom, dTo, users_id, baseurl, language_id, true,
                        gmtTimeStart, gmtTimeEnd, null);
       
        if(invitation != null) {
          return "success";
      } else {
          return "Sys - Error";
      }
    } catch (Exception err) {
      log.error("[sendInvitationHash]",err);
    }
   
    return null;
     
      //return Invitationmanagement.getInstance().sendInvitionLink(user_level, username, message, domain, room, roomtype, baseurl, email, subject, room_id);
    }   
   
 
  public Object getInvitationByHash(String hashCode) {
    return Invitationmanagement.getInstance().getInvitationByHashCode(hashCode,true);
  }
 
  public Object checkInvitationPass(String hashCode, String pass) {
    return Invitationmanagement.getInstance().checkInvitationPass(hashCode,pass);
  }
}
TOP

Related Classes of org.openmeetings.app.remote.InvitationService

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.