Number of days since task update

Script returns the number of days since last update of the open task.

package scripts.task_custom_field_value;

import com.trackstudio.exception.GranException;
import com.trackstudio.external.TaskUDFValueScript;
import com.trackstudio.secured.SecuredTaskBean;

import java.util.Calendar;

/**
 * Returns the number of days since last update of the open task. 
 * Task is considered to be closed which is in the final state.
 * 0 is returned for it. 
 */
public class DaysSinceUpdate implements TaskUDFValueScript {
    public Object calculate(SecuredTaskBean securedTaskBean) throws GranException {
        if (!securedTaskBean.getStatus().isFinish()) {
            Calendar now = Calendar.getInstance();

            now.set(Calendar.HOUR_OF_DAY, 0);
            now.set(Calendar.MINUTE, 0);
            now.set(Calendar.SECOND, 0);
            now.set(Calendar.MILLISECOND, 0);

            Calendar update = securedTaskBean.getUpdatedate();
            update.set(Calendar.HOUR_OF_DAY, 0);
            update.set(Calendar.MINUTE, 0);
            update.set(Calendar.SECOND, 0);
            update.set(Calendar.MILLISECOND, 0);

            long l = now.getTimeInMillis() - update.getTimeInMillis();

            return (int) (l / (24 * 60 * 60 * 1000));
        } else return 0;
    }
}