public void doTag()

in jelly-tags/quartz/src/main/java/org/apache/commons/jelly/tags/quartz/CronTriggerTag.java [158:204]


    public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException
    {
        if ( getSpec() == null )
        {
            throw new MissingAttributeException( "spec" );
        }

        if ( getName() == null )
        {
            throw new MissingAttributeException( "name" );
        }

        if ( getGroup() == null )
        {
            throw new MissingAttributeException( "group" );
        }

        if ( getJobName() == null )
        {
            throw new MissingAttributeException( "jobName" );
        }

        if ( getJobGroup() == null )
        {
            throw new MissingAttributeException( "jobGroup" );
        }

        CronTrigger trigger = new CronTrigger( getName(),
                                               getGroup() );
        try {
            trigger.setCronExpression( getSpec() );
        }
        catch (ParseException e) {
            throw new JellyTagException(e);
        }
        trigger.setJobName( getJobName() );
        trigger.setJobGroup( getJobGroup() );
        trigger.setStartTime( new Date() );

        try {
            Scheduler sched = getScheduler();
            sched.scheduleJob( trigger );
        }
        catch (SchedulerException e) {
            throw new JellyTagException(e);
        }
    }