the problem is that everythig you suggest is already done!
My tasks are under com.wuerth.phoenix.bugtrack.modules.scheduledjobs.
I do attach the classes i use to configure and start the scheduler.
I must precise that turbine does not let me use the classes embedded in the Turbine Jar.
So i have to use Fulcrum.
I'm sad because everything worked correctly in the TDK2.1
The problems raised when i decided to shift to the TDK2.2
I'll be glad to have an answer also from the people that developed the fulcrum package.
thx!
Greetings
Fabio
Warner Onstine wrote:
Oops, didn't notice you were using fulcrum, so it should be http://jakarta.apache.org/turbine/fulcrum/howto/scheduler-service.html-warner ----- Original Message ----- From: "Warner Onstine" <[EMAIL PROTECTED]> To: "Turbine Users List" <[EMAIL PROTECTED]> Sent: Wednesday, July 17, 2002 7:49 AM Subject: Re: Re: Suggestions with Turbine Scheduler.]For configuring, not much needs to be done, you will need to turn on the Scheduler service in TurbineResources.properties file.http://jakarta.apache.org/turbine/turbine-2/services/scheduler-service.htmlAlso make sure that you put your scheduled jobs in a package com.mycompany.app.modules.scheduledjobs, or whereever you have the rest of your modules (Actions, Screens, etc.). Just make sure that you have scheduledjobs as the package. -warner ----- Original Message ----- From: "Fabio Daprile" <[EMAIL PROTECTED]> To: "turbine Users List" <[EMAIL PROTECTED]> Sent: Wednesday, July 17, 2002 7:25 AM Subject: [Fwd: Re: Suggestions with Turbine Scheduler.]-------- Original Message -------- Subject: Re: Suggestions with Turbine Scheduler. Date: Wed, 17 Jul 2002 07:19:53 -0700 From: "Warner Onstine" <[EMAIL PROTECTED]> To: "Fabio Daprile" <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> Hi Fabio, I would recommend you send this to the turbine-users list, I and othersaremore likely to help you so that others can benefit from the discussion. -warner ----- Original Message ----- From: "Fabio Daprile" To: Sent: Wednesday, July 17, 2002 6:09 AM Subject: Suggestions with Turbine Scheduler.Hello Warner, i've seen a message on the mail list of turbine that you have beenableto start jobs with turbine 2.2. I'm currently using the tdk 2.2 with the following jars: torque-3.0-b2-dev.jar turbine-2.2-b2-dev.jar fulcrum-3.0-b2-dev.jar Attached are my configuration files. I've got crazy trying to start a job, but no way. Maybe you can help me, giving me some advices on configuration or whatelse.I can see that the Thread is Alive, i can get the next running timeformy jobs, but these are never started. Help will be really appreciated. thx in advance. Greetings Fabio Daprile -- Fabio Daprile Würth-Phoenix Srl Via Kravogl 4, I-39100 Bolzano Tel: +39 0471/564111 - (direct 564070) Fax: +39 0471/564122 mailto:[EMAIL PROTECTED] http://www.wuerth-phoenix.com http://www.wuerth.com-- Fabio Daprile Würth-Phoenix Srl Via Kravogl 4, I-39100 Bolzano Tel: +39 0471/564111 - (direct 564070) Fax: +39 0471/564122 mailto:[EMAIL PROTECTED] http://www.wuerth-phoenix.com http://www.wuerth.com-- To unsubscribe, e-mail:<mailto:[EMAIL PROTECTED]>For additional commands, e-mail:<mailto:[EMAIL PROTECTED]>-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
-- Fabio Daprile Würth-Phoenix Srl Via Kravogl 4, I-39100 Bolzano Tel: +39 0471/564111 - (direct 564070) Fax: +39 0471/564122 mailto:[EMAIL PROTECTED] http://www.wuerth-phoenix.com http://www.wuerth.com
package com.wuerth.phoenix.bugtrack.modules.actions;
/**
* Title: Bug tracking system
* Description: Development of a Bug Tracking and Enhancement request system
* Copyright: Copyright (c) 2001
* Company:
* @author Fabio Daprile
* @version 1.0
*/
//Turbine
import org.apache.velocity.context.Context;
import org.apache.turbine.util.RunData;
import org.apache.fulcrum.schedule.TurbineSchedulerService;
import org.apache.fulcrum.schedule.JobEntryPeer;
import org.apache.fulcrum.schedule.ScheduleService;
import org.apache.fulcrum.schedule.JobEntry;
import org.apache.fulcrum.TurbineServices;
import org.apache.turbine.modules.actions.VelocityAction;
import org.apache.turbine.util.ParameterParser;
import org.apache.torque.util.Criteria;
import java.util.*;
public class SchedulerStart extends VelocityAction
{
public void doPerform(RunData data, Context context) throws Exception
{
Criteria _criteria = null;
Criteria.Criterion _criterion1 = null;
List _schedulerParams = null;
JobEntry je;
ParameterParser params = data.getParameters();
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(JobEntryPeer.JOB_ID,
new Integer(0),
Criteria.GREATER_THAN);
try
{
_schedulerParams = JobEntryPeer.doSelect(_criteria);
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
//access the service singleton
TurbineSchedulerService ss =
(TurbineSchedulerService)TurbineServices.getInstance().getService(TurbineSchedulerService.SERVICE_NAME);
ss.init();
ss.restart();
//System.out.println(ss.getJob(0).getNextRuntime());
System.out.println("next run " +
((JobEntry)(ss.listJobs().get(0))).getNextRunAsString());
//set the Message
System.out.println("Task started successfully");
System.out.println("listed scheduler jobs " + ss.listJobs().size());
}
catch (Exception e)
{
e.printStackTrace();
//set the Message
data.setMessage("Task failed to start!");
}
//setTemplate(schedule,SchedulerStatus.vm);
}
}
package com.wuerth.phoenix.bugtrack.modules.screens;
//java stuff
import java.util.*;
import java.io.*;
import java.text.SimpleDateFormat;
import javax.servlet.http.HttpSession;
//turbine stuff
import org.apache.turbine.modules.screens.VelocityScreen;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import org.apache.turbine.util.ParameterParser;
import org.apache.torque.util.Criteria;
import org.apache.fulcrum.schedule.JobEntryPeer;
import org.apache.fulcrum.schedule.JobEntry;
//bugtrack stuff
import com.wuerth.phoenix.bugtrack.modules.utilclasses.IdFactory;
import com.wuerth.phoenix.bugtrack.om.*;
import com.wuerth.phoenix.bugtrack.modules.utilclasses.CheckPermissions;
/**
* Title: Bug tracking system
* Description: Development of a Bug Tracking and Enhancement request system
* Copyright: Copyright (c) 2001
* Company:
* @author Fabio Daprile
* @version 1.0
*/
public class ConfigureScheduler extends SecureScreen
{
/**
* Place all the data object in the context
* for use in the template.
*/
public void doBuildTemplate( RunData data, Context context )
{
Criteria _criteria = null;
Criteria.Criterion _criterion1 = null;
Criteria.Criterion _criterion2 = null;
Criteria.Criterion _criterion3 = null;
SimpleDateFormat _sdfExtended;
SimpleDateFormat _sdf;
List _schedulerParams = null;
Users _user;
CheckPermissions _ckperm = new CheckPermissions();
ParameterParser _formParams;
HttpSession _session;
if (super.isLoggedIn(data))
{
_formParams = data.getParameters();
_session = data.getSession();
_sdfExtended = new SimpleDateFormat ("EEE MM-dd-yyyy hh.mm.ss aaa",
Locale.US);
_sdf = new SimpleDateFormat ("EEE MM-dd-yyyy", Locale.US);
context.put("Format", _sdf);
context.put("ExtFormat", _sdfExtended);
_user = (Users)(_session.getAttribute("myUser")); // get attributes of user
and ACL
context.put("User", _user);
context.put("TopQueues", getEntries(_user));
if (_formParams.getString("Mode").equals("save"))
{
try
{
if (!_ckperm.checkPermission(_user, null, null, "AdminScheduler"))
{
_formParams.add("Message","You are not allowed to enter the scheduler
section!");
this.doRedirect(data, "ErrorTemplate.vm");
}
context.put("Messages", this.saveSchedulerConfig(data, context));
}
catch (Exception e)
{
e.printStackTrace();
}
}
if (!_ckperm.checkPermission(_user, null, null, "AdminScheduler"))
{
_formParams.add("Message","You are not allowed to enter the scheduler
section!");
try
{
this.doRedirect(data, "ErrorTemplate.vm");
}
catch(Exception e)
{
e.printStackTrace();
}
}
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(JobEntryPeer.JOB_ID,
new Integer(0),
Criteria.GREATER_THAN);
try
{
_schedulerParams = JobEntryPeer.doSelect(_criteria);
}
catch(Exception e)
{
e.printStackTrace();
}
context.put("SchedParams", _schedulerParams);
context.put("schedConf", new ConfigureScheduler());
}
else
{
setTemplate(data,"Login.vm");
}
}
public Vector saveSchedulerConfig( RunData data, Context context ) throws Exception
{
JobEntry _jobentry;
Hashtable _properties;
Vector _result = null;
int _queueId = 0;
Users _user = null;
String _userId;
String _status = "";
int _age;
int _minseverity;
int _maxseverity;
int _dest;
int _second;
int _minute;
int _hour;
int _weekday;
int _dayofmonth;
String _task = "";
String _email = "";
ParameterParser _formParams;
HttpSession _session;
Criteria _criteria = null;
Criteria.Criterion _criterion1 = null;
Criteria.Criterion _criterion2 = null;
Criteria.Criterion _criterion3 = null;
Criteria.Criterion _criterion4 = null;
Criteria.Criterion _criterion5 = null;
Criteria.Criterion _criterion6 = null;
Criteria.Criterion _criterion7 = null;
Criteria.Criterion _criterion8 = null;
Vector messages = new Vector();
_formParams = data.getParameters();
_session = data.getSession();
_user = (Users)(_session.getAttribute("myUser"));
_userId = _user.getId().toString();
_status = _formParams.getString("Status");
_age = _formParams.getInt("Age");
_minseverity = _formParams.getInt("MinSeverity");
_maxseverity = _formParams.getInt("MaxSeverity");
_dest = _formParams.getInt("Dest");
_second = _formParams.getInt("second");
_minute = _formParams.getInt("minute");
_hour = _formParams.getInt("hour");
_weekday = _formParams.getInt("weekday");
_dayofmonth = _formParams.getInt("dayofmonth");
_task = _formParams.getString("task");
_email = _formParams.getString("email");
if (_second < -2 || _second > 59)
messages.add("Valid values for second are (0-59) !");
else if (_minute < -2 || _minute > 59)
messages.add("Valid values for minute are (0-59) !");
else if (_hour < -2 || _hour > 23)
messages.add("Valid values for hours are (0-23) !");
else if (_weekday < -2 || _weekday > 7)
messages.add("Valid values for day of week are (1-7) !");
else if (_dayofmonth < -2 || _dayofmonth > 31)
messages.add("Valid values for day of month are (1-31) !");
else
{
_properties = new Hashtable();
_properties.put("Status", _status);
_properties.put("Age", new Integer(_age));
_properties.put("MinSeverity", new Integer(_minseverity));
_properties.put("MaxSeverity", new Integer(_maxseverity));
_properties.put("Dest", new Integer(_dest));
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(JobEntryPeer.JOB_SECOND,
new Integer(_second),
Criteria.EQUAL);
_criterion2 = _criteria.getNewCriterion(JobEntryPeer.JOB_MINUTE,
new Integer(_minute),
Criteria.EQUAL);
_criterion3 = _criteria.getNewCriterion(JobEntryPeer.JOB_HOUR,
new Integer(_hour),
Criteria.EQUAL);
_criterion4 = _criteria.getNewCriterion(JobEntryPeer.WEEK_DAY,
new Integer(_weekday),
Criteria.EQUAL);
_criterion5 = _criteria.getNewCriterion(JobEntryPeer.DAY_OF_MONTH,
new Integer(_dayofmonth),
Criteria.EQUAL);
_criterion6 = _criteria.getNewCriterion(JobEntryPeer.TASK,
_task,
Criteria.EQUAL);
_criterion7 = _criteria.getNewCriterion(JobEntryPeer.JOB_PROPERTY,
_properties,
Criteria.EQUAL);
_criterion8 = _criteria.getNewCriterion(JobEntryPeer.EMAIL,
_email,
Criteria.EQUAL);
_criteria.add(_criterion1);
_criteria.add(_criterion2);
_criteria.add(_criterion3);
_criteria.add(_criterion4);
_criteria.add(_criterion5);
_criteria.add(_criterion6);
_criteria.add(_criterion7);
_criteria.add(_criterion8);
try
{
JobEntryPeer.doInsert(_criteria);
}
catch(Exception e)
{
//System.out.println(e.getMessage());
}
}
return messages;
}
private List getEntries(Users _user)
{
Criteria _criteria;
Criteria.Criterion _criterion1;
List _results;
List _allQueues;
ListIterator _iter;
Queues _tempQueue;
try
{
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(QueuesPeer.DISABLED,
new Integer(0),
Criteria.EQUAL);
_criteria.add(_criterion1);
_criteria.addAscendingOrderByColumn(QueuesPeer.NAME);
_results = QueuesPeer.doSelect(_criteria);
_allQueues = new ArrayList();
_iter = _results.listIterator();
while(_iter.hasNext())
{
_tempQueue = (Queues)_iter.next();
if (_tempQueue.checkVisibility(_user))
_allQueues.add(_tempQueue);
}
}
catch (Exception e)
{
return null;
}
return _allQueues;
}
public Hashtable getPropertyAsHashtable(byte[] p0)
{
Hashtable prop = null;
try
{
ByteArrayInputStream istream = new ByteArrayInputStream(p0);
ObjectInputStream p = new ObjectInputStream(istream);
prop = (Hashtable)p.readObject();
}
catch(Exception e)
{e.printStackTrace();}
return prop;
}
}
package com.wuerth.phoenix.bugtrack.modules.scheduledjobs;
//JDK
import java.util.*;
import java.io.*;
import java.text.SimpleDateFormat;
//Turbine
import org.apache.torque.util.Criteria;
import org.apache.fulcrum.schedule.JobEntryPeer;
import org.apache.fulcrum.schedule.ScheduledJob;
import org.apache.fulcrum.schedule.JobEntry;
import org.apache.turbine.util.Log;
import com.wuerth.phoenix.bugtrack.modules.utilclasses.SendMail;
import org.apache.turbine.util.mail.MailMessage;
import org.apache.turbine.services.resources.TurbineResources;
//bugtrack stuff
import com.wuerth.phoenix.bugtrack.modules.utilclasses.IdFactory;
import com.wuerth.phoenix.bugtrack.om.*;
import com.wuerth.phoenix.bugtrack.modules.screens.DateDelta;
public class EscalationProcess extends ScheduledJob
{
private int taskcount = 0;
/**
* Constructor
*/
public EscalationProcess()
{
//do Task initialization here
}
/**
* Run the Jobentry from the scheduler queue.
* From ScheduledJob.
*
* @param job The job to run.
*/
public void run( JobEntry job ) throws Exception
{
Criteria _criteria = null;
Criteria.Criterion _criterion1 = null;
Criteria.Criterion _criterion2 = null;
Criteria.Criterion _criterion3 = null;
Criteria.Criterion _criterion4 = null;
Criteria.Criterion _criterion5 = null;
Criteria.Criterion _criterion6 = null;
Criteria.Criterion _criterion7 = null;
Criteria.Criterion _criterion8 = null;
SimpleDateFormat _sdfExtended;
SimpleDateFormat _sdf;
Hashtable _property;
int _age = 0;
int _minseverity = 0;
int _maxseverity = 0;
int _dest = 0;
String _status = "";
String _email = "";
String _mailbody;
Templates _template;
Iterator _queuesIter;
Iterator _projectsIter;
Projects _project;
Queues _queue;
List _groups;
Groups _group;
List _ticketsList;
List _groupMembers;
Iterator _groupMembersIter;
List _recipients;
Users _user;
_sdfExtended = new SimpleDateFormat ("EEE MM-dd-yyyy hh.mm.ss aaa", Locale.US);
_sdf = new SimpleDateFormat ("EEE MM-dd-yyyy", Locale.US);
System.out.println("starting escalation process");
ByteArrayInputStream istream = new ByteArrayInputStream(job.getProperty());
ObjectInputStream p = new ObjectInputStream(istream);
_property = (Hashtable)p.readObject();
_status = (String)(_property.get("Status"));
_age = ((Integer)_property.get("Age")).intValue();
_minseverity = ((Integer)_property.get("MinSeverity")).intValue();
_maxseverity = ((Integer)_property.get("MaxSeverity")).intValue();
_dest = ((Integer)_property.get("Dest")).intValue();
_email = job.getEmail();
MailMessage msg = new MailMessage();
msg.setTo(_email);
msg.setSubject("EscalationProcess executed successfully!");
_mailbody = "The EscalationProcess succesfully executed at " +
_sdfExtended.format(Calendar.getInstance().getTime()) + "\n" + " with parameters " +
_property.toString();
msg.setBody(_mailbody);
msg.setFrom(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
System.out.println(TurbineResources.getString("mail.administrative.user") + " "
+ TurbineResources.getString("mail.administrative.adress"));
msg.setHost(TurbineResources.getString("mail.server"));
msg.send();
System.out.println("notification mail sent");
_queuesIter = this.getEntries().iterator();
while(_queuesIter.hasNext())
{
_queue = (Queues)(_queuesIter.next());
if(_dest == 1)
{
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(GroupsPeer.QUEUEID,
_queue.getId().toString(),
Criteria.EQUAL);
_criterion2= _criteria.getNewCriterion(GroupsPeer.MODERATORTYPE,
"QueueMod",
Criteria.EQUAL);
_criteria.add(_criterion1.and(_criterion2));
_groups = GroupsPeer.doSelect(_criteria);
if(_groups.isEmpty())
break;
else
{
_group = (Groups)(_groups.get(0));
_groupMembers = _group.getGroupmemberss();
if(_groupMembers.isEmpty())
{
break;
}
else
{
_ticketsList = this.getTickets(_age, _status, _minseverity,
_maxseverity, _queue);
if (_ticketsList.isEmpty())
break;
else
{
_groupMembersIter = _groupMembers.iterator();
_recipients = new ArrayList();
while(_groupMembersIter.hasNext())
{
_user = ((Groupmembers)(_groupMembersIter.next())).getUsers();
_recipients.add(_user);
}
if(_recipients.isEmpty())
break;
else
{
_template = new Templates();
_template = _template.init("8");
SendMail _snd = new SendMail();
_snd.setFrom(TurbineResources.getString("mail.administrative.user")
+ " " + TurbineResources.getString("mail.administrative.adress"));
_snd.setRecipientsforScheduler(_recipients);
//_snd.setHost("mail.tin.it");
_snd.setHost(TurbineResources.getString("mail.server"));
_snd.setTickets(_ticketsList);
_snd.setAge(_age);
//_snd.setTicket(_ticket);
//_snd.setTransaction(this);
_snd.setReplyTo(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
_snd.setTemplate(_template);
_snd.send_for_scheduler();
}
}
}
}
}
else if(_dest == 2)
{
_projectsIter = _queue.getProjectss().iterator();
while(_projectsIter.hasNext())
{
_project = (Projects)(_projectsIter.next());
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(GroupsPeer.QUEUEID,
_queue.getId().toString(),
Criteria.EQUAL);
_criterion2 = _criteria.getNewCriterion(GroupsPeer.PROJECTID,
_project.getId().toString(),
Criteria.EQUAL);
_criterion3 = _criteria.getNewCriterion(GroupsPeer.MODERATORTYPE,
"ProjectMod",
Criteria.EQUAL);
_criteria.add(_criterion1.and(_criterion2.and(_criterion3)));
_groups = GroupsPeer.doSelect(_criteria);
if(_groups.isEmpty())
break;
else
{
_group = (Groups)(_groups.get(0));
_groupMembers = _group.getGroupmemberss();
if(_groupMembers.isEmpty())
{
break;
}
else
{
_ticketsList = this.getTickets(_age, _status, _minseverity,
_maxseverity, _queue);
if (_ticketsList.isEmpty())
break;
else
{
_groupMembersIter = _groupMembers.iterator();
_recipients = new ArrayList();
while(_groupMembersIter.hasNext())
{
_user = ((Groupmembers)(_groupMembersIter.next())).getUsers();
_recipients.add(_user);
}
if(_recipients.isEmpty())
break;
else
{
_template = new Templates();
_template = _template.init("8");
SendMail _snd = new SendMail();
_snd.setFrom(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
_snd.setRecipientsforScheduler(_recipients);
//_snd.setHost("mail.tin.it");
_snd.setHost(TurbineResources.getString("mail.server"));
_snd.setTickets(_ticketsList);
_snd.setAge(_age);
//_snd.setTicket(_ticket);
//_snd.setTransaction(this);
_snd.setReplyTo(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
_snd.setTemplate(_template);
_snd.send_for_scheduler();
}
}
}
}
}
}
}
}
private List getEntries()
{
Criteria _criteria;
Criteria.Criterion _criterion1;
try
{
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(QueuesPeer.DISABLED,
new Integer(0),
Criteria.EQUAL);
_criteria.add(_criterion1);
return QueuesPeer.doSelect(_criteria);
}
catch (Exception e)
{
return null;
}
}
private ArrayList getTickets(int _age, String _status, int _minseverity, int
_maxseverity, Queues _queue)
{
Criteria _criteria;
Criteria.Criterion _criterion1;
Criteria.Criterion _criterion2;
Criteria.Criterion _criterion3;
Criteria.Criterion _criterion4;
Criteria.Criterion _criterion5;
Criteria.Criterion _criterion6;
Iterator _ticketsIter;
Tickets _ticket;
List _tickets;
ArrayList _ticketsList;
DateDelta _delta = new DateDelta();
long _dayDelta = 0;
try
{
_criteria = new Criteria();
_criterion1 = _criteria.getNewCriterion(TicketsPeer.DISABLED, new
Integer(0), Criteria.EQUAL);
_criterion2 = _criteria.getNewCriterion(TicketsPeer.QUEUEID,
_queue.getId().toString(), Criteria.EQUAL);
_criterion3 = _criteria.getNewCriterion(TicketsPeer.INITIALPRIORITY, new
Integer(_minseverity), Criteria.GREATER_EQUAL);
_criterion4 = _criteria.getNewCriterion(TicketsPeer.INITIALPRIORITY, new
Integer(_maxseverity), Criteria.LESS_EQUAL);
_criteria.add(_criterion1.and(_criterion2.and(_criterion3.and(_criterion4))));
if(!_status.equals("all"))
{
_criterion5 = _criteria.getNewCriterion(TicketsPeer.STATUS, _status,
Criteria.EQUAL);
_criteria.and(_criterion5);
}
_criteria.addAscendingOrderByColumn(TicketsPeer.STATUS);
_criteria.addAscendingOrderByColumn(TicketsPeer.ID);
//System.out.println(_criteria.toString());
_tickets = TicketsPeer.doSelect(_criteria);
_ticketsIter = _tickets.iterator();
_ticketsList = new ArrayList();
while(_ticketsIter.hasNext())
{
_ticket = (Tickets)(_ticketsIter.next());
if(!_ticket.isMerged())
{
_dayDelta = _delta.getDayDelta(_ticket.getLastupdatetimestamp(),
Calendar.getInstance().getTime());
if (_age == 1 && _dayDelta <= 7)
_ticketsList.add(_ticket);
else if (_age == 2 && (_dayDelta > 7 && _dayDelta <= 14))
_ticketsList.add(_ticket);
else if (_age == 3 && (_dayDelta > 14 && _dayDelta <= 21))
_ticketsList.add(_ticket);
else if (_age == 4 && (_dayDelta > 21 && _dayDelta <= 28))
_ticketsList.add(_ticket);
else if (_age == 5 && _dayDelta > 28)
_ticketsList.add(_ticket);
}
}
}
catch (Exception e)
{
return null;
}
return _ticketsList;
}
}
package com.wuerth.phoenix.bugtrack.modules.scheduledjobs;
//JDK
import java.util.Date;
//Turbine
import org.apache.fulcrum.schedule.ScheduledJob;
import org.apache.fulcrum.schedule.JobEntry;
import org.apache.turbine.util.Log;
import com.wuerth.phoenix.bugtrack.modules.utilclasses.SendMail;
import org.apache.turbine.util.mail.MailMessage;
import org.apache.turbine.services.resources.TurbineResources;
public class SimpleScheduledJob extends ScheduledJob
{
private int taskcount = 0;
/**
* Constructor
*/
public SimpleScheduledJob()
{
//do Task initialization here
}
/**
* Run the Jobentry from the scheduler queue.
* From ScheduledJob.
*
* @param job The job to run.
*/
public void run( JobEntry job ) throws Exception
{
System.out.println("job started");
System.out.println("Job Id=" + job.getPrimaryKeyAsString());
MailMessage sm = new MailMessage();
sm.setHost(TurbineResources.getString("mail.server"));
//sm.setHeaders("X-Mailer: Sendmail class, X-Priority: 1(Highest)");
sm.setFrom(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
sm.setTo(TurbineResources.getString("mail.administrative.user") + " " +
TurbineResources.getString("mail.administrative.adress"));
sm.setSubject("Job confirmation");
sm.setBody("Your job has been executed");
sm.send();
//iterate the task counter
taskcount++;
}
}
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
