org.glite.security.voms.admin.persistence.model.task.SignAUPTask.java Source code

Java tutorial

Introduction

Here is the source code for org.glite.security.voms.admin.persistence.model.task.SignAUPTask.java

Source

/**
 * Copyright (c) Istituto Nazionale di Fisica Nucleare (INFN). 2006-2016
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.glite.security.voms.admin.persistence.model.task;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.glite.security.voms.admin.persistence.model.AUP;

@Entity
@Table(name = "sign_aup_task")
public class SignAUPTask extends Task implements Serializable {

    /**
       * 
       */
    private static final long serialVersionUID = 1L;

    @ManyToOne
    @JoinColumn(name = "aup_id", nullable = false)
    AUP aup;

    @Column(name = "last_notification_time")
    Date lastNotificationTime;

    public SignAUPTask() {

    }

    public SignAUPTask(TaskType tt, AUP a, Date expiryDate) {

        type = tt;
        aup = a;
        this.expiryDate = expiryDate;
        creationDate = new Date();
        status = TaskStatus.CREATED;

        addLogRecord(getCreationDate());

    }

    /**
     * @return the aup
     */
    public AUP getAup() {

        return aup;
    }

    /**
     * @param aup
     *          the aup to set
     */
    public void setAup(AUP aup) {

        this.aup = aup;
    }

    @Override
    public String toString() {

        return String.format("SignAUPTask[id:%d,status:%s,expires:%s,lastNotificationTime:%s,user:%s]", getId(),
                getStatus(), getExpiryDate(), lastNotificationTime, getUser().getId());

    }

    @Override
    public boolean equals(Object other) {

        if (this == other) {
            return true;
        }

        if (!(other instanceof Task)) {
            return false;
        }

        if (other == null) {
            return false;
        }

        SignAUPTask that = (SignAUPTask) other;

        EqualsBuilder builder = new EqualsBuilder();
        return builder.appendSuper(super.equals(other)).append(aup, that.aup).isEquals();

    }

    @Override
    public int hashCode() {

        HashCodeBuilder builder = new HashCodeBuilder(17, 57).appendSuper(super.hashCode()).append(aup);
        return builder.toHashCode();
    }

    public Date getLastNotificationTime() {

        return lastNotificationTime;
    }

    public void setLastNotificationTime(Date lastNotificationTime) {

        this.lastNotificationTime = lastNotificationTime;
    }

}